aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/mso/model
diff options
context:
space:
mode:
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/mso/model')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/mso/model/AddOrRemoveInstanceGroupMemberRequestDetails.java51
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/mso/model/BaseResourceInstantiationRequestDetails.java35
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/mso/model/CloudConfiguration.java192
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/mso/model/CloudConfiguration.kt12
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationPre1806RequestDetails.java51
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationRequestDetails.java8
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java16
7 files changed, 149 insertions, 216 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/model/AddOrRemoveInstanceGroupMemberRequestDetails.java b/vid-app-common/src/main/java/org/onap/vid/mso/model/AddOrRemoveInstanceGroupMemberRequestDetails.java
new file mode 100644
index 000000000..f6b8a4241
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/mso/model/AddOrRemoveInstanceGroupMemberRequestDetails.java
@@ -0,0 +1,51 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.vid.mso.model;
+
+import java.util.List;
+
+/*
+Based on this model:
+{
+ "requestDetails": {
+ "requestInfo": {
+ "source": "VID",
+ "requestorId": "az2016"
+ },
+ "relatedInstanceList": [
+ {
+ "relatedInstance": {
+ "instanceId": "{the to be removed/added as member vnf-id}",
+ "modelInfo": {
+ "modelType": "vnf"
+ }
+ }
+ }
+ ]
+ }
+}
+*/
+
+public class AddOrRemoveInstanceGroupMemberRequestDetails extends BaseResourceInstantiationRequestDetails {
+ public AddOrRemoveInstanceGroupMemberRequestDetails(RequestInfo requestInfo, List<RelatedInstance> relatedInstanceList) {
+ super(null, null, requestInfo, null, null, relatedInstanceList, null);
+ }
+}
diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/model/BaseResourceInstantiationRequestDetails.java b/vid-app-common/src/main/java/org/onap/vid/mso/model/BaseResourceInstantiationRequestDetails.java
index c6eb53832..43f5b0070 100644
--- a/vid-app-common/src/main/java/org/onap/vid/mso/model/BaseResourceInstantiationRequestDetails.java
+++ b/vid-app-common/src/main/java/org/onap/vid/mso/model/BaseResourceInstantiationRequestDetails.java
@@ -7,9 +7,9 @@
* 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.
@@ -20,15 +20,15 @@
package org.onap.vid.mso.model;
+import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_EMPTY;
+import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
+
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;
-
import java.util.List;
-import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
-
@JsonInclude(NON_NULL)
public class BaseResourceInstantiationRequestDetails {
@@ -83,21 +83,21 @@ public class BaseResourceInstantiationRequestDetails {
this.requestParameters = requestParameters;
}
- public static class RequestInfo {
+ public static class RequestInfo {
- @JsonInclude(NON_NULL) public final String instanceName;
- @JsonInclude(NON_NULL) public final String productFamilyId;
+ @JsonInclude(NON_EMPTY) public final String instanceName;
+ @JsonInclude(NON_EMPTY) public final String productFamilyId;
public final String source;
- public final boolean suppressRollback;
+ @JsonInclude(NON_NULL) public final Boolean suppressRollback;
public final String requestorId;
- public RequestInfo(String instanceName, String productFamilyId, String source, boolean rollbackOnFailure, String requestorId) {
+ public RequestInfo(String instanceName, String productFamilyId, String source, Boolean rollbackOnFailure, String requestorId) {
this.instanceName = instanceName;
this.productFamilyId = productFamilyId;
this.source = source;
this.requestorId = requestorId;
// in the FE we are asking for "RollbackOnFailure" but to MSO we are passing the negative value "suppressRollback"
- this.suppressRollback = !rollbackOnFailure;
+ this.suppressRollback = rollbackOnFailure != null ? (!rollbackOnFailure) : null;
}
}
@@ -120,9 +120,13 @@ public class BaseResourceInstantiationRequestDetails {
public static class LineOfBusiness{
public final String lineOfBusinessName;
- public LineOfBusiness(String lineOfBusiness) {
+ private LineOfBusiness(String lineOfBusiness) {
this.lineOfBusinessName = lineOfBusiness;
}
+
+ public static LineOfBusiness of(String lineOfBusiness) {
+ return lineOfBusiness==null ? null : new LineOfBusiness(lineOfBusiness);
+ }
}
@JsonTypeName("relatedInstance")
@@ -150,13 +154,18 @@ public class BaseResourceInstantiationRequestDetails {
public static class RequestParameters {
public final List<? extends UserParamTypes> userParams;
- public RequestParameters(List<? extends UserParamTypes> userParams) {
+ @JsonInclude(NON_NULL) public final String testApi;
+ public RequestParameters(List<? extends UserParamTypes> userParams, String testApi) {
this.userParams = userParams;
+ this.testApi = testApi;
}
public List<? extends UserParamTypes> getUserParams() {
return userParams;
}
+ public String getTestApi() {
+ return testApi;
+ }
}
}
diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/model/CloudConfiguration.java b/vid-app-common/src/main/java/org/onap/vid/mso/model/CloudConfiguration.java
deleted file mode 100644
index 2e0991755..000000000
--- a/vid-app-common/src/main/java/org/onap/vid/mso/model/CloudConfiguration.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * VID
- * ================================================================================
- * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.vid.mso.model;
-
-import com.fasterxml.jackson.annotation.*;
-import org.apache.commons.lang.builder.EqualsBuilder;
-import org.apache.commons.lang.builder.HashCodeBuilder;
-import org.apache.commons.lang.builder.ToStringBuilder;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-/**
- * fields communicating the cloud configuration in a standard way
- *
- */
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@JsonPropertyOrder({
- "nodeLocation",
- "lcpCloudRegionId",
- "tenantId",
- "cloudOwner"
-})
-public class CloudConfiguration {
-
- /**
- * Location identifier for the node
- *
- */
- @JsonProperty("nodeLocation")
- private String nodeLocation;
- /**
- * LCP Node Location identifier
- *
- */
- @JsonProperty("lcpCloudRegionId")
- private String lcpCloudRegionId;
- /**
- * Openstack tenant id
- *
- */
- @JsonProperty("tenantId")
- private String tenantId;
- /**
- * the cloud owner
- *
- */
- @JsonProperty("cloudOwner")
- private String cloudOwner;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<>();
-
- /**
- * Location identifier for the node
- *
- * @return
- * The nodeLocation
- */
- @JsonProperty("nodeLocation")
- public String getNodeLocation() {
- return nodeLocation;
- }
-
- /**
- * Location identifier for the node
- *
- * @param nodeLocation
- * The nodeLocation
- */
- @JsonProperty("nodeLocation")
- public void setNodeLocation(String nodeLocation) {
- this.nodeLocation = nodeLocation;
- }
-
- /**
- * LCP Node Location identifier
- *
- * @return
- * The lcpCloudRegionId
- */
- @JsonProperty("lcpCloudRegionId")
- public String getLcpCloudRegionId() {
- return lcpCloudRegionId;
- }
-
- /**
- * LCP Node Location identifier
- *
- * @param lcpCloudRegionId
- * The lcpCloudRegionId
- */
- @JsonProperty("lcpCloudRegionId")
- public void setLcpCloudRegionId(String lcpCloudRegionId) {
- this.lcpCloudRegionId = lcpCloudRegionId;
- }
-
- /**
- * Openstack tenant id
- *
- * @return
- * The tenantId
- */
- @JsonProperty("tenantId")
- public String getTenantId() {
- return tenantId;
- }
-
- /**
- * Openstack tenant id
- *
- * @param tenantId
- * The tenantId
- */
- @JsonProperty("tenantId")
- public void setTenantId(String tenantId) {
- this.tenantId = tenantId;
- }
-
- /**
- * the cloud owner
- *
- * @return
- * The cloudOwner
- */
- @JsonProperty("cloudOwner")
- public String getCloudOwner() {
- return cloudOwner;
- }
-
- /**
- * the cloud owner
- *
- * @param cloudOwner
- * The cloudOwner
- */
- @JsonProperty("cloudOwner")
- public void setCloudOwner(String cloudOwner) {
- this.cloudOwner = cloudOwner;
- }
-
- @Override
- public String toString() {
- return ToStringBuilder.reflectionToString(this);
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
- @Override
- public int hashCode() {
- return new HashCodeBuilder().append(nodeLocation).append(lcpCloudRegionId).append(tenantId).append(cloudOwner).append(additionalProperties).toHashCode();
- }
-
- @Override
- public boolean equals(Object other) {
- if (other == this) {
- return true;
- }
- if (!(other instanceof CloudConfiguration)) {
- return false;
- }
- CloudConfiguration rhs = ((CloudConfiguration) other);
- return new EqualsBuilder().append(nodeLocation, rhs.nodeLocation).append(lcpCloudRegionId, rhs.lcpCloudRegionId).append(tenantId, rhs.tenantId).append(cloudOwner, rhs.cloudOwner).append(additionalProperties, rhs.additionalProperties).isEquals();
- }
-
-}
diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/model/CloudConfiguration.kt b/vid-app-common/src/main/java/org/onap/vid/mso/model/CloudConfiguration.kt
new file mode 100644
index 000000000..d603e5b87
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/mso/model/CloudConfiguration.kt
@@ -0,0 +1,12 @@
+package org.onap.vid.mso.model
+
+import com.fasterxml.jackson.annotation.JsonInclude
+
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+//tenantId and might be null for supporting create configuration API (port mirroring)
+//cloudOwner might because MSO enable it and it might be used in some flows (default value in MSO "irma-aic")
+data class CloudConfiguration @JvmOverloads constructor(
+ var lcpCloudRegionId: String? = null,
+ var tenantId:String? = null,
+ var cloudOwner: String? = null
+) \ No newline at end of file
diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationPre1806RequestDetails.java b/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationPre1806RequestDetails.java
new file mode 100644
index 000000000..effc10a08
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationPre1806RequestDetails.java
@@ -0,0 +1,51 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.vid.mso.model;
+
+import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_EMPTY;
+import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
+import static org.onap.vid.mso.model.BaseResourceInstantiationRequestDetails.RelatedInstance;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import java.util.List;
+import org.apache.commons.lang3.StringUtils;
+import org.onap.vid.mso.rest.SubscriberInfo;
+
+public class ServiceInstantiationPre1806RequestDetails extends ServiceInstantiationRequestDetails {
+
+ @JsonInclude(NON_NULL)
+ public final CloudConfiguration cloudConfiguration;
+ @JsonInclude(NON_EMPTY)
+ public final List<RelatedInstance> relatedInstanceList;
+
+ public ServiceInstantiationPre1806RequestDetails(ModelInfo modelInfo, ServiceInstantiationOwningEntity owningEntity,
+ SubscriberInfo subscriberInfo, Project project, RequestInfo requestInfo,
+ RequestParameters requestParameters, CloudConfiguration cloudConfiguration,
+ List<RelatedInstance> relatedInstanceList) {
+ super(modelInfo, owningEntity, subscriberInfo, project, requestInfo, requestParameters);
+ if ((cloudConfiguration != null) && (!StringUtils.isEmpty(cloudConfiguration.getLcpCloudRegionId())) && (!StringUtils.isEmpty(cloudConfiguration.getTenantId()))){
+ this.cloudConfiguration = cloudConfiguration;
+ } else {
+ this.cloudConfiguration = null;
+ }
+ this.relatedInstanceList = relatedInstanceList;
+ }
+}
diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationRequestDetails.java b/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationRequestDetails.java
index 700f43857..8f8dd681a 100644
--- a/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationRequestDetails.java
+++ b/vid-app-common/src/main/java/org/onap/vid/mso/model/ServiceInstantiationRequestDetails.java
@@ -76,8 +76,8 @@ public class ServiceInstantiationRequestDetails {
public static class RequestInfo {
- @JsonInclude(NON_NULL) public final String instanceName;
- @JsonInclude(NON_NULL) public final String productFamilyId;
+ @JsonInclude(NON_EMPTY) public final String instanceName;
+ @JsonInclude(NON_EMPTY) public final String productFamilyId;
public final String source;
public final boolean suppressRollback;
public final String requestorId;
@@ -150,7 +150,7 @@ public class ServiceInstantiationRequestDetails {
private static class ServiceInstantiationServiceInner implements UserParamTypes {
public ModelInfo modelInfo = new ModelInfo();
- @JsonInclude(NON_NULL)
+ @JsonInclude(NON_EMPTY)
public String instanceName;
public List<Map<String, String>> instanceParams;
public ServiceInstantiationVnfList resources;
@@ -182,7 +182,7 @@ public class ServiceInstantiationRequestDetails {
public final String productFamilyId;
public final List<Map<String, String>> instanceParams;
@JsonInclude(NON_EMPTY) public final List<VfModuleMacro> vfModules;
- @JsonInclude(NON_NULL) public final String instanceName;
+ @JsonInclude(NON_EMPTY) public final String instanceName;
public ServiceInstantiationVnf(ModelInfo modelInfo, CloudConfiguration cloudConfiguration, String platform, String lineOfBusiness, String productFamilyId, List<Map<String, String>> instanceParams, List<VfModuleMacro> vfModules, String instanceName) {
this.modelInfo = modelInfo;
diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java b/vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java
index 4e6f074c2..3b6cd1d3d 100644
--- a/vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java
+++ b/vid-app-common/src/main/java/org/onap/vid/mso/model/VfModuleInstantiationRequestDetails.java
@@ -7,9 +7,9 @@
* 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.
@@ -20,8 +20,10 @@
package org.onap.vid.mso.model;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -109,14 +111,14 @@ public class VfModuleInstantiationRequestDetails extends BaseResourceInstantiati
}
public static class RequestParametersVfModule extends BaseResourceInstantiationRequestDetails.RequestParameters {
- private final boolean usePreload;
+ @JsonInclude(NON_NULL) private final Boolean usePreload;
- public RequestParametersVfModule(List<? extends UserParamTypes> userParams, boolean usePreload) {
- super(userParams);
+ public RequestParametersVfModule(List<? extends UserParamTypes> userParams, Boolean usePreload, String testApi) {
+ super(userParams, testApi);
this.usePreload = usePreload;
}
- public boolean isUsePreload() {
+ public Boolean isUsePreload() {
return usePreload;
}
}