From d20e0ddf4b8953ce539f1dc7bf7cb4dca30fd189 Mon Sep 17 00:00:00 2001 From: "Leigh, Phillip (pl876u)" Date: Wed, 27 Feb 2019 13:31:33 -0500 Subject: AaiCtxBuilder:Handle L-Interface & Logical-Link Also remove resourceVersion and handle empty valude of any attribute (LOG-988) Issue-ID: LOG-988 Issue-ID: LOG-766 Issue-ID: LOG-767 Change-Id: I8b3eef61cebf93690aaa0291f8d0a7c1e3575088 Signed-off-by: Leigh, Phillip (pl876u) --- .../aai/datatype/LogicalLinkInstance.java | 351 +++++++++++++++++++++ 1 file changed, 351 insertions(+) create mode 100644 src/main/java/org/onap/pomba/contextbuilder/aai/datatype/LogicalLinkInstance.java (limited to 'src/main/java/org/onap/pomba/contextbuilder/aai/datatype/LogicalLinkInstance.java') diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/LogicalLinkInstance.java b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/LogicalLinkInstance.java new file mode 100644 index 0000000..718dfd3 --- /dev/null +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/LogicalLinkInstance.java @@ -0,0 +1,351 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * 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.pomba.contextbuilder.aai.datatype; + + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +import javax.validation.Valid; + +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.onap.pomba.contextbuilder.aai.exception.AuditError; +import org.onap.pomba.contextbuilder.aai.exception.AuditException; + +public class LogicalLinkInstance { + @SerializedName("link-name") + @Expose + private String linkName; + @SerializedName("link-id") + @Expose + private String linkId; + @SerializedName("model-version-id") + @Expose + private String modelVersionId; + @SerializedName("model-invariant-id") + @Expose + private String modelInvariantId; + @SerializedName("in-maint") + @Expose + private String inMaint; + @SerializedName("link-type") + @Expose + private String linkType; + @SerializedName("routing-protocol") + @Expose + private String routingProtocol; + @SerializedName("speed-value") + @Expose + private String speedValue; + @SerializedName("speed-units") + @Expose + private String speedUnits; + @SerializedName("ip-version") + @Expose + private String ipVersion; + @SerializedName("prov-status") + @Expose + private String provStatus; + @SerializedName("link-role") + @Expose + private String linkRole; + @SerializedName("link-name2") + @Expose + private String linkName2; + @SerializedName("circuit-id") + @Expose + @Valid + private String circuitId; + @SerializedName("purpose") + @Expose + @Valid + private String purpose; + + + public String getLinkName() { + return linkName; + } + + + public void setLinkName(String linkName) { + this.linkName = linkName; + } + + + public String getLinkId() { + return linkId; + } + + + public void setLinkId(String linkId) { + this.linkId = linkId; + } + + + public String getModelVersionId() { + return modelVersionId; + } + + + public void setModelVersionId(String modelVersionId) { + this.modelVersionId = modelVersionId; + } + + + public String getModelInvariantId() { + return modelInvariantId; + } + + + public void setModelInvariantId(String modelInvariantId) { + this.modelInvariantId = modelInvariantId; + } + + + public String getInMaint() { + return inMaint; + } + + + public void setInMaint(String inMaint) { + this.inMaint = inMaint; + } + + + public String getLinkType() { + return linkType; + } + + + public void setLinkType(String linkType) { + this.linkType = linkType; + } + + + public String getRoutingProtocol() { + return routingProtocol; + } + + + public void setRoutingProtocol(String routingProtocol) { + this.routingProtocol = routingProtocol; + } + + + public String getSpeedValue() { + return speedValue; + } + + + public void setSpeedValue(String speedValue) { + this.speedValue = speedValue; + } + + + public String getSpeedUnits() { + return speedUnits; + } + + + public void setSpeedUnits(String speedUnits) { + this.speedUnits = speedUnits; + } + + + public String getIpVersion() { + return ipVersion; + } + + + public void setIpVersion(String ipVersion) { + this.ipVersion = ipVersion; + } + + + public String getProvStatus() { + return provStatus; + } + + + public void setProvStatus(String provStatus) { + this.provStatus = provStatus; + } + + + public String getLinkRole() { + return linkRole; + } + + + public void setLinkRole(String linkRole) { + this.linkRole = linkRole; + } + + + public String getLinkName2() { + return linkName2; + } + + + public void setLinkName2(String linkName2) { + this.linkName2 = linkName2; + } + + + public String getCircuitId() { + return circuitId; + } + + + public void setCircuitId(String circuitId) { + this.circuitId = circuitId; + } + + + public String getPurpose() { + return purpose; + } + + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + + public String toJson() { + return gson.toJson(this); + } + + + public static LogicalLinkInstance fromJson(String payload) throws AuditException { + try { + if (payload == null || payload.isEmpty()) { + throw new AuditException("Empty Json response"); + } + return gson.fromJson(payload, LogicalLinkInstance.class); + } catch (Exception ex) { + throw new AuditException(AuditError.JSON_READER_PARSE_ERROR, ex); + } + } + + /** + * No args constructor for use in serialization + * + */ + public LogicalLinkInstance() { + } + + /** + * + * @param linkName + * @param linkId + * @param modelVersionId + * @param modelInvariantId + * @param linkType + * @param routingProtocol + * @param speedValue + * @param speedUnits + * @param provStatus + * @param inMaint + * @param linkRole + * @param ipVersion + * @param linkName2 + * + */ + public LogicalLinkInstance(String linkName, String linkId, String modelVersionId, + String modelInvariantId, String linkType,String routingProtocol, + String speedValue,String speedUnits,String provStatus, + String inMaint, String linkRole, String ipVersion, + String linkName2, String circuitId, String purpose) { + super(); + this.linkName = linkName; + this.linkId = linkId; + this.modelVersionId = modelVersionId; + this.modelInvariantId = modelInvariantId; + this.linkType = linkType; + this.routingProtocol = routingProtocol; + this.speedValue = speedValue; + this.speedUnits = speedUnits; + this.provStatus = provStatus; + this.inMaint = inMaint; + this.linkRole = linkRole; + this.ipVersion = ipVersion; + this.linkName2 = linkName2; + this.circuitId = circuitId; + this.purpose = purpose; + } + + + + /////////// common functions ////////////////////// + @Override + public String toString() { + return new ToStringBuilder(this) + .append("linkName", linkName) + .append("linkId", linkId) + .append("modelInvariantId", modelInvariantId) + .append("modelVersionId", modelVersionId) + .append("linkType", linkType) + .append("routingProtocol", routingProtocol) + .append("speedValue", speedValue) + .append("speedUnits", speedUnits) + .append("ipVersion", ipVersion) + .append("provStatus", provStatus) + .append("in-maint", inMaint) + .append("linkRole", linkRole) + .append("linkName2", linkName2) + .append("circuitId", circuitId) + .append("purpose", purpose) + .toString(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder().append(linkName).append(ipVersion).append(speedUnits).append(speedValue).append(circuitId).append(purpose).toHashCode(); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + if (!(other instanceof LogicalLinkInstance)) { + return false; + } + LogicalLinkInstance rhs = ((LogicalLinkInstance) other); + return new EqualsBuilder() + .append(linkName, rhs.linkName) + .append(linkId, rhs.linkId) + .append(speedUnits, rhs.speedUnits) + .append(ipVersion, rhs.ipVersion) + .append(linkType, rhs.linkType) + .append(speedValue, rhs.speedValue) + .append(modelInvariantId, rhs.modelInvariantId) + .append(circuitId, rhs.circuitId) + .append(linkRole, rhs.linkRole) + .append(linkName2, rhs.linkName2) + .append(purpose, rhs.purpose) + .isEquals(); + } +} -- cgit 1.2.3-korg