diff options
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/mso/model')
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; } } |