From b39c03f429000e323c7eca832b3b4e23c2e88bb8 Mon Sep 17 00:00:00 2001 From: Herik dos Santos Lorenção Date: Tue, 16 Jun 2020 14:46:11 -0300 Subject: [PATCH] Adicionando códigos --- codigos/backend/mvnw | 2 +- codigos/backend/mvnw.cmd | 4 ++-- codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/config/DevConfig.java | 25 +++++++++++++++++++++++++ codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/config/TestConfig.java | 22 ++++++++++++++++++++++ codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/services/DBService.java | 28 ++++++++++++++++++++++++++++ codigos/backend/src/main/resources/application-test.properties | 6 ++++++ codigos/backend/src/main/resources/application.properties | 12 +++++------- 7 files changed, 89 insertions(+), 10 deletions(-) create mode 100644 codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/config/DevConfig.java create mode 100644 codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/config/TestConfig.java create mode 100644 codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/services/DBService.java create mode 100644 codigos/backend/src/main/resources/application-test.properties diff --git a/codigos/backend/mvnw b/codigos/backend/mvnw index a16b543..61ab2e6 100755 --- a/codigos/backend/mvnw +++ b/codigos/backend/mvnw @@ -68,7 +68,7 @@ esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` + JAVA_HOME=`java-edu.ifes.ci.si.les.srh.config --jre-home` fi fi diff --git a/codigos/backend/mvnw.cmd b/codigos/backend/mvnw.cmd index c8d4337..4a5fa44 100644 --- a/codigos/backend/mvnw.cmd +++ b/codigos/backend/mvnw.cmd @@ -108,10 +108,10 @@ cd "%EXEC_DIR%" :endDetectBaseDir -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.edu.ifes.ci.si.les.srh.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.edu.ifes.ci.si.les.srh.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig diff --git a/codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/config/DevConfig.java b/codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/config/DevConfig.java new file mode 100644 index 0000000..927dcd2 --- /dev/null +++ b/codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/config/DevConfig.java @@ -0,0 +1,25 @@ +package edu.ifes.ci.si.les.srh.config; + +import edu.ifes.ci.si.les.srh.services.DBService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; + +import java.text.ParseException; + +public class DevConfig { + @Autowired + private DBService dbService; + + @Value("${spring.jpa.hibernate.ddl-auto}") + private String strategy; + + @Bean + public boolean instatiateDatabase() throws ParseException { + if (!"create".equals(strategy)) { + return false; + } + dbService.instantiateTestDatabase(); + return true; + } +} diff --git a/codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/config/TestConfig.java b/codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/config/TestConfig.java new file mode 100644 index 0000000..f5db7f3 --- /dev/null +++ b/codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/config/TestConfig.java @@ -0,0 +1,22 @@ +package edu.ifes.ci.si.les.srh.config; + +import edu.ifes.ci.si.les.srh.services.DBService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; + +import java.text.ParseException; + +@Configuration +@Profile("test") +public class TestConfig { + @Autowired + private DBService dbService; + + @Bean + public boolean instatiateDatabase() throws ParseException { + dbService.instantiateTestDatabase(); + return true; + } +} diff --git a/codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/services/DBService.java b/codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/services/DBService.java new file mode 100644 index 0000000..0602c80 --- /dev/null +++ b/codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/services/DBService.java @@ -0,0 +1,28 @@ +package edu.ifes.ci.si.les.srh.services; + +import edu.ifes.ci.si.les.srh.builder.TagBuilder; +import edu.ifes.ci.si.les.srh.model.Tag; +import edu.ifes.ci.si.les.srh.repository.TagRepository; +import org.springframework.beans.factory.annotation.Autowired; + +import java.text.ParseException; +import java.util.Arrays; + +public class DBService { + @Autowired + private TagRepository tagRepository; + + public void instantiateTestDatabase() throws ParseException { + Tag tag = buildTag(1, "Tag 1"); + Tag tag2 = buildTag(2, "Tag 2"); + + tagRepository.saveAll(Arrays.asList(tag, tag2)); + } + + private Tag buildTag(Integer id, String name) { + return TagBuilder.aTag() + .withId(id) + .withName(name) + .build(); + } +} diff --git a/codigos/backend/src/main/resources/application-test.properties b/codigos/backend/src/main/resources/application-test.properties new file mode 100644 index 0000000..2543fc8 --- /dev/null +++ b/codigos/backend/src/main/resources/application-test.properties @@ -0,0 +1,6 @@ +# server.port=${port:8080} +spring.datasource.url=jdbc:h2:mem:testdb +spring.datasource.username=sa +spring.datasource.password= +spring.jpa.show_sql=true +spring.jpa.properties.hibernate.format_sql=true \ No newline at end of file diff --git a/codigos/backend/src/main/resources/application.properties b/codigos/backend/src/main/resources/application.properties index af29816..dee253b 100644 --- a/codigos/backend/src/main/resources/application.properties +++ b/codigos/backend/src/main/resources/application.properties @@ -1,11 +1,9 @@ -# datasource -spring.datasource.driverClassName=org.postgresql.Driver +# jpa spring.datasource.url=jdbc:postgresql://localhost:5432/srh_les +spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.datasource.username=postgres spring.datasource.password=postgres - -# jpa -spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect -spring.jpa.hibernate.ddl-auto=drop-and-create +spring.jpa.hibernate.ddl-auto=create spring.jpa.properties.hibernate.show_sql=true -spring.jpa.properties.hibernate.format_sql=true \ No newline at end of file +spring.jpa.properties.hibernate.format_sql=true +spring.profiles.active=dev \ No newline at end of file -- libgit2 0.21.2