diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..bb7d754baa751630b25598e182a30f062e9b6ebd --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,40 @@ +include: + - project: osl/code/org.etsi.osl.main + ref: main + file: + - ci-templates/default.yml + - ci-templates/build.yml + rules: + - if: '$CI_COMMIT_REF_NAME == "main"' + + - project: osl/code/org.etsi.osl.main + ref: develop + file: + - ci-templates/default.yml + - ci-templates/build.yml + rules: + - if: '$CI_COMMIT_REF_NAME == "develop"' + + - project: osl/code/org.etsi.osl.main + ref: $CI_COMMIT_REF_NAME + file: + - ci-templates/default.yml + - ci-templates/build.yml + rules: + - if: '$CI_COMMIT_REF_PROTECTED && $CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop"' + + - project: osl/code/org.etsi.osl.main + ref: develop + file: + - ci-templates/default.yml + - ci-templates/build_unprotected.yml + rules: + - if: '$CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop" && !$CI_COMMIT_REF_PROTECTED' + +maven_build: + extends: .maven_build + +docker_build: + extends: .docker_build + needs: + - maven_build diff --git a/Dockerfile.oasapi b/Dockerfile similarity index 61% rename from Dockerfile.oasapi rename to Dockerfile index b2b5a0a82f6cc59cd29bf7579f3b27be05d5fc12..c30ca9f295d08174831b1e71ed27edff5ba2cdcb 100644 --- a/Dockerfile.oasapi +++ b/Dockerfile @@ -2,6 +2,6 @@ FROM ibm-semeru-runtimes:open-17.0.7_7-jdk MAINTAINER openslice.io RUN mkdir /opt/shareclasses RUN mkdir -p /opt/openslice/lib/ -COPY target/org.etsi.osl.oas-1.2.0-SNAPSHOT.jar /opt/openslice/lib/ -CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/openslice/lib/org.etsi.osl.oas-1.2.0-SNAPSHOT.jar"] +COPY target/org.etsi.osl.oas-1.0.0.jar /opt/openslice/lib/ +CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/openslice/lib/org.etsi.osl.oas-1.0.0.jar"] EXPOSE 13101 \ No newline at end of file diff --git a/ci_settings.xml b/ci_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..69ad06ed6c63795d191555afde6ea2d1da4e133d --- /dev/null +++ b/ci_settings.xml @@ -0,0 +1,16 @@ +<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd"> + <servers> + <server> + <id>gitlab-maven</id> + <configuration> + <httpHeaders> + <property> + <name>Job-Token</name> + <value>${CI_JOB_TOKEN}</value> + </property> + </httpHeaders> + </configuration> + </server> + </servers> +</settings> diff --git a/pom.xml b/pom.xml index 1e66b5745446f86ac54866b7dcf93f8f6256caa7..30b259ad7396709d18988ceeb9d115e600ca2855 100644 --- a/pom.xml +++ b/pom.xml @@ -5,12 +5,12 @@ <parent> <groupId>org.etsi.osl</groupId> <artifactId>org.etsi.osl.main</artifactId> - <version>1.2.0-SNAPSHOT</version> + <version>1.0.0</version> <relativePath>../org.etsi.osl.main</relativePath> </parent> - <artifactId>org.etsi.osl.oas</artifactId> + <artifactId>org.etsi.osl.oas</artifactId> <name>org.etsi.osl.oas</name> <url>http://openslice.io</url> @@ -27,6 +27,23 @@ <lombok-version>1.18.28</lombok-version> </properties> + <repositories> + <repository> + <id>gitlab-maven</id> + <url>https://labs.etsi.org/rep/api/v4/groups/260/-/packages/maven</url> + </repository> + </repositories> + <distributionManagement> + <repository> + <id>gitlab-maven</id> + <url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url> + </repository> + <snapshotRepository> + <id>gitlab-maven</id> + <url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url> + </snapshotRepository> + </distributionManagement> + <dependencyManagement> <dependencies> <!-- Spring Boot BOM --> @@ -79,11 +96,6 @@ <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> - - - - - <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> @@ -93,18 +105,10 @@ <dependency> <groupId>org.etsi.osl</groupId> <artifactId>org.etsi.osl.tmf.api</artifactId> - <version>${project.version}</version> - </dependency> - - <dependency> - <groupId>org.etsi.osl</groupId> - <artifactId>org.etsi.osl.model</artifactId> - <version>${project.version}</version> + <version>${org.etsi.osl.tmf.api.version}</version> </dependency> - - <!-- activeMQ --> <dependency> <groupId>org.springframework.boot</groupId> @@ -126,6 +130,7 @@ <artifactId>pooled-jms</artifactId> </dependency> + <!-- Camel --> <dependency> <groupId>org.apache.camel.springboot</groupId> @@ -163,16 +168,13 @@ <artifactId>camel-stream</artifactId> </dependency> - - <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> - <!-- security --> - + <!-- security --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> @@ -214,9 +216,6 @@ <!-- database --> - - - <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> @@ -243,8 +242,6 @@ <!-- Testing --> - - <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> @@ -277,7 +274,6 @@ <scope>test</scope> </dependency> - <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-broker</artifactId> @@ -285,6 +281,13 @@ </dependency> + <!--javax.jms --> + <dependency> + <groupId>javax.jms</groupId> + <artifactId>javax.jms-api</artifactId> + <version>2.0.1</version> + </dependency> + </dependencies> <build> diff --git a/src/main/java/org/etsi/osl/oas/model/ActionCharacteristic.java b/src/main/java/org/etsi/osl/oas/model/ActionCharacteristic.java index ad9a371549fe2158dab09a53a8826784806e12d3..c3157b9dfd1fb397ff54dddb1e59bc5e781a30f5 100644 --- a/src/main/java/org/etsi/osl/oas/model/ActionCharacteristic.java +++ b/src/main/java/org/etsi/osl/oas/model/ActionCharacteristic.java @@ -2,6 +2,7 @@ package org.etsi.osl.oas.model; import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.persistence.Column; import org.hibernate.annotations.GenericGenerator; import org.springframework.validation.annotation.Validated; @@ -16,7 +17,7 @@ import lombok.Data; * * */ -@Schema(description = "An ActionCharacteristic is an entity that describes the values of the characteristics of ana ction in a rule.") +@Schema(description = "An ActionCharacteristic is an entity that describes the values of the characteristics of an action in a rule.") @Validated @Entity(name = "OASActionCharacteristic") @@ -33,5 +34,6 @@ public class ActionCharacteristic { protected String name = null; @JsonProperty("value") + @Column(name = "\"value\"") protected String value = null; } diff --git a/src/test/java/org/etsi/osl/oas/RulesIntegrationTest.java b/src/test/java/org/etsi/osl/oas/RulesIntegrationTest.java index c1ec1fed466d4fdcaf6811256cfb7db6167b08a0..fcb31d3b791bf6efbd2bb03365b0e9e551b5a0c4 100644 --- a/src/test/java/org/etsi/osl/oas/RulesIntegrationTest.java +++ b/src/test/java/org/etsi/osl/oas/RulesIntegrationTest.java @@ -30,11 +30,8 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; -import java.io.UnsupportedEncodingException; import org.apache.commons.io.IOUtils; -import org.etsi.osl.oas.AlarmHandling; -import org.etsi.osl.oas.OasSpingBoot; import org.etsi.osl.oas.model.Action; import org.etsi.osl.oas.model.ActionCharacteristic; import org.etsi.osl.oas.model.ActionParam; @@ -101,7 +98,7 @@ public class RulesIntegrationTest { @WithMockUser(username = "osadmin", roles = { "ADMIN", "USER" }) @Test - public void testRuleCreateAndUpdate() throws UnsupportedEncodingException, IOException, Exception { + public void testRuleCreateAndUpdate() throws Exception { ActionSpecificationCreate actionCreate = new ActionSpecificationCreate(); actionCreate.setName("scaleEqually"); @@ -211,7 +208,7 @@ public class RulesIntegrationTest { scope.setEntityUUID("UUIDREFTEST2"); rule.setScope(scope); - responseRule = mvc + mvc .perform(MockMvcRequestBuilders.post("/assuranceServicesManagement/v1/ruleSpecification") .with(SecurityMockMvcRequestPostProcessors.csrf()).contentType(MediaType.APPLICATION_JSON) .content(toJson(rule))) @@ -229,7 +226,7 @@ public class RulesIntegrationTest { @WithMockUser(username = "osadmin", roles = { "ADMIN", "USER" }) @Test - public void testRuleCreateFromFiles() throws UnsupportedEncodingException, IOException, Exception { + public void testRuleCreateFromFiles() throws Exception { File faction = new File( "src/test/resources/testAction.json" ); InputStream in = new FileInputStream( faction ); @@ -422,22 +419,10 @@ public class RulesIntegrationTest { return mapper.writeValueAsBytes(object); } - static String toJsonString(Object object) throws IOException { - ObjectMapper mapper = new ObjectMapper(); - mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - return mapper.writeValueAsString(object); - } - static <T> T toJsonObj(String content, Class<T> valueType) throws IOException { ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); return mapper.readValue(content, valueType); } - static <T> T toJsonObj(InputStream content, Class<T> valueType) throws IOException { - ObjectMapper mapper = new ObjectMapper(); - mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - return mapper.readValue(content, valueType); - } - }