aboutsummaryrefslogtreecommitdiffstats
path: root/models-interactions/model-impl/sdc
diff options
context:
space:
mode:
authorHengye <yehui.wang@est.tech>2019-03-25 14:32:21 +0000
committerHengye <yehui.wang@est.tech>2019-03-25 14:32:21 +0000
commitb150aa8197e8a21ab7ad4cf1d91cfa30f56fa3df (patch)
tree60c296267f496f3b40d838294e8f80b04ceb2607 /models-interactions/model-impl/sdc
parent2a245ef80e39a101015efb164de53f1753fa5d47 (diff)
migrate model-impl from drools-applications
migrate controlloop/common/model-impl from drools-applicaitons to policy/models Issue-ID: POLICY-1264 Change-Id: Ibe0bb5c49a7b1344f4104b30455f52834041e187 Signed-off-by: Hengye <yehui.wang@est.tech>
Diffstat (limited to 'models-interactions/model-impl/sdc')
-rw-r--r--models-interactions/model-impl/sdc/checkstyle-suppressions.xml30
-rw-r--r--models-interactions/model-impl/sdc/pom.xml83
-rw-r--r--models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/Resource.java189
-rw-r--r--models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ResourceInstance.java179
-rw-r--r--models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ResourceType.java42
-rw-r--r--models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/Service.java167
-rw-r--r--models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ServiceInstance.java202
-rw-r--r--models-interactions/model-impl/sdc/src/main/resources/definitions.yaml90
-rw-r--r--models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ResourceInstanceTest.java156
-rw-r--r--models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ResourceTest.java153
-rw-r--r--models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ServiceInstanceTest.java171
-rw-r--r--models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ServiceTest.java138
-rw-r--r--models-interactions/model-impl/sdc/src/test/resources/service_trinity.yaml17
-rw-r--r--models-interactions/model-impl/sdc/src/test/resources/service_vSCP.yaml16
-rw-r--r--models-interactions/model-impl/sdc/src/test/resources/service_vUSP.yaml16
15 files changed, 1649 insertions, 0 deletions
diff --git a/models-interactions/model-impl/sdc/checkstyle-suppressions.xml b/models-interactions/model-impl/sdc/checkstyle-suppressions.xml
new file mode 100644
index 000000000..fd73d24e3
--- /dev/null
+++ b/models-interactions/model-impl/sdc/checkstyle-suppressions.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2018 AT&T Technologies. 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.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions 1.0//EN"
+ "http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">
+
+<suppressions>
+ <suppress checks="AbbreviationAsWordInName"
+ files="ResourceInstance.java|ServiceInstance.java|Service.java"
+ lines="1-9999"/>
+</suppressions>
diff --git a/models-interactions/model-impl/sdc/pom.xml b/models-interactions/model-impl/sdc/pom.xml
new file mode 100644
index 000000000..42588c341
--- /dev/null
+++ b/models-interactions/model-impl/sdc/pom.xml
@@ -0,0 +1,83 @@
+<!--
+ ============LICENSE_START=======================================================
+ sdc
+ ================================================================================
+ Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ Modifications Copyright (C) 2019 Nordix Foundation.
+ ================================================================================
+ 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>
+
+ <parent>
+ <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
+ <artifactId>model-impl</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>sdc</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>onap-java-style</id>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ <phase>process-sources</phase>
+ <configuration>
+ <!-- Use Google Java Style Guide:
+ https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
+ with minor changes -->
+ <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
+ <!-- <sourceDirectory> is needed so that checkstyle ignores the generated sources directory -->
+ <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+ <includeResources>true</includeResources>
+ <includeTestSourceDirectory>true</includeTestSourceDirectory>
+ <includeTestResources>true</includeTestResources>
+ <excludes>
+ </excludes>
+ <suppressionsLocation>${project.basedir}/checkstyle-suppressions.xml</suppressionsLocation>
+ <consoleOutput>true</consoleOutput>
+ <failsOnViolation>true</failsOnViolation>
+ <violationSeverity>warning</violationSeverity>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.oparent</groupId>
+ <artifactId>checkstyle</artifactId>
+ <version>${oparent.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/Resource.java b/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/Resource.java
new file mode 100644
index 000000000..9b73446b6
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/Resource.java
@@ -0,0 +1,189 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdc
+ * ================================================================================
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.policy.sdc;
+
+import java.io.Serializable;
+import java.util.UUID;
+
+public class Resource implements Serializable {
+
+ private static final long serialVersionUID = -913729158733348027L;
+
+ private UUID resourceUuid;
+ private UUID resourceInvariantUuid;
+ private String resourceName;
+ private String resourceVersion;
+ private ResourceType resourceType;
+
+ public Resource() {
+ //Empty Constructor
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param resource copy object
+ */
+ public Resource(Resource resource) {
+ this.resourceUuid = resource.resourceUuid;
+ this.resourceInvariantUuid = resource.resourceInvariantUuid;
+ this.resourceName = resource.resourceName;
+ this.resourceVersion = resource.resourceVersion;
+ this.resourceType = resource.resourceType;
+ }
+
+ public Resource(UUID uuid) {
+ this.resourceUuid = uuid;
+ }
+
+ public Resource(String name, ResourceType type) {
+ this.resourceName = name;
+ this.resourceType = type;
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param uuid uuid
+ * @param invariantUuid invariant uuid
+ * @param name name
+ * @param version version
+ * @param type type
+ */
+ public Resource(UUID uuid, UUID invariantUuid, String name, String version, ResourceType type) {
+ this.resourceUuid = uuid;
+ this.resourceInvariantUuid = invariantUuid;
+ this.resourceName = name;
+ this.resourceVersion = version;
+ this.resourceType = type;
+ }
+
+ public UUID getResourceUuid() {
+ return resourceUuid;
+ }
+
+ public void setResourceUuid(UUID resourceUuid) {
+ this.resourceUuid = resourceUuid;
+ }
+
+ public UUID getResourceInvariantUuid() {
+ return resourceInvariantUuid;
+ }
+
+ public void setResourceInvariantUuid(UUID resourceInvariantUuid) {
+ this.resourceInvariantUuid = resourceInvariantUuid;
+ }
+
+ public String getResourceName() {
+ return resourceName;
+ }
+
+ public void setResourceName(String resourceName) {
+ this.resourceName = resourceName;
+ }
+
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ public void setResourceVersion(String resourceVersion) {
+ this.resourceVersion = resourceVersion;
+ }
+
+ public ResourceType getResourceType() {
+ return resourceType;
+ }
+
+ public void setResourceType(ResourceType resourceType) {
+ this.resourceType = resourceType;
+ }
+
+ @Override
+ public String toString() {
+ return "Resource [resourceUuid=" + resourceUuid + ", resourceInvariantUuid=" + resourceInvariantUuid
+ + ", resourceName=" + resourceName + ", resourceVersion=" + resourceVersion + ", resourceType="
+ + resourceType + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((resourceInvariantUuid == null) ? 0 : resourceInvariantUuid.hashCode());
+ result = prime * result + ((resourceName == null) ? 0 : resourceName.hashCode());
+ result = prime * result + ((resourceType == null) ? 0 : resourceType.hashCode());
+ result = prime * result + ((resourceUuid == null) ? 0 : resourceUuid.hashCode());
+ result = prime * result + ((resourceVersion == null) ? 0 : resourceVersion.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ Resource other = (Resource) obj;
+ if (resourceInvariantUuid == null) {
+ if (other.resourceInvariantUuid != null) {
+ return false;
+ }
+ } else if (!resourceInvariantUuid.equals(other.resourceInvariantUuid)) {
+ return false;
+ }
+ if (resourceName == null) {
+ if (other.resourceName != null) {
+ return false;
+ }
+ } else if (!resourceName.equals(other.resourceName)) {
+ return false;
+ }
+ if (resourceType == null) {
+ if (other.resourceType != null) {
+ return false;
+ }
+ } else if (!resourceType.equals(other.resourceType)) {
+ return false;
+ }
+ if (resourceUuid == null) {
+ if (other.resourceUuid != null) {
+ return false;
+ }
+ } else if (!resourceUuid.equals(other.resourceUuid)) {
+ return false;
+ }
+ if (resourceVersion == null) {
+ if (other.resourceVersion != null) {
+ return false;
+ }
+ } else if (!resourceVersion.equals(other.resourceVersion)) {
+ return false;
+ }
+ return true;
+ }
+
+}
diff --git a/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ResourceInstance.java b/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ResourceInstance.java
new file mode 100644
index 000000000..dce6ec0fa
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ResourceInstance.java
@@ -0,0 +1,179 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdc
+ * ================================================================================
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.policy.sdc;
+
+import java.io.Serializable;
+import java.util.UUID;
+
+public class ResourceInstance implements Serializable {
+ private static final long serialVersionUID = -5506162340393802424L;
+
+ private String resourceInstanceName;
+ private String resourceName;
+ private UUID resourceInvariantUuid;
+ private String resourceVersion;
+ private ResourceType resourceType;
+ private UUID resourceUuid;
+
+ public ResourceInstance() {
+ //Empty Constructor
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param instance copy object
+ */
+ public ResourceInstance(ResourceInstance instance) {
+ if (instance == null) {
+ return;
+ }
+ this.resourceInstanceName = instance.resourceInstanceName;
+ this.resourceName = instance.resourceName;
+ this.resourceInvariantUuid = instance.resourceInvariantUuid;
+ this.resourceVersion = instance.resourceVersion;
+ this.resourceType = instance.resourceType;
+ this.resourceUuid = instance.resourceUuid;
+ }
+
+ public String getResourceInstanceName() {
+ return resourceInstanceName;
+ }
+
+ public void setResourceInstanceName(String resourceInstanceName) {
+ this.resourceInstanceName = resourceInstanceName;
+ }
+
+ public String getResourceName() {
+ return resourceName;
+ }
+
+ public void setResourceName(String resourceName) {
+ this.resourceName = resourceName;
+ }
+
+ public UUID getResourceInvariantUUID() {
+ return resourceInvariantUuid;
+ }
+
+ public void setResourceInvariantUUID(UUID resourceInvariantUuid) {
+ this.resourceInvariantUuid = resourceInvariantUuid;
+ }
+
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ public void setResourceVersion(String resourceVersion) {
+ this.resourceVersion = resourceVersion;
+ }
+
+ public ResourceType getResourceType() {
+ return resourceType;
+ }
+
+ public void setResourceType(ResourceType resourceType) {
+ this.resourceType = resourceType;
+ }
+
+ public UUID getResourceUuid() {
+ return resourceUuid;
+ }
+
+ public void setResourceUuid(UUID resourceUuid) {
+ this.resourceUuid = resourceUuid;
+ }
+
+ @Override
+ public String toString() {
+ return "ResourceInstance [resourceInstanceName=" + resourceInstanceName + ", resourceName=" + resourceName
+ + ", resourceInvariantUuid=" + resourceInvariantUuid + ", resourceVersion=" + resourceVersion
+ + ", resourceType=" + resourceType + ", resourceUuid=" + resourceUuid + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((resourceInstanceName == null) ? 0 : resourceInstanceName.hashCode());
+ result = prime * result + ((resourceInvariantUuid == null) ? 0 : resourceInvariantUuid.hashCode());
+ result = prime * result + ((resourceName == null) ? 0 : resourceName.hashCode());
+ result = prime * result + ((resourceType == null) ? 0 : resourceType.hashCode());
+ result = prime * result + ((resourceUuid == null) ? 0 : resourceUuid.hashCode());
+ result = prime * result + ((resourceVersion == null) ? 0 : resourceVersion.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ ResourceInstance other = (ResourceInstance) obj;
+ if (resourceInstanceName == null) {
+ if (other.resourceInstanceName != null) {
+ return false;
+ }
+ } else if (!resourceInstanceName.equals(other.resourceInstanceName)) {
+ return false;
+ }
+ if (resourceInvariantUuid == null) {
+ if (other.resourceInvariantUuid != null) {
+ return false;
+ }
+ } else if (!resourceInvariantUuid.equals(other.resourceInvariantUuid)) {
+ return false;
+ }
+ if (resourceName == null) {
+ if (other.resourceName != null) {
+ return false;
+ }
+ } else if (!resourceName.equals(other.resourceName)) {
+ return false;
+ }
+ if (resourceType != other.resourceType) {
+ return false;
+ }
+ if (resourceUuid == null) {
+ if (other.resourceUuid != null) {
+ return false;
+ }
+ } else if (!resourceUuid.equals(other.resourceUuid)) {
+ return false;
+ }
+ if (resourceVersion == null) {
+ if (other.resourceVersion != null) {
+ return false;
+ }
+ } else if (!resourceVersion.equals(other.resourceVersion)) {
+ return false;
+ }
+ return true;
+ }
+
+}
diff --git a/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ResourceType.java b/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ResourceType.java
new file mode 100644
index 000000000..e90ab6def
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ResourceType.java
@@ -0,0 +1,42 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdc
+ * ================================================================================
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.policy.sdc;
+
+public enum ResourceType {
+ VF("VF"),
+ VFC("VFC"),
+ VL("VL"),
+ CP("CP")
+ ;
+
+ private String type;
+
+ private ResourceType(String type) {
+ this.type = type;
+ }
+
+ @Override
+ public String toString() {
+ return this.type;
+ }
+
+}
diff --git a/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/Service.java b/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/Service.java
new file mode 100644
index 000000000..f4f97c42e
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/Service.java
@@ -0,0 +1,167 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdc
+ * ================================================================================
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.policy.sdc;
+
+import java.io.Serializable;
+import java.util.UUID;
+
+public class Service implements Serializable {
+
+ private static final long serialVersionUID = -1249276698549996806L;
+
+ private UUID serviceUUID;
+ private UUID serviceInvariantUUID;
+ private String serviceName;
+ private String serviceVersion;
+
+ public Service() {
+ //Empty Constructor
+ }
+
+ public Service(UUID uuid) {
+ this.serviceUUID = uuid;
+ }
+
+ public Service(String name) {
+ this.serviceName = name;
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param uuid service id
+ * @param invariantUUID service invariant id
+ * @param name name
+ * @param version version
+ */
+ public Service(UUID uuid, UUID invariantUUID, String name, String version) {
+ this.serviceUUID = uuid;
+ this.serviceInvariantUUID = invariantUUID;
+ this.serviceName = name;
+ this.serviceVersion = version;
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param service copy object
+ */
+ public Service(Service service) {
+ this.serviceUUID = service.serviceUUID;
+ this.serviceInvariantUUID = service.serviceInvariantUUID;
+ this.serviceName = service.serviceName;
+ this.serviceVersion = service.serviceVersion;
+ }
+
+ public UUID getServiceUUID() {
+ return serviceUUID;
+ }
+
+ public void setServiceUUID(UUID serviceUUID) {
+ this.serviceUUID = serviceUUID;
+ }
+
+ public UUID getServiceInvariantUUID() {
+ return serviceInvariantUUID;
+ }
+
+ public void setServiceInvariantUUID(UUID serviceInvariantUUID) {
+ this.serviceInvariantUUID = serviceInvariantUUID;
+ }
+
+ public String getServiceName() {
+ return serviceName;
+ }
+
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
+ }
+
+ public String getServiceVersion() {
+ return serviceVersion;
+ }
+
+ public void setServiceVersion(String serviceVersion) {
+ this.serviceVersion = serviceVersion;
+ }
+
+ @Override
+ public String toString() {
+ return "Service [serviceUUID=" + serviceUUID + ", serviceInvariantUUID=" + serviceInvariantUUID
+ + ", serviceName=" + serviceName + ", serviceVersion=" + serviceVersion + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((serviceInvariantUUID == null) ? 0 : serviceInvariantUUID.hashCode());
+ result = prime * result + ((serviceName == null) ? 0 : serviceName.hashCode());
+ result = prime * result + ((serviceUUID == null) ? 0 : serviceUUID.hashCode());
+ result = prime * result + ((serviceVersion == null) ? 0 : serviceVersion.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ Service other = (Service) obj;
+ if (serviceInvariantUUID == null) {
+ if (other.serviceInvariantUUID != null) {
+ return false;
+ }
+ } else if (!serviceInvariantUUID.equals(other.serviceInvariantUUID)) {
+ return false;
+ }
+ if (serviceName == null) {
+ if (other.serviceName != null) {
+ return false;
+ }
+ } else if (!serviceName.equals(other.serviceName)) {
+ return false;
+ }
+ if (serviceUUID == null) {
+ if (other.serviceUUID != null) {
+ return false;
+ }
+ } else if (!serviceUUID.equals(other.serviceUUID)) {
+ return false;
+ }
+ if (serviceVersion == null) {
+ if (other.serviceVersion != null) {
+ return false;
+ }
+ } else if (!serviceVersion.equals(other.serviceVersion)) {
+ return false;
+ }
+ return true;
+ }
+
+}
diff --git a/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ServiceInstance.java b/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ServiceInstance.java
new file mode 100644
index 000000000..49f1b8572
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/main/java/org/onap/policy/sdc/ServiceInstance.java
@@ -0,0 +1,202 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdc
+ * ================================================================================
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.policy.sdc;
+
+import java.io.Serializable;
+import java.util.UUID;
+
+public class ServiceInstance implements Serializable {
+ private static final long serialVersionUID = 6285260780966679625L;
+
+ private UUID personaModelUUID;
+ private UUID serviceUUID;
+ private UUID serviceInstanceUUID;
+ private UUID widgetModelUUID;
+ private String widgetModelVersion;
+ private String serviceName;
+ private String serviceInstanceName;
+
+ public ServiceInstance() {
+ //Empty Constructor
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param instance copy object
+ */
+ public ServiceInstance(ServiceInstance instance) {
+ if (instance == null) {
+ return;
+ }
+ this.personaModelUUID = instance.personaModelUUID;
+ this.serviceUUID = instance.serviceUUID;
+ this.serviceInstanceUUID = instance.serviceInstanceUUID;
+ this.widgetModelUUID = instance.widgetModelUUID;
+ this.widgetModelVersion = instance.widgetModelVersion;
+ this.serviceName = instance.serviceName;
+ this.serviceInstanceName = instance.serviceInstanceName;
+ }
+
+ public UUID getPersonaModelUUID() {
+ return personaModelUUID;
+ }
+
+ public void setPersonaModelUUID(UUID personaModelUUID) {
+ this.personaModelUUID = personaModelUUID;
+ }
+
+ public UUID getServiceUUID() {
+ return serviceUUID;
+ }
+
+ public void setServiceUUID(UUID serviceUUID) {
+ this.serviceUUID = serviceUUID;
+ }
+
+ public UUID getServiceInstanceUUID() {
+ return serviceInstanceUUID;
+ }
+
+ public void setServiceInstanceUUID(UUID serviceInstanceUUID) {
+ this.serviceInstanceUUID = serviceInstanceUUID;
+ }
+
+ public UUID getWidgetModelUUID() {
+ return widgetModelUUID;
+ }
+
+ public void setWidgetModelUUID(UUID widgetModelUUID) {
+ this.widgetModelUUID = widgetModelUUID;
+ }
+
+ public String getWidgetModelVersion() {
+ return widgetModelVersion;
+ }
+
+ public void setWidgetModelVersion(String widgetModelVersion) {
+ this.widgetModelVersion = widgetModelVersion;
+ }
+
+ public String getServiceName() {
+ return serviceName;
+ }
+
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
+ }
+
+ public String getServiceInstanceName() {
+ return serviceInstanceName;
+ }
+
+ public void setServiceInstanceName(String serviceInstanceName) {
+ this.serviceInstanceName = serviceInstanceName;
+ }
+
+ @Override
+ public String toString() {
+ return "ServiceInstance [personaModelUUID=" + personaModelUUID + ", serviceUUID=" + serviceUUID
+ + ", serviceInstanceUUID=" + serviceInstanceUUID + ", widgetModelUUID=" + widgetModelUUID
+ + ", widgetModelVersion=" + widgetModelVersion + ", serviceName=" + serviceName
+ + ", serviceInstanceName=" + serviceInstanceName + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((personaModelUUID == null) ? 0 : personaModelUUID.hashCode());
+ result = prime * result + ((serviceInstanceName == null) ? 0 : serviceInstanceName.hashCode());
+ result = prime * result + ((serviceInstanceUUID == null) ? 0 : serviceInstanceUUID.hashCode());
+ result = prime * result + ((serviceName == null) ? 0 : serviceName.hashCode());
+ result = prime * result + ((serviceUUID == null) ? 0 : serviceUUID.hashCode());
+ result = prime * result + ((widgetModelUUID == null) ? 0 : widgetModelUUID.hashCode());
+ result = prime * result + ((widgetModelVersion == null) ? 0 : widgetModelVersion.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ ServiceInstance other = (ServiceInstance) obj;
+ if (personaModelUUID == null) {
+ if (other.personaModelUUID != null) {
+ return false;
+ }
+ } else if (!personaModelUUID.equals(other.personaModelUUID)) {
+ return false;
+ }
+ if (serviceInstanceName == null) {
+ if (other.serviceInstanceName != null) {
+ return false;
+ }
+ } else if (!serviceInstanceName.equals(other.serviceInstanceName)) {
+ return false;
+ }
+ if (serviceInstanceUUID == null) {
+ if (other.serviceInstanceUUID != null) {
+ return false;
+ }
+ } else if (!serviceInstanceUUID.equals(other.serviceInstanceUUID)) {
+ return false;
+ }
+ if (serviceName == null) {
+ if (other.serviceName != null) {
+ return false;
+ }
+ } else if (!serviceName.equals(other.serviceName)) {
+ return false;
+ }
+ if (serviceUUID == null) {
+ if (other.serviceUUID != null) {
+ return false;
+ }
+ } else if (!serviceUUID.equals(other.serviceUUID)) {
+ return false;
+ }
+ if (widgetModelUUID == null) {
+ if (other.widgetModelUUID != null) {
+ return false;
+ }
+ } else if (!widgetModelUUID.equals(other.widgetModelUUID)) {
+ return false;
+ }
+ if (widgetModelVersion == null) {
+ if (other.widgetModelVersion != null) {
+ return false;
+ }
+ } else if (!widgetModelVersion.equals(other.widgetModelVersion)) {
+ return false;
+ }
+ return true;
+ }
+
+}
diff --git a/models-interactions/model-impl/sdc/src/main/resources/definitions.yaml b/models-interactions/model-impl/sdc/src/main/resources/definitions.yaml
new file mode 100644
index 000000000..16fff309c
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/main/resources/definitions.yaml
@@ -0,0 +1,90 @@
+# Copyright 2018 AT&T Intellectual Property. All rights reserved
+# Modifications Copyright (C) 2019 Nordix Foundation.
+#
+# 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.
+Service:
+ type: Object
+ properties:
+ serviceUUID:
+ type: string
+ pattern: "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
+ serviceInvariantUUID:
+ type: string
+ pattern: "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
+ serviceName:
+ type: string
+ serviceVersion:
+ type: string
+Resource:
+ type: Object
+ properties:
+ resourceUUID:
+ type: string
+ pattern: "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
+ resourceInvariantUUID:
+ type: string
+ pattern: "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
+ resourceName:
+ type: string
+ resourceVersion:
+ type: string
+ resourceType:
+ type: string
+ valid_values:
+ - VF
+ - VFC
+ - CP
+ - VL
+ServiceInstance:
+ type: Object
+ properties:
+ personaModelUUID:
+ type: string
+ pattern: "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
+ serviceUUID:
+ type: string
+ pattern: "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
+ serviceInstanceUUID:
+ type: string
+ pattern: "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
+ widgetModelUUID:
+ type: string
+ pattern: "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
+ widgetModelVersion:
+ type: string
+ serviceName:
+ type: string
+ serviceInstanceName:
+ type: string
+ResourceInstance:
+ type: object
+ properties:
+ resourceInstanceName:
+ type: string
+ resourceName:
+ type: string
+ resourceInvariantUUID:
+ type: string
+ pattern: "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
+ resourceVersion:
+ type: string
+ resourceType:
+ type: string
+ valid_values:
+ - VF
+ - VFC
+ - CP
+ - VL
+ resourceUUID:
+ type: string
+ pattern: "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
diff --git a/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ResourceInstanceTest.java b/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ResourceInstanceTest.java
new file mode 100644
index 000000000..940963565
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ResourceInstanceTest.java
@@ -0,0 +1,156 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdc
+ * ================================================================================
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.policy.sdc;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.UUID;
+
+import org.junit.Test;
+
+public class ResourceInstanceTest {
+
+ @Test
+ public void testConstructors() {
+ ResourceInstance ri = new ResourceInstance();
+ assertEquals(null, ri.getResourceInstanceName());
+ assertEquals(null, ri.getResourceUuid());
+ assertEquals(null, ri.getResourceInvariantUUID());
+ assertEquals(null, ri.getResourceName());
+ assertEquals(null, ri.getResourceType());
+ assertEquals(null, ri.getResourceVersion());
+
+ ResourceInstance ri2 = new ResourceInstance((ResourceInstance) null);
+ assertEquals(null, ri2.getResourceInstanceName());
+ assertEquals(null, ri2.getResourceUuid());
+ assertEquals(null, ri2.getResourceInvariantUUID());
+ assertEquals(null, ri2.getResourceName());
+ assertEquals(null, ri2.getResourceType());
+ assertEquals(null, ri2.getResourceVersion());
+
+ ri2 = new ResourceInstance(ri);
+ assertEquals(ri2.getResourceInstanceName(), ri.getResourceInstanceName());
+ assertEquals(ri2.getResourceUuid(), ri.getResourceUuid());
+ assertEquals(ri2.getResourceInvariantUUID(), ri.getResourceInvariantUUID());
+ assertEquals(ri2.getResourceName(), ri.getResourceName());
+ assertEquals(ri2.getResourceType(), ri.getResourceType());
+ assertEquals(ri2.getResourceVersion(), ri.getResourceVersion());
+ }
+
+ @Test
+ public void testInstanceName() {
+ ResourceInstance ri = new ResourceInstance();
+ String name = "nameTestInstance";
+ ri.setResourceInstanceName(name);;
+ assertEquals(name, ri.getResourceInstanceName());
+ }
+
+ @Test
+ public void testUuid() {
+ ResourceInstance ri = new ResourceInstance();
+ UUID uuid = UUID.randomUUID();
+ ri.setResourceUuid(uuid);
+ assertEquals(uuid, ri.getResourceUuid());
+ }
+
+ @Test
+ public void testInvariantUuid() {
+ ResourceInstance ri = new ResourceInstance();
+ UUID uuid = UUID.randomUUID();
+ ri.setResourceInvariantUUID(uuid);
+ assertEquals(uuid, ri.getResourceInvariantUUID());
+ }
+
+ @Test
+ public void testName() {
+ ResourceInstance ri = new ResourceInstance();
+ String name = "nameTest";
+ ri.setResourceName(name);
+ assertEquals(name, ri.getResourceName());
+ }
+
+ @Test
+ public void testVersion() {
+ ResourceInstance ri = new ResourceInstance();
+ String version = "versionTest";
+ ri.setResourceVersion(version);
+ assertEquals(version, ri.getResourceVersion());
+ }
+
+ @Test
+ public void testType() {
+ ResourceInstance ri = new ResourceInstance();
+ ri.setResourceType(ResourceType.CP);
+ assertEquals(ResourceType.CP, ri.getResourceType());
+ }
+
+ @Test
+ public void testEquals() {
+ ResourceInstance ri1 = new ResourceInstance();
+ ResourceInstance ri2 = new ResourceInstance(ri1);
+ assertTrue(ri1.equals(ri2));
+ assertTrue(ri2.equals(ri1));
+
+ ri1.setResourceInstanceName("instance");
+ ri1.setResourceName("resource");
+ ri1.setResourceInvariantUUID(UUID.randomUUID());
+ ri1.setResourceInvariantUUID(UUID.randomUUID());
+ ri1.setResourceVersion("0.0.0");
+ ri1.setResourceType(ResourceType.VL);
+ ri2 = new ResourceInstance(ri1);
+ assertTrue(ri1.equals(ri2));
+ assertTrue(ri2.equals(ri1));
+ }
+
+ @Test
+ public void testToString() {
+ ResourceInstance ri1 = new ResourceInstance();
+ ResourceInstance ri2 = new ResourceInstance(ri1);
+ assertEquals(ri1.toString(), ri2.toString());
+
+ ri1.setResourceInstanceName("instance");
+ ri1.setResourceName("resource");
+ ri1.setResourceInvariantUUID(UUID.randomUUID());
+ ri1.setResourceInvariantUUID(UUID.randomUUID());
+ ri1.setResourceVersion("0.0.0");
+ ri1.setResourceType(ResourceType.VL);
+ ri2 = new ResourceInstance(ri1);
+ assertEquals(ri1.toString(), ri2.toString());
+ }
+
+ @Test
+ public void testHashCode() {
+ ResourceInstance ri1 = new ResourceInstance();
+ ResourceInstance ri2 = new ResourceInstance(ri1);
+ assertEquals(ri1.hashCode(), ri2.hashCode());
+
+ ri1.setResourceInstanceName("instance");
+ ri1.setResourceName("resource");
+ ri1.setResourceInvariantUUID(UUID.randomUUID());
+ ri1.setResourceInvariantUUID(UUID.randomUUID());
+ ri1.setResourceVersion("0.0.0");
+ ri1.setResourceType(ResourceType.VL);
+ ri2 = new ResourceInstance(ri1);
+ assertEquals(ri1.hashCode(), ri2.hashCode());
+ }
+}
diff --git a/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ResourceTest.java b/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ResourceTest.java
new file mode 100644
index 000000000..60510a1d1
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ResourceTest.java
@@ -0,0 +1,153 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdc
+ * ================================================================================
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.policy.sdc;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.UUID;
+
+import org.junit.Test;
+
+public class ResourceTest {
+
+ @Test
+ public void testConstructors() {
+ Resource res = new Resource();
+ assertEquals(null, res.getResourceUuid());
+ assertEquals(null, res.getResourceInvariantUuid());
+ assertEquals(null, res.getResourceName());
+ assertEquals(null, res.getResourceType());
+ assertEquals(null, res.getResourceVersion());
+
+ UUID uuid = UUID.randomUUID();
+ res = new Resource(uuid);
+ assertEquals(uuid, res.getResourceUuid());
+ assertEquals(null, res.getResourceInvariantUuid());
+ assertEquals(null, res.getResourceName());
+ assertEquals(null, res.getResourceType());
+ assertEquals(null, res.getResourceVersion());
+
+ String name = "constTest";
+ res = new Resource(name, ResourceType.CP);
+ assertEquals(null, res.getResourceUuid());
+ assertEquals(name, res.getResourceName());
+ assertEquals(ResourceType.CP, res.getResourceType());
+ assertEquals(null, res.getResourceInvariantUuid());
+ assertEquals(null, res.getResourceVersion());
+
+ uuid = UUID.randomUUID();
+ UUID uuidInvariant = UUID.randomUUID();
+ name = "constTestUUID";
+ String version = "0.0.1";
+ res = new Resource(uuid, uuidInvariant, name, version, ResourceType.VF);
+ assertEquals(uuid, res.getResourceUuid());
+ assertEquals(uuidInvariant, res.getResourceInvariantUuid());
+ assertEquals(name, res.getResourceName());
+ assertEquals(ResourceType.VF, res.getResourceType());
+ assertEquals(version, res.getResourceVersion());
+
+ Resource r2 = new Resource(res);
+ assertEquals(uuid, r2.getResourceUuid());
+ assertEquals(uuidInvariant, r2.getResourceInvariantUuid());
+ assertEquals(name, r2.getResourceName());
+ assertEquals(ResourceType.VF, r2.getResourceType());
+ assertEquals(version, r2.getResourceVersion());
+ }
+
+ @Test
+ public void testUuid() {
+ Resource res = new Resource();
+ UUID uuid = UUID.randomUUID();
+ res.setResourceUuid(uuid);
+ assertEquals(uuid, res.getResourceUuid());
+ }
+
+ @Test
+ public void testInvariantUuid() {
+ Resource res = new Resource();
+ UUID uuid = UUID.randomUUID();
+ res.setResourceInvariantUuid(uuid);
+ assertEquals(uuid, res.getResourceInvariantUuid());
+ }
+
+ @Test
+ public void testName() {
+ Resource res = new Resource();
+ String name = "nameTest";
+ res.setResourceName(name);
+ assertEquals(name, res.getResourceName());
+ }
+
+ @Test
+ public void testVersion() {
+ Resource res = new Resource();
+ String version = "versionTest";
+ res.setResourceVersion(version);
+ assertEquals(version, res.getResourceVersion());
+ }
+
+ @Test
+ public void testType() {
+ Resource res = new Resource();
+ res.setResourceType(ResourceType.CP);
+ assertEquals(ResourceType.CP, res.getResourceType());
+ }
+
+ @Test
+ public void testEquals() {
+ Resource r1 = new Resource();
+ Resource r2 = new Resource(r1);
+ assertTrue(r1.equals(r2));
+ assertTrue(r2.equals(r1));
+
+ r1 = new Resource(UUID.randomUUID(), UUID.randomUUID(), "equalsTest", "1.1.1",
+ ResourceType.VFC);
+ r2 = new Resource(r1);
+ assertTrue(r1.equals(r2));
+ assertTrue(r2.equals(r1));
+ }
+
+ @Test
+ public void testToString() {
+ Resource r1 = new Resource();
+ Resource r2 = new Resource(r1);
+ assertEquals(r1.toString(), r2.toString());
+
+ r1 = new Resource(UUID.randomUUID(), UUID.randomUUID(), "equalsTest", "1.1.1",
+ ResourceType.VFC);
+ r2 = new Resource(r1);
+ assertEquals(r1.toString(), r2.toString());
+ }
+
+ @Test
+ public void testHashCode() {
+ Resource r1 = new Resource();
+ Resource r2 = new Resource(r1);
+ assertEquals(r1.hashCode(), r2.hashCode());
+
+ r1 = new Resource(UUID.randomUUID(), UUID.randomUUID(), "equalsTest", "1.1.1",
+ ResourceType.VFC);
+ r2 = new Resource(r1);
+ assertEquals(r1.hashCode(), r2.hashCode());
+ }
+}
diff --git a/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ServiceInstanceTest.java b/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ServiceInstanceTest.java
new file mode 100644
index 000000000..ca2cb3d0e
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ServiceInstanceTest.java
@@ -0,0 +1,171 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdc
+ * ================================================================================
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.policy.sdc;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.UUID;
+
+import org.junit.Test;
+
+public class ServiceInstanceTest {
+
+ @Test
+ public void testConstructors() {
+ ServiceInstance si = new ServiceInstance();
+ assertEquals(null, si.getServiceInstanceName());
+ assertEquals(null, si.getServiceUUID());
+ assertEquals(null, si.getServiceInstanceUUID());
+ assertEquals(null, si.getServiceName());
+ assertEquals(null, si.getPersonaModelUUID());
+ assertEquals(null, si.getWidgetModelUUID());
+ assertEquals(null, si.getWidgetModelVersion());
+
+ ServiceInstance si2 = new ServiceInstance((ServiceInstance) null);
+ assertEquals(null, si2.getServiceInstanceName());
+ assertEquals(null, si2.getServiceUUID());
+ assertEquals(null, si2.getServiceInstanceUUID());
+ assertEquals(null, si2.getServiceName());
+ assertEquals(null, si2.getPersonaModelUUID());
+ assertEquals(null, si2.getWidgetModelUUID());
+ assertEquals(null, si2.getWidgetModelVersion());
+
+ si2 = new ServiceInstance(si);
+ assertEquals(si2.getServiceInstanceName(), si.getServiceInstanceName());
+ assertEquals(si2.getServiceUUID(), si.getServiceUUID());
+ assertEquals(si2.getServiceInstanceUUID(), si.getServiceInstanceUUID());
+ assertEquals(si2.getServiceName(), si.getServiceName());
+ assertEquals(si2.getPersonaModelUUID(), si.getPersonaModelUUID());
+ assertEquals(si2.getWidgetModelUUID(), si.getWidgetModelUUID());
+ assertEquals(si2.getWidgetModelVersion(), si.getWidgetModelVersion());
+ }
+
+ @Test
+ public void testInstanceName() {
+ ServiceInstance si = new ServiceInstance();
+ String name = "nameTestInstance";
+ si.setServiceInstanceName(name);;
+ assertEquals(name, si.getServiceInstanceName());
+ }
+
+ @Test
+ public void testUuid() {
+ ServiceInstance si = new ServiceInstance();
+ UUID uuid = UUID.randomUUID();
+ si.setServiceUUID(uuid);
+ assertEquals(uuid, si.getServiceUUID());
+ }
+
+ @Test
+ public void testInstanceUuid() {
+ ServiceInstance si = new ServiceInstance();
+ UUID uuid = UUID.randomUUID();
+ si.setServiceInstanceUUID(uuid);
+ assertEquals(uuid, si.getServiceInstanceUUID());
+ }
+
+ @Test
+ public void testName() {
+ ServiceInstance si = new ServiceInstance();
+ String name = "nameTest";
+ si.setServiceName(name);
+ assertEquals(name, si.getServiceName());
+ }
+
+ @Test
+ public void testPersonaModelUuid() {
+ ServiceInstance si = new ServiceInstance();
+ UUID uuid = UUID.randomUUID();
+ si.setPersonaModelUUID(uuid);
+ assertEquals(uuid, si.getPersonaModelUUID());
+ }
+
+ @Test
+ public void testWidgetModelUuid() {
+ ServiceInstance si = new ServiceInstance();
+ UUID uuid = UUID.randomUUID();
+ si.setWidgetModelUUID(uuid);
+ assertEquals(uuid, si.getWidgetModelUUID());
+ }
+
+ @Test
+ public void testWidgetModelVersion() {
+ ServiceInstance si = new ServiceInstance();
+ String version = "2.2.2";
+ si.setWidgetModelVersion(version);;
+ assertEquals(version, si.getWidgetModelVersion());
+ }
+
+ @Test
+ public void testEquals() {
+ ServiceInstance si1 = new ServiceInstance();
+ ServiceInstance si2 = new ServiceInstance(si1);
+ assertTrue(si1.equals(si2));
+ assertTrue(si2.equals(si1));
+
+ si1.setServiceInstanceName("instance");
+ si1.setServiceName("service");
+ si1.setServiceInstanceUUID(UUID.randomUUID());
+ si1.setServiceUUID(UUID.randomUUID());
+ si1.setPersonaModelUUID(UUID.randomUUID());
+ si1.setWidgetModelUUID(UUID.randomUUID());
+ si1.setWidgetModelVersion("3.3.3");
+ si2 = new ServiceInstance(si1);
+ assertTrue(si1.equals(si2));
+ assertTrue(si2.equals(si1));
+ }
+
+ @Test
+ public void testToString() {
+ ServiceInstance si1 = new ServiceInstance();
+ ServiceInstance si2 = new ServiceInstance(si1);
+ assertEquals(si1.toString(), si2.toString());
+
+ si1.setServiceInstanceName("instance");
+ si1.setServiceName("service");
+ si1.setServiceInstanceUUID(UUID.randomUUID());
+ si1.setServiceUUID(UUID.randomUUID());
+ si1.setPersonaModelUUID(UUID.randomUUID());
+ si1.setWidgetModelUUID(UUID.randomUUID());
+ si1.setWidgetModelVersion("3.3.3");
+ si2 = new ServiceInstance(si1);
+ assertEquals(si1.toString(), si2.toString());
+ }
+
+ @Test
+ public void testHashCode() {
+ ServiceInstance si1 = new ServiceInstance();
+ ServiceInstance si2 = new ServiceInstance(si1);
+ assertEquals(si1.hashCode(), si2.hashCode());
+
+ si1.setServiceInstanceName("instance");
+ si1.setServiceName("service");
+ si1.setServiceInstanceUUID(UUID.randomUUID());
+ si1.setServiceUUID(UUID.randomUUID());
+ si1.setPersonaModelUUID(UUID.randomUUID());
+ si1.setWidgetModelUUID(UUID.randomUUID());
+ si1.setWidgetModelVersion("3.3.3");
+ si2 = new ServiceInstance(si1);
+ assertEquals(si1.hashCode(), si2.hashCode());
+ }
+}
diff --git a/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ServiceTest.java b/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ServiceTest.java
new file mode 100644
index 000000000..3bf6a537e
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/test/java/org/onap/policy/sdc/ServiceTest.java
@@ -0,0 +1,138 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdc
+ * ================================================================================
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.policy.sdc;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.UUID;
+
+import org.junit.Test;
+
+public class ServiceTest {
+
+ @Test
+ public void testConstructors() {
+ Service svc = new Service();
+ assertEquals(null, svc.getServiceUUID());
+ assertEquals(null, svc.getServiceInvariantUUID());
+ assertEquals(null, svc.getServiceName());
+ assertEquals(null, svc.getServiceVersion());
+
+ UUID uuid = UUID.randomUUID();
+ svc = new Service(uuid);
+ assertEquals(uuid, svc.getServiceUUID());
+ assertEquals(null, svc.getServiceInvariantUUID());
+ assertEquals(null, svc.getServiceName());
+ assertEquals(null, svc.getServiceVersion());
+
+ String name = "constTest";
+ svc = new Service(name);
+ assertEquals(null, svc.getServiceUUID());
+ assertEquals(name, svc.getServiceName());
+ assertEquals(null, svc.getServiceInvariantUUID());
+ assertEquals(null, svc.getServiceVersion());
+
+ uuid = UUID.randomUUID();
+ UUID uuidInvariant = UUID.randomUUID();
+ name = "constTestUUID";
+ String version = "0.0.1";
+ svc = new Service(uuid, uuidInvariant, name, version);
+ assertEquals(uuid, svc.getServiceUUID());
+ assertEquals(uuidInvariant, svc.getServiceInvariantUUID());
+ assertEquals(name, svc.getServiceName());
+ assertEquals(version, svc.getServiceVersion());
+
+ Service s2 = new Service(svc);
+ assertEquals(uuid, s2.getServiceUUID());
+ assertEquals(uuidInvariant, s2.getServiceInvariantUUID());
+ assertEquals(name, s2.getServiceName());
+ assertEquals(version, s2.getServiceVersion());
+ }
+
+ @Test
+ public void testUuid() {
+ Service svc = new Service();
+ UUID uuid = UUID.randomUUID();
+ svc.setServiceUUID(uuid);
+ assertEquals(uuid, svc.getServiceUUID());
+ }
+
+ @Test
+ public void testInvariantUuid() {
+ Service svc = new Service();
+ UUID uuid = UUID.randomUUID();
+ svc.setServiceInvariantUUID(uuid);
+ assertEquals(uuid, svc.getServiceInvariantUUID());
+ }
+
+ @Test
+ public void testName() {
+ Service svc = new Service();
+ String name = "nameTest";
+ svc.setServiceName(name);
+ assertEquals(name, svc.getServiceName());
+ }
+
+ @Test
+ public void testVersion() {
+ Service svc = new Service();
+ String version = "versionTest";
+ svc.setServiceVersion(version);
+ assertEquals(version, svc.getServiceVersion());
+ }
+
+ @Test
+ public void testEquals() {
+ Service s1 = new Service();
+ Service s2 = new Service(s1);
+ assertTrue(s1.equals(s2));
+ assertTrue(s2.equals(s1));
+
+ s1 = new Service(UUID.randomUUID(), UUID.randomUUID(), "equalsTest", "1.1.1");
+ s2 = new Service(s1);
+ assertTrue(s1.equals(s2));
+ assertTrue(s2.equals(s1));
+ }
+
+ @Test
+ public void testToString() {
+ Service s1 = new Service();
+ Service s2 = new Service(s1);
+ assertEquals(s1.toString(), s2.toString());
+
+ s1 = new Service(UUID.randomUUID(), UUID.randomUUID(), "equalsTest", "1.1.1");
+ s2 = new Service(s1);
+ assertEquals(s1.toString(), s2.toString());
+ }
+
+ @Test
+ public void testHashCode() {
+ Service s1 = new Service();
+ Service s2 = new Service(s1);
+ assertEquals(s1.hashCode(), s2.hashCode());
+
+ s1 = new Service(UUID.randomUUID(), UUID.randomUUID(), "equalsTest", "1.1.1");
+ s2 = new Service(s1);
+ assertEquals(s1.hashCode(), s2.hashCode());
+ }
+}
diff --git a/models-interactions/model-impl/sdc/src/test/resources/service_trinity.yaml b/models-interactions/model-impl/sdc/src/test/resources/service_trinity.yaml
new file mode 100644
index 000000000..391dc0328
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/test/resources/service_trinity.yaml
@@ -0,0 +1,17 @@
+# Copyright 2018 AT&T Intellectual Property. All rights reserved
+# Modifications Copyright (C) 2019 Nordix Foundation.
+#
+# 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.
+Service:
+ serviceName: trinity
+ \ No newline at end of file
diff --git a/models-interactions/model-impl/sdc/src/test/resources/service_vSCP.yaml b/models-interactions/model-impl/sdc/src/test/resources/service_vSCP.yaml
new file mode 100644
index 000000000..1c377c9c5
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/test/resources/service_vSCP.yaml
@@ -0,0 +1,16 @@
+# Copyright 2018 AT&T Intellectual Property. All rights reserved
+# Modifications Copyright (C) 2019 Nordix Foundation.
+#
+# 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.
+Service:
+ serviceName: vSCP \ No newline at end of file
diff --git a/models-interactions/model-impl/sdc/src/test/resources/service_vUSP.yaml b/models-interactions/model-impl/sdc/src/test/resources/service_vUSP.yaml
new file mode 100644
index 000000000..6d6f9f1e1
--- /dev/null
+++ b/models-interactions/model-impl/sdc/src/test/resources/service_vUSP.yaml
@@ -0,0 +1,16 @@
+# Copyright 2018 AT&T Intellectual Property. All rights reserved
+# Modifications Copyright (C) 2019 Nordix Foundation.
+#
+# 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.
+Service:
+ serviceName: vUSP