diff options
author | 2017-06-22 14:48:41 -0400 | |
---|---|---|
committer | 2017-06-29 12:50:23 -0400 | |
commit | 68377161605e39c8c74ea77d0b504177480788f3 (patch) | |
tree | fb0fb8a27178da607866e1850f73ac056e046ee8 /template.demo/src/test/java/org | |
parent | f0c29b57e132e6335f0fa7bbad885d403e4c85df (diff) |
[POLICY-22] Reorganizing drools-apps
Change-Id: I5f9bb3908f8d55c466dd847ae5e01a424e9ba364
Signed-off-by: Gao, Chenfei (cg287m) <chenfei.gao11@gmail.com>
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'template.demo/src/test/java/org')
3 files changed, 0 insertions, 812 deletions
diff --git a/template.demo/src/test/java/org/openecomp/policy/template/demo/TestAPPCPayload.java b/template.demo/src/test/java/org/openecomp/policy/template/demo/TestAPPCPayload.java deleted file mode 100644 index 114ae932a..000000000 --- a/template.demo/src/test/java/org/openecomp/policy/template/demo/TestAPPCPayload.java +++ /dev/null @@ -1,58 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * demo - * ================================================================================ - * Copyright (C) 2017 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.openecomp.policy.template.demo; - -import java.util.HashMap; -import java.util.UUID; - -import org.junit.Test; -import org.openecomp.policy.appc.CommonHeader; -import org.openecomp.policy.appc.Request; -import org.openecomp.policy.appc.util.Serialization; -import org.openecomp.policy.vnf.trafficgenerator.PGRequest; -import org.openecomp.policy.vnf.trafficgenerator.PGStream; -import org.openecomp.policy.vnf.trafficgenerator.PGStreams; - -public class TestAPPCPayload { - - @Test - public void test() { - PGRequest request = new PGRequest(); - request.pgStreams = new PGStreams(); - - PGStream pgStream; - for(int i = 0; i < 5; i++){ - pgStream = new PGStream(); - pgStream.streamId = "fw_udp"+(i+1); - pgStream.isEnabled = "true"; - request.pgStreams.pgStream.add(pgStream); - } - - Request appc = new Request(); - appc.CommonHeader = new CommonHeader(); - appc.CommonHeader.RequestID = UUID.randomUUID(); - appc.Action = "ModifyConfig"; - appc.Payload = new HashMap<String, Object>(); - appc.Payload.put("pg-streams", request); - System.out.println(Serialization.gsonPretty.toJson(appc)); - } - -} diff --git a/template.demo/src/test/java/org/openecomp/policy/template/demo/TestFirewallDemo.java b/template.demo/src/test/java/org/openecomp/policy/template/demo/TestFirewallDemo.java deleted file mode 100644 index 799fe4363..000000000 --- a/template.demo/src/test/java/org/openecomp/policy/template/demo/TestFirewallDemo.java +++ /dev/null @@ -1,595 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * demo - * ================================================================================ - * Copyright (C) 2017 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.openecomp.policy.template.demo; - -import static org.junit.Assert.assertEquals; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.time.Instant; -import java.util.HashMap; -import java.util.UUID; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.junit.Ignore; -import org.junit.Test; -import org.kie.api.KieServices; -import org.kie.api.builder.KieBuilder; -import org.kie.api.builder.KieFileSystem; -import org.kie.api.builder.Message; -import org.kie.api.builder.ReleaseId; -import org.kie.api.builder.Results; -import org.kie.api.builder.model.KieModuleModel; -import org.kie.api.runtime.KieContainer; -import org.kie.api.runtime.KieSession; -import org.kie.api.runtime.rule.FactHandle; -import org.openecomp.policy.appc.CommonHeader; -import org.openecomp.policy.appc.Response; -import org.openecomp.policy.appc.ResponseStatus; -import org.openecomp.policy.controlloop.ControlLoopEventStatus; -import org.openecomp.policy.controlloop.ControlLoopTargetType; -import org.openecomp.policy.controlloop.VirtualControlLoopEvent; -import org.openecomp.policy.controlloop.util.Serialization; - - - -public class TestFirewallDemo { - - - @Test - public void testvDNS() throws IOException { - // - // Build a container - // - final String closedLoopControlName = "CL-DNS-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8"; - final KieSession kieSession = buildContainer("src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl", - closedLoopControlName, - "type=operational", - "myFirewallDemoPolicy", - "v1.0", - "MSO", - "http://localhost:8080/TestREST/Test", - "POLICY", - "POLICY", - "http://localhost:8080/TestREST/Test", - "POLICY", - "POLICY", - "4ff56a54-9e3f-46b7-a337-07a1d3c6b469", - 0, - "POLICY-CL-MGT", - "APPC-CL" - ); - // - // Initial fire of rules - // - kieSession.fireAllRules(); - // - // Kick a thread that starts testing - // - new Thread(new Runnable() { - - @Override - public void run() { - // - // Generate an invalid DCAE Event with requestID=null - // - VirtualControlLoopEvent invalidEvent = new VirtualControlLoopEvent(); - invalidEvent.closedLoopControlName = closedLoopControlName; - invalidEvent.requestID = null; - invalidEvent.closedLoopEventClient = "tca.instance00001"; - invalidEvent.target_type = ControlLoopTargetType.VF; - invalidEvent.target = "generic-vnf.vnf-id"; - invalidEvent.from = "DCAE"; - invalidEvent.closedLoopAlarmStart = Instant.now(); - invalidEvent.AAI = new HashMap<String, String>(); - invalidEvent.AAI.put("vserver.vserver-name", "vserver-name-16102016-aai3255-data-11-1"); - invalidEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET; - - System.out.println("----- Invalid ONSET -----"); - System.out.println(Serialization.gsonPretty.toJson(invalidEvent)); - - // - // Insert invalid DCAE Event into memory - // - kieSession.insert(invalidEvent); - try { - Thread.sleep(500); - } catch (InterruptedException e) { - } - // - // Generate first DCAE ONSET Event - // - VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.closedLoopControlName = closedLoopControlName; - onsetEvent.requestID = UUID.randomUUID(); - onsetEvent.closedLoopEventClient = "tca.instance00001"; - onsetEvent.target_type = ControlLoopTargetType.VF; - onsetEvent.target = "generic-vnf.vnf-id"; - onsetEvent.from = "DCAE"; - onsetEvent.closedLoopAlarmStart = Instant.now(); - onsetEvent.AAI = new HashMap<String, String>(); - onsetEvent.AAI.put("vserver.vserver-name", "vserver-name-16102016-aai3255-data-11-1"); - onsetEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET; - - System.out.println("----- ONSET -----"); - System.out.println(Serialization.gsonPretty.toJson(onsetEvent)); - - // - // Insert first DCAE ONSET Event into memory - // - kieSession.insert(onsetEvent); - // - // We have test for subsequent ONSET Events in testvFirewall() - // So no need to test it again here - // - try { - Thread.sleep(3000); - } catch (InterruptedException e) { - } - // - // Test is finished, so stop the kieSession - // - kieSession.halt(); - } - // - }).start(); - // - // Start firing rules - // - kieSession.fireUntilHalt(); - // - // Dump working memory - // - dumpFacts(kieSession); - // - // See if there is anything left in memory, there SHOULD only be - // a params fact. - // - assertEquals("There should only be 1 Fact left in memory.", 1, kieSession.getFactCount()); - for (FactHandle handle : kieSession.getFactHandles()) { - Object fact = kieSession.getObject(handle); - assertEquals("Non-Param Fact left in working memory", "org.openecomp.policy.controlloop.Params", fact.getClass().getName()); - } - } - - @Ignore - @Test - public void testvFirewall() throws IOException { - // - // Build a container - // - final String closedLoopControlName = "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8"; - final KieSession kieSession = buildContainer("src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl", - closedLoopControlName, - "type=operational", - "myFirewallDemoPolicy", - "v1.0", - "APPC", - "http://localhost:8080/TestREST/Test", - "POLICY", - "POLICY", - null, - null, - null, - null, - 1, - "POLICY-CL-MGT", - "APPC-CL" - ); - // - // Initial fire of rules - // - kieSession.fireAllRules(); - // - // Kick a thread that starts testing - // - new Thread(new Runnable() { - - @Override - public void run() { - // - // Generate an invalid DCAE Event with requestID=null - // - VirtualControlLoopEvent invalidEvent = new VirtualControlLoopEvent(); - invalidEvent.closedLoopControlName = closedLoopControlName; - invalidEvent.requestID = null; - invalidEvent.closedLoopEventClient = "tca.instance00001"; - invalidEvent.target_type = ControlLoopTargetType.VF; - invalidEvent.target = "generic-vnf.vnf-id"; - invalidEvent.from = "DCAE"; - invalidEvent.closedLoopAlarmStart = Instant.now(); - invalidEvent.AAI = new HashMap<String, String>(); - invalidEvent.AAI.put("generic-vnf.vnf-id", "foo"); - invalidEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET; - - System.out.println("----- Invalid ONSET -----"); - System.out.println(Serialization.gsonPretty.toJson(invalidEvent)); - - // - // Insert invalid DCAE Event into memory - // - kieSession.insert(invalidEvent); - try { - Thread.sleep(500); - } catch (InterruptedException e) { - } - // - // Generate first DCAE ONSET Event - // - VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.closedLoopControlName = closedLoopControlName; - onsetEvent.requestID = UUID.randomUUID(); - onsetEvent.closedLoopEventClient = "tca.instance00001"; - onsetEvent.target_type = ControlLoopTargetType.VF; - onsetEvent.target = "generic-vnf.vnf-id"; - onsetEvent.from = "DCAE"; - onsetEvent.closedLoopAlarmStart = Instant.now(); - onsetEvent.AAI = new HashMap<String, String>(); - onsetEvent.AAI.put("generic-vnf.vnf-id", "fw0001vm001fw001"); - //onsetEvent.AAI.put("vserver.vserver-name", "vserver-name-16102016-aai3255-data-11-1"); - onsetEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET; - - System.out.println("----- ONSET -----"); - System.out.println(Serialization.gsonPretty.toJson(onsetEvent)); - - // - // Insert first DCAE ONSET Event into memory - // - kieSession.insert(onsetEvent); - try { - Thread.sleep(500); - } catch (InterruptedException e) { - } - - - Thread thread = new Thread(new Runnable() { - - @Override - public void run() { - while (true) { - // - // Generate subsequent DCAE ONSET Event - // - VirtualControlLoopEvent subOnsetEvent = new VirtualControlLoopEvent(); - subOnsetEvent.closedLoopControlName = closedLoopControlName; - subOnsetEvent.requestID = UUID.randomUUID(); - subOnsetEvent.closedLoopEventClient = "tca.instance00001"; - subOnsetEvent.target_type = ControlLoopTargetType.VF; - subOnsetEvent.target = "generic-vnf.vnf-id"; - subOnsetEvent.from = "DCAE"; - subOnsetEvent.closedLoopAlarmStart = Instant.now(); - subOnsetEvent.AAI = new HashMap<String, String>(); - subOnsetEvent.AAI.put("generic-vnf.vnf-id", "fw0001vm001fw001"); - //subOnsetEvent.AAI.put("vserver.vserver-name", "vserver-name-16102016-aai3255-data-11-1"); - subOnsetEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET; - - System.out.println("----- Subsequent ONSET -----"); - System.out.println(Serialization.gsonPretty.toJson(subOnsetEvent)); - - // - // Insert subsequent DCAE ONSET Event into memory - // - kieSession.insert(subOnsetEvent); - try { - Thread.sleep(500); - } catch (InterruptedException e) { - break; - } - } - } - - }); - thread.start(); - try { - Thread.sleep(3000); - } catch (InterruptedException e) { - } - // - // Stop the thread - // - thread.interrupt(); - // - // Generate APPC ACCEPT Response - // - Response response1 = new Response(); - // CommonHeader - CommonHeader commonHeader1 = new CommonHeader(); - commonHeader1.RequestID = onsetEvent.requestID; - response1.CommonHeader = commonHeader1; - // ResponseStatus - ResponseStatus responseStatus1 = new ResponseStatus(); - responseStatus1.Code = 100; - response1.Status = responseStatus1; - // - System.out.println("----- APP-C RESPONSE 100 -----"); - System.out.println(Serialization.gsonPretty.toJson(response1)); - // - // Insert APPC Response into memory - // - kieSession.insert(response1); - // - // Simulating APPC takes some time for processing the recipe - // and then gives response - // - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - } - // - // Generate APPC SUCCESS Response - // - Response response2 = new Response(); - // CommonHeader - CommonHeader commonHeader2 = new CommonHeader(); - commonHeader2.RequestID = onsetEvent.requestID; - response2.CommonHeader = commonHeader2; - // ResponseStatus - ResponseStatus responseStatus2 = new ResponseStatus(); - responseStatus2.Code = 400; - response2.Status = responseStatus2; - // - System.out.println("----- APP-C RESPONSE 400 -----"); - System.out.println(Serialization.gsonPretty.toJson(response2)); - // - // Insert APPC Response into memory - // - kieSession.insert(response2); - // - try { - Thread.sleep(3000); - } catch (InterruptedException e) { - } - // - // Test is finished, so stop the kieSession - // - kieSession.halt(); - } - // - }).start(); - // - // Start firing rules - // - kieSession.fireUntilHalt(); - // - // Dump working memory - // - dumpFacts(kieSession); - // - // See if there is anything left in memory, there SHOULD only be - // a params fact. - // - assertEquals("There should only be 1 Fact left in memory.", 1, kieSession.getFactCount()); - for (FactHandle handle : kieSession.getFactHandles()) { - Object fact = kieSession.getObject(handle); - assertEquals("Non-Param Fact left in working memory", "org.openecomp.policy.controlloop.Params", fact.getClass().getName()); - } - } - - public static void dumpFacts(KieSession kieSession) { - System.out.println("Fact Count: " + kieSession.getFactCount()); - for (FactHandle handle : kieSession.getFactHandles()) { - System.out.println("FACT: " + handle); - } - } - - public static KieSession buildContainer(String droolsTemplate, - String closedLoopControlName, - String policyScope, - String policyName, - String policyVersion, - String actor, - String aaiURL, - String aaiUsername, - String aaiPassword, - String msoURL, - String msoUsername, - String msoPassword, - String aaiNamedQuery, - int aaiPatternMatch, - String notificationTopic, - String appcTopic ) throws IOException { - // - // Get our Drools Kie factory - // - KieServices ks = KieServices.Factory.get(); - - KieModuleModel kModule = ks.newKieModuleModel(); - - System.out.println("KMODULE:" + System.lineSeparator() + kModule.toXML()); - - // - // Generate our drools rule from our template - // - KieFileSystem kfs = ks.newKieFileSystem(); - - kfs.writeKModuleXML(kModule.toXML()); - { - Path rule = Paths.get(droolsTemplate); - String ruleTemplate = new String(Files.readAllBytes(rule)); - String drlContents = generatePolicy(ruleTemplate, - closedLoopControlName, - policyScope, - policyName, - policyVersion, - actor, - aaiURL, - aaiUsername, - aaiPassword, - msoURL, - msoUsername, - msoPassword, - aaiNamedQuery, - aaiPatternMatch, - notificationTopic, - appcTopic - ); - - kfs.write("src/main/resources/" + policyName + ".drl", ks.getResources().newByteArrayResource(drlContents.getBytes())); - } - // - // Compile the rule - // - KieBuilder builder = ks.newKieBuilder(kfs).buildAll(); - Results results = builder.getResults(); - if (results.hasMessages(Message.Level.ERROR)) { - for (Message msg : results.getMessages()) { - System.err.println(msg.toString()); - } - throw new RuntimeException("Drools Rule has Errors"); - } - for (Message msg : results.getMessages()) { - System.out.println(msg.toString()); - } - // - // Create our kie Session and container - // - ReleaseId releaseId = ks.getRepository().getDefaultReleaseId(); - System.out.println(releaseId); - KieContainer kContainer = ks.newKieContainer(releaseId); - - return kContainer.newKieSession(); - } - public static String generatePolicy(String ruleContents, - String closedLoopControlName, - String policyScope, - String policyName, - String policyVersion, - String actor, - String aaiURL, - String aaiUsername, - String aaiPassword, - String msoURL, - String msoUsername, - String msoPassword, - String aaiNamedQueryUUID, - int aaiPatternMatch, - String notificationTopic, - String appcTopic) { - - Pattern p = Pattern.compile("\\$\\{closedLoopControlName\\}"); - Matcher m = p.matcher(ruleContents); - ruleContents = m.replaceAll(closedLoopControlName); - - p = Pattern.compile("\\$\\{policyScope\\}"); - m = p.matcher(ruleContents); - ruleContents = m.replaceAll(policyScope); - - p = Pattern.compile("\\$\\{policyName\\}"); - m = p.matcher(ruleContents); - ruleContents = m.replaceAll(policyName); - - p = Pattern.compile("\\$\\{policyVersion\\}"); - m = p.matcher(ruleContents); - ruleContents = m.replaceAll(policyVersion); - - p = Pattern.compile("\\$\\{actor\\}"); - m = p.matcher(ruleContents); - ruleContents = m.replaceAll(actor); - - p = Pattern.compile("\\$\\{aaiURL\\}"); - m = p.matcher(ruleContents); - if (aaiURL == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(aaiURL); - } - - p = Pattern.compile("\\$\\{aaiUsername\\}"); - m = p.matcher(ruleContents); - if (aaiUsername == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(aaiUsername); - } - - p = Pattern.compile("\\$\\{aaiPassword\\}"); - m = p.matcher(ruleContents); - if (aaiPassword == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(aaiPassword); - } - - p = Pattern.compile("\\$\\{msoURL\\}"); - m = p.matcher(ruleContents); - if (msoURL == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(msoURL); - } - - p = Pattern.compile("\\$\\{msoUsername\\}"); - m = p.matcher(ruleContents); - if (msoUsername == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(msoUsername); - } - - p = Pattern.compile("\\$\\{msoPassword\\}"); - m = p.matcher(ruleContents); - if (msoPassword == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(msoPassword); - } - - p = Pattern.compile("\\$\\{aaiNamedQueryUUID\\}"); - m = p.matcher(ruleContents); - if (aaiNamedQueryUUID == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(aaiNamedQueryUUID); - } - - p = Pattern.compile("\\$\\{aaiPatternMatch\\}"); - m = p.matcher(ruleContents); - if (aaiPatternMatch == 1) { - ruleContents = m.replaceAll("1"); - } else { - ruleContents = m.replaceAll("0"); - } - - p = Pattern.compile("\\$\\{notificationTopic\\}"); - m = p.matcher(ruleContents); - if (notificationTopic == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(notificationTopic); - } - - p = Pattern.compile("\\$\\{appcTopic\\}"); - m = p.matcher(ruleContents); - if (appcTopic == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(appcTopic); - } - - System.out.println(ruleContents); - - return ruleContents; - } - -} diff --git a/template.demo/src/test/java/org/openecomp/policy/template/demo/TestMSO.java b/template.demo/src/test/java/org/openecomp/policy/template/demo/TestMSO.java deleted file mode 100644 index a02e777f0..000000000 --- a/template.demo/src/test/java/org/openecomp/policy/template/demo/TestMSO.java +++ /dev/null @@ -1,159 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * demo - * ================================================================================ - * Copyright (C) 2017 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.openecomp.policy.template.demo; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.util.UUID; - -import org.junit.Test; -import org.openecomp.policy.aai.AAINQF199.AAINQF199Response; -import org.openecomp.policy.aai.AAINQF199.AAINQF199ResponseWrapper; -import org.openecomp.policy.aai.util.Serialization; -import org.openecomp.policy.mso.MSOCloudConfiguration; -import org.openecomp.policy.mso.MSOModelInfo; -import org.openecomp.policy.mso.MSORelatedInstance; -import org.openecomp.policy.mso.MSORelatedInstanceListElement; -import org.openecomp.policy.mso.MSORequest; -import org.openecomp.policy.mso.MSORequestDetails; -import org.openecomp.policy.mso.MSORequestInfo; -import org.openecomp.policy.mso.MSORequestParameters; - -import com.google.gson.Gson; -import com.google.gson.stream.JsonReader; - -public class TestMSO { - - @Test - public void test() throws FileNotFoundException { - Gson gson = new Gson(); - JsonReader reader = new JsonReader(new FileReader("src/test/resources/aairesponse.json")); - AAINQF199Response response = gson.fromJson(reader, AAINQF199Response.class); - - System.out.println(Serialization.gsonPretty.toJson(response)); - - AAINQF199ResponseWrapper aainqf199ResponseWrapper = new AAINQF199ResponseWrapper(UUID.randomUUID(), response); - - // - // - // vnfItem - // - String vnfItemVnfId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfID; - String vnfItemVnfType = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfType; - vnfItemVnfType = vnfItemVnfType.substring(vnfItemVnfType.lastIndexOf("/")+1); - String vnfItemPersonaModelId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.personaModelId; - String vnfItemPersonaModelVersion = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.personaModelVersion; - String vnfItemModelName = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue; - String vnfItemModelNameVersionId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue; - // - // serviceItem - // - String serviceItemServiceInstanceId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.serviceInstanceID; - String serviceItemPersonaModelId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.personaModelId; - String serviceItemModelName = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue; - String serviceItemModelVersion = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.personaModelVersion; - String serviceItemModelNameVersionId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue; - // - // This comes from the base module - // - String vfModuleItemVfModuleName = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).vfModule.vfModuleName; - vfModuleItemVfModuleName = vfModuleItemVfModuleName.replace("Vfmodule", "vDNS"); - // - // vfModuleItem - NOT the base module - // - String vfModuleItemPersonaModelId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(2).vfModule.personaModelId; - String vfModuleItemPersonaModelVersion = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(2).vfModule.personaModelVersion; - String vfModuleItemModelName = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(2).extraProperties.extraProperty.get(0).propertyValue; - String vfModuleItemModelNameVersionId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(2).extraProperties.extraProperty.get(4).propertyValue; - - // - // tenantItem - // - String tenantItemTenantId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).tenant.tenantId; - // - // cloudRegionItem - // - String cloudRegionItemCloudRegionId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).items.inventoryResponseItems.get(0).cloudRegion.cloudRegionId; - - // - // Construct an MSO request - // - MSORequest request = new MSORequest(); - request.requestDetails = new MSORequestDetails(); - request.requestDetails.modelInfo = new MSOModelInfo(); - request.requestDetails.cloudConfiguration = new MSOCloudConfiguration(); - request.requestDetails.requestInfo = new MSORequestInfo(); - request.requestDetails.requestParameters = new MSORequestParameters(); - request.requestDetails.requestParameters.userParams = null; - // - // cloudConfiguration - // - request.requestDetails.cloudConfiguration.lcpCloudRegionId = cloudRegionItemCloudRegionId; - request.requestDetails.cloudConfiguration.tenantId = tenantItemTenantId; - // - // modelInfo - // - request.requestDetails.modelInfo.modelType = "vfModule"; - request.requestDetails.modelInfo.modelInvariantId = vfModuleItemPersonaModelId; - request.requestDetails.modelInfo.modelNameVersionId = vfModuleItemModelNameVersionId; - request.requestDetails.modelInfo.modelName = vfModuleItemModelName; - request.requestDetails.modelInfo.modelVersion = vfModuleItemPersonaModelVersion; - // - // requestInfo - // - request.requestDetails.requestInfo.instanceName = vfModuleItemVfModuleName; - request.requestDetails.requestInfo.source = "POLICY"; - request.requestDetails.requestInfo.suppressRollback = false; - // - // relatedInstanceList - // - MSORelatedInstanceListElement relatedInstanceListElement1 = new MSORelatedInstanceListElement(); - MSORelatedInstanceListElement relatedInstanceListElement2 = new MSORelatedInstanceListElement(); - relatedInstanceListElement1.relatedInstance = new MSORelatedInstance(); - relatedInstanceListElement2.relatedInstance = new MSORelatedInstance(); - // - relatedInstanceListElement1.relatedInstance.instanceId = serviceItemServiceInstanceId; - relatedInstanceListElement1.relatedInstance.modelInfo = new MSOModelInfo(); - relatedInstanceListElement1.relatedInstance.modelInfo.modelType = "service"; - relatedInstanceListElement1.relatedInstance.modelInfo.modelInvariantId = serviceItemPersonaModelId; - relatedInstanceListElement1.relatedInstance.modelInfo.modelNameVersionId = serviceItemModelNameVersionId; - relatedInstanceListElement1.relatedInstance.modelInfo.modelName = serviceItemModelName; - relatedInstanceListElement1.relatedInstance.modelInfo.modelVersion = serviceItemModelVersion; - // - relatedInstanceListElement2.relatedInstance.instanceId = vnfItemVnfId; - relatedInstanceListElement2.relatedInstance.modelInfo = new MSOModelInfo(); - relatedInstanceListElement2.relatedInstance.modelInfo.modelType = "vnf"; - relatedInstanceListElement2.relatedInstance.modelInfo.modelInvariantId = vnfItemPersonaModelId; - relatedInstanceListElement2.relatedInstance.modelInfo.modelNameVersionId = vnfItemModelNameVersionId; - relatedInstanceListElement2.relatedInstance.modelInfo.modelName = vnfItemModelName; - relatedInstanceListElement2.relatedInstance.modelInfo.modelVersion = vnfItemPersonaModelVersion; - relatedInstanceListElement2.relatedInstance.modelInfo.modelCustomizationName = vnfItemVnfType; - // - request.requestDetails.relatedInstanceList.add(relatedInstanceListElement1); - request.requestDetails.relatedInstanceList.add(relatedInstanceListElement2); - // - // print MSO request for debug - // - System.out.println("MSO request sent:"); - System.out.println(Serialization.gsonPretty.toJson(request)); - } - -} |