From b2e9556678bbacd8c3777973b9fa89b63497e026 Mon Sep 17 00:00:00 2001 From: "Leigh, Phillip (pl876u)" Date: Fri, 8 Feb 2019 16:23:27 -0500 Subject: Handle L-Interface in AaiCtxBuilder Also adapted the sprintframework to aaiCtxBuilder and added more junit test cases Issue-ID: LOG-766 Change-Id: Ibcc81e7ad3602666ff17c660d33b9ab7b57620df Signed-off-by: Leigh, Phillip (pl876u) --- .../aai/datatype/LInterfaceInstance.java | 226 +++++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 src/main/java/org/onap/pomba/contextbuilder/aai/datatype/LInterfaceInstance.java (limited to 'src/main/java/org/onap/pomba/contextbuilder/aai/datatype/LInterfaceInstance.java') diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/LInterfaceInstance.java b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/LInterfaceInstance.java new file mode 100644 index 0000000..db992b1 --- /dev/null +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/LInterfaceInstance.java @@ -0,0 +1,226 @@ +/* + * ============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 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 LInterfaceInstance { + + @SerializedName("interface-id") + @Expose + private String interfaceId; + + @SerializedName("interface-name") + @Expose + private String interfaceName; + @SerializedName("interface-role") + @Expose + private String interfaceRole; + @SerializedName("is-port-mirrored") + @Expose + private String isPortMirrored; + @SerializedName("admin-status") + @Expose + private String adminStatus; + @SerializedName("network-name") + @Expose + private String networkName; + @SerializedName("macaddr") + @Expose + private String macAddr; + @SerializedName("in-maint") + @Expose + private String inMaint; + + private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + + public String toJson() { + return gson.toJson(this); + } + + public String getInterfaceId() { + return interfaceId; + } + + public void setInterfaceId(String interfaceId) { + this.interfaceId = interfaceId; + } + + public String getInterfaceName() { + return interfaceName; + } + + public void setInterfaceName(String interfaceName) { + this.interfaceName = interfaceName; + } + + public String getInterfaceRole() { + return interfaceRole; + } + + public void setInterfaceRole(String interfaceRole) { + this.interfaceRole = interfaceRole; + } + + public String getIsPortMirrored() { + return isPortMirrored; + } + + public void setIsPortMirrored(String isPortMirrored) { + this.isPortMirrored = isPortMirrored; + } + + public String getAdminStatus() { + return adminStatus; + } + + public void setAdminStatus(String adminStatus) { + this.adminStatus = adminStatus; + } + + public String getNetworkName() { + return networkName; + } + + public void setNetworkName(String networkName) { + this.networkName = networkName; + } + + public String getMacAddr() { + return macAddr; + } + + public void setMacAddr(String macAddr) { + this.macAddr = macAddr; + } + + public String getInMaint() { + return inMaint; + } + + public void setInMaint(String inMaint) { + this.inMaint = inMaint; + } + + public static LInterfaceInstance fromJson(String payload) throws AuditException { + try { + if (payload == null || payload.isEmpty()) { + throw new AuditException("Empty Json response"); + } + return gson.fromJson(payload, LInterfaceInstance.class); + } catch (Exception ex) { + throw new AuditException(AuditError.JSON_READER_PARSE_ERROR, ex); + } + } + + /** + * No args constructor for use in serialization + * + */ + public LInterfaceInstance() { + } + + /** + * + * @param interfaceId + * @param interfaceName + * @param interfaceRole + * @param isPortMirrored + * @param adminStatus + * @param networkName + * @param macAddr + * @param inMaint + * + */ + public LInterfaceInstance(String interfaceId, String interfaceName, String interfaceRole, + String isPortMirrored, String adminStatus, String networkName, + String macAddr,String inMaint + ) { + super(); + this.interfaceId = interfaceId; + this.interfaceName = interfaceName; + this.interfaceRole = interfaceRole; + this.isPortMirrored = isPortMirrored; + this.adminStatus = adminStatus; + this.networkName = networkName; + this.macAddr = macAddr; + this.inMaint = inMaint; + } + + + + /////////// common functions ////////////////////// + @Override + public String toString() { + return new ToStringBuilder(this) + .append("interfaceId", interfaceId) + .append("interfaceName", interfaceName) + .append("interfaceRole", interfaceRole) + .append("isPortMirrored", isPortMirrored) + .append("adminStatus", adminStatus) + .append("networkName", networkName) + .append("macAddr", macAddr) + .append("inMaint", inMaint) + .toString(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder() + .append(interfaceId) + .append(interfaceName) + .append(interfaceRole) + .append(isPortMirrored) + .append(adminStatus) + .append(networkName) + .append(macAddr) + .append(inMaint) + .toHashCode(); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + if (!(other instanceof LInterfaceInstance)) { + return false; + } + LInterfaceInstance rhs = ((LInterfaceInstance) other); + return new EqualsBuilder() + .append(interfaceId, rhs.interfaceId) + .append(interfaceName, rhs.interfaceName) + .append(interfaceRole, rhs.interfaceRole) + .append(isPortMirrored, rhs.isPortMirrored) + .append(adminStatus, rhs.adminStatus) + .append(networkName, rhs.networkName) + .append(macAddr, rhs.macAddr) + .append(inMaint, rhs.inMaint) + .isEquals(); + } +} -- cgit 1.2.3-korg