diff options
author | Remigiusz Janeczek <remigiusz.janeczek@nokia.com> | 2020-12-17 18:20:12 +0100 |
---|---|---|
committer | Remigiusz Janeczek <remigiusz.janeczek@nokia.com> | 2021-01-04 21:52:41 +0000 |
commit | 88286a3487c3ec955cc6207be2e70318634ebbd9 (patch) | |
tree | 2bd02b0322f4b14c0820b7ec086e9229fd75364c /mod/bpgenerator/onap | |
parent | a3c8fc0395e9518c5f0f064a033f4ab4d7040c61 (diff) |
Blueprint Generator - split executable part to separate submodule
Issue-ID: DCAEGEN2-2529
Signed-off-by: Remigiusz Janeczek <remigiusz.janeczek@nokia.com>
Change-Id: I0d6a4ac0f6bc8332b79ebcf5ac3bb4aee1c951c6
Diffstat (limited to 'mod/bpgenerator/onap')
-rw-r--r-- | mod/bpgenerator/onap/pom.xml | 27 | ||||
-rw-r--r-- | mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorConfiguration.java | 35 | ||||
-rw-r--r-- | mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java | 113 | ||||
-rw-r--r-- | mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java | 10 | ||||
-rw-r--r-- | mod/bpgenerator/onap/src/main/resources/bpgen.properties (renamed from mod/bpgenerator/onap/src/main/resources/application.properties) | 4 | ||||
-rw-r--r-- | mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java | 7 | ||||
-rw-r--r-- | mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintJarComparatorTest.java | 179 |
7 files changed, 51 insertions, 324 deletions
diff --git a/mod/bpgenerator/onap/pom.xml b/mod/bpgenerator/onap/pom.xml index 6193d46..63390ca 100644 --- a/mod/bpgenerator/onap/pom.xml +++ b/mod/bpgenerator/onap/pom.xml @@ -5,6 +5,7 @@ ~ * org.onap.dcae ~ * ================================================================================ ~ * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved. + ~ * Copyright (c) 2020 Nokia. All rights reserved. ~ * ================================================================================ ~ * Licensed under the Apache License, Version 2.0 (the "License"); ~ * you may not use this file except in compliance with the License. @@ -28,18 +29,18 @@ <modelVersion>4.0.0</modelVersion> <artifactId>blueprint-generator-onap</artifactId> - <version>1.7.0-SNAPSHOT</version> + <version>1.7.1-SNAPSHOT</version> <packaging>jar</packaging> <name>Onap</name> - <description>This Application is used to generate ONAP Blueprint YAML Files for given Component - Specs + <description> + This Application is a library used to generate ONAP Blueprint YAML Files for given Component Specs </description> <parent> <groupId>org.onap.dcaegen2.platform.mod</groupId> <artifactId>blueprint-generator</artifactId> - <version>1.7.0-SNAPSHOT</version> + <version>1.7.1-SNAPSHOT</version> </parent> <dependencies> @@ -51,22 +52,4 @@ </dependency> </dependencies> - <build> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <version>2.2.5.RELEASE</version> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - <finalName>onap-blueprint-generator-${project.version}</finalName> - </build> - </project> diff --git a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorConfiguration.java b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorConfiguration.java new file mode 100644 index 0000000..fbe97e9 --- /dev/null +++ b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorConfiguration.java @@ -0,0 +1,35 @@ +/* + * + * * ============LICENSE_START======================================================= + * * org.onap.dcae + * * ================================================================================ + * * Copyright (c) 2020 Nokia. All rights reserved. + * * ================================================================================ + * * Licensed under the Apache License, Version 2.0 (the "License"); + * * you may not use this file except in compliance with the License. + * * You may obtain a copy of the License at + * * + * * http://www.apache.org/licenses/LICENSE-2.0 + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, + * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * * See the License for the specific language governing permissions and + * * limitations under the License. + * * ============LICENSE_END========================================================= + * + * + */ + +package org.onap.blueprintgenerator; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; + +@Configuration +@PropertySource("classpath:bpgen.properties") +@ComponentScan(basePackages = {"org.onap.blueprintgenerator", "org.onap.policycreate"}) +public class BlueprintGeneratorConfiguration { + +} diff --git a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java deleted file mode 100644 index 796424f..0000000 --- a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/BlueprintGeneratorMainApplication.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * - * * ============LICENSE_START======================================================= - * * org.onap.dcae - * * ================================================================================ - * * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved. - * * Copyright (c) 2020 Nokia. All rights reserved. - * * ================================================================================ - * * Licensed under the Apache License, Version 2.0 (the "License"); - * * you may not use this file except in compliance with the License. - * * You may obtain a copy of the License at - * * - * * http://www.apache.org/licenses/LICENSE-2.0 - * * - * * Unless required by applicable law or agreed to in writing, software - * * distributed under the License is distributed on an "AS IS" BASIS, - * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * * See the License for the specific language governing permissions and - * * limitations under the License. - * * ============LICENSE_END========================================================= - * - * - */ - -package org.onap.blueprintgenerator; - - -import static java.lang.System.exit; - -import org.onap.blueprintgenerator.model.base.Blueprint; -import org.onap.blueprintgenerator.model.common.Input; -import org.onap.blueprintgenerator.model.componentspec.OnapComponentSpec; -import org.onap.blueprintgenerator.model.componentspec.base.ComponentSpec; -import org.onap.blueprintgenerator.service.BlueprintCreatorService; -import org.onap.blueprintgenerator.service.base.BlueprintService; -import org.onap.blueprintgenerator.service.common.CommonUtils; -import org.onap.blueprintgenerator.service.common.ComponentSpecService; -import org.onap.policycreate.service.PolicyModelService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.CommandLineRunner; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.ComponentScan; - -/** - * @author : Ravi Mantena - * @date 10/16/2020 Application: ONAP - Blueprint Generator ONAP - Blueprint Generator Main - * Application to create Policy Models or Blueprints - */ -@ComponentScan({"org.onap.blueprintgenerator", "org.onap.policycreate"}) -@SpringBootApplication -public class BlueprintGeneratorMainApplication implements CommandLineRunner { - - @Autowired - private ComponentSpecService componentSpecService; - - @Autowired - private PolicyModelService policyModelService; - - @Autowired - private CommonUtils commonUtils; - - @Autowired - private PolicyModelService onapPolicyModelNodeService; - - @Autowired - private ComponentSpecService onapComponentSpecService; - - @Autowired - private CommonUtils onapCommonUtils; - - @Autowired - private BlueprintCreatorService blueprintCreatorService; - - @Autowired - private BlueprintService blueprintService; - - /** - * Main Application to run BPGen to generate Policies/Blueprint based on Input Arguments values - * - * @param args Input Arguments - */ - public static void main(String[] args) { - SpringApplication.run(BlueprintGeneratorMainApplication.class, args); - } - - /** - * Creates Policies/Blueprint based on Input Arguments values - * - * @param args Input Arguments - */ - @Override - public void run(String... args) { - if (args.length >= 2 && args[0].equals("app") && args[1].equals("ONAP")) { - onapCommonUtils.printInstructions(); - if (args.length >= 4 && args[2].equals("-type") && args[3].equals("policycreate")) { - Input input = onapCommonUtils.parseInputs(args); - ComponentSpec componentSpec = - componentSpecService.createComponentSpecFromFile(input.getComponentSpecPath()); - onapPolicyModelNodeService.createPolicyModels( - componentSpec.getParameters(), input.getOutputPath()); - } else { - Input input = onapCommonUtils.parseInputs(args); - OnapComponentSpec onapComponentSpec = onapComponentSpecService.createComponentSpecFromFile(input.getComponentSpecPath()); - Blueprint blueprint = blueprintCreatorService.createBlueprint(onapComponentSpec, input); - blueprintService.blueprintToYaml(onapComponentSpec, blueprint, input); - System.out.println(blueprintService.blueprintToString(onapComponentSpec, blueprint, input)); - } - } - - exit(0); - } -} diff --git a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java index 6fa43da..44bca11 100644 --- a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java +++ b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/ImportsService.java @@ -4,6 +4,7 @@ * * org.onap.dcae * * ================================================================================ * * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved. + * * Copyright (c) 2020 Nokia. All rights reserved. * * ================================================================================ * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. @@ -24,17 +25,16 @@ package org.onap.blueprintgenerator.service.common; import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; import org.onap.blueprintgenerator.model.common.Imports; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - /** * @author : Ravi Mantena * @date 10/16/2020 Application: DCAE/ONAP - Blueprint Generator Common Module: Used by ONAP diff --git a/mod/bpgenerator/onap/src/main/resources/application.properties b/mod/bpgenerator/onap/src/main/resources/bpgen.properties index f7155a5..69a3ad6 100644 --- a/mod/bpgenerator/onap/src/main/resources/application.properties +++ b/mod/bpgenerator/onap/src/main/resources/bpgen.properties @@ -4,6 +4,7 @@ # * org.onap.dcae # * ================================================================================ # * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved. +# * Copyright (c) 2020 Nokia. All rights reserved. # * ================================================================================ # * Licensed under the Apache License, Version 2.0 (the "License"); # * you may not use this file except in compliance with the License. @@ -20,8 +21,7 @@ # */ # # -spring.main.banner-mode=off -spring.output.ansi.enabled=ALWAYS + imports.onap.types=https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml imports.onap.K8s.plugintypes=plugin:k8splugin?version=3.4.2 imports.onap.K8s.dcaepolicyplugin=plugin:dcaepolicyplugin?version=2.4.0 diff --git a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java index 86d257a..6e6ebd7 100644 --- a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java +++ b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintGeneratorTests.java @@ -27,7 +27,7 @@ package org.onap.blueprintgenerator.test; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.Ignore; import org.junit.runner.RunWith; -import org.onap.blueprintgenerator.BlueprintGeneratorMainApplication; +import org.onap.blueprintgenerator.BlueprintGeneratorConfiguration; import org.onap.blueprintgenerator.model.componentspec.OnapComponentSpec; import org.onap.blueprintgenerator.service.BlueprintCreatorService; import org.onap.blueprintgenerator.service.base.BlueprintService; @@ -45,11 +45,12 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * @author : Ravi Mantena - * @date 10/16/2020 Application: ONAP - Blueprint Generator ONAP Test Cases + * @date 10/16/2020 + * Application: ONAP - Blueprint Generator ONAP Test Cases */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration( - classes = BlueprintGeneratorMainApplication.class, + classes = BlueprintGeneratorConfiguration.class, initializers = ConfigFileApplicationContextInitializer.class) @TestPropertySource( properties = { diff --git a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintJarComparatorTest.java b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintJarComparatorTest.java deleted file mode 100644 index a0cf04a..0000000 --- a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/BlueprintJarComparatorTest.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * - * * ============LICENSE_START======================================================= - * * org.onap.dcae - * * ================================================================================ - * * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved. - * * ================================================================================ - * * Licensed under the Apache License, Version 2.0 (the "License"); - * * you may not use this file except in compliance with the License. - * * You may obtain a copy of the License at - * * - * * http://www.apache.org/licenses/LICENSE-2.0 - * * - * * Unless required by applicable law or agreed to in writing, software - * * distributed under the License is distributed on an "AS IS" BASIS, - * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * * See the License for the specific language governing permissions and - * * limitations under the License. - * * ============LICENSE_END========================================================= - * - * - */ - -package org.onap.blueprintgenerator.test; - -import org.apache.commons.io.FileUtils; -import org.junit.Assert; -import org.junit.FixMethodOrder; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.jupiter.api.Order; -import org.junit.runners.MethodSorters; -import org.onap.blueprintgenerator.test.BlueprintGeneratorTests; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Paths; - -/** - * @author : Ravi Mantena - * @date 10/16/2020 Application: ONAP - Blueprint Generator ONAP Bueprint Jar Comparision with - * Blueprint Comparator using preious and new Jar files to make sure the new code doesnt break previous changes. - */ -@Ignore -@FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class BlueprintJarComparatorTest extends BlueprintGeneratorTests { - - private String previousJarVersion = "0.1"; - private String latestJarVersion = "1.0"; - private String previousVersion = "0_1"; - private String latestVersion = "1_0"; - private String latestJarPath = Paths.get("target").toAbsolutePath().toString() + "\\"; - private String previousJarPath = - Paths.get("src", "test", "resources", "archives").toAbsolutePath().toString() + "\\"; - private String inputPath = - Paths.get("src", "test", "resources", "componentspecs").toAbsolutePath().toString() + "\\"; - private String inputPolicyPath = - Paths.get("src", "test", "resources", "policyjson").toAbsolutePath().toString() + "\\"; - private String outputPath = - Paths.get("src", "test", "resources", "outputfiles").toAbsolutePath().toString() + "\\"; - private String previousJar = "onap-blueprint-generator-" + previousJarVersion + ".jar"; - private String latestJar = "onap-blueprint-generator-" + latestJarVersion + ".jar"; - - @Test - @Order(value = 1) - public void filesCleanup() throws IOException { - FileUtils.deleteDirectory(new File(outputPath)); - } - - @Test - public void jarTestVeswithDmaapK8s() throws IOException, InterruptedException { - String inputFileName = ves; - String outputFileName = "dcae-ves-collector-dmaap-"; - String inputImportsFileName = testImports; - - String previousJarCommand = - "java -jar " - + previousJarPath - + previousJar - + " app ONAP -i " - + inputPath - + inputFileName - + " -p " - + outputPath - + " -n " - + outputFileName - + previousVersion - + " -t " - + inputPath - + inputImportsFileName - + " -d"; - Runtime.getRuntime().exec(previousJarCommand); - - String latestJarCommand = - "java -jar " - + latestJarPath - + latestJar - + " app ONAP -i " - + inputPath - + inputFileName - + " -p " - + outputPath - + " -n " - + outputFileName - + latestVersion - + " -t " - + inputPath - + inputImportsFileName - + " -d"; - Runtime.getRuntime().exec(latestJarCommand); - - Thread.sleep(8000); - - Assert.assertEquals( - "The BluePrint files (" - + outputFileName - + ") for " - + inputFileName - + " with -m option don't match!", - FileUtils.readFileToString( - new File(outputPath + outputFileName + previousVersion + ".yaml"), "utf-8"), - FileUtils.readFileToString( - new File(outputPath + outputFileName + latestVersion + ".yaml"), "utf-8")); - } - - @Test - public void jarTestVeswithoutDmaapK8s() throws IOException, InterruptedException { - String inputFileName = ves; - String outputFileName = "dcae-ves-collector-"; - String inputImportsFileName = testImports; - - String previousJarCommand = - "java -jar " - + previousJarPath - + previousJar - + " app ONAP -i " - + inputPath - + inputFileName - + " -p " - + outputPath - + " -n " - + outputFileName - + previousVersion - + " -t " - + inputPath - + inputImportsFileName; - Runtime.getRuntime().exec(previousJarCommand); - - String latestJarCommand = - "java -jar " - + latestJarPath - + latestJar - + " app ONAP -i " - + inputPath - + inputFileName - + " -p " - + outputPath - + " -n " - + outputFileName - + latestVersion - + " -t " - + inputPath - + inputImportsFileName; - Runtime.getRuntime().exec(latestJarCommand); - - Thread.sleep(8000); - - Assert.assertEquals( - "The BluePrint files (" - + outputFileName - + ") for " - + inputFileName - + " with -m option dont match!", - FileUtils.readFileToString( - new File(outputPath + outputFileName + previousVersion + ".yaml"), "utf-8"), - FileUtils.readFileToString( - new File(outputPath + outputFileName + latestVersion + ".yaml"), "utf-8")); - } -} |