5
5
import java .io .InputStreamReader ;
6
6
import java .nio .charset .StandardCharsets ;
7
7
import java .sql .SQLException ;
8
- import java .util .Collections ;
9
8
import java .util .List ;
10
9
import java .util .stream .Collectors ;
11
10
11
+ import io .javalin .rendering .template .JavalinJte ;
12
+
13
+ import static io .javalin .rendering .template .TemplateUtil .model ;
14
+
12
15
import org .example .hexlet .controller .CarsController ;
13
16
import org .example .hexlet .controller .PostsController ;
14
17
import org .example .hexlet .controller .SessionsController ;
15
18
import org .example .hexlet .controller .UsersController ;
16
19
import org .example .hexlet .dto .MainPage ;
17
- import org .example .hexlet .dto .UsersPage ;
18
20
import org .example .hexlet .dto .courses .CoursesPage ;
19
21
import org .example .hexlet .dto .users .BuildUserPage ;
22
+ import org .example .hexlet .dto .users .UsersPage ;
20
23
import org .example .hexlet .model .Course ;
21
24
import org .example .hexlet .model .User ;
22
25
import org .example .hexlet .repository .BaseRepository ;
@@ -63,13 +66,14 @@ public static Javalin getApp() throws IOException, SQLException {
63
66
64
67
log .info (sql );
65
68
try (var connection = dataSource .getConnection ();
66
- var statement = connection .createStatement ()) {
69
+ var statement = connection .createStatement ()) {
67
70
statement .execute (sql );
68
71
}
69
72
BaseRepository .dataSource = dataSource ;
70
73
71
74
var app = Javalin .create (config -> {
72
- config .plugins .enableDevLogging ();
75
+ config .bundledPlugins .enableDevLogging ();
76
+ config .fileRenderer (new JavalinJte ());
73
77
});
74
78
75
79
app .before (ctx -> {
@@ -88,8 +92,6 @@ public static Javalin getApp() throws IOException, SQLException {
88
92
app .patch ("/posts/{id}" , PostsController ::update );
89
93
app .delete ("/posts" , PostsController ::destroy );
90
94
91
- app .get ("/users/{id}" , UsersController ::show );
92
-
93
95
app .get ("/cars" , CarsController ::index );
94
96
app .get ("/cars/build" , CarsController ::build );
95
97
app .get ("/cars/{id}" , CarsController ::show );
@@ -98,18 +100,16 @@ public static Javalin getApp() throws IOException, SQLException {
98
100
app .get ("/" , ctx -> {
99
101
var visited = Boolean .valueOf (ctx .cookie ("visited" ));
100
102
var page = new MainPage (visited , ctx .sessionAttribute ("currentUser" ));
101
- ctx .render ("index.jte" , Collections . singletonMap ("page" , page ));
103
+ ctx .render ("index.jte" , model ("page" , page ));
102
104
ctx .cookie ("visited" , String .valueOf (true ));
103
105
});
104
106
105
107
app .get (NamedRoutes .buildUserPath (), ctx -> {
106
108
var page = new BuildUserPage ();
107
- ctx .render ("users/build.jte" , Collections . singletonMap ("page" , page ));
109
+ ctx .render ("users/build.jte" , model ("page" , page ));
108
110
});
109
111
110
- // app.get(NamedRoutes.userPath("{id}"), ctx -> {
111
- // ctx.render("users/show.jte");
112
- // });
112
+ app .get ("/users/{id}" , UsersController ::show );
113
113
114
114
app .post (NamedRoutes .usersPath (), ctx -> {
115
115
var name = ctx .formParam ("name" ).trim ();
@@ -126,15 +126,15 @@ public static Javalin getApp() throws IOException, SQLException {
126
126
ctx .redirect (NamedRoutes .usersPath ());
127
127
} catch (ValidationException e ) {
128
128
var page = new BuildUserPage (name , email , e .getErrors ());
129
- ctx .render ("users/build.jte" , Collections . singletonMap ("page" , page ));
129
+ ctx .render ("users/build.jte" , model ("page" , page ));
130
130
}
131
131
});
132
132
133
133
app .get (NamedRoutes .usersPath (), ctx -> {
134
- var users = new String [] { "ivan" , "peter" } ;
134
+ var users = UserRepository . getEntities () ;
135
135
var page = new UsersPage (users );
136
136
// Отдаем обратно url + query params
137
- ctx .render ("users/index.jte" , Collections . singletonMap ("page" , page ));
137
+ ctx .render ("users/index.jte" , model ("page" , page ));
138
138
});
139
139
140
140
app .get (NamedRoutes .buildCoursePath (), ctx -> {
@@ -154,7 +154,7 @@ public static Javalin getApp() throws IOException, SQLException {
154
154
var page = new CoursesPage (courses , term );
155
155
page .setFlash (ctx .consumeSessionAttribute ("flash" ));
156
156
157
- ctx .render ("courses/index.jte" , Collections . singletonMap ("page" , page ));
157
+ ctx .render ("courses/index.jte" , model ("page" , page ));
158
158
});
159
159
160
160
app .post (NamedRoutes .coursesPath (), ctx -> {
0 commit comments