From dca4dd56b599c7ae44f8f256bd8ca8e8e05895f2 Mon Sep 17 00:00:00 2001 From: Michal Kabaj Date: Wed, 20 Nov 2019 21:38:54 +0100 Subject: OperationalEnvironment improvements -added new unit test to AaiControllerTest -OperationalEnvironment and List are now immutable -builder improvements -removed redundant test Issue-ID: VID-706 Signed-off-by: Michal Kabaj Change-Id: I2cf0d0b124458b9306637614b3d26c85c780ca4d Signed-off-by: Michal Kabaj --- .../org/onap/vid/aai/OperationalEnvironment.java | 203 ++++++++++----------- .../OperationalEnvironmentList.java | 36 ++-- 2 files changed, 111 insertions(+), 128 deletions(-) (limited to 'vid-app-common/src/main/java/org') diff --git a/vid-app-common/src/main/java/org/onap/vid/aai/OperationalEnvironment.java b/vid-app-common/src/main/java/org/onap/vid/aai/OperationalEnvironment.java index be6c6e51f..71ed1713a 100644 --- a/vid-app-common/src/main/java/org/onap/vid/aai/OperationalEnvironment.java +++ b/vid-app-common/src/main/java/org/onap/vid/aai/OperationalEnvironment.java @@ -3,13 +3,14 @@ * VID * ================================================================================ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nokia. * ================================================================================ * 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,37 +21,83 @@ package org.onap.vid.aai; -import org.onap.vid.aai.model.RelationshipList; +import static com.fasterxml.jackson.annotation.JsonProperty.Access.WRITE_ONLY; + +import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import org.onap.vid.aai.model.RelationshipList; @JsonIgnoreProperties(ignoreUnknown = true) -public class OperationalEnvironment { - - private String operationalEnvironmentId; - private String operationalEnvironmentName; - private String operationalEnvironmentType; - private String operationalEnvironmentStatus; - private String tenantContext; - private String workloadContext; - private String resourceVersion; - private RelationshipList relationshipList; - - public OperationalEnvironment() { +public final class OperationalEnvironment { + + private final String operationalEnvironmentId; + private final String operationalEnvironmentName; + private final String operationalEnvironmentType; + private final String operationalEnvironmentStatus; + private final String tenantContext; + private final String workloadContext; + private final String resourceVersion; + private final RelationshipList relationshipList; + + public static OperationalEnvironmentBuilder builder() { + return new OperationalEnvironmentBuilder(); + } + + @JsonCreator + OperationalEnvironment( + @JsonProperty(value = "operational-environment-id", access = WRITE_ONLY) String operationalEnvironmentId, + @JsonProperty(value = "operational-environment-name", access = WRITE_ONLY) String operationalEnvironmentName, + @JsonProperty(value = "operational-environment-type", access = WRITE_ONLY) String operationalEnvironmentType, + @JsonProperty(value = "operational-environment-status", access = WRITE_ONLY) String operationalEnvironmentStatus, + @JsonProperty(value = "tenant-context", access = WRITE_ONLY) String tenantContext, + @JsonProperty(value = "workload-context", access = WRITE_ONLY) String workloadContext, + @JsonProperty(value = "resource-version", access = WRITE_ONLY) String resourceVersion, + @JsonProperty(value = "relationship-list", access = WRITE_ONLY) RelationshipList relationshipList) { + this.operationalEnvironmentId = operationalEnvironmentId; + this.operationalEnvironmentName = operationalEnvironmentName; + this.operationalEnvironmentType = operationalEnvironmentType; + this.operationalEnvironmentStatus = operationalEnvironmentStatus; + this.tenantContext = tenantContext; + this.workloadContext = workloadContext; + this.resourceVersion = resourceVersion; + this.relationshipList = relationshipList; } - public OperationalEnvironment(OperationalEnvironmentBuilder builder) { - this.operationalEnvironmentId = builder.operationalEnvironmentId; - this.operationalEnvironmentName = builder.operationalEnvironmentName; - this.operationalEnvironmentType = builder.operationalEnvironmentType; - this.operationalEnvironmentStatus = builder.operationalEnvironmentStatus; - this.tenantContext = builder.tenantContext; - this.workloadContext = builder.workloadContext; - this.resourceVersion = builder.resourceVersion; - this.relationshipList = builder.relationshipList; + public String getOperationalEnvironmentId() { + return operationalEnvironmentId; + } + + public String getOperationalEnvironmentName() { + return operationalEnvironmentName; + } + + public String getOperationalEnvironmentType() { + return operationalEnvironmentType; + } + + public String getOperationalEnvironmentStatus() { + return operationalEnvironmentStatus; + } + + public String getTenantContext() { + return tenantContext; + } + + public String getWorkloadContext() { + return workloadContext; + } + + public String getResourceVersion() { + return resourceVersion; + } + + public RelationshipList getRelationshipList() { + return relationshipList; } public static class OperationalEnvironmentBuilder { + private String operationalEnvironmentId; private String operationalEnvironmentName; private String operationalEnvironmentType; @@ -58,127 +105,65 @@ public class OperationalEnvironment { private String tenantContext; private String workloadContext; private String resourceVersion; + private RelationshipList relationshipList; - public OperationalEnvironmentBuilder setOperationalEnvironmentId( - String operationalEnvironmentId) { + public OperationalEnvironmentBuilder withOperationalEnvironmentId( + String operationalEnvironmentId) { this.operationalEnvironmentId = operationalEnvironmentId; return this; } - public OperationalEnvironmentBuilder setOperationalEnvironmentName( - String operationalEnvironmentName) { + public OperationalEnvironmentBuilder withOperationalEnvironmentName( + String operationalEnvironmentName) { this.operationalEnvironmentName = operationalEnvironmentName; return this; } - public OperationalEnvironmentBuilder setOperationalEnvironmentType( - String operationalEnvironmentType) { + public OperationalEnvironmentBuilder withOperationalEnvironmentType( + String operationalEnvironmentType) { this.operationalEnvironmentType = operationalEnvironmentType; return this; } - public OperationalEnvironmentBuilder setOperationalEnvironmentStatus( - String operationalEnvironmentStatus) { + public OperationalEnvironmentBuilder withOperationalEnvironmentStatus( + String operationalEnvironmentStatus) { this.operationalEnvironmentStatus = operationalEnvironmentStatus; return this; } - public OperationalEnvironmentBuilder setTenantContext(String tenantContext) { + public OperationalEnvironmentBuilder withTenantContext(String tenantContext) { this.tenantContext = tenantContext; return this; } - public OperationalEnvironmentBuilder setWorkloadContext(String workloadContext) { + public OperationalEnvironmentBuilder withWorkloadContext(String workloadContext) { this.workloadContext = workloadContext; return this; } - public OperationalEnvironmentBuilder setResourceVersion(String resourceVersion) { + public OperationalEnvironmentBuilder withResourceVersion(String resourceVersion) { this.resourceVersion = resourceVersion; return this; } - public OperationalEnvironmentBuilder setRelationshipList( - RelationshipList relationshipList) { + public OperationalEnvironmentBuilder withRelationshipList( + RelationshipList relationshipList) { this.relationshipList = relationshipList; return this; } - public OperationalEnvironment createOperationalEnvironment() { - return new OperationalEnvironment(this); + public OperationalEnvironment build() { + return new OperationalEnvironment(operationalEnvironmentId, + operationalEnvironmentName, + operationalEnvironmentType, + operationalEnvironmentStatus, + tenantContext, + workloadContext, + resourceVersion, + relationshipList); } - } - - public String getOperationalEnvironmentId() { - return operationalEnvironmentId; - } - @JsonProperty("operational-environment-id") - public void setJsonOperationalEnvironmentId(String operationalEnvironmentId) { - this.operationalEnvironmentId = operationalEnvironmentId; } - public String getOperationalEnvironmentName() { - return operationalEnvironmentName; - } - - @JsonProperty("operational-environment-name") - public void setJsonOperationalEnvironmentName(String operationalEnvironmentName) { - this.operationalEnvironmentName = operationalEnvironmentName; - } - - public String getOperationalEnvironmentType() { - return operationalEnvironmentType; - } - - @JsonProperty("operational-environment-type") - public void setJsonOperationalEnvironmentType(String operationalEnvironmentType) { - this.operationalEnvironmentType = operationalEnvironmentType; - } - - public String getOperationalEnvironmentStatus() { - return operationalEnvironmentStatus; - } - - @JsonProperty("operational-environment-status") - public void setJsonOperationalEnvironmentStatus(String operationalEnvironmentStatus) { - this.operationalEnvironmentStatus = operationalEnvironmentStatus; - } - - public String getTenantContext() { - return tenantContext; - } - - @JsonProperty("tenant-context") - public void setJsonTenantContext(String tenantContext) { - this.tenantContext = tenantContext; - } - - public String getWorkloadContext() { - return workloadContext; - } - - @JsonProperty("workload-context") - public void setJsonWorkloadContext(String workloadContext) { - this.workloadContext = workloadContext; - } - - public String getResourceVersion() { - return resourceVersion; - } - - @JsonProperty("resource-version") - public void setJsonResourceVersion(String resourceVersion) { - this.resourceVersion = resourceVersion; - } - - public RelationshipList getRelationshipList() { - return relationshipList; - } - - @JsonProperty("relationship-list") - public void setJsonRelationshipList(RelationshipList relationshipList) { - this.relationshipList = relationshipList; - } } diff --git a/vid-app-common/src/main/java/org/onap/vid/aai/model/AaiGetOperationalEnvironments/OperationalEnvironmentList.java b/vid-app-common/src/main/java/org/onap/vid/aai/model/AaiGetOperationalEnvironments/OperationalEnvironmentList.java index 13c6ada2d..6b3fbbd64 100644 --- a/vid-app-common/src/main/java/org/onap/vid/aai/model/AaiGetOperationalEnvironments/OperationalEnvironmentList.java +++ b/vid-app-common/src/main/java/org/onap/vid/aai/model/AaiGetOperationalEnvironments/OperationalEnvironmentList.java @@ -3,13 +3,14 @@ * VID * ================================================================================ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nokia. * ================================================================================ * 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,30 +21,27 @@ package org.onap.vid.aai.model.AaiGetOperationalEnvironments; -import com.fasterxml.jackson.annotation.JsonAlias; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import org.onap.vid.aai.OperationalEnvironment; +import static com.fasterxml.jackson.annotation.JsonProperty.Access.WRITE_ONLY; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Collections; import java.util.List; +import org.onap.vid.aai.OperationalEnvironment; @JsonIgnoreProperties(ignoreUnknown = true) -public class OperationalEnvironmentList { - - public List getOperationalEnvironment() { - return operationalEnvironment; - } +public final class OperationalEnvironmentList { - @JsonAlias("operational-environment") - public void setOperationalEnvironment(List operationalEnvironment) { - this.operationalEnvironment = operationalEnvironment; - } + private final List operationalEnvironment; - public OperationalEnvironmentList() { + @JsonCreator + public OperationalEnvironmentList( + @JsonProperty(value = "operational-environment", access = WRITE_ONLY) List operationalEnvironment) { + this.operationalEnvironment = Collections.unmodifiableList(operationalEnvironment); } - public OperationalEnvironmentList(List operationalEnvironment) { - this.operationalEnvironment = operationalEnvironment; + public List getOperationalEnvironment() { + return operationalEnvironment; } - - private List operationalEnvironment; } -- cgit 1.2.3-korg