Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,12 @@ dependencies {
// Javalin
implementation("io.javalin:javalin:6.7.0")
implementation("io.javalin:javalin-rendering:6.7.0")
implementation("org.slf4j:slf4j-simple:2.1.0-alpha1")
implementation("gg.jte:jte:3.2.1")

implementation("org.slf4j:slf4j-simple:2.1.0-alpha1")



// LOMBOK
compileOnly("org.projectlombok:lombok:1.18.38")
annotationProcessor("org.projectlombok:lombok:1.18.38")
Expand Down
43 changes: 29 additions & 14 deletions app/src/main/java/hexlet/code/App.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
package hexlet.code;

import hexlet.code.repository.BaseRepository;
// import io.hexlet.component.DataInitializer;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.stream.Collectors;

import gg.jte.ContentType;
import gg.jte.TemplateEngine;
import gg.jte.resolve.ResourceCodeResolver;

import io.javalin.Javalin;
import io.javalin.rendering.template.JavalinJte;
Expand All @@ -11,17 +21,18 @@
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.sql.SQLException;
import java.util.stream.Collectors;
import hexlet.code.repository.BaseRepository;


@Slf4j
public class App {

private static TemplateEngine createTemplateEngine() {
ClassLoader classLoader = App.class.getClassLoader();
ResourceCodeResolver codeResolver = new ResourceCodeResolver("templates", classLoader);
TemplateEngine templateEngine = TemplateEngine.create(codeResolver, ContentType.Html);
return templateEngine;
}

private static String getDatabaseUrl() {
// Получаю url базы данных из переменной окружения DATABASE_URL
Expand All @@ -42,24 +53,28 @@ public static Javalin getApp() throws IOException, SQLException { //
hikariConfig.setJdbcUrl(getDatabaseUrl());

HikariDataSource dataSource = new HikariDataSource(hikariConfig);
var sql = readResourceFile("schema.sql");
String sql = readResourceFile("schema.sql");

log.info(sql);
try (var connection = dataSource.getConnection();
var statement = connection.createStatement()) {
try (Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement()) {
statement.execute(sql);
}
BaseRepository.dataSource = dataSource;


var app = Javalin.create(config -> {
Javalin app = Javalin.create(config -> {
config.bundledPlugins.enableDevLogging();
config.fileRenderer(new JavalinJte());
config.fileRenderer(new JavalinJte(createTemplateEngine()));
});

// root path
app.get("/", ctx -> {
ctx.result("Hello World");
// ctx.result("Hello World");
ctx.render("index_s.jte");

});

return app;
}

Expand Down
Empty file.
4 changes: 4 additions & 0 deletions app/src/main/resources/templates/index_s.jte
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@template.layout.page(
content = @`
<p>Hello World!</p>
`)
18 changes: 18 additions & 0 deletions app/src/main/resources/templates/layout/page.jte
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
@param gg.jte.Content content

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>flash example</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css"
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body>
<main>
${content}
</main>
</body>
</html>
Loading