summaryrefslogtreecommitdiffstats
path: root/sdnc
diff options
context:
space:
mode:
Diffstat (limited to 'sdnc')
-rw-r--r--sdnc/pom.xml51
-rw-r--r--sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequest.java42
-rw-r--r--sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestHeader.java47
-rw-r--r--sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestInformation.java52
-rw-r--r--sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestInput.java46
-rw-r--r--sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfAssignments.java50
-rw-r--r--sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfTopologyIdentifier.java53
-rw-r--r--sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfTopologyInformation.java49
-rw-r--r--sdnc/src/main/java/org/openecomp/policy/sdnc/util/Serialization.java32
-rw-r--r--sdnc/src/test/java/org/openecomp/policy/sdnc/TestDemo.java81
10 files changed, 503 insertions, 0 deletions
diff --git a/sdnc/pom.xml b/sdnc/pom.xml
new file mode 100644
index 000000000..63ad320f6
--- /dev/null
+++ b/sdnc/pom.xml
@@ -0,0 +1,51 @@
+<!--
+ ============LICENSE_START=======================================================
+ Drools PDP Application Models
+ ================================================================================
+ 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=========================================================
+ -->
+
+<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.openecomp.policy.drools-applications</groupId>
+ <artifactId>sdnc</artifactId>
+
+ <parent>
+ <groupId>org.openecomp.policy.drools-applications</groupId>
+ <artifactId>drools-pdp-apps</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.12</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>2.5</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.policy.drools-applications</groupId>
+ <artifactId>rest</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequest.java b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequest.java
new file mode 100644
index 000000000..fe1588a5b
--- /dev/null
+++ b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequest.java
@@ -0,0 +1,42 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnc
+ * ================================================================================
+ * 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.sdnc;
+
+import java.io.Serializable;
+
+import com.google.gson.annotations.SerializedName;
+
+public class SDNCRequest implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3283942659786236032L;
+
+ @SerializedName("input")
+ public SDNCRequestInput input;
+
+
+
+ public SDNCRequest() {
+ }
+
+}
diff --git a/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestHeader.java b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestHeader.java
new file mode 100644
index 000000000..84c3f3cdc
--- /dev/null
+++ b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestHeader.java
@@ -0,0 +1,47 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnc
+ * ================================================================================
+ * 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.sdnc;
+
+import java.io.Serializable;
+
+import com.google.gson.annotations.SerializedName;
+
+public class SDNCRequestHeader implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3283942659786236032L;
+
+ @SerializedName("svc-request-id")
+ public String svcRequestId;
+
+ @SerializedName("svc-notification-url")
+ public String svcNotificationUrl;
+
+ @SerializedName("svc-action")
+ public String svcAction;
+
+
+ public SDNCRequestHeader() {
+ }
+
+}
diff --git a/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestInformation.java b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestInformation.java
new file mode 100644
index 000000000..b895b4afe
--- /dev/null
+++ b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestInformation.java
@@ -0,0 +1,52 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnc
+ * ================================================================================
+ * 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.sdnc;
+
+import java.io.Serializable;
+
+import com.google.gson.annotations.SerializedName;
+
+public class SDNCRequestInformation implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3283942659786236032L;
+
+ @SerializedName("request-id")
+ public String requestId;
+
+ @SerializedName("order-version")
+ public String orderVersion;
+
+ @SerializedName("notification-url")
+ public String notificationUrl;
+
+ @SerializedName("order-number")
+ public String orderNumber;
+
+ @SerializedName("request-action")
+ public String requestAction;
+
+ public SDNCRequestInformation() {
+ }
+
+}
diff --git a/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestInput.java b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestInput.java
new file mode 100644
index 000000000..cecd0a268
--- /dev/null
+++ b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCRequestInput.java
@@ -0,0 +1,46 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnc
+ * ================================================================================
+ * 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.sdnc;
+
+import java.io.Serializable;
+
+import com.google.gson.annotations.SerializedName;
+
+public class SDNCRequestInput implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3283942659786236032L;
+
+ @SerializedName("vnf-topology-information")
+ public SDNCVnfTopologyInformation vnfTopolgyInformation;
+
+ @SerializedName("request-information")
+ public SDNCRequestInformation requestInformation;
+
+ @SerializedName("sdnc-request-header")
+ public SDNCRequestHeader requestHeader;
+
+ public SDNCRequestInput() {
+ }
+
+}
diff --git a/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfAssignments.java b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfAssignments.java
new file mode 100644
index 000000000..8a32c2121
--- /dev/null
+++ b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfAssignments.java
@@ -0,0 +1,50 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnc
+ * ================================================================================
+ * 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.sdnc;
+
+import java.io.Serializable;
+import java.util.LinkedList;
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+
+public class SDNCVnfAssignments implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3283942659786236032L;
+
+
+ @SerializedName("availability-zones")
+ public List<String> availabilityZones = new LinkedList<String>();
+
+
+ @SerializedName("vnf-networks")
+ public List<String> vnfNetworks = new LinkedList<String>();
+
+ @SerializedName("vnf-vms")
+ public List<String> vnfVms = new LinkedList<String>();
+
+ public SDNCVnfAssignments() {
+ }
+
+}
diff --git a/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfTopologyIdentifier.java b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfTopologyIdentifier.java
new file mode 100644
index 000000000..5b31bd1b2
--- /dev/null
+++ b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfTopologyIdentifier.java
@@ -0,0 +1,53 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnc
+ * ================================================================================
+ * 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.sdnc;
+
+import java.io.Serializable;
+
+import com.google.gson.annotations.SerializedName;
+
+public class SDNCVnfTopologyIdentifier implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3283942659786236032L;
+
+ @SerializedName("service-type")
+ public String serviceType;
+
+ @SerializedName("vnf-name")
+ public String vnfName;
+
+ @SerializedName("vnf-type")
+ public String vnfType;
+
+ @SerializedName("generic-vnf-name")
+ public String genericVnfName;
+
+ @SerializedName("generic-vnf-type")
+ public String genericVnfType;
+
+
+ public SDNCVnfTopologyIdentifier() {
+ }
+
+}
diff --git a/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfTopologyInformation.java b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfTopologyInformation.java
new file mode 100644
index 000000000..5b3ae2685
--- /dev/null
+++ b/sdnc/src/main/java/org/openecomp/policy/sdnc/SDNCVnfTopologyInformation.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnc
+ * ================================================================================
+ * 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.sdnc;
+
+import java.io.Serializable;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import com.google.gson.annotations.SerializedName;
+
+public class SDNCVnfTopologyInformation implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3283942659786236032L;
+
+ @SerializedName("vnf-topology-identifier")
+ public SDNCVnfTopologyIdentifier vnfTopologyIdentifier;
+
+ @SerializedName("vnf-assignments")
+ public SDNCVnfAssignments vnfAssignments;
+
+ @SerializedName("vnf-parameters")
+ public List<Map<String,String>> vnfParameters = new LinkedList<Map<String,String>>();
+
+ public SDNCVnfTopologyInformation() {
+ }
+
+}
diff --git a/sdnc/src/main/java/org/openecomp/policy/sdnc/util/Serialization.java b/sdnc/src/main/java/org/openecomp/policy/sdnc/util/Serialization.java
new file mode 100644
index 000000000..4cc2fb586
--- /dev/null
+++ b/sdnc/src/main/java/org/openecomp/policy/sdnc/util/Serialization.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnc
+ * ================================================================================
+ * 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.sdnc.util;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+
+public final class Serialization {
+
+ final static public Gson gsonPretty = new GsonBuilder().disableHtmlEscaping()
+ .setPrettyPrinting()
+ .create();
+
+}
diff --git a/sdnc/src/test/java/org/openecomp/policy/sdnc/TestDemo.java b/sdnc/src/test/java/org/openecomp/policy/sdnc/TestDemo.java
new file mode 100644
index 000000000..4a616fbfb
--- /dev/null
+++ b/sdnc/src/test/java/org/openecomp/policy/sdnc/TestDemo.java
@@ -0,0 +1,81 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnc
+ * ================================================================================
+ * 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.sdnc;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+import org.openecomp.policy.sdnc.SDNCRequest;
+import org.openecomp.policy.sdnc.util.Serialization;
+
+public class TestDemo {
+
+ @Test
+ public void test() {
+
+ SDNCRequest request = new SDNCRequest();
+ request.input = new SDNCRequestInput();
+ request.input.requestHeader = new SDNCRequestHeader();
+ request.input.vnfTopolgyInformation = new SDNCVnfTopologyInformation();
+ request.input.vnfTopolgyInformation.vnfTopologyIdentifier = new SDNCVnfTopologyIdentifier();
+ request.input.vnfTopolgyInformation.vnfAssignments = new SDNCVnfAssignments();
+ request.input.requestInformation = new SDNCRequestInformation();
+
+ request.input.vnfTopolgyInformation.vnfTopologyIdentifier.serviceType = "my_serviceType";
+ request.input.vnfTopolgyInformation.vnfTopologyIdentifier.vnfName = "my_vnfName";
+ request.input.vnfTopolgyInformation.vnfTopologyIdentifier.vnfType = "my_vnfType";
+ request.input.vnfTopolgyInformation.vnfTopologyIdentifier.genericVnfName = "my_genericVnfName";
+ request.input.vnfTopolgyInformation.vnfTopologyIdentifier.genericVnfType = "my_genericVnfType";
+
+ request.input.vnfTopolgyInformation.vnfAssignments.availabilityZones.add("zone1");
+ request.input.vnfTopolgyInformation.vnfAssignments.availabilityZones.add("zone2");
+ request.input.vnfTopolgyInformation.vnfAssignments.vnfNetworks.add("network1");
+ request.input.vnfTopolgyInformation.vnfAssignments.vnfNetworks.add("network2");
+ request.input.vnfTopolgyInformation.vnfAssignments.vnfVms.add("vnfVm1");
+ request.input.vnfTopolgyInformation.vnfAssignments.vnfVms.add("vnfVm2");
+
+ Map<String, String> vnfParams1 = new HashMap<String, String>();
+ vnfParams1.put("name1", "value1");
+ request.input.vnfTopolgyInformation.vnfParameters.add(vnfParams1);
+
+ Map<String, String> vnfParams2 = new HashMap<String, String>();
+ vnfParams2.put("name2", "value2");
+ request.input.vnfTopolgyInformation.vnfParameters.add(vnfParams2);
+
+
+ request.input.requestInformation.requestId = "ff5256d1-5a33-55df-13ab-12abad84e7ff";
+ request.input.requestInformation.orderNumber = "1";
+ request.input.requestInformation.orderVersion = "1";
+ request.input.requestInformation.notificationUrl = "sdnc.myDomain.com";
+ request.input.requestInformation.requestAction = "PreloadVNFRequest";
+
+ request.input.requestHeader.svcRequestId = "ff5256d1-5a33-55df-13ab-12abad84e7ff";
+ request.input.requestHeader.svcNotificationUrl = "some_url.myDomain.com:8080";
+ request.input.requestHeader.svcAction = "reserve";
+
+ String body = Serialization.gsonPretty.toJson(request);
+ System.out.println(body);
+
+
+
+ }
+
+}