diff --git a/.github/workflows/develop.yaml b/.github/workflows/develop.yaml index db997df..45645d7 100644 --- a/.github/workflows/develop.yaml +++ b/.github/workflows/develop.yaml @@ -28,6 +28,6 @@ jobs: distribution: 'temurin' cache: maven - name: Build with Maven - run: cd online-banking-service && mvn clean install + run: mvn clean install #Add pmd check diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fa5b7ab --- /dev/null +++ b/.gitignore @@ -0,0 +1,44 @@ +### Maven ### +target/ +!.mvn/wrapper/maven-wrapper.jar +pom.xml.versionsBackup + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +!.idea +.idea/* +!.idea/copyright/ + +*.iws +*.iml +*.ipr + +### NetBeans ### +nbproject/private/ +build/ +nbbuild/ +dist/ +nbdist/ +.nb-gradle/ + +### Other ### +bin/ +.factorypath +*.log +logs +log +.vscode + +.DS_Store +.springBeans + +cms-db-schema/liquibase.properties +ledgers-db/liquibase.properties diff --git a/obs/obs-rest-api/pom.xml b/obs/obs-rest-api/pom.xml new file mode 100644 index 0000000..ea20038 --- /dev/null +++ b/obs/obs-rest-api/pom.xml @@ -0,0 +1,57 @@ + + + 4.0.0 + + + com.adorsys.webank + obs + 0.1-SNAPSHOT + ../pom.xml + + + obs-rest-api + + + 17 + 17 + UTF-8 + ../.. + + + + + + com.adorsys.webank + obs-service-api + ${project.version} + compile + + + + + io.swagger.core.v3 + swagger-annotations-jakarta + 2.2.22 + compile + + + + + org.springframework.boot + spring-boot-starter-web + 3.1.4 + compile + + + + + org.springframework.boot + spring-boot-starter-test + 3.1.4 + test + + + + diff --git a/obs/obs-rest-api/src/main/java/com/adorsys/webank/obs/OBSRestApi.java b/obs/obs-rest-api/src/main/java/com/adorsys/webank/obs/OBSRestApi.java new file mode 100644 index 0000000..05c44a7 --- /dev/null +++ b/obs/obs-rest-api/src/main/java/com/adorsys/webank/obs/OBSRestApi.java @@ -0,0 +1,14 @@ +package com.adorsys.webank.obs; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +@RequestMapping("/api/obs") +public interface OBSRestApi { + + @GetMapping("/message") + @ResponseBody + String getMessage(); +} + diff --git a/obs/obs-rest-server/pom.xml b/obs/obs-rest-server/pom.xml new file mode 100644 index 0000000..7d37d47 --- /dev/null +++ b/obs/obs-rest-server/pom.xml @@ -0,0 +1,49 @@ + + + + + 4.0.0 + + com.adorsys.webank + obs + 0.1-SNAPSHOT + ../pom.xml + + obs-rest-server + + + 17 + 17 + UTF-8 + ../.. + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter + + + com.adorsys.webank + obs-service-api + ${project.version} + + + com.adorsys.webank + obs-rest-api + ${project.version} + + + + + + \ No newline at end of file diff --git a/obs/obs-rest-server/src/main/java/com/adorsys/webank/obs/OBSRestServer.java b/obs/obs-rest-server/src/main/java/com/adorsys/webank/obs/OBSRestServer.java new file mode 100644 index 0000000..959a2c0 --- /dev/null +++ b/obs/obs-rest-server/src/main/java/com/adorsys/webank/obs/OBSRestServer.java @@ -0,0 +1,21 @@ +package com.adorsys.webank.obs; + +import org.springframework.web.bind.annotation.RestController; +import org.springframework.beans.factory.annotation.Autowired; + +@RestController +public class OBSRestServer implements OBSRestApi { + + private final OBSServiceApi obsService; + + @Autowired + public OBSRestServer(OBSServiceApi obsService) { + this.obsService = obsService; + } + + @Override + public String getMessage() { + return obsService.getMessage(); + } +} + diff --git a/obs/obs-service-api/pom.xml b/obs/obs-service-api/pom.xml new file mode 100644 index 0000000..8293b67 --- /dev/null +++ b/obs/obs-service-api/pom.xml @@ -0,0 +1,42 @@ + + + + + 4.0.0 + + obs-service-api + + Online Banking Service API + + + com.adorsys.webank + obs + 0.1-SNAPSHOT + ../pom.xml + + + + ../.. + + + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + + + diff --git a/obs/obs-service-api/src/main/java/com/adorsys/webank/obs/OBSServiceApi.java b/obs/obs-service-api/src/main/java/com/adorsys/webank/obs/OBSServiceApi.java new file mode 100644 index 0000000..06998b6 --- /dev/null +++ b/obs/obs-service-api/src/main/java/com/adorsys/webank/obs/OBSServiceApi.java @@ -0,0 +1,6 @@ +package com.adorsys.webank.obs; + +public interface OBSServiceApi { + String getMessage(); +} + diff --git a/obs/obs-service-impl/pom.xml b/obs/obs-service-impl/pom.xml new file mode 100644 index 0000000..c5b2995 --- /dev/null +++ b/obs/obs-service-impl/pom.xml @@ -0,0 +1,57 @@ + + + + + 4.0.0 + + obs-service-impl + jar + + Online Banking Service Impl module + + com.adorsys.webank + obs + 0.1-SNAPSHOT + ../pom.xml + + + + + ../.. + + + + + + + com.adorsys.webank + obs-service-api + ${project.version} + + + + + org.springframework + spring-test + test + + + + org.springframework.boot + spring-boot-starter-test + + + org.skyscreamer + jsonassert + + + test + + + + diff --git a/obs/obs-service-impl/src/main/java/com/adorsys/webank/obs/OBSServiceImpl.java b/obs/obs-service-impl/src/main/java/com/adorsys/webank/obs/OBSServiceImpl.java new file mode 100644 index 0000000..25db33f --- /dev/null +++ b/obs/obs-service-impl/src/main/java/com/adorsys/webank/obs/OBSServiceImpl.java @@ -0,0 +1,12 @@ +package com.adorsys.webank.obs; + +import org.springframework.stereotype.Service; + +@Service +public class OBSServiceImpl implements OBSServiceApi { + + @Override + public String getMessage() { + return "Hello from the OBS Service!"; + } +} diff --git a/obs/pom.xml b/obs/pom.xml new file mode 100644 index 0000000..4b3d2ee --- /dev/null +++ b/obs/pom.xml @@ -0,0 +1,36 @@ + + 4.0.0 + + + com.adorsys.webank + webank-OnlineBanking + 0.1-SNAPSHOT + ../pom.xml + + + obs + 0.1-SNAPSHOT + pom + + + obs-rest-api + obs-rest-server + obs-service-api + obs-service-impl + + + + + + 17 + ${java.version} + ${java.version} + ${project.basedir} + false + UTF-8 + UTF-8 + + + + \ No newline at end of file diff --git a/online-banking-service/.gitignore b/online-banking-app/.gitignore similarity index 100% rename from online-banking-service/.gitignore rename to online-banking-app/.gitignore diff --git a/online-banking-service/.mvn/wrapper/maven-wrapper.properties b/online-banking-app/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from online-banking-service/.mvn/wrapper/maven-wrapper.properties rename to online-banking-app/.mvn/wrapper/maven-wrapper.properties diff --git a/online-banking-service/mvnw b/online-banking-app/mvnw similarity index 100% rename from online-banking-service/mvnw rename to online-banking-app/mvnw diff --git a/online-banking-service/mvnw.cmd b/online-banking-app/mvnw.cmd similarity index 100% rename from online-banking-service/mvnw.cmd rename to online-banking-app/mvnw.cmd diff --git a/online-banking-service/pom.xml b/online-banking-app/pom.xml similarity index 71% rename from online-banking-service/pom.xml rename to online-banking-app/pom.xml index 7d5d46f..40ce7d8 100644 --- a/online-banking-service/pom.xml +++ b/online-banking-app/pom.xml @@ -9,9 +9,9 @@ com.adorsys.webank - online-banking-service - 0.0.1-SNAPSHOT - online-banking-service + online-banking-app + 0.1-SNAPSHOT + online-banking-app online banking service @@ -31,6 +31,31 @@ 2023.0.3 + + + com.adorsys.webank + obs-rest-api + ${project.version} + + + + com.adorsys.webank + obs-rest-server + ${project.version} + + + + com.adorsys.webank + obs-service-api + ${project.version} + + + + com.adorsys.webank + obs-service-impl + ${project.version} + + org.springframework.boot spring-boot-starter-web @@ -71,6 +96,7 @@ lombok + com.adorsys.webank.OnlineBankingApplication diff --git a/online-banking-app/src/main/java/com/adorsys/webank/OnlineBankingApplication.java b/online-banking-app/src/main/java/com/adorsys/webank/OnlineBankingApplication.java new file mode 100644 index 0000000..9fb7318 --- /dev/null +++ b/online-banking-app/src/main/java/com/adorsys/webank/OnlineBankingApplication.java @@ -0,0 +1,13 @@ +package com.adorsys.webank; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +@SpringBootApplication(exclude = {org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class, + org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class}) +public class OnlineBankingApplication { + + public static void main(String[] args) { + SpringApplication.run(OnlineBankingApplication.class, args); + } + +} diff --git a/online-banking-app/src/test/java/com/adorsys/webank/OnlineBankingApplicationTests.java b/online-banking-app/src/test/java/com/adorsys/webank/OnlineBankingApplicationTests.java new file mode 100644 index 0000000..32368ba --- /dev/null +++ b/online-banking-app/src/test/java/com/adorsys/webank/OnlineBankingApplicationTests.java @@ -0,0 +1,13 @@ +package com.adorsys.webank; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class OnlineBankingApplicationTests { + + @Test + void contextLoads() { + // This test will pass if the application context loads successfully + } +} diff --git a/online-banking-service/src/main/java/com/adorsys/webank/obs/OnlineBankingServiceApplication.java b/online-banking-service/src/main/java/com/adorsys/webank/obs/OnlineBankingServiceApplication.java deleted file mode 100644 index 8ae347e..0000000 --- a/online-banking-service/src/main/java/com/adorsys/webank/obs/OnlineBankingServiceApplication.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.adorsys.webank.obs; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class OnlineBankingServiceApplication { - - public static void main(String[] args) { - SpringApplication.run(OnlineBankingServiceApplication.class, args); - } - -} diff --git a/online-banking-service/src/main/java/com/adorsys/webank/obs/controller/OBSRestController.java b/online-banking-service/src/main/java/com/adorsys/webank/obs/controller/OBSRestController.java deleted file mode 100644 index bdde2ef..0000000 --- a/online-banking-service/src/main/java/com/adorsys/webank/obs/controller/OBSRestController.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.adorsys.webank.obs.controller; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class OBSRestController { - - @GetMapping("/message") - public String getMessage() { - return "Hello from OBService!"; - } -} diff --git a/online-banking-service/src/main/java/com/adorsys/webank/obs/service/api/OBServiceAPI.java b/online-banking-service/src/main/java/com/adorsys/webank/obs/service/api/OBServiceAPI.java deleted file mode 100644 index 6a3c995..0000000 --- a/online-banking-service/src/main/java/com/adorsys/webank/obs/service/api/OBServiceAPI.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.adorsys.webank.obs.service.api; - - -public interface OBServiceAPI { - String getMessage(); -} diff --git a/online-banking-service/src/main/java/com/adorsys/webank/obs/service/impl/OBServiceImpl.java b/online-banking-service/src/main/java/com/adorsys/webank/obs/service/impl/OBServiceImpl.java deleted file mode 100644 index b927ba8..0000000 --- a/online-banking-service/src/main/java/com/adorsys/webank/obs/service/impl/OBServiceImpl.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.adorsys.webank.obs.service.impl; - -import com.adorsys.webank.obs.service.api.OBServiceAPI; -import org.springframework.stereotype.Service; - -@Service -public class OBServiceImpl implements OBServiceAPI { - - @Override - public String getMessage() { - return "Hello from OBService!"; - } -} diff --git a/online-banking-service/src/main/resources/application.properties b/online-banking-service/src/main/resources/application.properties deleted file mode 100644 index 1731b22..0000000 --- a/online-banking-service/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=online-banking-service diff --git a/online-banking-service/src/test/java/com/adorsys/webank/obs/OnlineBankingServiceApplicationTests.java b/online-banking-service/src/test/java/com/adorsys/webank/obs/OnlineBankingServiceApplicationTests.java deleted file mode 100644 index 04fa7c9..0000000 --- a/online-banking-service/src/test/java/com/adorsys/webank/obs/OnlineBankingServiceApplicationTests.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.adorsys.webank.obs; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest(classes = OnlineBankingServiceApplication.class) // Specify main class -public class OnlineBankingServiceApplicationTests { - - @Test - public void contextLoads() { - // This test intentionally does nothing. - // The @SpringBootTest annotation simulates application startup. - } -} \ No newline at end of file diff --git a/online-banking-service/src/test/java/com/adorsys/webank/obs/controller/OBSRestControllerTest.java b/online-banking-service/src/test/java/com/adorsys/webank/obs/controller/OBSRestControllerTest.java deleted file mode 100644 index 1b55be1..0000000 --- a/online-banking-service/src/test/java/com/adorsys/webank/obs/controller/OBSRestControllerTest.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.adorsys.webank.obs.controller; - - -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.result.MockMvcResultMatchers; - -@WebMvcTest(OBSRestController.class) -public class OBSRestControllerTest { - - @Autowired - private MockMvc mockMvc; - - @Test - public void testGetMessage() throws Exception { - mockMvc.perform(MockMvcRequestBuilders.get("/message")) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content().string("Hello from OBService!")); - } -} diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..1cebc39 --- /dev/null +++ b/pom.xml @@ -0,0 +1,371 @@ + + 4.0.0 + + com.adorsys.webank + webank-OnlineBanking + 0.1-SNAPSHOT + pom + + + obs + online-banking-app + + + + + + 17 + ${java.version} + ${java.version} + ${project.basedir} + false + UTF-8 + UTF-8 + + + 3.4.1 + 3.2.5 + 3.3.0 + 3.2.0 + 3.7.0.1746 + 0.8.11 + 3.2.5 + 3.12.1 + 3.0.1 + 3.0.1 + 3.21.0 + + + 3.2.7 + 4.1.0 + 6.1.9 + 3.0.0 + 6.1.3 + + + 2.3.0 + 4.3 + 2.8.0 + 15.0 + 2.6.0 + 24.0.5 + 1.5.5.Final + 0.2.0 + 0.7 + 2.2.220 + 42.3.10 + 1.4.0 + 1.4.0 + 2.5.0 + 20231013 + 2.15.3 + 8.0.1.Final + 10.7.4 + 1.19.4 + 1.3.3 + 1.2.5 + 1.0.1.Final + 3.3.1.Final + 4.8.139 + + + 5.10.2 + 5.2.0 + 32.0.0-jre + 1.3 + 1.3.0 + 1.19.0 + + 1.7 + + jdt_apt + 2.0.9 + 9.25.6 + 4.25.1 + 3.1.7 + 2.15.3 + 1.18.30 + 1.9.3 + + + jacoco + jacoco + reuseReports + ${project.basedir}/../target/jacoco.exec + java + + **/*Entity.java,**/*TO.java, + **/*BO.java,**/*PO.java, + **/*Application.java, + **/*Exception.java, + **/*Config*.java, + **/*.xml, + **/ledgers-user-management-service-api/**/*, + **/ledgers-sca-service-api/**/*, + **/ledgers-postings-service-api/**/*, + **/ledgers-middleware-service-api/**/*, + **/ledgers-deposit-account-service-api/**/*, + **/ledgers-jaxb-api/**/*, + **/ledgers-middleware-rest-api/**/*, + **/ledgers-security/**/*, + **/ledgers-app/**/*, + **/ledgers-middleware-rest-server/**/*, + **/ledgers-deposit-account-repository/**/*, + **/ledgers-postings-repository/**/*, + **/ledgers-sca-repository/**/*, + **/ledgers-user-management-repository/**/*, + **/ledgers-utils/**/*, + **/*Provider*.java, + **/*Test*.java, + **/api/**/*, + **/keycloak/client/model/**/*, + **/*Properties*.java + + ${project.artifactId} + + false + + + + + spring-milestones + Spring Milestones + https://repo.spring.io/milestone + + false + + + + + + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot-dependencies.version} + pom + import + + + + org.springframework.cloud + spring-cloud-starter-openfeign + ${spring-cloud-starter-openfeign.version} + + + + org.springframework.security + spring-security-core + ${spring-security.version} + + + + org.springframework.boot + spring-boot-starter-web + ${spring-boot-dependencies.version} + + + + org.springframework.boot + spring-boot-starter-oauth2-client + ${spring-boot-dependencies.version} + + + + org.springframework.boot + spring-boot-starter-security + ${spring-boot-dependencies.version} + + + + org.springframework.plugin + spring-plugin-core + ${spring-plugin.version} + + + + + + com.fasterxml.jackson + jackson-bom + ${jackson.version} + pom + import + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson.version} + + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson-annotations.version} + compile + + + + + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc-openapi-ui.version} + + + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + + + + org.projectlombok + lombok + ${lombok.version} + + + + commons-validator + commons-validator + ${commons-validator.version} + + + + org.hibernate.validator + hibernate-validator + ${hibernate-validator.version} + + + + com.google.guava + guava + ${guava.version} + + + + org.mapstruct + mapstruct + ${org.mapstruct.version} + + + + org.jetbrains + annotations + ${jetbrains.annotations.version} + compile + + + + pro.javatar.commons + javatar-commons + ${javatar-commons.version} + + + + org.subethamail + subethasmtp + ${subethasmtp.version} + + + + org.jasypt + jasypt + ${jasypt.version} + + + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + + + + io.github.classgraph + classgraph + ${classgraph.version} + + + + org.json + json + ${json.version} + + + + commons-io + commons-io + ${commons-io.version} + + + + + + org.dbunit + dbunit + ${dbunit.version} + test + + + junit + junit + + + + + + com.github.springtestdbunit + spring-test-dbunit + ${spring-test-dbunit.version} + test + + + + org.springframework + spring-test + ${spring-test.version} + test + + + + com.github.dasniko + testcontainers-keycloak + ${testcontainers-keycloak.version} + test + + + + org.testcontainers + testcontainers + ${testcontainers.version} + test + + + + org.testcontainers + junit-jupiter + ${testcontainers.version} + test + + + + org.junit.jupiter + junit-jupiter + ${junit-jupiter-api.version} + test + + + + + + \ No newline at end of file