diff options
Diffstat (limited to 'adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudSite.java')
-rw-r--r-- | adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudSite.java | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudSite.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudSite.java new file mode 100644 index 0000000000..16963deb20 --- /dev/null +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudSite.java @@ -0,0 +1,160 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.cloud; + + +import org.codehaus.jackson.annotate.JsonProperty; + +/** + * JavaBean JSON class for a CloudSite. This bean represents a cloud location + * (i.e. and LCP node) in the NVP/AIC cloud. It will be loaded via CloudConfig + * object, of which it is a component (a CloudConfig JSON configuration file + * will contain multiple CloudSite definitions). + * + * Note that this is only used to access Cloud Configurations loaded from a + * JSON config file, so there are no explicit setters. + * + */ +public class CloudSite { + @JsonProperty + private String id; + @JsonProperty("region_id") + private String regionId; + @JsonProperty("identity_service_id") + private String identityServiceId; + @JsonProperty("aic_version") + private String aic_version; + @JsonProperty("clli") + private String clli; + + // Derived property (set by CloudConfig loader based on identityServiceId) + private CloudIdentity identityService; + + public CloudSite() {} + + public String getId() { + return id; + } + public void setId(String id) { + this.id = id; + } + + public String getRegionId() { + return regionId; + } + + public void setRegionId(String regionId) { + this.regionId = regionId; + } + + public String getIdentityServiceId() { + return identityServiceId; + } + + public CloudIdentity getIdentityService () { + return identityService; + } + + public void setIdentityService (CloudIdentity identity) { + this.identityService = identity; + } + + public String getAic_version() { + return aic_version; + } + + public void setAic_version(String aic_version) { + this.aic_version = aic_version; + } + + public String getClli() { + return clli; + } + + public void setClli(String clli) { + this.clli = clli; + } + + @Override + public String toString() { + return "CloudSite: id=" + id + + ", regionId=" + regionId + + ", identityServiceId=" + identityServiceId + + ", aic_version=" + aic_version + + ", clli=" + clli; + } + + @Override + public CloudSite clone() { + CloudSite cloudSiteCopy = new CloudSite(); + cloudSiteCopy.id = this.id; + cloudSiteCopy.regionId = this.regionId; + cloudSiteCopy.identityServiceId = this.identityServiceId; + cloudSiteCopy.aic_version = this.aic_version; + cloudSiteCopy.clli = this.clli; + cloudSiteCopy.identityService = this.identityService.clone(); + return cloudSiteCopy; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((id == null) ? 0 : id.hashCode()); + result = prime * result + ((identityService == null) ? 0 : identityService.hashCode()); + result = prime * result + ((identityServiceId == null) ? 0 : identityServiceId.hashCode()); + result = prime * result + ((regionId == null) ? 0 : regionId.hashCode()); + result = prime * result + ((aic_version == null) ? 0 : aic_version.hashCode()); + result = prime * result + ((clli == null) ? 0 : clli.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; + CloudSite other = (CloudSite) obj; + if (!cmp(id, other.id)) + return false; + if (!cmp(regionId, other.regionId)) + return false; + if (!cmp(identityServiceId, other.identityServiceId)) + return false; + if (!cmp(aic_version, other.aic_version)) + return false; + if (!cmp(clli, other.clli)) + return false; + if (!cmp(identityService, other.identityService)) + return false; + return true; + } + private boolean cmp(Object a, Object b) { + if (a == null) { + return (b == null); + } else { + return a.equals(b); + } + } +} |