diff options
Diffstat (limited to 'models-interactions/model-impl/aai/src/main')
31 files changed, 2608 insertions, 0 deletions
diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiGetResponse.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiGetResponse.java new file mode 100644 index 000000000..89b15b9cb --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiGetResponse.java @@ -0,0 +1,41 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; +import java.io.Serializable; + +public class AaiGetResponse implements Serializable { + private static final long serialVersionUID = 7311418432051756162L; + + @SerializedName("requestError") + private AaiNqRequestError requestError; + + public AaiNqRequestError getRequestError() { + return requestError; + } + + public void setRequestError(AaiNqRequestError requestError) { + this.requestError = requestError; + } + +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiGetVnfResponse.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiGetVnfResponse.java new file mode 100644 index 000000000..666f68d64 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiGetVnfResponse.java @@ -0,0 +1,151 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file excthe License at + * ept in compliance with the License. + * You may obtain a copy of + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; +import java.io.Serializable; + +public class AaiGetVnfResponse extends AaiGetResponse implements Serializable { + + private static final long serialVersionUID = -6247505944905898871L; + + @SerializedName("vnf-id") + private String vnfId; + + @SerializedName("vnf-name") + private String vnfName; + + @SerializedName("vnf-type") + private String vnfType; + + @SerializedName("service-id") + private String serviceId; + + @SerializedName("orchestration-status") + private String orchestrationStatus; + + @SerializedName("in-maint") + private boolean inMaint; + + @SerializedName("is-closed-loop-disabled") + private boolean isClosedLoopDisabled; + + @SerializedName("model-invariant-id") + private String modelInvariantId; + + @SerializedName("prov-status") + private String provStatus; + + @SerializedName("resource-version") + private String resourceVersion; + + @SerializedName("relationship-list") + private RelationshipList relationshipList; + + public String getVnfId() { + return vnfId; + } + + public String getVnfName() { + return vnfName; + } + + public String getVnfType() { + return vnfType; + } + + public String getServiceId() { + return serviceId; + } + + public String getOrchestrationStatus() { + return orchestrationStatus; + } + + public boolean getInMaint() { + return inMaint; + } + + public boolean getIsClosedLoopDisabled() { + return isClosedLoopDisabled; + } + + public String getModelInvariantId() { + return modelInvariantId; + } + + public String getProvStatus() { + return provStatus; + } + + public String getResourceVersion() { + return resourceVersion; + } + + public RelationshipList getRelationshipList() { + return relationshipList; + } + + public void setVnfId(String vnfId) { + this.vnfId = vnfId; + } + + public void setVnfName(String vnfName) { + this.vnfName = vnfName; + } + + public void setVnfType(String vnfType) { + this.vnfType = vnfType; + } + + public void setServiceId(String serviceId) { + this.serviceId = serviceId; + } + + public void setOrchestrationStatus(String orchestrationStatus) { + this.orchestrationStatus = orchestrationStatus; + } + + public void setInMaint(boolean inMaint) { + this.inMaint = inMaint; + } + + public void setIsClosedLoopDisabled(boolean isClosedLoopDisabled) { + this.isClosedLoopDisabled = isClosedLoopDisabled; + } + + public void setModelInvariantId(String modelInvariantId) { + this.modelInvariantId = modelInvariantId; + } + + public void setProvStatus(String provStatus) { + this.provStatus = provStatus; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + public void setRelationshipList(RelationshipList relationshipList) { + this.relationshipList = relationshipList; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiGetVserverResponse.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiGetVserverResponse.java new file mode 100644 index 000000000..72adb9d02 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiGetVserverResponse.java @@ -0,0 +1,44 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; + +public class AaiGetVserverResponse extends AaiGetResponse implements Serializable { + + private static final long serialVersionUID = -6247505944905898871L; + + @SerializedName("vserver") + private List<AaiNqVServer> vserver = new LinkedList<>(); + + public List<AaiNqVServer> getVserver() { + return vserver; + } + + public void setVserver(List<AaiNqVServer> vserver) { + this.vserver = vserver; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiManager.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiManager.java new file mode 100644 index 000000000..bb772e6ca --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiManager.java @@ -0,0 +1,235 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2019 Samsung Electronics Co., Ltd. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.JsonSyntaxException; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.onap.policy.aai.util.Serialization; +import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure; +import org.onap.policy.common.endpoints.utils.NetLoggerUtil; +import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType; +import org.onap.policy.rest.RestManager; +import org.onap.policy.rest.RestManager.Pair; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * This class handles communication towards and responses from A&AI for this module. + */ +public final class AaiManager { + + /** The Constant logger. */ + private static final Logger logger = LoggerFactory.getLogger(AaiManager.class); + + /** The rest manager. */ + // The REST manager used for processing REST calls for this AAI manager + private final RestManager restManager; + + /** + * Constructor, create the AAI manager with the specified REST manager. + * + * @param restManager the rest manager to use for REST calls + */ + public AaiManager(final RestManager restManager) { + this.restManager = restManager; + } + + /** + * Post a query to A&AI. + * + * @param url the A&AI URL + * @param username the user name for authentication + * @param password the password for authentication + * @param request the request to issue towards A&AI + * @param requestId the UUID of the request + * @return the response from A&AI + */ + public AaiNqResponse postQuery(String url, String username, String password, AaiNqRequest request, UUID requestId) { + + final Map<String, String> headers = createHeaders(requestId); + + url = url + "/aai/search/named-query"; + + logger.debug("RestManager.post before"); + String requestJson = Serialization.gsonPretty.toJson(request); + NetLoggerUtil.log(EventType.OUT, CommInfrastructure.REST, url, requestJson); + Pair<Integer, String> httpDetails = + restManager.post(url, username, password, headers, "application/json", requestJson); + logger.debug("RestManager.post after"); + + if (httpDetails == null) { + logger.info("AAI POST Null Response to {}", url); + return null; + } + + int httpResponseCode = httpDetails.first; + + logger.info(url); + logger.info("{}", httpResponseCode); + logger.info(httpDetails.second); + + if (httpDetails.second != null) { + return composeResponse(httpDetails, url, AaiNqResponse.class); + } + return null; + } + + /** + * Perform a GET request for a particular virtual server towards A&AI. + * + * @param urlGet the A&AI URL + * @param username the user name for authentication + * @param password the password for authentication + * @param requestId the UUID of the request + * @param key the key of the virtual server + * @return the response for the virtual server from A&AI + */ + public AaiGetVserverResponse getQueryByVserverName(String urlGet, String username, String password, UUID requestId, + String key) { + return getQuery(urlGet, username, password, requestId, key, AaiGetVserverResponse.class); + } + + /** + * Perform a GET request for a particular VNF by VNF ID towards A&AI. + * + * @param urlGet the A&AI URL + * @param username the user name for authentication + * @param password the password for authentication + * @param requestId the UUID of the request + * @param key the ID of the VNF + * @return the response for the virtual server from A&AI + */ + public AaiGetVnfResponse getQueryByVnfId(String urlGet, String username, String password, UUID requestId, + String key) { + return getQuery(urlGet, username, password, requestId, key, AaiGetVnfResponse.class); + } + + /** + * Perform a GET request for a particular VNF by VNF name towards A&AI. + * + * @param urlGet the A&AI URL + * @param username the user name for authentication + * @param password the password for authentication + * @param requestId the UUID of the request + * @param key the name of the VNF + * @return the response for the virtual server from A&AI + */ + public AaiGetVnfResponse getQueryByVnfName(String urlGet, String username, String password, UUID requestId, + String key) { + return getQuery(urlGet, username, password, requestId, key, AaiGetVnfResponse.class); + } + + /** + * Perform a GET query for a particular entity towards A&AI. + * + * @param <T> the generic type for the response + * @param urlGet the A&AI URL + * @param username the user name for authentication + * @param password the password for authentication + * @param requestId the UUID of the request + * @param key the name of the VNF + * @param classOfT the class of the response to return + * @return the response for the virtual server from A&AI + */ + private <T> T getQuery(final String url, final String username, final String password, final UUID requestId, + final String key, final Class<T> classOfResponse) { + + Map<String, String> headers = createHeaders(requestId); + + String urlGet = url + key; + + int attemptsLeft = 3; + + while (attemptsLeft-- > 0) { + NetLoggerUtil.getNetworkLogger().info("[OUT|{}|{}|]", CommInfrastructure.REST, urlGet); + Pair<Integer, String> httpDetailsGet = restManager.get(urlGet, username, password, headers); + if (httpDetailsGet == null) { + logger.info("AAI GET Null Response to {}", urlGet); + return null; + } + + int httpResponseCode = httpDetailsGet.first; + + logger.info(urlGet); + logger.info("{}", httpResponseCode); + logger.info(httpDetailsGet.second); + + if (httpResponseCode == 200) { + T responseGet = composeResponse(httpDetailsGet, urlGet, classOfResponse); + if (responseGet != null) { + return responseGet; + } + } + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + + } + + return null; + } + + /** + * Create the headers for the HTTP request. + * + * @param requestId the request ID to insert in the headers + * @return the HTTP headers + */ + private Map<String, String> createHeaders(final UUID requestId) { + Map<String, String> headers = new HashMap<>(); + + headers.put("X-FromAppId", "POLICY"); + headers.put("X-TransactionId", requestId.toString()); + headers.put("Accept", "application/json"); + + return headers; + } + + /** + * This method uses Google's GSON to create a response object from a JSON string. + * + * @param <T> the generic type + * @param httpDetails the HTTP response + * @param url the URL from which the response came + * @param classOfResponse The response class + * @return an instance of the response class + * @throws JsonSyntaxException on GSON errors instantiating the response + */ + private <T> T composeResponse(final Pair<Integer, String> httpDetails, final String url, + final Class<T> classOfResponse) { + try { + T response = Serialization.gsonPretty.fromJson(httpDetails.second, classOfResponse); + NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, url, httpDetails.second); + return response; + } catch (JsonSyntaxException e) { + logger.error("postQuery threw: ", e); + return null; + } + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqCloudRegion.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqCloudRegion.java new file mode 100644 index 000000000..ad910dcf3 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqCloudRegion.java @@ -0,0 +1,86 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class AaiNqCloudRegion implements Serializable { + + private static final long serialVersionUID = -897231529157222683L; + + @SerializedName("cloud-owner") + private String cloudOwner; + + @SerializedName("cloud-region-id") + private String cloudRegionId; + + @SerializedName("cloud-region-version") + private String cloudRegionVersion; + + @SerializedName("complex-name") + private String complexName; + + @SerializedName("resource-version") + private String resourceVersion; + + public String getCloudOwner() { + return cloudOwner; + } + + public String getCloudRegionId() { + return cloudRegionId; + } + + public String getCloudRegionVersion() { + return cloudRegionVersion; + } + + public String getComplexName() { + return complexName; + } + + public String getResourceVersion() { + return resourceVersion; + } + + public void setCloudOwner(String cloudOwner) { + this.cloudOwner = cloudOwner; + } + + public void setCloudRegionId(String cloudRegionId) { + this.cloudRegionId = cloudRegionId; + } + + public void setCloudRegionVersion(String cloudRegionVersion) { + this.cloudRegionVersion = cloudRegionVersion; + } + + public void setComplexName(String complexName) { + this.complexName = complexName; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqExtraProperties.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqExtraProperties.java new file mode 100644 index 000000000..c3139a342 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqExtraProperties.java @@ -0,0 +1,43 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; + +public class AaiNqExtraProperties implements Serializable { + private static final long serialVersionUID = 4109625574744702319L; + + @SerializedName("extra-property") + private List<AaiNqExtraProperty> extraProperty = new LinkedList<>(); + + public List<AaiNqExtraProperty> getExtraProperty() { + return extraProperty; + } + + public void setExtraProperty(List<AaiNqExtraProperty> extraProperty) { + this.extraProperty = extraProperty; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqExtraProperty.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqExtraProperty.java new file mode 100644 index 000000000..045e8fac9 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqExtraProperty.java @@ -0,0 +1,60 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class AaiNqExtraProperty implements Serializable { + + private static final long serialVersionUID = -3861240617222397736L; + + @SerializedName("property-name") + private String propertyName; + + @SerializedName("property-value") + private String propertyValue; + + public AaiNqExtraProperty() {} + + public AaiNqExtraProperty(String propertyName, String propertyValue) { + this.propertyName = propertyName; + this.propertyValue = propertyValue; + } + + public String getPropertyName() { + return propertyName; + } + + public String getPropertyValue() { + return propertyValue; + } + + public void setPropertyName(String propertyName) { + this.propertyName = propertyName; + } + + public void setPropertyValue(String propertyValue) { + this.propertyValue = propertyValue; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqGenericVnf.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqGenericVnf.java new file mode 100644 index 000000000..d67d02443 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqGenericVnf.java @@ -0,0 +1,228 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; +import java.io.Serializable; + +public class AaiNqGenericVnf implements Serializable { + + private static final long serialVersionUID = 834322706248060560L; + + @SerializedName("vnf-id") + private String vnfId; + + @SerializedName("vnf-name") + private String vnfName; + + @SerializedName("vnf-name2") + private String vnfName2; + + @SerializedName("vnf-type") + private String vnfType; + + @SerializedName("service-id") + private String serviceId; + + @SerializedName("prov-status") + private String provStatus; + + @SerializedName("operational-state") + private String operationalState; + + @SerializedName("ipv4-oam-address") + private String ipv4OamAddress; + + @SerializedName("ipv4-loopback0-address") + private String ipv4Loopback0Address; + + @SerializedName("in-maint") + private Boolean inMaint; + + @SerializedName("is-closed-loop-disabled") + private Boolean isClosedLoopDisabled; + + @SerializedName("resource-version") + private String resourceVersion; + + @SerializedName("encrypted-access-flag") + private Boolean encrypedAccessFlag; + + @SerializedName("persona-model-id") + private String personaModelId; + + @SerializedName("persona-model-version") + private String personaModelVersion; + + @SerializedName("model-invariant-id") + private String modelInvariantId; + + @SerializedName("model-version-id") + private String modelVersionId; + + @SerializedName("model-customization-id") + private String modelCustomizationId = null; + + public String getVnfId() { + return vnfId; + } + + public String getVnfName() { + return vnfName; + } + + public String getVnfName2() { + return vnfName2; + } + + public String getVnfType() { + return vnfType; + } + + public String getServiceId() { + return serviceId; + } + + public String getProvStatus() { + return provStatus; + } + + public String getOperationalState() { + return operationalState; + } + + public String getIpv4OamAddress() { + return ipv4OamAddress; + } + + public String getIpv4Loopback0Address() { + return ipv4Loopback0Address; + } + + public Boolean getInMaint() { + return inMaint; + } + + public Boolean getIsClosedLoopDisabled() { + return isClosedLoopDisabled; + } + + public String getResourceVersion() { + return resourceVersion; + } + + public Boolean getEncrypedAccessFlag() { + return encrypedAccessFlag; + } + + public String getPersonaModelId() { + return personaModelId; + } + + public String getPersonaModelVersion() { + return personaModelVersion; + } + + public String getModelInvariantId() { + return modelInvariantId; + } + + public String getModelVersionId() { + return modelVersionId; + } + + public String getModelCustomizationId() { + return modelCustomizationId; + } + + public void setVnfId(String vnfId) { + this.vnfId = vnfId; + } + + public void setVnfName(String vnfName) { + this.vnfName = vnfName; + } + + public void setVnfName2(String vnfName2) { + this.vnfName2 = vnfName2; + } + + public void setVnfType(String vnfType) { + this.vnfType = vnfType; + } + + public void setServiceId(String serviceId) { + this.serviceId = serviceId; + } + + public void setProvStatus(String provStatus) { + this.provStatus = provStatus; + } + + public void setOperationalState(String operationalState) { + this.operationalState = operationalState; + } + + public void setIpv4OamAddress(String ipv4OamAddress) { + this.ipv4OamAddress = ipv4OamAddress; + } + + public void setIpv4Loopback0Address(String ipv4Loopback0Address) { + this.ipv4Loopback0Address = ipv4Loopback0Address; + } + + public void setInMaint(Boolean inMaint) { + this.inMaint = inMaint; + } + + public void setIsClosedLoopDisabled(Boolean isClosedLoopDisabled) { + this.isClosedLoopDisabled = isClosedLoopDisabled; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + public void setEncrypedAccessFlag(Boolean encrypedAccessFlag) { + this.encrypedAccessFlag = encrypedAccessFlag; + } + + public void setPersonaModelId(String personaModelId) { + this.personaModelId = personaModelId; + } + + public void setPersonaModelVersion(String personaModelVersion) { + this.personaModelVersion = personaModelVersion; + } + + public void setModelInvariantId(String modelInvariantId) { + this.modelInvariantId = modelInvariantId; + } + + public void setModelVersionId(String modelVersionId) { + this.modelVersionId = modelVersionId; + } + + public void setModelCustomizationId(String modelCustomizationId) { + this.modelCustomizationId = modelCustomizationId; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqInstanceFilters.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqInstanceFilters.java new file mode 100644 index 000000000..8719f6ff2 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqInstanceFilters.java @@ -0,0 +1,45 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +public class AaiNqInstanceFilters implements Serializable { + + private static final long serialVersionUID = 8993824591338121185L; + + @SerializedName("instance-filter") + private List<Map<String, Map<String, String>>> instanceFilter = new LinkedList<>(); + + public List<Map<String, Map<String, String>>> getInstanceFilter() { + return instanceFilter; + } + + public void setInstanceFilter(List<Map<String, Map<String, String>>> instanceFilter) { + this.instanceFilter = instanceFilter; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqInventoryResponseItem.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqInventoryResponseItem.java new file mode 100644 index 000000000..4ba9091fb --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqInventoryResponseItem.java @@ -0,0 +1,130 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class AaiNqInventoryResponseItem implements Serializable { + + private static final long serialVersionUID = 7142072567154675183L; + + @SerializedName("model-name") + private String modelName; + + @SerializedName("vf-module") + private AaiNqVfModule vfModule; + + @SerializedName("service-instance") + private AaiNqServiceInstance serviceInstance; + + @SerializedName("vserver") + private AaiNqVServer vserver; + + @SerializedName("tenant") + private AaiNqTenant tenant; + + @SerializedName("cloud-region") + private AaiNqCloudRegion cloudRegion; + + @SerializedName("generic-vnf") + private AaiNqGenericVnf genericVnf; + + @SerializedName("extra-properties") + private AaiNqExtraProperties extraProperties; + + @SerializedName("inventory-response-items") + private AaiNqInventoryResponseItems items; + + public String getModelName() { + return modelName; + } + + public AaiNqVfModule getVfModule() { + return vfModule; + } + + public AaiNqServiceInstance getServiceInstance() { + return serviceInstance; + } + + public AaiNqVServer getVserver() { + return vserver; + } + + public AaiNqTenant getTenant() { + return tenant; + } + + public AaiNqCloudRegion getCloudRegion() { + return cloudRegion; + } + + public AaiNqGenericVnf getGenericVnf() { + return genericVnf; + } + + public AaiNqExtraProperties getExtraProperties() { + return extraProperties; + } + + public AaiNqInventoryResponseItems getItems() { + return items; + } + + public void setModelName(String modelName) { + this.modelName = modelName; + } + + public void setVfModule(AaiNqVfModule vfModule) { + this.vfModule = vfModule; + } + + public void setServiceInstance(AaiNqServiceInstance serviceInstance) { + this.serviceInstance = serviceInstance; + } + + public void setVserver(AaiNqVServer vserver) { + this.vserver = vserver; + } + + public void setTenant(AaiNqTenant tenant) { + this.tenant = tenant; + } + + public void setCloudRegion(AaiNqCloudRegion cloudRegion) { + this.cloudRegion = cloudRegion; + } + + public void setGenericVnf(AaiNqGenericVnf genericVnf) { + this.genericVnf = genericVnf; + } + + public void setExtraProperties(AaiNqExtraProperties extraProperties) { + this.extraProperties = extraProperties; + } + + public void setItems(AaiNqInventoryResponseItems items) { + this.items = items; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqInventoryResponseItems.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqInventoryResponseItems.java new file mode 100644 index 000000000..7d2a07787 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqInventoryResponseItems.java @@ -0,0 +1,43 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; + +public class AaiNqInventoryResponseItems implements Serializable { + private static final long serialVersionUID = 7602807659381179004L; + + @SerializedName("inventory-response-item") + private List<AaiNqInventoryResponseItem> inventoryResponseItems = new LinkedList<>(); + + public List<AaiNqInventoryResponseItem> getInventoryResponseItems() { + return inventoryResponseItems; + } + + public void setInventoryResponseItems(List<AaiNqInventoryResponseItem> inventoryResponseItems) { + this.inventoryResponseItems = inventoryResponseItems; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqNamedQuery.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqNamedQuery.java new file mode 100644 index 000000000..fc6442847 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqNamedQuery.java @@ -0,0 +1,42 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.UUID; + +public class AaiNqNamedQuery implements Serializable { + private static final long serialVersionUID = -3277980060302645333L; + + @SerializedName("named-query-uuid") + private UUID namedQueryUuid; + + public UUID getNamedQueryUuid() { + return namedQueryUuid; + } + + public void setNamedQueryUuid(UUID namedQueryUuid) { + this.namedQueryUuid = namedQueryUuid; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqQueryParameters.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqQueryParameters.java new file mode 100644 index 000000000..9173fcdd5 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqQueryParameters.java @@ -0,0 +1,41 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class AaiNqQueryParameters implements Serializable { + private static final long serialVersionUID = -4291227193197126982L; + + @SerializedName("named-query") + private AaiNqNamedQuery namedQuery; + + public AaiNqNamedQuery getNamedQuery() { + return namedQuery; + } + + public void setNamedQuery(AaiNqNamedQuery namedQuery) { + this.namedQuery = namedQuery; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqRequest.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqRequest.java new file mode 100644 index 000000000..643754f9d --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqRequest.java @@ -0,0 +1,52 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class AaiNqRequest implements Serializable { + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("query-parameters") + private AaiNqQueryParameters queryParameters; + + @SerializedName("instance-filters") + private AaiNqInstanceFilters instanceFilters; + + public AaiNqQueryParameters getQueryParameters() { + return queryParameters; + } + + public AaiNqInstanceFilters getInstanceFilters() { + return instanceFilters; + } + + public void setQueryParameters(AaiNqQueryParameters queryParameters) { + this.queryParameters = queryParameters; + } + + public void setInstanceFilters(AaiNqInstanceFilters instanceFilters) { + this.instanceFilters = instanceFilters; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqRequestError.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqRequestError.java new file mode 100644 index 000000000..6ae437232 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqRequestError.java @@ -0,0 +1,41 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class AaiNqRequestError implements Serializable { + private static final long serialVersionUID = -7742674155387022932L; + + @SerializedName("serviceException") + private AaiNqServiceExcept serviceExcept; + + public AaiNqServiceExcept getServiceExcept() { + return serviceExcept; + } + + public void setServiceExcept(AaiNqServiceExcept serviceExcept) { + this.serviceExcept = serviceExcept; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqResponse.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqResponse.java new file mode 100644 index 000000000..b823ceafb --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqResponse.java @@ -0,0 +1,54 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; + +public class AaiNqResponse implements Serializable { + private static final long serialVersionUID = 8411407444051746101L; + + @SerializedName("inventory-response-item") + private List<AaiNqInventoryResponseItem> inventoryResponseItems = new LinkedList<>(); + + @SerializedName("requestError") + private AaiNqRequestError requestError; + + public List<AaiNqInventoryResponseItem> getInventoryResponseItems() { + return inventoryResponseItems; + } + + public AaiNqRequestError getRequestError() { + return requestError; + } + + public void setRequestError(AaiNqRequestError requestError) { + this.requestError = requestError; + } + + public void setInventoryResponseItems(List<AaiNqInventoryResponseItem> inventoryResponseItems) { + this.inventoryResponseItems = inventoryResponseItems; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqResponseWrapper.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqResponseWrapper.java new file mode 100644 index 000000000..68d07270a --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqResponseWrapper.java @@ -0,0 +1,153 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.UUID; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class AaiNqResponseWrapper implements Serializable { + private static final long serialVersionUID = 8411407444051746101L; + + private static final Logger logger = LoggerFactory.getLogger(AaiNqResponseWrapper.class); + + private static final Pattern VF_MODULE_NAME_PAT = Pattern.compile("(.*_)(\\d+)"); + + private UUID requestId; + private AaiNqResponse aaiNqResponse; + + public AaiNqResponseWrapper() {} + + public AaiNqResponseWrapper(UUID requestId, AaiNqResponse aaiNqResponse) { + this.requestId = requestId; + this.aaiNqResponse = aaiNqResponse; + } + + public UUID getRequestId() { + return requestId; + } + + public void setRequestId(UUID requestId) { + this.requestId = requestId; + } + + public AaiNqResponse getAaiNqResponse() { + return aaiNqResponse; + } + + public void setAaiNqResponse(AaiNqResponse aaiNqResponse) { + this.aaiNqResponse = aaiNqResponse; + } + + /** + * Counts the number of VF modules, if any, in the response. + * + * @return the number of VF modules, or {@code 0} if there are none + */ + public int countVfModules() { + return getVfModuleItems(false).size(); + } + + /** + * Generates the name for the next VF module. + * + * @return the name of the next VF module, or {@code null} if the name could not be + * generated (i.e., because the response has no matching VF module names on + * which to model it) + */ + public String genVfModuleName() { + /* + * Loop through the VF modules, extracting the name prefix and the largest number + * suffix + */ + String prefix = null; + int maxSuffix = -1; + + for (AaiNqInventoryResponseItem item : getVfModuleItems(false)) { + String name = item.getVfModule().getVfModuleName(); + Matcher matcher = VF_MODULE_NAME_PAT.matcher(name); + if (matcher.matches()) { + int suffix = Integer.parseInt(matcher.group(2)); + if (suffix > maxSuffix) { + maxSuffix = suffix; + prefix = matcher.group(1); + } + } + } + + ++maxSuffix; + + return (prefix == null ? null : prefix + maxSuffix); + } + + /** + * Gets a list of VF modules. If the non-base VF modules are requested, then only + * those whose names match the name pattern, {@link #VF_MODULE_NAME_PAT}, are + * returned. + * + * @param wantBaseModule {@code true} if the the base VF module(s) is desired, + * {@code false} otherwise + * @return the list of VF module items + */ + public List<AaiNqInventoryResponseItem> getVfModuleItems(boolean wantBaseModule) { + // get the list of items + List<AaiNqInventoryResponseItem> itemList; + try { + itemList = aaiNqResponse.getInventoryResponseItems().get(0).getItems().getInventoryResponseItems().get(0) + .getItems().getInventoryResponseItems(); + + } catch (NullPointerException | IndexOutOfBoundsException e) { + logger.debug("no VF modules in AAI response", e); + return Collections.emptyList(); + } + + if (itemList == null) { + return Collections.emptyList(); + } + + /* + * Walk the items looking for VF modules, allocating the list only when an item is + * found. + */ + List<AaiNqInventoryResponseItem> vfModuleItems = new ArrayList<>(itemList.size()); + + for (AaiNqInventoryResponseItem inventoryResponseItem : itemList) { + AaiNqVfModule vfmod = inventoryResponseItem.getVfModule(); + if (vfmod == null) { + continue; + } + + if (vfmod.getIsBaseVfModule() == wantBaseModule + && (wantBaseModule || VF_MODULE_NAME_PAT.matcher(vfmod.getVfModuleName()).matches())) { + vfModuleItems.add(inventoryResponseItem); + } + } + + return vfModuleItems; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqServiceExcept.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqServiceExcept.java new file mode 100644 index 000000000..7b6c50257 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqServiceExcept.java @@ -0,0 +1,51 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class AaiNqServiceExcept implements Serializable { + private static final long serialVersionUID = 2858343404484338546L; + + @SerializedName("messageId") + private String messageId; + + @SerializedName("text") + private String text; + + @SerializedName("variables") + private String[] variables; + + public String getMessageId() { + return messageId; + } + + public String getText() { + return text; + } + + public String[] getVariables() { + return variables; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqServiceInstance.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqServiceInstance.java new file mode 100644 index 000000000..2f48ad85d --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqServiceInstance.java @@ -0,0 +1,118 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class AaiNqServiceInstance implements Serializable { + private static final long serialVersionUID = -8000944396593889586L; + + @SerializedName("service-instance-id") + private String serviceInstanceId; + + @SerializedName("service-instance-name") + private String serviceInstanceName; + + @SerializedName("persona-model-id") + private String personaModelId; + + @SerializedName("persona-model-version") + private String personaModelVersion; + + @SerializedName("service-instance-location-id") + private String serviceInstanceLocationId; + + @SerializedName("resource-version") + private String resourceVersion; + + @SerializedName("model-invariant-id") + private String modelInvariantId; + + @SerializedName("model-version-id") + private String modelVersionId; + + public String getServiceInstanceId() { + return serviceInstanceId; + } + + public String getServiceInstanceName() { + return serviceInstanceName; + } + + public String getPersonaModelId() { + return personaModelId; + } + + public String getPersonaModelVersion() { + return personaModelVersion; + } + + public String getServiceInstanceLocationId() { + return serviceInstanceLocationId; + } + + public String getResourceVersion() { + return resourceVersion; + } + + public String getModelInvariantId() { + return modelInvariantId; + } + + public String getModelVersionId() { + return modelVersionId; + } + + public void setServiceInstanceId(String serviceInstanceId) { + this.serviceInstanceId = serviceInstanceId; + } + + public void setServiceInstanceName(String serviceInstanceName) { + this.serviceInstanceName = serviceInstanceName; + } + + public void setPersonaModelId(String personaModelId) { + this.personaModelId = personaModelId; + } + + public void setPersonaModelVersion(String personaModelVersion) { + this.personaModelVersion = personaModelVersion; + } + + public void setServiceInstanceLocationId(String serviceInstanceLocationId) { + this.serviceInstanceLocationId = serviceInstanceLocationId; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + public void setModelInvariantId(String modelInvariantId) { + this.modelInvariantId = modelInvariantId; + } + + public void setModelVersionId(String modelVersionId) { + this.modelVersionId = modelVersionId; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqTenant.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqTenant.java new file mode 100644 index 000000000..129c05933 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqTenant.java @@ -0,0 +1,65 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class AaiNqTenant implements Serializable { + private static final long serialVersionUID = 4702784101671984364L; + + @SerializedName("tenant-id") + private String tenantId; + + @SerializedName("tenant-name") + private String tenantName; + + @SerializedName("resource-version") + private String resourceVersion; + + public String getTenantId() { + return tenantId; + } + + public String getTenantName() { + return tenantName; + } + + public String getResourceVersion() { + return resourceVersion; + } + + public void setTenantId(String tenantId) { + this.tenantId = tenantId; + } + + public void setTenantName(String tenantName) { + this.tenantName = tenantName; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqVServer.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqVServer.java new file mode 100644 index 000000000..a7286ce8a --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqVServer.java @@ -0,0 +1,130 @@ +/* + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class AaiNqVServer implements Serializable { + private static final long serialVersionUID = -6718526692734215643L; + + @SerializedName("vserver-id") + private String vserverId; + + @SerializedName("vserver-name") + private String vserverName; + + @SerializedName("vserver-name2") + private String vserverName2; + + @SerializedName("prov-status") + private String provStatus; + + @SerializedName("vserver-selflink") + private String vserverSelflink; + + @SerializedName("in-maint") + private Boolean inMaint; + + @SerializedName("is-closed-loop-disabled") + private Boolean isClosedLoopDisabled; + + @SerializedName("resource-version") + private String resourceVersion; + + @SerializedName("relationship-list") + private RelationshipList relationshipList; + + public String getVserverId() { + return vserverId; + } + + public String getVserverName() { + return vserverName; + } + + public String getVserverName2() { + return vserverName2; + } + + public String getProvStatus() { + return provStatus; + } + + public String getVserverSelflink() { + return vserverSelflink; + } + + public Boolean getInMaint() { + return inMaint; + } + + public Boolean getIsClosedLoopDisabled() { + return isClosedLoopDisabled; + } + + public String getResourceVersion() { + return resourceVersion; + } + + public RelationshipList getRelationshipList() { + return relationshipList; + } + + public void setVserverId(String vserverId) { + this.vserverId = vserverId; + } + + public void setVserverName(String vserverName) { + this.vserverName = vserverName; + } + + public void setVserverName2(String vserverName2) { + this.vserverName2 = vserverName2; + } + + public void setProvStatus(String provStatus) { + this.provStatus = provStatus; + } + + public void setVserverSelflink(String vserverSelflink) { + this.vserverSelflink = vserverSelflink; + } + + public void setInMaint(Boolean inMaint) { + this.inMaint = inMaint; + } + + public void setIsClosedLoopDisabled(Boolean isClosedLoopDisabled) { + this.isClosedLoopDisabled = isClosedLoopDisabled; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + public void setRelationshipList(RelationshipList relationshipList) { + this.relationshipList = relationshipList; + } + +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqVfModule.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqVfModule.java new file mode 100644 index 000000000..9080c486e --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/AaiNqVfModule.java @@ -0,0 +1,183 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; +import java.io.Serializable; + +public class AaiNqVfModule implements Serializable { + private static final long serialVersionUID = 8019133081429638232L; + + @SerializedName("vf-module-id") + private String vfModuleId; + + @SerializedName("vf-module-name") + private String vfModuleName; + + @SerializedName("heat-stack-id") + private String heatStackId; + + @SerializedName("orchestration-status") + private String orchestrationStatus; + + @SerializedName("is-base-vf-module") + private Boolean isBaseVfModule; + + @SerializedName("resource-version") + private String resourceVersion; + + @SerializedName("persona-model-id") + private String personaModelId; + + @SerializedName("persona-model-version") + private String personaModelVersion; + + @SerializedName("widget-model-id") + private String widgetModelId; + + @SerializedName("widget-model-version") + private String widgetModelVersion; + + @SerializedName("contrail-service-instance-fqdn") + private String contrailServiceInstanceFqdn; + + @SerializedName("model-invariant-id") + private String modelInvariantId; + + @SerializedName("model-version-id") + private String modelVersionId; + + @SerializedName("model-customization-id") + private String modelCustomizationId = null; + + public String getVfModuleId() { + return vfModuleId; + } + + public String getVfModuleName() { + return vfModuleName; + } + + public String getHeatStackId() { + return heatStackId; + } + + public String getOrchestrationStatus() { + return orchestrationStatus; + } + + public Boolean getIsBaseVfModule() { + return isBaseVfModule; + } + + public String getResourceVersion() { + return resourceVersion; + } + + public String getPersonaModelId() { + return personaModelId; + } + + public String getPersonaModelVersion() { + return personaModelVersion; + } + + public String getWidgetModelId() { + return widgetModelId; + } + + public String getWidgetModelVersion() { + return widgetModelVersion; + } + + public String getContrailServiceInstanceFqdn() { + return contrailServiceInstanceFqdn; + } + + public String getModelInvariantId() { + return modelInvariantId; + } + + public String getModelVersionId() { + return modelVersionId; + } + + public String getModelCustomizationId() { + return modelCustomizationId; + } + + public void setVfModuleId(String vfModuleId) { + this.vfModuleId = vfModuleId; + } + + public void setVfModuleName(String vfModuleName) { + this.vfModuleName = vfModuleName; + } + + public void setHeatStackId(String heatStackId) { + this.heatStackId = heatStackId; + } + + public void setOrchestrationStatus(String orchestrationStatus) { + this.orchestrationStatus = orchestrationStatus; + } + + public void setIsBaseVfModule(Boolean isBaseVfModule) { + this.isBaseVfModule = isBaseVfModule; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + public void setPersonaModelId(String personaModelId) { + this.personaModelId = personaModelId; + } + + public void setPersonaModelVersion(String personaModelVersion) { + this.personaModelVersion = personaModelVersion; + } + + public void setWidgetModelId(String widgetModelId) { + this.widgetModelId = widgetModelId; + } + + public void setWidgetModelVersion(String widgetModelVersion) { + this.widgetModelVersion = widgetModelVersion; + } + + public void setContrailServiceInstanceFqdn(String contrailServiceInstanceFqdn) { + this.contrailServiceInstanceFqdn = contrailServiceInstanceFqdn; + } + + public void setModelInvariantId(String modelInvariantId) { + this.modelInvariantId = modelInvariantId; + } + + public void setModelVersionId(String modelVersionId) { + this.modelVersionId = modelVersionId; + } + + public void setModelCustomizationId(String modelCustomizationId) { + this.modelCustomizationId = modelCustomizationId; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/Pnf.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/Pnf.java new file mode 100644 index 000000000..f992d886d --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/Pnf.java @@ -0,0 +1,92 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import java.io.Serializable; + +public class Pnf implements Serializable { + private static final long serialVersionUID = -3535108358668248501L; + + private String pnfName; + private PnfType pnfType; + + public Pnf() { + + } + + public Pnf(Pnf pnf) { + this.pnfName = pnf.pnfName; + this.pnfType = pnf.pnfType; + } + + public String getPnfName() { + return pnfName; + } + + public void setPnfName(String pnfName) { + this.pnfName = pnfName; + } + + public PnfType getPnfType() { + return pnfType; + } + + public void setPnfType(PnfType pnfType) { + this.pnfType = pnfType; + } + + @Override + public String toString() { + return "PNF [PNFName=" + pnfName + ", PNFType=" + pnfType + "]"; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((pnfName == null) ? 0 : pnfName.hashCode()); + result = prime * result + ((pnfType == null) ? 0 : pnfType.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; + } + Pnf other = (Pnf) obj; + if (pnfName == null) { + if (other.pnfName != null) { + return false; + } + } else if (!pnfName.equals(other.pnfName)) { + return false; + } + return pnfType == other.pnfType; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/PnfInstance.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/PnfInstance.java new file mode 100644 index 000000000..1a9d75efa --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/PnfInstance.java @@ -0,0 +1,138 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import java.io.Serializable; + +public class PnfInstance implements Serializable { + + private static final long serialVersionUID = -3694152433472165034L; + + private String pnfName; + private String pnfInstanceName; + private PnfType pnfType; + private String pnfSerial; + + public PnfInstance() { + + } + + /** + * Create an instance from a given instance. + * + * @param instance the instance + */ + public PnfInstance(PnfInstance instance) { + if (instance == null) { + return; + } + this.pnfName = instance.pnfName; + this.pnfInstanceName = instance.pnfInstanceName; + this.pnfType = instance.pnfType; + this.pnfSerial = instance.pnfSerial; + } + + public String getPnfName() { + return pnfName; + } + + public void setPnfName(String pnfName) { + this.pnfName = pnfName; + } + + public String getPnfInstanceName() { + return pnfInstanceName; + } + + public void setPnfInstanceName(String pnfInstanceName) { + this.pnfInstanceName = pnfInstanceName; + } + + public PnfType getPnfType() { + return pnfType; + } + + public void setPnfType(PnfType pnfType) { + this.pnfType = pnfType; + } + + public String getPnfSerial() { + return pnfSerial; + } + + public void setPnfSerial(String pnfSerial) { + this.pnfSerial = pnfSerial; + } + + @Override + public String toString() { + return "PNFInstance [PNFName=" + pnfName + ", PNFInstanceName=" + pnfInstanceName + ", PNFType=" + pnfType + + ", PNFSerial=" + pnfSerial + "]"; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((pnfInstanceName == null) ? 0 : pnfInstanceName.hashCode()); + result = prime * result + ((pnfName == null) ? 0 : pnfName.hashCode()); + result = prime * result + ((pnfSerial == null) ? 0 : pnfSerial.hashCode()); + result = prime * result + ((pnfType == null) ? 0 : pnfType.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; + } + PnfInstance other = (PnfInstance) obj; + if (pnfInstanceName == null) { + if (other.pnfInstanceName != null) { + return false; + } + } else if (!pnfInstanceName.equals(other.pnfInstanceName)) { + return false; + } + if (pnfName == null) { + if (other.pnfName != null) { + return false; + } + } else if (!pnfName.equals(other.pnfName)) { + return false; + } + if (pnfSerial == null) { + if (other.pnfSerial != null) { + return false; + } + } else if (!pnfSerial.equals(other.pnfSerial)) { + return false; + } + return pnfType == other.pnfType; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/PnfType.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/PnfType.java new file mode 100644 index 000000000..1e2484441 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/PnfType.java @@ -0,0 +1,37 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +public enum PnfType { + ENODEB("eNodeB"), PSERVER("pserver"); + + private String type; + + private PnfType(String type) { + this.type = type; + } + + @Override + public String toString() { + return this.type; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/RelatedToProperty.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/RelatedToProperty.java new file mode 100644 index 000000000..34f82e803 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/RelatedToProperty.java @@ -0,0 +1,51 @@ +/* + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class RelatedToProperty implements Serializable { + private static final long serialVersionUID = 5644372985092588638L; + + @SerializedName("property-key") + private String propertyKey; + @SerializedName("property-value") + private String propertyValue; + + public String getPropertyKey() { + return propertyKey; + } + + public String getPropertyValue() { + return propertyValue; + } + + public void setPropertyKey(String propertyKey) { + this.propertyKey = propertyKey; + } + + public void setPropertyValue(String propertyValue) { + this.propertyValue = propertyValue; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/Relationship.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/Relationship.java new file mode 100644 index 000000000..d9c55cc30 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/Relationship.java @@ -0,0 +1,76 @@ +/* + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; + +public class Relationship implements Serializable { + private static final long serialVersionUID = -68508443869003055L; + + @SerializedName("related-to") + private String relatedTo; + + @SerializedName("related-link") + private String relatedLink; + + @SerializedName("relationship-data") + private List<RelationshipData> relationshipData = new LinkedList<>(); + + @SerializedName("related-to-property") + private List<RelatedToProperty> relatedToProperty = new LinkedList<>(); + + public String getRelatedTo() { + return relatedTo; + } + + public String getRelatedLink() { + return relatedLink; + } + + public List<RelationshipData> getRelationshipData() { + return relationshipData; + } + + public List<RelatedToProperty> getRelatedToProperty() { + return relatedToProperty; + } + + public void setRelatedTo(String relatedTo) { + this.relatedTo = relatedTo; + } + + public void setRelatedLink(String relatedLink) { + this.relatedLink = relatedLink; + } + + public void setRelationshipData(List<RelationshipData> relationshipData) { + this.relationshipData = relationshipData; + } + + public void setRelatedToProperty(List<RelatedToProperty> relatedToProperty) { + this.relatedToProperty = relatedToProperty; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/RelationshipData.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/RelationshipData.java new file mode 100644 index 000000000..fc6b65f6c --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/RelationshipData.java @@ -0,0 +1,51 @@ +/* + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class RelationshipData implements Serializable { + private static final long serialVersionUID = 550450041634939768L; + + @SerializedName("relationship-key") + private String relationshipKey; + @SerializedName("relationship-value") + private String relationshipValue; + + public String getRelationshipKey() { + return relationshipKey; + } + + public String getRelationshipValue() { + return relationshipValue; + } + + public void setRelationshipKey(String relationshipKey) { + this.relationshipKey = relationshipKey; + } + + public void setRelationshipValue(String relationshipValue) { + this.relationshipValue = relationshipValue; + } +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/RelationshipList.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/RelationshipList.java new file mode 100644 index 000000000..0215e1601 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/RelationshipList.java @@ -0,0 +1,45 @@ +/* + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; + +public class RelationshipList implements Serializable { + private static final long serialVersionUID = 6115655704973981990L; + + @SerializedName("relationship") + private List<Relationship> relationships = new LinkedList<>(); + + public List<Relationship> getRelationships() { + return relationships; + } + + public void setRelationships(List<Relationship> relationships) { + this.relationships = relationships; + } + + +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/util/AaiException.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/util/AaiException.java new file mode 100644 index 000000000..ef7c017df --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/util/AaiException.java @@ -0,0 +1,48 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai.util; + +public class AaiException extends Exception { + + private static final long serialVersionUID = 9220983727706207465L; + + public AaiException() { + super(); + } + + public AaiException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + + public AaiException(String message, Throwable cause) { + super(message, cause); + } + + public AaiException(String message) { + super(message); + } + + public AaiException(Throwable cause) { + super(cause); + } + +} diff --git a/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/util/Serialization.java b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/util/Serialization.java new file mode 100644 index 000000000..0ca0bb033 --- /dev/null +++ b/models-interactions/model-impl/aai/src/main/java/org/onap/policy/aai/util/Serialization.java @@ -0,0 +1,34 @@ +/*- + * ============LICENSE_START======================================================= + * aai + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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.policy.aai.util; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +public final class Serialization { + + public static final Gson gsonPretty = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting() + .create(); + + private Serialization() {} + +} |