From 774b738e809b3888c92573dc18961496bfb8b3eb Mon Sep 17 00:00:00 2001 From: "Leigh, Phillip (pl876u)" Date: Fri, 18 Jan 2019 17:56:41 -0500 Subject: Enhance aaiCtxBuider to handle PServer &Pinterface Issue-ID: LOG-762 Issue-ID: LOG-765 Change-Id: If47ef66324c4b5d746b92c596c2e00444708c890 Signed-off-by: Leigh, Phillip (pl876u) --- .../aai/datatype/PInterfaceInstance.java | 237 +++++++++++++++ .../aai/datatype/PInterfaceInstanceList.java | 81 +++++ .../contextbuilder/aai/datatype/PnfInstance.java | 22 +- .../aai/datatype/PserverInstance.java | 328 +++++++++++++++++++++ .../pomba/contextbuilder/aai/datatype/Vserver.java | 13 + 5 files changed, 679 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PInterfaceInstance.java create mode 100644 src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PInterfaceInstanceList.java create mode 100644 src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PserverInstance.java (limited to 'src/main/java/org/onap/pomba/contextbuilder/aai/datatype') diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PInterfaceInstance.java b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PInterfaceInstance.java new file mode 100644 index 0000000..a8c5004 --- /dev/null +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PInterfaceInstance.java @@ -0,0 +1,237 @@ +/* + * ============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 PInterfaceInstance { + + @SerializedName("interface-name") + @Expose + private String interfaceName; + @SerializedName("speed-value") + @Expose + private String speedValue; + @SerializedName("speed-units") + @Expose + private String speedUnits; + @SerializedName("port-description") + @Expose + private String portDescription; + @SerializedName("equipment-identifier") + @Expose + private String equipmentIdentifier; + @SerializedName("interface-role") + @Expose + private String interfaceRole; + @SerializedName("interface-type") + @Expose + private String interfaceType; + @SerializedName("prov-status") + @Expose + private String provStatus; + @SerializedName("resource-version") + @Expose + private String resourceVersion; + @SerializedName("in-maint") + @Expose + private String inMaint; + @SerializedName("inv-status") + @Expose + private String invStatus; + + public String getInterfaceName() { + return interfaceName; + } + + public void setInterfaceName(String interfaceName) { + this.interfaceName = interfaceName; + } + + 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 getPortDescription() { + return portDescription; + } + + public void setPortDescription(String portDescription) { + this.portDescription = portDescription; + } + + public String getEquipmentIdentifier() { + return equipmentIdentifier; + } + + public void setEquipmentIdentifier(String equipmentIdentifier) { + this.equipmentIdentifier = equipmentIdentifier; + } + + public String getInterfaceRole() { + return interfaceRole; + } + + public void setInterfaceRole(String interfaceRole) { + this.interfaceRole = interfaceRole; + } + + public String getInterfaceType() { + return interfaceType; + } + + public void setInterfaceType(String interfaceType) { + this.interfaceType = interfaceType; + } + + public String getProvStatus() { + return provStatus; + } + + public void setProvStatus(String provStatus) { + this.provStatus = provStatus; + } + + public String getResourceVersion() { + return resourceVersion; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + public String getInMaint() { + return inMaint; + } + + public void setInMaint(String inMaint) { + this.inMaint = inMaint; + } + + public String getInvStatus() { + return invStatus; + } + + public void setInvStatus(String invStatus) { + this.invStatus = invStatus; + } + + /** + * No args constructor for use in serialization + * + */ + public PInterfaceInstance() { + } + + /** + * + * @param interfaceName + * @param speedValue + * @param speedUnits + * @param portDescription + * @param equipmentIdentifier + * @param interfaceRole + * @param interfaceType + * @param provStatus + * @param resourceVersion + * @param inMaint + * @param invStatus + */ + public PInterfaceInstance(String interfaceName,String speedValue,String speedUnits, + String portDescription,String equipmentIdentifier,String interfaceRole,String interfaceType, + String provStatus,String resourceVersion,String inMaint, String invStatus ) { + super(); + this.interfaceName = interfaceName; + this.speedValue = speedValue; + this.speedUnits = speedUnits; + this.portDescription = portDescription; + this.equipmentIdentifier = equipmentIdentifier; + this.provStatus = provStatus; + this.resourceVersion = resourceVersion; + this.inMaint = inMaint; + this.invStatus = invStatus; + } + + private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + + public String toJson() { + return gson.toJson(this); + } + + public static PInterfaceInstance fromJson(String payload) throws AuditException { + try { + if (payload == null || payload.isEmpty()) { + throw new AuditException("Empty Json response"); + } + return gson.fromJson(payload, PInterfaceInstance.class); + } catch (Exception ex) { + throw new AuditException(AuditError.JSON_READER_PARSE_ERROR, ex); + } + } + + @Override + public String toString() { + return new ToStringBuilder(this).append("interfaceName", interfaceName).append("speedValue", speedValue).append("speedUnits", speedUnits) + .append("portDescription", portDescription).append("equipmentIdentifier", equipmentIdentifier).append("interfaceRole", interfaceRole) + .append("interfaceType", interfaceType).append("provStatus", provStatus).append("resourceVersion", resourceVersion) + .append("inMaint", inMaint).append("invStatus", invStatus) + .toString(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder().append(speedValue).append(equipmentIdentifier).toHashCode(); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + if (!(other instanceof PInterfaceInstance)) { + return false; + } + PInterfaceInstance rhs = ((PInterfaceInstance) other); + return new EqualsBuilder().append(interfaceName, rhs.interfaceName).append(speedValue, rhs.speedValue) + .append(speedUnits, rhs.speedUnits).append(equipmentIdentifier, rhs.equipmentIdentifier) + .append(interfaceRole, rhs.interfaceRole).append(interfaceType, rhs.interfaceType) + .append(inMaint, rhs.inMaint) + .isEquals(); + } + +} diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PInterfaceInstanceList.java b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PInterfaceInstanceList.java new file mode 100644 index 0000000..0a14726 --- /dev/null +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PInterfaceInstanceList.java @@ -0,0 +1,81 @@ +/* + * ============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.annotations.Expose; +import com.google.gson.annotations.SerializedName; +import java.util.List; +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; + +public class PInterfaceInstanceList { + + @SerializedName("p-interface") + @Expose + @Valid + private List pInterfaceList = null; + + /** + * No args constructor for use in serialization + * + */ + public PInterfaceInstanceList() { + } + + /** + * + * @param pInterfaceList + */ + public PInterfaceInstanceList(List pInterfaceList) { + super(); + this.pInterfaceList = pInterfaceList; + } + + public List getPInterfaceList() { + return pInterfaceList; + } + + public void setPInterfaceList(List pInterfaceList) { + this.pInterfaceList = pInterfaceList; + } + + @Override + public String toString() { + return new ToStringBuilder(this).append("pInterfaceList", pInterfaceList).toString(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder().append(pInterfaceList).toHashCode(); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + if (!(other instanceof PInterfaceInstanceList)) { + return false; + } + PInterfaceInstanceList rhs = ((PInterfaceInstanceList) other); + return new EqualsBuilder().append(pInterfaceList, rhs.pInterfaceList).isEquals(); + } + +} diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PnfInstance.java b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PnfInstance.java index f470b78..35f9d60 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PnfInstance.java +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PnfInstance.java @@ -23,6 +23,9 @@ 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; @@ -80,6 +83,11 @@ public class PnfInstance { @Expose private String modelVersionId; + @SerializedName("p-interfaces") + @Expose + @Valid + private PInterfaceInstanceList pInterfaceInstanceList; + public String getModelInvariantId() { return modelInvariantId; } @@ -205,6 +213,13 @@ public class PnfInstance { this.modelVersionId = modelVersionId; } + public PInterfaceInstanceList getPInterfaceInstanceList() { + return pInterfaceInstanceList; + } + + public void setPInterfaceInstanceList(PInterfaceInstanceList pInterfaceInstanceList) { + this.pInterfaceInstanceList = pInterfaceInstanceList; + } private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create(); @@ -247,9 +262,10 @@ public class PnfInstance { * @param serialNumber * @param modelInvariantId * @param modelVersionId + * @param pInterfaceInstanceList * */ - public PnfInstance(String uuid, String name, String networkRole, String name2, String name2Source,String equipmentType,String equipmentVendor,String equipmentModel,String managementOptions,String swVersion, String frameId, String serialNumber, String modelInvariantId, String modelVersionId) { + public PnfInstance(String uuid, String name, String networkRole, String name2, String name2Source,String equipmentType,String equipmentVendor,String equipmentModel,String managementOptions,String swVersion, String frameId, String serialNumber, String modelInvariantId, String modelVersionId, PInterfaceInstanceList pInterfaceInstanceList) { super(); this.pnfId = uuid; this.pnfName = name; @@ -265,6 +281,7 @@ public class PnfInstance { this.serialNumber = serialNumber; this.modelInvariantId = modelInvariantId; this.modelVersionId = modelVersionId; + this.pInterfaceInstanceList = pInterfaceInstanceList; } @@ -287,12 +304,13 @@ public class PnfInstance { .append("serialNumber", serialNumber) .append("modelInvariantId", modelInvariantId) .append("modelVersionId", modelVersionId) + .append("pInterfaceInstanceList", pInterfaceInstanceList) .toString(); } @Override public int hashCode() { - return new HashCodeBuilder().append(pnfId).append(frameId).append(serialNumber).append(modelInvariantId).append(modelVersionId).toHashCode(); + return new HashCodeBuilder().append(pnfId).append(frameId).append(serialNumber).append(modelInvariantId).append(modelVersionId).append(pInterfaceInstanceList).toHashCode(); } @Override diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PserverInstance.java b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PserverInstance.java new file mode 100644 index 0000000..63b3f70 --- /dev/null +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/PserverInstance.java @@ -0,0 +1,328 @@ +/* + * ============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 PserverInstance { + + @SerializedName("pserver-id") + @Expose + private String pserverId; + @SerializedName("hostname") + @Expose + private String hostname; + @SerializedName("pserver-name2") + @Expose + private String pserverName2; + @SerializedName("ptnii-equip-name") + @Expose + private String ptniiEquipName; + @SerializedName("equip-type") + @Expose + private String equipType; + @SerializedName("equip-vendor") + @Expose + private String equipVendor; + @SerializedName("equip-model") + @Expose + private String equipModel; + @SerializedName("fqdn") + @Expose + private String fqdn; + @SerializedName("serial-number") + @Expose + private String serialNumber; + @SerializedName("internet-topology") + @Expose + private String internetTopology; + @SerializedName("in-maint") + @Expose + private String inMaint; + @SerializedName("resource-version") + @Expose + private String resourceVersion; + @SerializedName("purpose") + @Expose + private String purpose; + @SerializedName("p-interfaces") + @Expose + @Valid + private PInterfaceInstanceList pInterfaceInstanceList; + + public String getPserverId() { + return pserverId; + } + + public void setPserverId(String pserverId) { + this.pserverId = pserverId; + } + + + public String getHostname() { + return hostname; + } + + + public void setHostname(String hostname) { + this.hostname = hostname; + } + + + public String getPserverName2() { + return pserverName2; + } + + + public void setPserverName2(String pserverName2) { + this.pserverName2 = pserverName2; + } + + + public String getPtniiEquipName() { + return ptniiEquipName; + } + + + public void setPtniiEquipName(String ptniiEquipName) { + this.ptniiEquipName = ptniiEquipName; + } + + + public String getEquipType() { + return equipType; + } + + + public void setEquipType(String equipType) { + this.equipType = equipType; + } + + + public String getEquipVendor() { + return equipVendor; + } + + + public void setEquipVendor(String equipVendor) { + this.equipVendor = equipVendor; + } + + + public String getEquipModel() { + return equipModel; + } + + + public void setEquipModel(String equipModel) { + this.equipModel = equipModel; + } + + + public String getFqdn() { + return fqdn; + } + + + public void setFqdn(String fqdn) { + this.fqdn = fqdn; + } + + + public String getSerialNumber() { + return serialNumber; + } + + + public void setSerialNumber(String serialNumber) { + this.serialNumber = serialNumber; + } + + + public String getInternetTopology() { + return internetTopology; + } + + + public void setInternetTopology(String internetTopology) { + this.internetTopology = internetTopology; + } + + + public String getInMaint() { + return inMaint; + } + + + public void setInMaint(String inMaint) { + this.inMaint = inMaint; + } + + + public String getResourceVersion() { + return resourceVersion; + } + + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + + public String getPurpose() { + return purpose; + } + + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public PInterfaceInstanceList getPInterfaceInstanceList() { + return pInterfaceInstanceList; + } + + public void setPInterfaceInstanceList(PInterfaceInstanceList pInterfaceInstanceList) { + this.pInterfaceInstanceList = pInterfaceInstanceList; + } + + private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + + public String toJson() { + return gson.toJson(this); + } + + + public static PserverInstance fromJson(String payload) throws AuditException { + try { + if (payload == null || payload.isEmpty()) { + throw new AuditException("Empty Json response"); + } + return gson.fromJson(payload, PserverInstance.class); + } catch (Exception ex) { + throw new AuditException(AuditError.JSON_READER_PARSE_ERROR, ex); + } + } + + /** + * No args constructor for use in serialization + * + */ + public PserverInstance() { + } + + /** + * + * @param pserverId + * @param hostname + * @param pserverName2 + * @param ptniiEquipName + * @param equipType + * @param equipVendor + * @param equipModel + * @param fqdn + * @param internetTopology + * @param inMaint + * @param resourceVersion + * @param serialNumber + * @param purpose + * + */ + public PserverInstance(String pserverId, String hostname, String pserverName2, + String ptniiEquipName, String equipType,String equipVendor, + String equipModel,String fqdn,String internetTopology, + String inMaint, String resourceVersion, String serialNumber, + String purpose, String relationshipList, PInterfaceInstanceList pInterfaceInstanceList) { + super(); + this.pserverId = pserverId; + this.hostname = hostname; + this.pserverName2 = pserverName2; + this.ptniiEquipName = ptniiEquipName; + this.equipType = equipType; + this.equipVendor = equipVendor; + this.equipModel = equipModel; + this.fqdn = fqdn; + this.internetTopology = internetTopology; + this.inMaint = inMaint; + this.resourceVersion = resourceVersion; + this.serialNumber = serialNumber; + this.purpose = purpose; + this.pInterfaceInstanceList = pInterfaceInstanceList; + } + + + + /////////// common functions ////////////////////// + @Override + public String toString() { + return new ToStringBuilder(this) + .append("pserver-id", pserverId) + .append("hostname", hostname) + .append("ptnii-equip-name", ptniiEquipName) + .append("pserver-name2", pserverName2) + .append("equip-type", equipType) + .append("equip-vendor", equipVendor) + .append("equip-model", equipModel) + .append("fqdn", fqdn) + .append("serial-number", serialNumber) + .append("internet-topology", internetTopology) + .append("in-maint", inMaint) + .append("resource-version", resourceVersion) + .append("purpose", purpose) + .append("pInterfaceInstanceList", pInterfaceInstanceList) + .toString(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder().append(pserverId).append(serialNumber).append(fqdn).append(equipModel).append(pInterfaceInstanceList).toHashCode(); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + if (!(other instanceof PserverInstance)) { + return false; + } + PserverInstance rhs = ((PserverInstance) other); + return new EqualsBuilder() + .append(pserverId, rhs.pserverId) + .append(hostname, rhs.hostname) + .append(fqdn, rhs.fqdn) + .append(serialNumber, rhs.serialNumber) + .append(equipType, rhs.equipType) + .append(equipModel, rhs.equipModel) + .append(ptniiEquipName, rhs.ptniiEquipName) + .isEquals(); + } +} diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/Vserver.java b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/Vserver.java index 368dd90..d7b8896 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/Vserver.java +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/datatype/Vserver.java @@ -21,6 +21,9 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; + +import java.util.List; + import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -53,10 +56,20 @@ public class Vserver { @SerializedName("resource-version") @Expose private String resourceVersion; + @SerializedName("relationship-list") @Expose private RelationshipList relationshipList; + private List pserverInstanceList; + public List getPserverInstanceList() { + return pserverInstanceList; + } + + public void setPserverInstanceList(List pserverInstanceList) { + this.pserverInstanceList = pserverInstanceList; + } + private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create(); public String toJson() { -- cgit 1.2.3-korg