From 7666d2a36849f88e917d87abec2e177dac500191 Mon Sep 17 00:00:00 2001 From: Deven Date: Thu, 27 Feb 2020 14:33:33 -0500 Subject: Modify Runtime for new bpgen dependency Modify Runtime core and web components to build with the new bpgen dependency Issue-ID: DCAEGEN2-2091 Change-Id: Id9dac8f4cc24a39dac2dac8dce7a84b54c1e1229 Signed-off-by: Deven --- mod/runtimeapi/pom.xml | 62 +++++++++++------ mod/runtimeapi/runtime-core/pom.xml | 4 +- .../blueprint_creator/BlueprintCreatorOnap.java | 78 ++++++++++++++++++++++ .../BlueprintCreatorOnapDublin.java | 78 ---------------------- .../dcae/runtime/core/TestFlowGraphParser.java | 4 +- .../onap/dcae/runtime/core/TestIntegeration.java | 4 +- .../org/onap/dcae/runtime/core/TestOnapBpGen.java | 2 +- .../data/imports/onapDublinImports.yaml | 2 - .../runtime-web/data/imports/onapImports.yaml | 1 + .../web/configuration/BlueprintCreatorConfig.java | 45 ++++++++----- .../src/main/resources/application.properties | 19 ++++-- .../main/resources/imports/OnapDublinImports.yaml | 1 - .../src/main/resources/imports/OnapImports.yaml | 1 + 13 files changed, 173 insertions(+), 128 deletions(-) create mode 100644 mod/runtimeapi/runtime-core/src/main/java/org/onap/dcae/runtime/core/blueprint_creator/BlueprintCreatorOnap.java delete mode 100644 mod/runtimeapi/runtime-core/src/main/java/org/onap/dcae/runtime/core/blueprint_creator/BlueprintCreatorOnapDublin.java delete mode 100644 mod/runtimeapi/runtime-web/data/imports/onapDublinImports.yaml create mode 100644 mod/runtimeapi/runtime-web/data/imports/onapImports.yaml delete mode 100644 mod/runtimeapi/runtime-web/src/main/resources/imports/OnapDublinImports.yaml create mode 100644 mod/runtimeapi/runtime-web/src/main/resources/imports/OnapImports.yaml diff --git a/mod/runtimeapi/pom.xml b/mod/runtimeapi/pom.xml index e951d94..d935f35 100644 --- a/mod/runtimeapi/pom.xml +++ b/mod/runtimeapi/pom.xml @@ -16,7 +16,8 @@ See the License for the specific language governing permissions and limitations under the License. ============LICENSE_END========================================================= --> - 4.0.0 pom @@ -39,28 +40,51 @@ limitations under the License. 1.8 yyyyMMdd'T'HHmmss ${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml - + - - - - org.sonarsource.scanner.maven - sonar-maven-plugin - 3.6.0.1398 - - + + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 3.6.0.1398 + + + + org.apache.maven.plugins + maven-enforcer-plugin + 1.4.1 + + + enforce-no-snapshots + + enforce + + + + + No Snapshots Allowed! + + + false + + + + + + - - - org.springframework.boot - spring-boot-starter-parent - 2.1.7.RELEASE - pom - import - - + + + org.springframework.boot + spring-boot-starter-parent + 2.1.7.RELEASE + pom + import + + diff --git a/mod/runtimeapi/runtime-core/pom.xml b/mod/runtimeapi/runtime-core/pom.xml index dd5d10b..53c8536 100644 --- a/mod/runtimeapi/runtime-core/pom.xml +++ b/mod/runtimeapi/runtime-core/pom.xml @@ -41,9 +41,9 @@ limitations under the License. 28.0-jre - org.onap.dcaegen2.platform.cli + org.onap.dcaegen2.platform.mod blueprint-generator - 1.0.0 + 1.3.1-SNAPSHOT org.json diff --git a/mod/runtimeapi/runtime-core/src/main/java/org/onap/dcae/runtime/core/blueprint_creator/BlueprintCreatorOnap.java b/mod/runtimeapi/runtime-core/src/main/java/org/onap/dcae/runtime/core/blueprint_creator/BlueprintCreatorOnap.java new file mode 100644 index 0000000..c12b970 --- /dev/null +++ b/mod/runtimeapi/runtime-core/src/main/java/org/onap/dcae/runtime/core/blueprint_creator/BlueprintCreatorOnap.java @@ -0,0 +1,78 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2019 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.dcae.runtime.core.blueprint_creator; + +import org.onap.dcae.runtime.core.Node; +import org.onap.blueprintgenerator.models.blueprint.Blueprint; +import org.onap.blueprintgenerator.models.componentspec.ComponentSpec; +import org.yaml.snakeyaml.DumperOptions; +import org.yaml.snakeyaml.Yaml; + +import java.util.Map; + +public class BlueprintCreatorOnap implements BlueprintCreator{ + + private String topicUrl; + private String importFilePath; + + public void setTopicUrl(String topicUrl) { + this.topicUrl = topicUrl; + } + + public void setImportFilePath(String importFilePath) { + this.importFilePath = importFilePath; + } + + @Override + public String createBlueprint(String componentSpecString) { + ComponentSpec componentSpec = new ComponentSpec(); + componentSpec.createComponentSpecFromString(componentSpecString); + Blueprint blueprint = new Blueprint().createBlueprint(componentSpec,"",'o',importFilePath,""); + return blueprint.blueprintToString(); + } + + @Override + public void resolveDmaapConnection(Node node, String locationPort, String dmaapEntityName) { + if(node == null || locationPort == null){ + return; + } + String blueprintContent = node.getBlueprintData().getBlueprint_content(); + locationPort = locationPort.replaceAll("-","_"); + Yaml yaml = getYamlInstance(); + Map obj = yaml.load(blueprintContent); + Map inputsObj = (Map) obj.get("inputs"); + for(Map.Entry entry: inputsObj.entrySet()){ + if(entry.getKey().matches(locationPort+".*url")) { + Map inputValue = (Map) entry.getValue(); + inputValue.put("default",topicUrl + "/" + dmaapEntityName); + } + } + node.getBlueprintData().setBlueprint_content(yaml.dump(obj)); + } + + private Yaml getYamlInstance() { + DumperOptions options = new DumperOptions(); + options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); + options.setPrettyFlow(true); + return new Yaml(options); + } + +// private String attachSingleQoutes(String str) { +// return "'" + str + "'"; +// } +} diff --git a/mod/runtimeapi/runtime-core/src/main/java/org/onap/dcae/runtime/core/blueprint_creator/BlueprintCreatorOnapDublin.java b/mod/runtimeapi/runtime-core/src/main/java/org/onap/dcae/runtime/core/blueprint_creator/BlueprintCreatorOnapDublin.java deleted file mode 100644 index 2225971..0000000 --- a/mod/runtimeapi/runtime-core/src/main/java/org/onap/dcae/runtime/core/blueprint_creator/BlueprintCreatorOnapDublin.java +++ /dev/null @@ -1,78 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 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.dcae.runtime.core.blueprint_creator; - -import org.onap.dcae.runtime.core.Node; -import org.onap.blueprintgenerator.models.blueprint.Blueprint; -import org.onap.blueprintgenerator.models.componentspec.ComponentSpec; -import org.yaml.snakeyaml.DumperOptions; -import org.yaml.snakeyaml.Yaml; - -import java.util.Map; - -public class BlueprintCreatorOnapDublin implements BlueprintCreator{ - - private String topicUrl; - private String importFilePath; - - public void setTopicUrl(String topicUrl) { - this.topicUrl = topicUrl; - } - - public void setImportFilePath(String importFilePath) { - this.importFilePath = importFilePath; - } - - @Override - public String createBlueprint(String componentSpecString) { - ComponentSpec componentSpec = new ComponentSpec(); - componentSpec.createComponentSpecFromString(componentSpecString); - Blueprint blueprint = new Blueprint().createBlueprint(componentSpec,"",'o',importFilePath); - return blueprint.blueprintToString(); - } - - @Override - public void resolveDmaapConnection(Node node, String locationPort, String dmaapEntityName) { - if(node == null || locationPort == null){ - return; - } - String blueprintContent = node.getBlueprintData().getBlueprint_content(); - locationPort = locationPort.replaceAll("-","_"); - Yaml yaml = getYamlInstance(); - Map obj = yaml.load(blueprintContent); - Map inputsObj = (Map) obj.get("inputs"); - for(Map.Entry entry: inputsObj.entrySet()){ - if(entry.getKey().matches(locationPort+".*url")) { - Map inputValue = (Map) entry.getValue(); - inputValue.put("default",topicUrl + "/" + dmaapEntityName); - } - } - node.getBlueprintData().setBlueprint_content(yaml.dump(obj)); - } - - private Yaml getYamlInstance() { - DumperOptions options = new DumperOptions(); - options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); - options.setPrettyFlow(true); - return new Yaml(options); - } - -// private String attachSingleQoutes(String str) { -// return "'" + str + "'"; -// } -} diff --git a/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestFlowGraphParser.java b/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestFlowGraphParser.java index 8412133..25e3e54 100644 --- a/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestFlowGraphParser.java +++ b/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestFlowGraphParser.java @@ -26,7 +26,7 @@ import org.junit.Rule; import org.junit.rules.TemporaryFolder; import org.junit.Test; import static org.junit.Assert.assertEquals; -import org.onap.dcae.runtime.core.blueprint_creator.BlueprintCreatorOnapDublin; +import org.onap.dcae.runtime.core.blueprint_creator.BlueprintCreatorOnap; public class TestFlowGraphParser { @@ -47,7 +47,7 @@ public class TestFlowGraphParser { } FlowGraph mainFlowGraph = new FlowGraph<>("1234", "nifi-main", true, "mock graph"); mainFlowGraph.addNode(new Node("dummy_id", "dummy_name", "dummy_compspec")); - BlueprintCreatorOnapDublin bcod = new BlueprintCreatorOnapDublin(); + BlueprintCreatorOnap bcod = new BlueprintCreatorOnap(); bcod.setTopicUrl("u.r.l"); bcod.setImportFilePath(importsfile.getAbsolutePath()); FlowGraphParser flowGraphParser = new FlowGraphParser(bcod); diff --git a/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestIntegeration.java b/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestIntegeration.java index 612f9f0..615993a 100644 --- a/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestIntegeration.java +++ b/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestIntegeration.java @@ -21,7 +21,7 @@ import org.onap.dcae.runtime.core.blueprint_creator.BlueprintCreator; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import org.onap.dcae.runtime.core.blueprint_creator.BlueprintCreatorOnapDublin; +import org.onap.dcae.runtime.core.blueprint_creator.BlueprintCreatorOnap; public class TestIntegeration { @@ -33,7 +33,7 @@ public class TestIntegeration { FlowGraph flowGraph = Helper.prepareFlowGraph(); //2. Inject graph in FlowGraphParser - BlueprintCreator blueprintCreator = new BlueprintCreatorOnapDublin(); + BlueprintCreator blueprintCreator = new BlueprintCreatorOnap(); flowGraphParser = new FlowGraphParser(blueprintCreator); flowGraphParser.parse(flowGraph); } diff --git a/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestOnapBpGen.java b/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestOnapBpGen.java index f717022..60ba323 100644 --- a/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestOnapBpGen.java +++ b/mod/runtimeapi/runtime-core/src/test/java/org/onap/dcae/runtime/core/TestOnapBpGen.java @@ -29,7 +29,7 @@ public class TestOnapBpGen { componentSpec.createComponentSpecFromString(Helper.loadFileContent( "src/test/data/compspecs/componentSpec_hello_world_only_MR.json")); - Blueprint bp = new Blueprint().createBlueprint(componentSpec,"",'d',""); + Blueprint bp = new Blueprint().createBlueprint(componentSpec,"",'d',"",""); System.out.println(bp.getInputs()); } } diff --git a/mod/runtimeapi/runtime-web/data/imports/onapDublinImports.yaml b/mod/runtimeapi/runtime-web/data/imports/onapDublinImports.yaml deleted file mode 100644 index 9b9a203..0000000 --- a/mod/runtimeapi/runtime-web/data/imports/onapDublinImports.yaml +++ /dev/null @@ -1,2 +0,0 @@ -imports: ['http://www.getcloudify.org/spec/cloudify/3.4/types.yaml', 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.5/k8splugin_types.yaml', - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml'] diff --git a/mod/runtimeapi/runtime-web/data/imports/onapImports.yaml b/mod/runtimeapi/runtime-web/data/imports/onapImports.yaml new file mode 100644 index 0000000..1e642ff --- /dev/null +++ b/mod/runtimeapi/runtime-web/data/imports/onapImports.yaml @@ -0,0 +1 @@ +imports: ['https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml','https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml','https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml','https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml','https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/clamppolicyplugin/1.1.0/clamppolicyplugin_types.yaml','https://nexus.onap.org/content/repositories/raw/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml'] \ No newline at end of file diff --git a/mod/runtimeapi/runtime-web/src/main/java/org/onap/dcae/runtime/web/configuration/BlueprintCreatorConfig.java b/mod/runtimeapi/runtime-web/src/main/java/org/onap/dcae/runtime/web/configuration/BlueprintCreatorConfig.java index 8c535c7..11622e6 100644 --- a/mod/runtimeapi/runtime-web/src/main/java/org/onap/dcae/runtime/web/configuration/BlueprintCreatorConfig.java +++ b/mod/runtimeapi/runtime-web/src/main/java/org/onap/dcae/runtime/web/configuration/BlueprintCreatorConfig.java @@ -18,7 +18,7 @@ package org.onap.dcae.runtime.web.configuration; import org.onap.dcae.runtime.core.FlowGraphParser; -import org.onap.dcae.runtime.core.blueprint_creator.BlueprintCreatorOnapDublin; +import org.onap.dcae.runtime.core.blueprint_creator.BlueprintCreatorOnap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; @@ -43,28 +43,36 @@ public class BlueprintCreatorConfig { @Autowired Environment env; - - @Value("${onapDublin.topicUrl}") + + @Value("${onap.topicUrl}") String onapDublinTopicUrl; - @Value("${onapDublin.import.cloudifyPlugin}") + @Value("${onap.import.cloudifyPlugin}") String onapDublinImportCloudifyPlugin; - @Value("${onapDublin.import.k8sPlugin}") + @Value("${onap.import.k8sPlugin}") String onapDublinImportK8sPlugin; - @Value("${onapDublin.import.policyPlugin}") + @Value("${onap.import.policyPlugin}") String onapDublinImportPolicyPlugin; - - @Profile("onap_dublin") + @Value("${onap.import.postgresPlugin}") + String onapDublinImportPostgresPlugin; + + @Value("${onap.import.clampPlugin}") + String onapDublinImportClampPlugin; + + @Value("${onap.import.dmaapPlugin}") + String onapDublinImportDmaapPlugin; + + + @Profile("onap") @Primary @Bean public FlowGraphParser getFlowGraphParserForOnapDublin(){ - BlueprintCreatorOnapDublin blueprintCreatorOnapDublin = new BlueprintCreatorOnapDublin(); - blueprintCreatorOnapDublin.setTopicUrl(onapDublinTopicUrl); - blueprintCreatorOnapDublin.setImportFilePath(writeImportsTofile()); - FlowGraphParser flowGraphParser = new FlowGraphParser(blueprintCreatorOnapDublin); + BlueprintCreatorOnap blueprintCreatorOnap = new BlueprintCreatorOnap(); + blueprintCreatorOnap.setImportFilePath(writeImportsTofile()); + FlowGraphParser flowGraphParser = new FlowGraphParser(blueprintCreatorOnap); return flowGraphParser; } @@ -84,17 +92,17 @@ public class BlueprintCreatorConfig { private Path createDataImportDirAndImportFile() { Path importDirPath = Paths.get("./data/imports").toAbsolutePath().normalize(); - Path onapDublinImportFilePath = Paths.get("./data/imports/onapDublinImports.yaml").toAbsolutePath().normalize(); + Path onapImportFilePath = Paths.get("./data/imports/onapImports.yaml").toAbsolutePath().normalize(); try { Files.createDirectories(importDirPath); - Files.createFile(onapDublinImportFilePath); + Files.createFile(onapImportFilePath); } catch (FileAlreadyExistsException ignored){ } catch (IOException e) { e.printStackTrace(); } - return onapDublinImportFilePath; + return onapImportFilePath; } private String getContentToWrite() { @@ -103,6 +111,13 @@ public class BlueprintCreatorConfig { importList.add(onapDublinImportCloudifyPlugin); importList.add(onapDublinImportK8sPlugin); importList.add(onapDublinImportPolicyPlugin); + + importList.add(onapDublinImportPostgresPlugin); + importList.add(onapDublinImportClampPlugin); + importList.add(onapDublinImportDmaapPlugin); + + + result.put("imports",importList); return new Yaml().dump(result); } diff --git a/mod/runtimeapi/runtime-web/src/main/resources/application.properties b/mod/runtimeapi/runtime-web/src/main/resources/application.properties index 0cd7e03..dccce98 100644 --- a/mod/runtimeapi/runtime-web/src/main/resources/application.properties +++ b/mod/runtimeapi/runtime-web/src/main/resources/application.properties @@ -1,17 +1,24 @@ server.port=9090 #BlueprintGenerator profile -spring.profiles.active=onap_dublin +spring.profiles.active=onap #Dashboard/Inventory configs -dashboard.url=https://oom-dashboard/ccsdk-app/api-if +dashboard.url=https://dashboard/ccsdk-app/nb-api dashboard.username= dashboard.password= #Onap Dublin BlueprintGenerator configs -onapDublin.topicUrl=https://url:9999 +onap.topicUrl=https://url:9999 -onapDublin.import.cloudifyPlugin=http://www.getcloudify.org/spec/cloudify/3.4/types.yaml -onapDublin.import.k8sPlugin=https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.5/k8splugin_types.yaml -onapDublin.import.policyPlugin=https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml +onap.import.cloudifyPlugin=https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml +onap.import.k8sPlugin=https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml + +onap.import.policyPlugin=https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml + +onap.import.postgresPlugin=https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml + +onap.import.clampPlugin=https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/clamppolicyplugin/1.1.0/clamppolicyplugin_types.yaml + +onap.import.dmaapPlugin= https://nexus.onap.org/content/repositories/raw/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml \ No newline at end of file diff --git a/mod/runtimeapi/runtime-web/src/main/resources/imports/OnapDublinImports.yaml b/mod/runtimeapi/runtime-web/src/main/resources/imports/OnapDublinImports.yaml deleted file mode 100644 index dc7c45c..0000000 --- a/mod/runtimeapi/runtime-web/src/main/resources/imports/OnapDublinImports.yaml +++ /dev/null @@ -1 +0,0 @@ -#imports \ No newline at end of file diff --git a/mod/runtimeapi/runtime-web/src/main/resources/imports/OnapImports.yaml b/mod/runtimeapi/runtime-web/src/main/resources/imports/OnapImports.yaml new file mode 100644 index 0000000..dc7c45c --- /dev/null +++ b/mod/runtimeapi/runtime-web/src/main/resources/imports/OnapImports.yaml @@ -0,0 +1 @@ +#imports \ No newline at end of file -- cgit 1.2.3-korg