Skip to content
This repository was archived by the owner on Jun 11, 2022. It is now read-only.

Commit c738e72

Browse files
committed
Make further improvements
1 parent 097c013 commit c738e72

File tree

13 files changed

+111
-50
lines changed

13 files changed

+111
-50
lines changed

server/src/main/java/com/balinski/api_project/Main.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
public class Main {
1313

1414
public static void main(String[] args) {
15-
testDatabase();
16-
// runApplication();
15+
//testDatabase();
16+
runApplication();
1717
}
1818

1919
static void runApplication() {

server/src/main/java/com/balinski/api_project/database/dao/ActorDao.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ public ActorDao(DaoManager manager, boolean transaction) {
1212
super(manager, transaction);
1313
}
1414

15+
public Actor getById(int id) {
16+
List<Map<String, Object>> result = manager.queryGetData(
17+
"SELECT * FROM ACTOR A WHERE A.ACTOR_ID = " + id + ";"
18+
);
19+
20+
return result.size() > 0 ? toListOfActors(result).get(0) : null;
21+
}
22+
1523
public List<Actor> getByFirstName(String firstName) {
1624
List<Map<String, Object>> result = manager.queryGetData(
1725
"SELECT * FROM ACTOR A WHERE lower(A.FIRST_NAME) = '" + firstName.toLowerCase() + "';"
@@ -46,14 +54,6 @@ public List<Actor> getAll() {
4654
return toListOfActors(result);
4755
}
4856

49-
public Object getById(int id) {
50-
List<Map<String, Object>> result = manager.queryGetData(
51-
"SELECT * FROM ACTOR A WHERE A.ACTOR_ID = " + id + ";"
52-
);
53-
54-
return toListOfActors(result).get(0);
55-
}
56-
5757
@Override
5858
public List<Actor> getIdBetween(int start, int stop) {
5959
List<Map<String, Object>> result = manager.queryGetData(

server/src/main/java/com/balinski/api_project/database/dao/Dao.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ protected Dao(DaoManager manager, boolean transaction) {
2020

2121
public abstract Integer getCount();
2222
public abstract List<?> getAll();
23-
public abstract Object getById(int id);
2423
public abstract List<?> getIdBetween(int start, int stop);
2524
public abstract int add(Object obj);
2625
public abstract int addAll(List<Object> list);

server/src/main/java/com/balinski/api_project/database/dao/FilmDao.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@ public FilmDao(DaoManager manager, boolean transaction) {
1919
super(manager, transaction);
2020
}
2121

22+
public Film getById(int id) {
23+
List<Map<String, Object>> result = manager.queryGetData(
24+
"SELECT * FROM FILM F WHERE F.FILM_ID = " + id + ";"
25+
);
26+
27+
return result.size() > 0 ? toListOfFilms(result).get(0) : null;
28+
}
29+
2230
public List<Film> getByTitle(String title) {
2331
List<Map<String, Object>> result = manager.queryGetData(
2432
"SELECT * FROM FILM F WHERE lower(F.TITLE) = '" + title.toLowerCase() + "';");
@@ -151,15 +159,6 @@ public List<Film> getAll() {
151159
return toListOfFilms(result);
152160
}
153161

154-
@Override
155-
public Object getById(int id) {
156-
List<Map<String, Object>> result = manager.queryGetData(
157-
"SELECT * FROM FILM F WHERE F.FILM_ID = " + id + ";"
158-
);
159-
160-
return toListOfFilms(result).get(0);
161-
}
162-
163162
@Override
164163
public List<Film> getIdBetween(int start, int stop) {
165164
List<Map<String, Object>> result = manager.queryGetData(

server/src/main/java/com/balinski/api_project/database/dao/LanguageDao.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ public LanguageDao(DaoManager manager, boolean transaction) {
1212
super(manager, transaction);
1313
}
1414

15+
public Language getById(int id) {
16+
List<Map<String, Object>> result = manager.queryGetData(
17+
"SELECT * FROM LANGUAGE WHERE LANGUAGE_ID = " + id + ";"
18+
);
19+
20+
return result.size() > 0 ? toListOfLanguages(result).get(0) : null;
21+
}
22+
1523
public List<Language> getByName(String name) {
1624
List<Map<String, Object>> result = manager.queryGetData(
1725
"SELECT * FROM LANGUAGE L WHERE lower(L.NAME) = '" + name.toLowerCase() + "';"
@@ -38,15 +46,6 @@ public List<Language> getAll() {
3846
return toListOfLanguages(result);
3947
}
4048

41-
@Override
42-
public Object getById(int id) {
43-
List<Map<String, Object>> result = manager.queryGetData(
44-
"SELECT * FROM LANGUAGE WHERE LANGUAGE_ID = " + id + ";"
45-
);
46-
47-
return toListOfLanguages(result).get(0);
48-
}
49-
5049
@Override
5150
public List<Language> getIdBetween(int start, int stop) {
5251
List<Map<String, Object>> result = manager.queryGetData(

server/src/main/java/com/balinski/api_project/database/model/Actor.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import java.time.LocalDateTime;
44

5-
public class Actor {
5+
public class Actor implements Jsonable {
66
final int id;
77
String firstName;
88
String lastName;
@@ -42,4 +42,9 @@ public void setLastName(String lastName) {
4242
public void setLastUpdate(LocalDateTime lastUpdate) {
4343
this.lastUpdate = lastUpdate;
4444
}
45+
46+
public String toJson() {
47+
return String.format("{\"id\":%d,\"firstName\":\"%s\",\"lastName\":\"%s\",\"lastUpdate\":\"%s\"}",
48+
this.id, this.firstName, this.lastName, this.lastUpdate.toString());
49+
}
4550
}

server/src/main/java/com/balinski/api_project/database/model/Film.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import java.time.LocalDate;
44
import java.time.LocalDateTime;
55

6-
public class Film {
6+
public class Film implements Jsonable {
77
final int id;
88
String title;
99
String description;
@@ -94,4 +94,13 @@ public void setLength(int length) {
9494
public void setLastUpdate(LocalDateTime lastUpdate) {
9595
this.lastUpdate = lastUpdate;
9696
}
97+
98+
public String toJson() {
99+
return String.format("{\"id\":%d,\"title\":\"%s\",\"description\":\"%s\",\"releaseYear\":\"%s\"," +
100+
"\"languageId\":%d,\"rentalDuration\":%d,\"rentalRate\":%s," +
101+
"\"length\":%d,\"lastUpdate\":\"%s\"}",
102+
this.id, this.title, this.description, this.releaseYear.toString(),
103+
this.languageId, this.getRentalDuration(), this.rentalRate.toPlainString(),
104+
this.length, this.lastUpdate);
105+
}
97106
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.balinski.api_project.database.model;
2+
3+
public interface Jsonable {
4+
String toJson();
5+
}

server/src/main/java/com/balinski/api_project/database/model/Language.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package com.balinski.api_project.database.model;
22

3+
34
import java.time.LocalDateTime;
45

5-
public class Language {
6+
public class Language implements Jsonable {
67
final int id;
78
String name;
89
LocalDateTime lastUpdate;
@@ -32,4 +33,9 @@ public void setName(String name) {
3233
public void setLastUpdate(LocalDateTime lastUpdate) {
3334
this.lastUpdate = lastUpdate;
3435
}
36+
37+
public String toJson() {
38+
return String.format("{\"id\":%d,\"name\":\"%s\",\"lastUpdate\":\"%s\"}",
39+
this.id, this.name, this.lastUpdate.toString());
40+
}
3541
}

server/src/main/java/com/balinski/api_project/server/handler/WebAppContextWrapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.balinski.api_project.server.handler;
22

3-
import com.balinski.api_project.servlet.SimpleServlet;
3+
import com.balinski.api_project.servlet.ActorServlet;
44
import org.eclipse.jetty.webapp.WebAppContext;
55

66
import java.io.*;
@@ -21,7 +21,7 @@ public WebAppContext getWebAppContext() {
2121
}
2222

2323
private void registerServlets() {
24-
context.addServlet(SimpleServlet.class, "/simple");
24+
context.addServlet(ActorServlet.class, "/actors");
2525
}
2626

2727
}

0 commit comments

Comments
 (0)