diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/dummy/DummyVorgangService.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/dummy/DummyVorgangService.java index 1dfcab5c593623c3c57a396fd27abbac8337690d..293e9fe16126f745431fc4a56dcfe70dbe1f7312 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/dummy/DummyVorgangService.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/dummy/DummyVorgangService.java @@ -41,7 +41,7 @@ class DummyVorgangService implements OzgCloudVorgangService { .build(); private static final OzgCloudEingang EINGANG_2 = OzgCloudEingang.builder().build(); - private DummyVorgangService() { + public DummyVorgangService() { idToVorgang = buildMap(); vorgangs = initList(); } diff --git a/ozg-cloud-spring-boot-starter/pom.xml b/ozg-cloud-spring-boot-starter/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..b18ffce34b09450ce765944edd6ab1145e0fd4cd --- /dev/null +++ b/ozg-cloud-spring-boot-starter/pom.xml @@ -0,0 +1,44 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>de.ozgcloud.api-lib</groupId> + <artifactId>api-lib-parent</artifactId> + <version>0.1.0-SNAPSHOT</version> + </parent> + <artifactId>ozg-cloud-spring-boot-starter</artifactId> + + <dependencies> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-autoconfigure</artifactId> + </dependency> + + <dependency> + <groupId>de.ozgcloud.api-lib</groupId> + <artifactId>api-lib-core</artifactId> + <version>${project.version}</version> + </dependency> + + <!--Test --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-test-autoconfigure</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter</artifactId> + </dependency> + <dependency> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + </dependency> + </dependencies> +</project> \ No newline at end of file diff --git a/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java b/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java new file mode 100644 index 0000000000000000000000000000000000000000..0ef6d54fc59096a4395be7cd527d18d75ce3af23 --- /dev/null +++ b/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java @@ -0,0 +1,10 @@ +package de.ozgcloud.client.autoconfigure; + +import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.context.annotation.ComponentScan; + +@AutoConfiguration +@ComponentScan(basePackages = "de.ozgcloud.apilib.**") +public class OzgCloudClientAutoConfiguration { + +} diff --git a/ozg-cloud-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ozg-cloud-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000000000000000000000000000000000000..126a0de2f1ebb078e77c8ff5765062387311a277 --- /dev/null +++ b/ozg-cloud-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +de.ozgcloud.client.autoconfigure.OzgCloudClientAutoConfiguration \ No newline at end of file diff --git a/ozg-cloud-spring-boot-starter/src/test/java/de/ozgcloud/apilib/autoconfig/ApiLibTestApplication.java b/ozg-cloud-spring-boot-starter/src/test/java/de/ozgcloud/apilib/autoconfig/ApiLibTestApplication.java new file mode 100644 index 0000000000000000000000000000000000000000..ad8ddb0776e3f0c10c9eb39b87367c2c5b45e409 --- /dev/null +++ b/ozg-cloud-spring-boot-starter/src/test/java/de/ozgcloud/apilib/autoconfig/ApiLibTestApplication.java @@ -0,0 +1,15 @@ +package de.ozgcloud.apilib.autoconfig; + +import java.util.TimeZone; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ApiLibTestApplication { + + public static void main(String[] args) { + TimeZone.setDefault(TimeZone.getTimeZone("UTC")); + SpringApplication.run(ApiLibTestApplication.class, args); + } +} diff --git a/ozg-cloud-spring-boot-starter/src/test/java/de/ozgcloud/client/autoconfigure/OzgCloudStarterITCase.java b/ozg-cloud-spring-boot-starter/src/test/java/de/ozgcloud/client/autoconfigure/OzgCloudStarterITCase.java new file mode 100644 index 0000000000000000000000000000000000000000..175c478d45f9a1b8c81cebc9cbb446c57cb509de --- /dev/null +++ b/ozg-cloud-spring-boot-starter/src/test/java/de/ozgcloud/client/autoconfigure/OzgCloudStarterITCase.java @@ -0,0 +1,22 @@ +package de.ozgcloud.client.autoconfigure; + +import static org.assertj.core.api.Assertions.*; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import de.ozgcloud.apilib.autoconfig.ApiLibTestApplication; +import de.ozgcloud.apilib.vorgang.OzgCloudVorgangService; + +@SpringBootTest(classes = ApiLibTestApplication.class) +class OzgCloudStarterITCase { + + @Autowired(required = false) + private OzgCloudVorgangService vorgangService; + + @Test + void shouldInitializeVorgangService() { + assertThat(vorgangService).isNotNull(); + } +} diff --git a/pom.xml b/pom.xml index f31c79260d2083e718a0afde22b8aae0a3ee38ae..d89c2f776c198d85391bfa3088a6c26efc921ced 100644 --- a/pom.xml +++ b/pom.xml @@ -19,6 +19,7 @@ <packaging>pom</packaging> <modules> <module>api-lib-core</module> + <module>ozg-cloud-spring-boot-starter</module> </modules> </project> \ No newline at end of file