From 4b3d5ae4a7ae81dc337c81abc282d1e2fa7213c5 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Fri, 11 Jan 2019 11:46:55 -0500 Subject: Remove model-impl/so checkstyle suppressions Renamed classes from "SOxxx" to "SoXxx". Also renamed a few method names to make them camelcase, too. Updated drl files with above changes. Change-Id: I06aa303a20911733f870947c55e01f3a2dc66fa3 Issue-ID: POLICY-1143 Signed-off-by: Jim Hahn --- .../org/onap/policy/so/SOAsyncRequestStatus.java | 125 ------- .../org/onap/policy/so/SOCloudConfiguration.java | 57 ---- .../org/onap/policy/so/SOInstanceReferences.java | 57 ---- .../main/java/org/onap/policy/so/SOManager.java | 371 --------------------- .../main/java/org/onap/policy/so/SOModelInfo.java | 112 ------- .../onap/policy/so/SOPolicyExceptionHolder.java | 57 ---- .../java/org/onap/policy/so/SORelatedInstance.java | 70 ---- .../policy/so/SORelatedInstanceListElement.java | 46 --- .../main/java/org/onap/policy/so/SORequest.java | 123 ------- .../java/org/onap/policy/so/SORequestDetails.java | 215 ------------ .../java/org/onap/policy/so/SORequestError.java | 57 ---- .../java/org/onap/policy/so/SORequestInfo.java | 145 -------- .../org/onap/policy/so/SORequestParameters.java | 71 ---- .../org/onap/policy/so/SORequestReferences.java | 53 --- .../java/org/onap/policy/so/SORequestStatus.java | 79 ----- .../main/java/org/onap/policy/so/SOResponse.java | 78 ----- .../java/org/onap/policy/so/SOResponseWrapper.java | 102 ------ .../onap/policy/so/SOServiceExceptionHolder.java | 66 ---- .../java/org/onap/policy/so/SOSubscriberInfo.java | 68 ---- .../org/onap/policy/so/SoAsyncRequestStatus.java | 125 +++++++ .../org/onap/policy/so/SoCloudConfiguration.java | 57 ++++ .../org/onap/policy/so/SoInstanceReferences.java | 57 ++++ .../main/java/org/onap/policy/so/SoManager.java | 371 +++++++++++++++++++++ .../main/java/org/onap/policy/so/SoModelInfo.java | 112 +++++++ .../onap/policy/so/SoPolicyExceptionHolder.java | 57 ++++ .../java/org/onap/policy/so/SoRelatedInstance.java | 70 ++++ .../policy/so/SoRelatedInstanceListElement.java | 46 +++ .../main/java/org/onap/policy/so/SoRequest.java | 123 +++++++ .../java/org/onap/policy/so/SoRequestDetails.java | 215 ++++++++++++ .../java/org/onap/policy/so/SoRequestError.java | 57 ++++ .../java/org/onap/policy/so/SoRequestInfo.java | 145 ++++++++ .../org/onap/policy/so/SoRequestParameters.java | 71 ++++ .../org/onap/policy/so/SoRequestReferences.java | 53 +++ .../java/org/onap/policy/so/SoRequestStatus.java | 79 +++++ .../main/java/org/onap/policy/so/SoResponse.java | 78 +++++ .../java/org/onap/policy/so/SoResponseWrapper.java | 102 ++++++ .../onap/policy/so/SoServiceExceptionHolder.java | 66 ++++ .../java/org/onap/policy/so/SoSubscriberInfo.java | 68 ++++ 38 files changed, 1952 insertions(+), 1952 deletions(-) delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOAsyncRequestStatus.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOCloudConfiguration.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOInstanceReferences.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOManager.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOModelInfo.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOPolicyExceptionHolder.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORelatedInstance.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORelatedInstanceListElement.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequest.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestDetails.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestError.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestInfo.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestParameters.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestReferences.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestStatus.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOResponse.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOResponseWrapper.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOServiceExceptionHolder.java delete mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOSubscriberInfo.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoAsyncRequestStatus.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoCloudConfiguration.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoInstanceReferences.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoManager.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoModelInfo.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoPolicyExceptionHolder.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRelatedInstance.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRelatedInstanceListElement.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequest.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestDetails.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestError.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestInfo.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestParameters.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestReferences.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestStatus.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoResponse.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoResponseWrapper.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoServiceExceptionHolder.java create mode 100644 controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoSubscriberInfo.java (limited to 'controlloop/common/model-impl/so/src/main/java') diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOAsyncRequestStatus.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOAsyncRequestStatus.java deleted file mode 100644 index 5bb03de06..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOAsyncRequestStatus.java +++ /dev/null @@ -1,125 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; -import java.time.LocalDateTime; - -public class SOAsyncRequestStatus implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("correlator") - private String correlator; - - @SerializedName("requestId") - private String requestId; - - @SerializedName("instanceReferences") - private SOInstanceReferences instanceReferences; - - @SerializedName("startTime") - private LocalDateTime startTime; - - @SerializedName("finishTime") - private LocalDateTime finishTime; - - @SerializedName("requestScope") - private String requestScope; - - @SerializedName("requestType") - private String requestType; - - @SerializedName("requestStatus") - private SORequestStatus requestStatus; - - public SOAsyncRequestStatus() { - // required by author - } - - public String getCorrelator() { - return correlator; - } - - - public LocalDateTime getFinishTime() { - return finishTime; - } - - public SOInstanceReferences getInstanceReferences() { - return instanceReferences; - } - - public String getRequestId() { - return requestId; - } - - public String getRequestScope() { - return requestScope; - } - - public SORequestStatus getRequestStatus() { - return requestStatus; - } - - public String getRequestType() { - return requestType; - } - - public LocalDateTime getStartTime() { - return startTime; - } - - public void setCorrelator(String correlator) { - this.correlator = correlator; - } - - public void setFinishTime(LocalDateTime finishTime) { - this.finishTime = finishTime; - } - - public void setInstanceReferences(SOInstanceReferences instanceReferences) { - this.instanceReferences = instanceReferences; - } - - public void setRequestId(String requestId) { - this.requestId = requestId; - } - - public void setRequestScope(String requestScope) { - this.requestScope = requestScope; - } - - public void setRequestStatus(SORequestStatus requestStatus) { - this.requestStatus = requestStatus; - } - - public void setRequestType(String requestType) { - this.requestType = requestType; - } - - public void setStartTime(LocalDateTime startTime) { - this.startTime = startTime; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOCloudConfiguration.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOCloudConfiguration.java deleted file mode 100644 index b52fe2b7c..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOCloudConfiguration.java +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SOCloudConfiguration implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("lcpCloudRegionId") - private String lcpCloudRegionId; - - @SerializedName("tenantId") - private String tenantId; - - public SOCloudConfiguration() { - //required by author - } - - public String getLcpCloudRegionId() { - return lcpCloudRegionId; - } - - public String getTenantId() { - return tenantId; - } - - public void setLcpCloudRegionId(String lcpCloudRegionId) { - this.lcpCloudRegionId = lcpCloudRegionId; - } - - public void setTenantId(String tenantId) { - this.tenantId = tenantId; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOInstanceReferences.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOInstanceReferences.java deleted file mode 100644 index 645e7f711..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOInstanceReferences.java +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SOInstanceReferences implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("requestId") - private String requestId; - - @SerializedName("instanceId") - private String instanceId; - - public SOInstanceReferences() { - //requried by author - } - - public String getInstanceId() { - return instanceId; - } - - public String getRequestId() { - return requestId; - } - - public void setInstanceId(String instanceId) { - this.instanceId = instanceId; - } - - public void setRequestId(String requestId) { - this.requestId = requestId; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOManager.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOManager.java deleted file mode 100644 index 6557be45e..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOManager.java +++ /dev/null @@ -1,371 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.GsonBuilder; -import com.google.gson.JsonSyntaxException; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import org.drools.core.WorkingMemory; -import org.onap.policy.drools.system.PolicyEngine; -import org.onap.policy.rest.RESTManager; -import org.onap.policy.rest.RESTManager.Pair; -import org.onap.policy.so.util.Serialization; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -/** - * This class handles the interface towards SO (Service Orchestrator) for the ONAP Policy - * Framework. The SO API is defined at this link: - * http://onap.readthedocs.io/en/latest/submodules/so.git/docs/SO_R1_Interface.html#get-orchestration-request - * - */ -public final class SOManager { - private static final Logger logger = LoggerFactory.getLogger(SOManager.class); - private static final Logger netLogger = - LoggerFactory.getLogger(org.onap.policy.common.endpoints.event.comm.Topic.NETWORK_LOGGER); - private static ExecutorService executors = Executors.newCachedThreadPool(); - - private static final int SO_RESPONSE_ERROR = 999; - private static final String MEDIA_TYPE = "application/json"; - private static final String LINE_SEPARATOR = System.lineSeparator(); - - // REST get timeout value in milliseconds - private static final int GET_REQUESTS_BEFORE_TIMEOUT = 20; - private static final long GET_REQUEST_WAIT_INTERVAL = 20000; - - // The REST manager used for processing REST calls for this VFC manager - private RESTManager restManager; - - private long restGetTimeout = GET_REQUEST_WAIT_INTERVAL; - - /** - * Default constructor. - */ - public SOManager() { - restManager = new RESTManager(); - } - - /** - * Create a service instance in SO. - * - * @param url the SO URL - * @param urlBase the base URL - * @param username user name on SO - * @param password password on SO - * @param request the request to issue to SO - * @return the SO Response object - */ - public SOResponse createModuleInstance(final String url, final String urlBase, final String username, - final String password, final SORequest request) { - // Issue the HTTP POST request to SO to create the service instance - String requestJson = Serialization.gsonPretty.toJson(request); - netLogger.info("[OUT|{}|{}|{}|{}|{}|{}|]{}{}", "SO", url, username, password, createSimpleHeaders(), MEDIA_TYPE, - LINE_SEPARATOR, requestJson); - Pair httpResponse = - restManager.post(url, username, password, createSimpleHeaders(), MEDIA_TYPE, requestJson); - - // Process the response from SO - SOResponse response = waitForSoOperationCompletion(urlBase, username, password, url, httpResponse); - if (SO_RESPONSE_ERROR != response.getHttpResponseCode()) { - return response; - } else { - return null; - } - } - - /** - * Works just like SOManager#asyncSORestCall(String, WorkingMemory, String, String, String, SORequest) - * except the vfModuleInstanceId is always null. - * - */ - public Future asyncSORestCall(final String requestId, final WorkingMemory wm, - final String serviceInstanceId, final String vnfInstanceId, - final SORequest request) { - return asyncSORestCall(requestId, wm, serviceInstanceId, vnfInstanceId, null, request); - } - - /** - * This method makes an asynchronous Rest call to MSO and inserts the response into - * Drools working memory. - * - * @param requestId the request id - * @param wm the Drools working memory - * @param serviceInstanceId service instance id to construct the request url - * @param vnfInstanceId vnf instance id to construct the request url - * @param vfModuleInstanceId vfModule instance id to construct the request url (required in case of delete vf - * module) - * @param request the SO request - * @return a concurrent Future for the thread that handles the request - */ - public Future asyncSORestCall(final String requestId, - final WorkingMemory wm, - final String serviceInstanceId, - final String vnfInstanceId, - final String vfModuleInstanceId, final SORequest request) { - return executors.submit(new AsyncSoRestCallThread(requestId, wm, serviceInstanceId, vnfInstanceId, - vfModuleInstanceId, request)); - } - - /** - * This class handles an asynchronous request to SO as a thread. - */ - private class AsyncSoRestCallThread implements Callable { - final String requestId; - final WorkingMemory wm; - final String serviceInstanceId; - final String vnfInstanceId; - final String vfModuleInstanceId; - final SORequest request; - - /** - * Constructor, sets the context of the request. - * - * @param requestID The request ID - * @param wm reference to the Drools working memory - * @param serviceInstanceId the service instance in SO to use - * @param vnfInstanceId the VNF instance that is the subject of the request - * @param vfModuleInstanceId the vf module instance id (not null in case of delete vf module request) - * @param request the request itself - */ - private AsyncSoRestCallThread(final String requestId, - final WorkingMemory wm, final String serviceInstanceId, - final String vnfInstanceId, final String vfModuleInstanceId, - final SORequest request) { - this.requestId = requestId; - this.wm = wm; - this.serviceInstanceId = serviceInstanceId; - this.vnfInstanceId = vnfInstanceId; - this.vfModuleInstanceId = vfModuleInstanceId; - this.request = request; - } - - /** - * Process the asynchronous SO request. - */ - @Override - public SOResponse call() { - String urlBase = PolicyEngine.manager.getEnvironmentProperty("so.url"); - String username = PolicyEngine.manager.getEnvironmentProperty("so.username"); - String password = PolicyEngine.manager.getEnvironmentProperty("so.password"); - - // Create a JSON representation of the request - String soJson = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting().create().toJson(request); - String url = null; - Pair httpResponse = null; - - if (request.getOperationType() != null && request.getOperationType() - .equals(SoOperationType.SCALE_OUT)) { - url = urlBase + "/serviceInstantiation/v7/serviceInstances/" + serviceInstanceId + "/vnfs/" - + vnfInstanceId + "/vfModules/scaleOut"; - netLogger.info("[OUT|{}|{}|]{}{}", "SO", url, LINE_SEPARATOR, soJson); - httpResponse = restManager.post(url, username, password, createSimpleHeaders(), MEDIA_TYPE, soJson); - } else if (request.getOperationType() != null && request.getOperationType() - .equals(SoOperationType.DELETE_VF_MODULE)) { - url = urlBase + "/serviceInstances/v7/" + serviceInstanceId + "/vnfs/" + vnfInstanceId - + "/vfModules/" + vfModuleInstanceId; - netLogger.info("[OUT|{}|{}|]{}{}", "SO", url, LINE_SEPARATOR, soJson); - httpResponse = restManager.delete(url, username, password, createSimpleHeaders(), MEDIA_TYPE, soJson); - } else { - return null; - } - - // Process the response from SO - SOResponse response = waitForSoOperationCompletion(urlBase, username, password, url, httpResponse); - - // Return the response to Drools in its working memory - SOResponseWrapper soWrapper = new SOResponseWrapper(response, requestId); - wm.insert(soWrapper); - - return response; - } - } - - /** - * Wait for the SO operation we have ordered to complete. - * - * @param urlBaseSO The base URL for SO - * @param username user name on SO - * @param password password on SO - * @param initialRequestURL The URL of the initial HTTP request - * @param initialHTTPResponse The initial HTTP message returned from SO - * @return The parsed final response of SO to the request - */ - private SOResponse waitForSoOperationCompletion(final String urlBaseSO, final String username, - final String password, final String initialRequestURL, - final Pair initialHTTPResponse) { - // Process the initial response from SO, the response to a post - SOResponse response = processSoResponse(initialRequestURL, initialHTTPResponse); - if (SO_RESPONSE_ERROR == response.getHttpResponseCode()) { - return response; - } - - // The SO URL to use to get the status of orchestration requests - String urlGet = urlBaseSO + "/orchestrationRequests/v5/" + response.getRequestReferences().getRequestId(); - - // The HTTP status code of the latest response - Pair latestHttpResponse = initialHTTPResponse; - - // Wait for the response from SO - for (int attemptsLeft = GET_REQUESTS_BEFORE_TIMEOUT; attemptsLeft >= 0; attemptsLeft--) { - // The SO request may have completed even on the first request so we check the - // response - // here before - // issuing any other requests - if (isRequestStateFinished(latestHttpResponse, response)) { - return response; - } - - // Wait for the defined interval before issuing a get - try { - Thread.sleep(restGetTimeout); - } catch (InterruptedException e) { - logger.error("Interrupted exception: ", e); - Thread.currentThread().interrupt(); - response.setHttpResponseCode(SO_RESPONSE_ERROR); - return response; - } - - // Issue a GET to find the current status of our request - netLogger.info("[OUT|{}|{}|{}|{}|{}|{}|]{}", "SO", urlGet, username, password, createSimpleHeaders(), - MEDIA_TYPE, LINE_SEPARATOR); - Pair httpResponse = restManager.get(urlGet, username, password, createSimpleHeaders()); - - // Get our response - response = processSoResponse(urlGet, httpResponse); - if (SO_RESPONSE_ERROR == response.getHttpResponseCode()) { - return response; - } - - // Our latest HTTP response code - latestHttpResponse = httpResponse; - } - - // We have timed out on the SO request - response.setHttpResponseCode(SO_RESPONSE_ERROR); - return response; - } - - /** - * Parse the response message from SO into a SOResponse object. - * - * @param requestURL The URL of the HTTP request - * @param httpResponse The HTTP message returned from SO - * @return The parsed response - */ - private SOResponse processSoResponse(final String requestUrl, final Pair httpResponse) { - SOResponse response = new SOResponse(); - - // A null httpDetails indicates a HTTP problem, a valid response from SO must be - // either 200 - // or 202 - if (!httpResultIsNullFree(httpResponse) || (httpResponse.first != 200 && httpResponse.first != 202)) { - logger.error("Invalid HTTP response received from SO"); - response.setHttpResponseCode(SO_RESPONSE_ERROR); - return response; - } - - // Parse the JSON of the response into our POJO - try { - response = Serialization.gsonPretty.fromJson(httpResponse.second, SOResponse.class); - } catch (JsonSyntaxException e) { - logger.error("Failed to deserialize HTTP response into SOResponse: ", e); - response.setHttpResponseCode(SO_RESPONSE_ERROR); - return response; - } - - // Set the HTTP response code of the response if needed - if (response.getHttpResponseCode() == 0) { - response.setHttpResponseCode(httpResponse.first); - } - - netLogger.info("[IN|{}|{}|]{}{}", "SO", requestUrl, LINE_SEPARATOR, httpResponse.second); - - if (logger.isDebugEnabled()) { - logger.debug("***** Response to SO Request to URL {}:", requestUrl); - logger.debug(httpResponse.second); - } - - return response; - } - - /** - * Method to allow tuning of REST get timeout. - * - * @param restGetTimeout the timeout value - */ - protected void setRestGetTimeout(final long restGetTimeout) { - this.restGetTimeout = restGetTimeout; - } - - /** - * Check that the request state of a response is defined. - * - * @param response The response to check - * @return true if the request for the response is defined - */ - private boolean isRequestStateDefined(final SOResponse response) { - return response != null && response.getRequest() != null && response.getRequest().getRequestStatus() != null - && response.getRequest().getRequestStatus().getRequestState() != null; - } - - /** - * Check that the request state of a response is finished. - * - * @param latestHttpDetails the HTTP details of the response - * @param response The response to check - * @return true if the request for the response is finished - */ - private boolean isRequestStateFinished(final Pair latestHttpDetails, final SOResponse response) { - if (latestHttpDetails != null && 200 == latestHttpDetails.first && isRequestStateDefined(response)) { - String requestState = response.getRequest().getRequestStatus().getRequestState(); - return "COMPLETE".equalsIgnoreCase(requestState) || "FAILED".equalsIgnoreCase(requestState); - } else { - return false; - } - } - - /** - * Check that a HTTP operation result has no nulls. - * - * @param httpOperationResult the result to check - * @return true if no nulls are found - */ - private boolean httpResultIsNullFree(Pair httpOperationResult) { - return httpOperationResult != null && httpOperationResult.first != null && httpOperationResult.second != null; - } - - /** - * Create simple HTTP headers for unauthenticated requests to SO. - * - * @return the HTTP headers - */ - private Map createSimpleHeaders() { - Map headers = new HashMap<>(); - headers.put("Accept", MEDIA_TYPE); - return headers; - } -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOModelInfo.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOModelInfo.java deleted file mode 100644 index 15cbd23d0..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOModelInfo.java +++ /dev/null @@ -1,112 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SOModelInfo implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("modelType") - private String modelType; - - @SerializedName("modelInvariantId") - private String modelInvariantId; - - @SerializedName("modelVersionId") - private String modelVersionId; - - @SerializedName("modelName") - private String modelName; - - @SerializedName("modelVersion") - private String modelVersion; - - @SerializedName("modelCustomizationName") - private String modelCustomizationName; - - @SerializedName("modelCustomizationId") - private String modelCustomizationId; - - public SOModelInfo() { - //required by author - } - - public String getModelCustomizationId() { - return modelCustomizationId; - } - - public String getModelCustomizationName() { - return modelCustomizationName; - } - - public String getModelInvariantId() { - return modelInvariantId; - } - - public String getModelName() { - return modelName; - } - - public String getModelType() { - return modelType; - } - - public String getModelVersion() { - return modelVersion; - } - - public String getModelVersionId() { - return modelVersionId; - } - - public void setModelCustomizationId(String modelCustomizationId) { - this.modelCustomizationId = modelCustomizationId; - } - - public void setModelCustomizationName(String modelCustomizationName) { - this.modelCustomizationName = modelCustomizationName; - } - - public void setModelInvariantId(String modelInvariantId) { - this.modelInvariantId = modelInvariantId; - } - - public void setModelName(String modelName) { - this.modelName = modelName; - } - - public void setModelType(String modelType) { - this.modelType = modelType; - } - - public void setModelVersion(String modelVersion) { - this.modelVersion = modelVersion; - } - - public void setModelVersionId(String modelVersionId) { - this.modelVersionId = modelVersionId; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOPolicyExceptionHolder.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOPolicyExceptionHolder.java deleted file mode 100644 index 4c4fed1f2..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOPolicyExceptionHolder.java +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SOPolicyExceptionHolder implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("messageId") - private String messageId; - - @SerializedName("text") - private String text; - - public SOPolicyExceptionHolder() { - //required by author - } - - public String getMessageId() { - return messageId; - } - - public String getText() { - return text; - } - - public void setMessageId(String messageId) { - this.messageId = messageId; - } - - public void setText(String text) { - this.text = text; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORelatedInstance.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORelatedInstance.java deleted file mode 100644 index 90fe339ee..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORelatedInstance.java +++ /dev/null @@ -1,70 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SORelatedInstance implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("instanceId") - private String instanceId; - - @SerializedName("instanceName") - private String instanceName; - - @SerializedName("modelInfo") - private SOModelInfo modelInfo; - - public SORelatedInstance() { - //required by author - } - - public String getInstanceId() { - return instanceId; - } - - - public String getInstanceName() { - return instanceName; - } - - public SOModelInfo getModelInfo() { - return modelInfo; - } - - public void setInstanceId(String instanceId) { - this.instanceId = instanceId; - } - - public void setInstanceName(String instanceName) { - this.instanceName = instanceName; - } - - - public void setModelInfo(SOModelInfo modelInfo) { - this.modelInfo = modelInfo; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORelatedInstanceListElement.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORelatedInstanceListElement.java deleted file mode 100644 index 4d3d27346..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORelatedInstanceListElement.java +++ /dev/null @@ -1,46 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SORelatedInstanceListElement implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("relatedInstance") - private SORelatedInstance relatedInstance; - - public SORelatedInstanceListElement() { - //required by author - } - - public SORelatedInstance getRelatedInstance() { - return relatedInstance; - } - - public void setRelatedInstance(SORelatedInstance relatedInstance) { - this.relatedInstance = relatedInstance; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequest.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequest.java deleted file mode 100644 index 8bcbacf73..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequest.java +++ /dev/null @@ -1,123 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.UUID; - -public class SORequest implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("requestId") - private UUID requestId; - - @SerializedName("startTime") - private String startTime; - - @SerializedName("finishTime") - private LocalDateTime finishTime; - - @SerializedName("requestScope") - private String requestScope; - - @SerializedName("requestType") - private String requestType; - - @SerializedName("requestDetails") - private SORequestDetails requestDetails; - - @SerializedName("requestStatus") - private SORequestStatus requestStatus; - - private transient SoOperationType operationType; - - public SORequest() { - // required by author - } - - public LocalDateTime getFinishTime() { - return finishTime; - } - - public SORequestDetails getRequestDetails() { - return requestDetails; - } - - public UUID getRequestId() { - return requestId; - } - - public String getRequestScope() { - return requestScope; - } - - public SORequestStatus getRequestStatus() { - return requestStatus; - } - - public String getRequestType() { - return requestType; - } - - public String getStartTime() { - return startTime; - } - - public void setFinishTime(LocalDateTime finishTime) { - this.finishTime = finishTime; - } - - public void setRequestDetails(SORequestDetails requestDetails) { - this.requestDetails = requestDetails; - } - - public void setRequestId(UUID requestId) { - this.requestId = requestId; - } - - public void setRequestScope(String requestScope) { - this.requestScope = requestScope; - } - - public void setRequestStatus(SORequestStatus requestStatus) { - this.requestStatus = requestStatus; - } - - public void setRequestType(String requestType) { - this.requestType = requestType; - } - - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public SoOperationType getOperationType() { - return operationType; - } - - public void setOperationType(SoOperationType operationType) { - this.operationType = operationType; - } -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestDetails.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestDetails.java deleted file mode 100644 index 465895117..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestDetails.java +++ /dev/null @@ -1,215 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -public class SORequestDetails implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("modelInfo") - private SOModelInfo modelInfo; - - @SerializedName("cloudConfiguration") - private SOCloudConfiguration cloudConfiguration; - - @SerializedName("requestInfo") - private SORequestInfo requestInfo; - - @SerializedName("subscriberInfo") - private SOSubscriberInfo subscriberInfo; - - @SerializedName("relatedInstanceList") - private List relatedInstanceList = new LinkedList<>(); - - @SerializedName("requestParameters") - private SORequestParameters requestParameters; - - @SerializedName("configurationParameters") - private List> configurationParameters = new LinkedList<>(); - - public SORequestDetails() { - - } - - /** - * Constructor. - * - * @param soRequestDetails copy object - */ - public SORequestDetails(SORequestDetails soRequestDetails) { - this.modelInfo = soRequestDetails.modelInfo; - this.cloudConfiguration = soRequestDetails.cloudConfiguration; - this.requestInfo = soRequestDetails.requestInfo; - this.relatedInstanceList = soRequestDetails.relatedInstanceList; - this.requestParameters = soRequestDetails.requestParameters; - this.subscriberInfo = soRequestDetails.subscriberInfo; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - SORequestDetails other = (SORequestDetails) obj; - if (cloudConfiguration == null) { - if (other.cloudConfiguration != null) { - return false; - } - } else if (!cloudConfiguration.equals(other.cloudConfiguration)) { - return false; - } - if (configurationParameters == null) { - if (other.configurationParameters != null) { - return false; - } - } else if (!configurationParameters.equals(other.configurationParameters)) { - return false; - } - if (modelInfo == null) { - if (other.modelInfo != null) { - return false; - } - } else if (!modelInfo.equals(other.modelInfo)) { - return false; - } - if (relatedInstanceList == null) { - if (other.relatedInstanceList != null) { - return false; - } - } else if (!relatedInstanceList.equals(other.relatedInstanceList)) { - return false; - } - if (requestInfo == null) { - if (other.requestInfo != null) { - return false; - } - } else if (!requestInfo.equals(other.requestInfo)) { - return false; - } - if (requestParameters == null) { - if (other.requestParameters != null) { - return false; - } - } else if (!requestParameters.equals(other.requestParameters)) { - return false; - } - if (subscriberInfo == null) { - if (other.subscriberInfo != null) { - return false; - } - } else if (!subscriberInfo.equals(other.subscriberInfo)) { - return false; - } - return true; - } - - public SOCloudConfiguration getCloudConfiguration() { - return cloudConfiguration; - } - - public SOModelInfo getModelInfo() { - return modelInfo; - } - - public List getRelatedInstanceList() { - return relatedInstanceList; - } - - public SORequestInfo getRequestInfo() { - return requestInfo; - } - - public SORequestParameters getRequestParameters() { - return requestParameters; - } - - public List> getConfigurationParameters() { - return configurationParameters; - } - - public SOSubscriberInfo getSubscriberInfo() { - return subscriberInfo; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((cloudConfiguration == null) ? 0 : cloudConfiguration.hashCode()); - result = prime * result + ((configurationParameters == null) ? 0 : configurationParameters.hashCode()); - result = prime * result + ((modelInfo == null) ? 0 : modelInfo.hashCode()); - result = prime * result + ((relatedInstanceList == null) ? 0 : relatedInstanceList.hashCode()); - result = prime * result + ((requestInfo == null) ? 0 : requestInfo.hashCode()); - result = prime * result + ((requestParameters == null) ? 0 : requestParameters.hashCode()); - result = prime * result + ((subscriberInfo == null) ? 0 : subscriberInfo.hashCode()); - return result; - } - - public void setCloudConfiguration(SOCloudConfiguration cloudConfiguration) { - this.cloudConfiguration = cloudConfiguration; - } - - public void setModelInfo(SOModelInfo modelInfo) { - this.modelInfo = modelInfo; - } - - public void setRequestInfo(SORequestInfo requestInfo) { - this.requestInfo = requestInfo; - } - - public void setRequestParameters(SORequestParameters requestParameters) { - this.requestParameters = requestParameters; - } - - public void setConfigurationParameters(List> configurationParameters) { - this.configurationParameters = configurationParameters; - } - - public void setSubscriberInfo(SOSubscriberInfo subscriberInfo) { - this.subscriberInfo = subscriberInfo; - } - - public void setRelatedInstanceList(List relatedInstanceList) { - this.relatedInstanceList = relatedInstanceList; - } - - @Override - public String toString() { - return "SORequestDetails [modelInfo=" + modelInfo + ", cloudConfiguration=" + cloudConfiguration - + ", requestInfo=" + requestInfo + ", subscriberInfo=" + subscriberInfo - + ", relatedInstanceList=" + relatedInstanceList + ", requestParameters=" + requestParameters - + ", configurationParameters=" + configurationParameters + "]"; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestError.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestError.java deleted file mode 100644 index 7594ef95c..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestError.java +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SORequestError implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("policyException") - private SOPolicyExceptionHolder policyException; - - @SerializedName("serviceException") - private SOServiceExceptionHolder serviceException; - - public SORequestError() { - // required by author - } - - public SOPolicyExceptionHolder getPolicyException() { - return policyException; - } - - public SOServiceExceptionHolder getServiceException() { - return serviceException; - } - - public void setPolicyException(SOPolicyExceptionHolder policyException) { - this.policyException = policyException; - } - - public void setServiceException(SOServiceExceptionHolder serviceException) { - this.serviceException = serviceException; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestInfo.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestInfo.java deleted file mode 100644 index c30e50c17..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestInfo.java +++ /dev/null @@ -1,145 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SORequestInfo implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("instanceName") - private String instanceName; - - @SerializedName("source") - private String source; - - @SerializedName("productFamilyId") - private String productFamilyId; - - @SerializedName("suppressRollback") - private boolean suppressRollback; - - @SerializedName("billingAccountNumber") - private String billingAccountNumber; - - @SerializedName("callbackUrl") - private String callbackUrl; - - @SerializedName("correlator") - private String correlator; - - @SerializedName("orderNumber") - private String orderNumber; - - @SerializedName("orderVersion") - private Integer orderVersion; - - @SerializedName("requestorId") - private String requestorId; - - public SORequestInfo() { - // required by author - } - - public String getBillingAccountNumber() { - return billingAccountNumber; - } - - public String getCallbackUrl() { - return callbackUrl; - } - - public String getCorrelator() { - return correlator; - } - - public String getInstanceName() { - return instanceName; - } - - public String getOrderNumber() { - return orderNumber; - } - - public Integer getOrderVersion() { - return orderVersion; - } - - public String getProductFamilyId() { - return productFamilyId; - } - - public String getRequestorId() { - return requestorId; - } - - public String getSource() { - return source; - } - - public boolean isSuppressRollback() { - return suppressRollback; - } - - public void setBillingAccountNumber(String billingAccountNumber) { - this.billingAccountNumber = billingAccountNumber; - } - - public void setCallbackUrl(String callbackUrl) { - this.callbackUrl = callbackUrl; - } - - public void setCorrelator(String correlator) { - this.correlator = correlator; - } - - public void setInstanceName(String instanceName) { - this.instanceName = instanceName; - } - - public void setOrderNumber(String orderNumber) { - this.orderNumber = orderNumber; - } - - public void setOrderVersion(Integer orderVersion) { - this.orderVersion = orderVersion; - } - - public void setProductFamilyId(String productFamilyId) { - this.productFamilyId = productFamilyId; - } - - public void setRequestorId(String requestorId) { - this.requestorId = requestorId; - } - - public void setSource(String source) { - this.source = source; - } - - public void setSuppressRollback(boolean suppressRollback) { - this.suppressRollback = suppressRollback; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestParameters.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestParameters.java deleted file mode 100644 index 69faded76..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestParameters.java +++ /dev/null @@ -1,71 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -public class SORequestParameters implements Serializable { - - private static final long serialVersionUID = -3283942659786236033L; - - @SerializedName("subscriptionServiceType") - private String subscriptionServiceType; - - @SerializedName("usePreload") - private boolean usePreload; - - @SerializedName("userParams") - private List> userParams = new LinkedList<>(); - - public SORequestParameters() { - // required by author - } - - public String getSubscriptionServiceType() { - return subscriptionServiceType; - } - - public boolean isUsePreload() { - return usePreload; - } - - public List> getUserParams() { - return userParams; - } - - public void setSubscriptionServiceType(String subscriptionServiceType) { - this.subscriptionServiceType = subscriptionServiceType; - } - - public void setUsePreload(boolean usePreload) { - this.usePreload = usePreload; - } - - public void setUserParams(List> userParams) { - this.userParams = userParams; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestReferences.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestReferences.java deleted file mode 100644 index 71b1cccfe..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestReferences.java +++ /dev/null @@ -1,53 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SORequestReferences implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("instanceId") - private String instanceId; - - @SerializedName("requestId") - private String requestId; - - public String getInstanceId() { - return instanceId; - } - - public String getRequestId() { - return requestId; - } - - public void setInstanceId(String instanceId) { - this.instanceId = instanceId; - } - - public void setRequestId(String requestId) { - this.requestId = requestId; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestStatus.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestStatus.java deleted file mode 100644 index 79406574d..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SORequestStatus.java +++ /dev/null @@ -1,79 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SORequestStatus implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("percentProgress") - private int percentProgress; - - @SerializedName("requestState") - private String requestState; - - @SerializedName("timestamp") - private String timestamp; - - @SerializedName("wasRolledBack") - private boolean wasRolledBack; - - public SORequestStatus() { - //required by author - } - - public int getPercentProgress() { - return percentProgress; - } - - public String getRequestState() { - return requestState; - } - - public String getTimestamp() { - return timestamp; - } - - public boolean isWasRolledBack() { - return wasRolledBack; - } - - public void setPercentProgress(int percentProgress) { - this.percentProgress = percentProgress; - } - - public void setRequestState(String requestState) { - this.requestState = requestState; - } - - public void setTimestamp(String timestamp) { - this.timestamp = timestamp; - } - - public void setWasRolledBack(boolean wasRolledBack) { - this.wasRolledBack = wasRolledBack; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOResponse.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOResponse.java deleted file mode 100644 index e9350838a..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOResponse.java +++ /dev/null @@ -1,78 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SOResponse implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("requestReferences") - private SORequestReferences requestReferences; - - @SerializedName("requestError") - private SORequestError requestError; - - @SerializedName("request") - private SORequest request; - - private int httpResponseCode; - - public SOResponse() { - // required by author - } - - public int getHttpResponseCode() { - return httpResponseCode; - } - - public SORequest getRequest() { - return request; - } - - public SORequestError getRequestError() { - return requestError; - } - - public SORequestReferences getRequestReferences() { - return requestReferences; - } - - public void setHttpResponseCode(int httpResponseCode) { - this.httpResponseCode = httpResponseCode; - } - - public void setRequest(SORequest request) { - this.request = request; - } - - public void setRequestError(SORequestError requestError) { - this.requestError = requestError; - } - - public void setRequestReferences(SORequestReferences requestReferences) { - this.requestReferences = requestReferences; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOResponseWrapper.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOResponseWrapper.java deleted file mode 100644 index dcf640d83..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOResponseWrapper.java +++ /dev/null @@ -1,102 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SOResponseWrapper implements Serializable { - - private static final long serialVersionUID = 7673023687132889069L; - - @SerializedName("SoResponse") - private SOResponse soResponse; - - private transient String requestID; - - public SOResponseWrapper(SOResponse response, String reqID) { - this.soResponse = response; - this.requestID = reqID; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - SOResponseWrapper other = (SOResponseWrapper) obj; - if (soResponse == null) { - if (other.soResponse != null) { - return false; - } - } - else if (!soResponse.equals(other.soResponse)) { - return false; - } - if (requestID == null) { - if (other.requestID != null) { - return false; - } - } - else if (!requestID.equals(other.requestID)) { - return false; - } - return true; - } - - public String getRequestID() { - return requestID; - } - - public SOResponse getSoResponse() { - return soResponse; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = super.hashCode(); - result = prime * result + ((soResponse == null) ? 0 : soResponse.hashCode()); - result = prime * result + ((requestID == null) ? 0 : requestID.hashCode()); - return result; - } - - public void setRequestID(String requestId) { - this.requestID = requestId; - } - - public void setSoResponse(SOResponse response) { - soResponse = response; - } - - @Override - public String toString() { - return "SOResponseWrapper [SOResponse=" + soResponse + ", RequestID=" + requestID + "]"; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOServiceExceptionHolder.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOServiceExceptionHolder.java deleted file mode 100644 index 65ba446e3..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOServiceExceptionHolder.java +++ /dev/null @@ -1,66 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; -import java.util.LinkedList; -import java.util.List; - -public class SOServiceExceptionHolder implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("messageId") - private String messageId; - - @SerializedName("text") - private String text; - - @SerializedName("variables") - private List variables = new LinkedList<>(); - - public SOServiceExceptionHolder() { - // required by author - } - - public String getMessageId() { - return messageId; - } - - public String getText() { - return text; - } - - public List getVariables() { - return variables; - } - - public void setMessageId(String messageId) { - this.messageId = messageId; - } - - public void setText(String text) { - this.text = text; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOSubscriberInfo.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOSubscriberInfo.java deleted file mode 100644 index f7a4982a1..000000000 --- a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SOSubscriberInfo.java +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * so - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.so; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; - -public class SOSubscriberInfo implements Serializable { - - private static final long serialVersionUID = -3283942659786236032L; - - @SerializedName("globalSubscriberId") - private String globalSubscriberId; - - @SerializedName("subscriberCommonSiteId") - private String subscriberCommonSiteId; - - @SerializedName("subscriberName") - private String subscriberName; - - public SOSubscriberInfo() { - //required by author - } - - public String getGlobalSubscriberId() { - return globalSubscriberId; - } - - public String getSubscriberCommonSiteId() { - return subscriberCommonSiteId; - } - - public String getSubscriberName() { - return subscriberName; - } - - public void setGlobalSubscriberId(String globalSubscriberId) { - this.globalSubscriberId = globalSubscriberId; - } - - public void setSubscriberCommonSiteId(String subscriberCommonSiteId) { - this.subscriberCommonSiteId = subscriberCommonSiteId; - } - - public void setSubscriberName(String subscriberName) { - this.subscriberName = subscriberName; - } - -} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoAsyncRequestStatus.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoAsyncRequestStatus.java new file mode 100644 index 000000000..a596b1b07 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoAsyncRequestStatus.java @@ -0,0 +1,125 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.time.LocalDateTime; + +public class SoAsyncRequestStatus implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("correlator") + private String correlator; + + @SerializedName("requestId") + private String requestId; + + @SerializedName("instanceReferences") + private SoInstanceReferences instanceReferences; + + @SerializedName("startTime") + private LocalDateTime startTime; + + @SerializedName("finishTime") + private LocalDateTime finishTime; + + @SerializedName("requestScope") + private String requestScope; + + @SerializedName("requestType") + private String requestType; + + @SerializedName("requestStatus") + private SoRequestStatus requestStatus; + + public SoAsyncRequestStatus() { + // required by author + } + + public String getCorrelator() { + return correlator; + } + + + public LocalDateTime getFinishTime() { + return finishTime; + } + + public SoInstanceReferences getInstanceReferences() { + return instanceReferences; + } + + public String getRequestId() { + return requestId; + } + + public String getRequestScope() { + return requestScope; + } + + public SoRequestStatus getRequestStatus() { + return requestStatus; + } + + public String getRequestType() { + return requestType; + } + + public LocalDateTime getStartTime() { + return startTime; + } + + public void setCorrelator(String correlator) { + this.correlator = correlator; + } + + public void setFinishTime(LocalDateTime finishTime) { + this.finishTime = finishTime; + } + + public void setInstanceReferences(SoInstanceReferences instanceReferences) { + this.instanceReferences = instanceReferences; + } + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + public void setRequestScope(String requestScope) { + this.requestScope = requestScope; + } + + public void setRequestStatus(SoRequestStatus requestStatus) { + this.requestStatus = requestStatus; + } + + public void setRequestType(String requestType) { + this.requestType = requestType; + } + + public void setStartTime(LocalDateTime startTime) { + this.startTime = startTime; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoCloudConfiguration.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoCloudConfiguration.java new file mode 100644 index 000000000..48a2489ab --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoCloudConfiguration.java @@ -0,0 +1,57 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoCloudConfiguration implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("lcpCloudRegionId") + private String lcpCloudRegionId; + + @SerializedName("tenantId") + private String tenantId; + + public SoCloudConfiguration() { + //required by author + } + + public String getLcpCloudRegionId() { + return lcpCloudRegionId; + } + + public String getTenantId() { + return tenantId; + } + + public void setLcpCloudRegionId(String lcpCloudRegionId) { + this.lcpCloudRegionId = lcpCloudRegionId; + } + + public void setTenantId(String tenantId) { + this.tenantId = tenantId; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoInstanceReferences.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoInstanceReferences.java new file mode 100644 index 000000000..f4065e613 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoInstanceReferences.java @@ -0,0 +1,57 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoInstanceReferences implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("requestId") + private String requestId; + + @SerializedName("instanceId") + private String instanceId; + + public SoInstanceReferences() { + //requried by author + } + + public String getInstanceId() { + return instanceId; + } + + public String getRequestId() { + return requestId; + } + + public void setInstanceId(String instanceId) { + this.instanceId = instanceId; + } + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoManager.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoManager.java new file mode 100644 index 000000000..632c48933 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoManager.java @@ -0,0 +1,371 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.GsonBuilder; +import com.google.gson.JsonSyntaxException; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import org.drools.core.WorkingMemory; +import org.onap.policy.drools.system.PolicyEngine; +import org.onap.policy.rest.RESTManager; +import org.onap.policy.rest.RESTManager.Pair; +import org.onap.policy.so.util.Serialization; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +/** + * This class handles the interface towards SO (Service Orchestrator) for the ONAP Policy + * Framework. The SO API is defined at this link: + * http://onap.readthedocs.io/en/latest/submodules/so.git/docs/SO_R1_Interface.html#get-orchestration-request + * + */ +public final class SoManager { + private static final Logger logger = LoggerFactory.getLogger(SoManager.class); + private static final Logger netLogger = + LoggerFactory.getLogger(org.onap.policy.common.endpoints.event.comm.Topic.NETWORK_LOGGER); + private static ExecutorService executors = Executors.newCachedThreadPool(); + + private static final int SO_RESPONSE_ERROR = 999; + private static final String MEDIA_TYPE = "application/json"; + private static final String LINE_SEPARATOR = System.lineSeparator(); + + // REST get timeout value in milliseconds + private static final int GET_REQUESTS_BEFORE_TIMEOUT = 20; + private static final long GET_REQUEST_WAIT_INTERVAL = 20000; + + // The REST manager used for processing REST calls for this VFC manager + private RESTManager restManager; + + private long restGetTimeout = GET_REQUEST_WAIT_INTERVAL; + + /** + * Default constructor. + */ + public SoManager() { + restManager = new RESTManager(); + } + + /** + * Create a service instance in SO. + * + * @param url the SO URL + * @param urlBase the base URL + * @param username user name on SO + * @param password password on SO + * @param request the request to issue to SO + * @return the SO Response object + */ + public SoResponse createModuleInstance(final String url, final String urlBase, final String username, + final String password, final SoRequest request) { + // Issue the HTTP POST request to SO to create the service instance + String requestJson = Serialization.gsonPretty.toJson(request); + netLogger.info("[OUT|{}|{}|{}|{}|{}|{}|]{}{}", "SO", url, username, password, createSimpleHeaders(), MEDIA_TYPE, + LINE_SEPARATOR, requestJson); + Pair httpResponse = + restManager.post(url, username, password, createSimpleHeaders(), MEDIA_TYPE, requestJson); + + // Process the response from SO + SoResponse response = waitForSoOperationCompletion(urlBase, username, password, url, httpResponse); + if (SO_RESPONSE_ERROR != response.getHttpResponseCode()) { + return response; + } else { + return null; + } + } + + /** + * Works just like SOManager#asyncSORestCall(String, WorkingMemory, String, String, String, SORequest) + * except the vfModuleInstanceId is always null. + * + */ + public Future asyncSoRestCall(final String requestId, final WorkingMemory wm, + final String serviceInstanceId, final String vnfInstanceId, + final SoRequest request) { + return asyncSoRestCall(requestId, wm, serviceInstanceId, vnfInstanceId, null, request); + } + + /** + * This method makes an asynchronous Rest call to MSO and inserts the response into + * Drools working memory. + * + * @param requestId the request id + * @param wm the Drools working memory + * @param serviceInstanceId service instance id to construct the request url + * @param vnfInstanceId vnf instance id to construct the request url + * @param vfModuleInstanceId vfModule instance id to construct the request url (required in case of delete vf + * module) + * @param request the SO request + * @return a concurrent Future for the thread that handles the request + */ + public Future asyncSoRestCall(final String requestId, + final WorkingMemory wm, + final String serviceInstanceId, + final String vnfInstanceId, + final String vfModuleInstanceId, final SoRequest request) { + return executors.submit(new AsyncSoRestCallThread(requestId, wm, serviceInstanceId, vnfInstanceId, + vfModuleInstanceId, request)); + } + + /** + * This class handles an asynchronous request to SO as a thread. + */ + private class AsyncSoRestCallThread implements Callable { + final String requestId; + final WorkingMemory wm; + final String serviceInstanceId; + final String vnfInstanceId; + final String vfModuleInstanceId; + final SoRequest request; + + /** + * Constructor, sets the context of the request. + * + * @param requestID The request ID + * @param wm reference to the Drools working memory + * @param serviceInstanceId the service instance in SO to use + * @param vnfInstanceId the VNF instance that is the subject of the request + * @param vfModuleInstanceId the vf module instance id (not null in case of delete vf module request) + * @param request the request itself + */ + private AsyncSoRestCallThread(final String requestId, + final WorkingMemory wm, final String serviceInstanceId, + final String vnfInstanceId, final String vfModuleInstanceId, + final SoRequest request) { + this.requestId = requestId; + this.wm = wm; + this.serviceInstanceId = serviceInstanceId; + this.vnfInstanceId = vnfInstanceId; + this.vfModuleInstanceId = vfModuleInstanceId; + this.request = request; + } + + /** + * Process the asynchronous SO request. + */ + @Override + public SoResponse call() { + String urlBase = PolicyEngine.manager.getEnvironmentProperty("so.url"); + String username = PolicyEngine.manager.getEnvironmentProperty("so.username"); + String password = PolicyEngine.manager.getEnvironmentProperty("so.password"); + + // Create a JSON representation of the request + String soJson = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting().create().toJson(request); + String url = null; + Pair httpResponse = null; + + if (request.getOperationType() != null && request.getOperationType() + .equals(SoOperationType.SCALE_OUT)) { + url = urlBase + "/serviceInstantiation/v7/serviceInstances/" + serviceInstanceId + "/vnfs/" + + vnfInstanceId + "/vfModules/scaleOut"; + netLogger.info("[OUT|{}|{}|]{}{}", "SO", url, LINE_SEPARATOR, soJson); + httpResponse = restManager.post(url, username, password, createSimpleHeaders(), MEDIA_TYPE, soJson); + } else if (request.getOperationType() != null && request.getOperationType() + .equals(SoOperationType.DELETE_VF_MODULE)) { + url = urlBase + "/serviceInstances/v7/" + serviceInstanceId + "/vnfs/" + vnfInstanceId + + "/vfModules/" + vfModuleInstanceId; + netLogger.info("[OUT|{}|{}|]{}{}", "SO", url, LINE_SEPARATOR, soJson); + httpResponse = restManager.delete(url, username, password, createSimpleHeaders(), MEDIA_TYPE, soJson); + } else { + return null; + } + + // Process the response from SO + SoResponse response = waitForSoOperationCompletion(urlBase, username, password, url, httpResponse); + + // Return the response to Drools in its working memory + SoResponseWrapper soWrapper = new SoResponseWrapper(response, requestId); + wm.insert(soWrapper); + + return response; + } + } + + /** + * Wait for the SO operation we have ordered to complete. + * + * @param urlBaseSo The base URL for SO + * @param username user name on SO + * @param password password on SO + * @param initialRequestUrl The URL of the initial HTTP request + * @param initialHttpResponse The initial HTTP message returned from SO + * @return The parsed final response of SO to the request + */ + private SoResponse waitForSoOperationCompletion(final String urlBaseSo, final String username, + final String password, final String initialRequestUrl, + final Pair initialHttpResponse) { + // Process the initial response from SO, the response to a post + SoResponse response = processSoResponse(initialRequestUrl, initialHttpResponse); + if (SO_RESPONSE_ERROR == response.getHttpResponseCode()) { + return response; + } + + // The SO URL to use to get the status of orchestration requests + String urlGet = urlBaseSo + "/orchestrationRequests/v5/" + response.getRequestReferences().getRequestId(); + + // The HTTP status code of the latest response + Pair latestHttpResponse = initialHttpResponse; + + // Wait for the response from SO + for (int attemptsLeft = GET_REQUESTS_BEFORE_TIMEOUT; attemptsLeft >= 0; attemptsLeft--) { + // The SO request may have completed even on the first request so we check the + // response + // here before + // issuing any other requests + if (isRequestStateFinished(latestHttpResponse, response)) { + return response; + } + + // Wait for the defined interval before issuing a get + try { + Thread.sleep(restGetTimeout); + } catch (InterruptedException e) { + logger.error("Interrupted exception: ", e); + Thread.currentThread().interrupt(); + response.setHttpResponseCode(SO_RESPONSE_ERROR); + return response; + } + + // Issue a GET to find the current status of our request + netLogger.info("[OUT|{}|{}|{}|{}|{}|{}|]{}", "SO", urlGet, username, password, createSimpleHeaders(), + MEDIA_TYPE, LINE_SEPARATOR); + Pair httpResponse = restManager.get(urlGet, username, password, createSimpleHeaders()); + + // Get our response + response = processSoResponse(urlGet, httpResponse); + if (SO_RESPONSE_ERROR == response.getHttpResponseCode()) { + return response; + } + + // Our latest HTTP response code + latestHttpResponse = httpResponse; + } + + // We have timed out on the SO request + response.setHttpResponseCode(SO_RESPONSE_ERROR); + return response; + } + + /** + * Parse the response message from SO into a SOResponse object. + * + * @param requestURL The URL of the HTTP request + * @param httpResponse The HTTP message returned from SO + * @return The parsed response + */ + private SoResponse processSoResponse(final String requestUrl, final Pair httpResponse) { + SoResponse response = new SoResponse(); + + // A null httpDetails indicates a HTTP problem, a valid response from SO must be + // either 200 + // or 202 + if (!httpResultIsNullFree(httpResponse) || (httpResponse.first != 200 && httpResponse.first != 202)) { + logger.error("Invalid HTTP response received from SO"); + response.setHttpResponseCode(SO_RESPONSE_ERROR); + return response; + } + + // Parse the JSON of the response into our POJO + try { + response = Serialization.gsonPretty.fromJson(httpResponse.second, SoResponse.class); + } catch (JsonSyntaxException e) { + logger.error("Failed to deserialize HTTP response into SOResponse: ", e); + response.setHttpResponseCode(SO_RESPONSE_ERROR); + return response; + } + + // Set the HTTP response code of the response if needed + if (response.getHttpResponseCode() == 0) { + response.setHttpResponseCode(httpResponse.first); + } + + netLogger.info("[IN|{}|{}|]{}{}", "SO", requestUrl, LINE_SEPARATOR, httpResponse.second); + + if (logger.isDebugEnabled()) { + logger.debug("***** Response to SO Request to URL {}:", requestUrl); + logger.debug(httpResponse.second); + } + + return response; + } + + /** + * Method to allow tuning of REST get timeout. + * + * @param restGetTimeout the timeout value + */ + protected void setRestGetTimeout(final long restGetTimeout) { + this.restGetTimeout = restGetTimeout; + } + + /** + * Check that the request state of a response is defined. + * + * @param response The response to check + * @return true if the request for the response is defined + */ + private boolean isRequestStateDefined(final SoResponse response) { + return response != null && response.getRequest() != null && response.getRequest().getRequestStatus() != null + && response.getRequest().getRequestStatus().getRequestState() != null; + } + + /** + * Check that the request state of a response is finished. + * + * @param latestHttpDetails the HTTP details of the response + * @param response The response to check + * @return true if the request for the response is finished + */ + private boolean isRequestStateFinished(final Pair latestHttpDetails, final SoResponse response) { + if (latestHttpDetails != null && 200 == latestHttpDetails.first && isRequestStateDefined(response)) { + String requestState = response.getRequest().getRequestStatus().getRequestState(); + return "COMPLETE".equalsIgnoreCase(requestState) || "FAILED".equalsIgnoreCase(requestState); + } else { + return false; + } + } + + /** + * Check that a HTTP operation result has no nulls. + * + * @param httpOperationResult the result to check + * @return true if no nulls are found + */ + private boolean httpResultIsNullFree(Pair httpOperationResult) { + return httpOperationResult != null && httpOperationResult.first != null && httpOperationResult.second != null; + } + + /** + * Create simple HTTP headers for unauthenticated requests to SO. + * + * @return the HTTP headers + */ + private Map createSimpleHeaders() { + Map headers = new HashMap<>(); + headers.put("Accept", MEDIA_TYPE); + return headers; + } +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoModelInfo.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoModelInfo.java new file mode 100644 index 000000000..8ab13201c --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoModelInfo.java @@ -0,0 +1,112 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoModelInfo implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("modelType") + private String modelType; + + @SerializedName("modelInvariantId") + private String modelInvariantId; + + @SerializedName("modelVersionId") + private String modelVersionId; + + @SerializedName("modelName") + private String modelName; + + @SerializedName("modelVersion") + private String modelVersion; + + @SerializedName("modelCustomizationName") + private String modelCustomizationName; + + @SerializedName("modelCustomizationId") + private String modelCustomizationId; + + public SoModelInfo() { + //required by author + } + + public String getModelCustomizationId() { + return modelCustomizationId; + } + + public String getModelCustomizationName() { + return modelCustomizationName; + } + + public String getModelInvariantId() { + return modelInvariantId; + } + + public String getModelName() { + return modelName; + } + + public String getModelType() { + return modelType; + } + + public String getModelVersion() { + return modelVersion; + } + + public String getModelVersionId() { + return modelVersionId; + } + + public void setModelCustomizationId(String modelCustomizationId) { + this.modelCustomizationId = modelCustomizationId; + } + + public void setModelCustomizationName(String modelCustomizationName) { + this.modelCustomizationName = modelCustomizationName; + } + + public void setModelInvariantId(String modelInvariantId) { + this.modelInvariantId = modelInvariantId; + } + + public void setModelName(String modelName) { + this.modelName = modelName; + } + + public void setModelType(String modelType) { + this.modelType = modelType; + } + + public void setModelVersion(String modelVersion) { + this.modelVersion = modelVersion; + } + + public void setModelVersionId(String modelVersionId) { + this.modelVersionId = modelVersionId; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoPolicyExceptionHolder.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoPolicyExceptionHolder.java new file mode 100644 index 000000000..0553eac76 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoPolicyExceptionHolder.java @@ -0,0 +1,57 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoPolicyExceptionHolder implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("messageId") + private String messageId; + + @SerializedName("text") + private String text; + + public SoPolicyExceptionHolder() { + //required by author + } + + public String getMessageId() { + return messageId; + } + + public String getText() { + return text; + } + + public void setMessageId(String messageId) { + this.messageId = messageId; + } + + public void setText(String text) { + this.text = text; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRelatedInstance.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRelatedInstance.java new file mode 100644 index 000000000..f4e329643 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRelatedInstance.java @@ -0,0 +1,70 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoRelatedInstance implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("instanceId") + private String instanceId; + + @SerializedName("instanceName") + private String instanceName; + + @SerializedName("modelInfo") + private SoModelInfo modelInfo; + + public SoRelatedInstance() { + //required by author + } + + public String getInstanceId() { + return instanceId; + } + + + public String getInstanceName() { + return instanceName; + } + + public SoModelInfo getModelInfo() { + return modelInfo; + } + + public void setInstanceId(String instanceId) { + this.instanceId = instanceId; + } + + public void setInstanceName(String instanceName) { + this.instanceName = instanceName; + } + + + public void setModelInfo(SoModelInfo modelInfo) { + this.modelInfo = modelInfo; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRelatedInstanceListElement.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRelatedInstanceListElement.java new file mode 100644 index 000000000..d4bf98680 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRelatedInstanceListElement.java @@ -0,0 +1,46 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoRelatedInstanceListElement implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("relatedInstance") + private SoRelatedInstance relatedInstance; + + public SoRelatedInstanceListElement() { + //required by author + } + + public SoRelatedInstance getRelatedInstance() { + return relatedInstance; + } + + public void setRelatedInstance(SoRelatedInstance relatedInstance) { + this.relatedInstance = relatedInstance; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequest.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequest.java new file mode 100644 index 000000000..255c5b79e --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequest.java @@ -0,0 +1,123 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.UUID; + +public class SoRequest implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("requestId") + private UUID requestId; + + @SerializedName("startTime") + private String startTime; + + @SerializedName("finishTime") + private LocalDateTime finishTime; + + @SerializedName("requestScope") + private String requestScope; + + @SerializedName("requestType") + private String requestType; + + @SerializedName("requestDetails") + private SoRequestDetails requestDetails; + + @SerializedName("requestStatus") + private SoRequestStatus requestStatus; + + private transient SoOperationType operationType; + + public SoRequest() { + // required by author + } + + public LocalDateTime getFinishTime() { + return finishTime; + } + + public SoRequestDetails getRequestDetails() { + return requestDetails; + } + + public UUID getRequestId() { + return requestId; + } + + public String getRequestScope() { + return requestScope; + } + + public SoRequestStatus getRequestStatus() { + return requestStatus; + } + + public String getRequestType() { + return requestType; + } + + public String getStartTime() { + return startTime; + } + + public void setFinishTime(LocalDateTime finishTime) { + this.finishTime = finishTime; + } + + public void setRequestDetails(SoRequestDetails requestDetails) { + this.requestDetails = requestDetails; + } + + public void setRequestId(UUID requestId) { + this.requestId = requestId; + } + + public void setRequestScope(String requestScope) { + this.requestScope = requestScope; + } + + public void setRequestStatus(SoRequestStatus requestStatus) { + this.requestStatus = requestStatus; + } + + public void setRequestType(String requestType) { + this.requestType = requestType; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public SoOperationType getOperationType() { + return operationType; + } + + public void setOperationType(SoOperationType operationType) { + this.operationType = operationType; + } +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestDetails.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestDetails.java new file mode 100644 index 000000000..0ea1a272d --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestDetails.java @@ -0,0 +1,215 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +public class SoRequestDetails implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("modelInfo") + private SoModelInfo modelInfo; + + @SerializedName("cloudConfiguration") + private SoCloudConfiguration cloudConfiguration; + + @SerializedName("requestInfo") + private SoRequestInfo requestInfo; + + @SerializedName("subscriberInfo") + private SoSubscriberInfo subscriberInfo; + + @SerializedName("relatedInstanceList") + private List relatedInstanceList = new LinkedList<>(); + + @SerializedName("requestParameters") + private SoRequestParameters requestParameters; + + @SerializedName("configurationParameters") + private List> configurationParameters = new LinkedList<>(); + + public SoRequestDetails() { + + } + + /** + * Constructor. + * + * @param soRequestDetails copy object + */ + public SoRequestDetails(SoRequestDetails soRequestDetails) { + this.modelInfo = soRequestDetails.modelInfo; + this.cloudConfiguration = soRequestDetails.cloudConfiguration; + this.requestInfo = soRequestDetails.requestInfo; + this.relatedInstanceList = soRequestDetails.relatedInstanceList; + this.requestParameters = soRequestDetails.requestParameters; + this.subscriberInfo = soRequestDetails.subscriberInfo; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + SoRequestDetails other = (SoRequestDetails) obj; + if (cloudConfiguration == null) { + if (other.cloudConfiguration != null) { + return false; + } + } else if (!cloudConfiguration.equals(other.cloudConfiguration)) { + return false; + } + if (configurationParameters == null) { + if (other.configurationParameters != null) { + return false; + } + } else if (!configurationParameters.equals(other.configurationParameters)) { + return false; + } + if (modelInfo == null) { + if (other.modelInfo != null) { + return false; + } + } else if (!modelInfo.equals(other.modelInfo)) { + return false; + } + if (relatedInstanceList == null) { + if (other.relatedInstanceList != null) { + return false; + } + } else if (!relatedInstanceList.equals(other.relatedInstanceList)) { + return false; + } + if (requestInfo == null) { + if (other.requestInfo != null) { + return false; + } + } else if (!requestInfo.equals(other.requestInfo)) { + return false; + } + if (requestParameters == null) { + if (other.requestParameters != null) { + return false; + } + } else if (!requestParameters.equals(other.requestParameters)) { + return false; + } + if (subscriberInfo == null) { + if (other.subscriberInfo != null) { + return false; + } + } else if (!subscriberInfo.equals(other.subscriberInfo)) { + return false; + } + return true; + } + + public SoCloudConfiguration getCloudConfiguration() { + return cloudConfiguration; + } + + public SoModelInfo getModelInfo() { + return modelInfo; + } + + public List getRelatedInstanceList() { + return relatedInstanceList; + } + + public SoRequestInfo getRequestInfo() { + return requestInfo; + } + + public SoRequestParameters getRequestParameters() { + return requestParameters; + } + + public List> getConfigurationParameters() { + return configurationParameters; + } + + public SoSubscriberInfo getSubscriberInfo() { + return subscriberInfo; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((cloudConfiguration == null) ? 0 : cloudConfiguration.hashCode()); + result = prime * result + ((configurationParameters == null) ? 0 : configurationParameters.hashCode()); + result = prime * result + ((modelInfo == null) ? 0 : modelInfo.hashCode()); + result = prime * result + ((relatedInstanceList == null) ? 0 : relatedInstanceList.hashCode()); + result = prime * result + ((requestInfo == null) ? 0 : requestInfo.hashCode()); + result = prime * result + ((requestParameters == null) ? 0 : requestParameters.hashCode()); + result = prime * result + ((subscriberInfo == null) ? 0 : subscriberInfo.hashCode()); + return result; + } + + public void setCloudConfiguration(SoCloudConfiguration cloudConfiguration) { + this.cloudConfiguration = cloudConfiguration; + } + + public void setModelInfo(SoModelInfo modelInfo) { + this.modelInfo = modelInfo; + } + + public void setRequestInfo(SoRequestInfo requestInfo) { + this.requestInfo = requestInfo; + } + + public void setRequestParameters(SoRequestParameters requestParameters) { + this.requestParameters = requestParameters; + } + + public void setConfigurationParameters(List> configurationParameters) { + this.configurationParameters = configurationParameters; + } + + public void setSubscriberInfo(SoSubscriberInfo subscriberInfo) { + this.subscriberInfo = subscriberInfo; + } + + public void setRelatedInstanceList(List relatedInstanceList) { + this.relatedInstanceList = relatedInstanceList; + } + + @Override + public String toString() { + return "SORequestDetails [modelInfo=" + modelInfo + ", cloudConfiguration=" + cloudConfiguration + + ", requestInfo=" + requestInfo + ", subscriberInfo=" + subscriberInfo + + ", relatedInstanceList=" + relatedInstanceList + ", requestParameters=" + requestParameters + + ", configurationParameters=" + configurationParameters + "]"; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestError.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestError.java new file mode 100644 index 000000000..1214a6c8c --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestError.java @@ -0,0 +1,57 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoRequestError implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("policyException") + private SoPolicyExceptionHolder policyException; + + @SerializedName("serviceException") + private SoServiceExceptionHolder serviceException; + + public SoRequestError() { + // required by author + } + + public SoPolicyExceptionHolder getPolicyException() { + return policyException; + } + + public SoServiceExceptionHolder getServiceException() { + return serviceException; + } + + public void setPolicyException(SoPolicyExceptionHolder policyException) { + this.policyException = policyException; + } + + public void setServiceException(SoServiceExceptionHolder serviceException) { + this.serviceException = serviceException; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestInfo.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestInfo.java new file mode 100644 index 000000000..ae0b57bc2 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestInfo.java @@ -0,0 +1,145 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoRequestInfo implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("instanceName") + private String instanceName; + + @SerializedName("source") + private String source; + + @SerializedName("productFamilyId") + private String productFamilyId; + + @SerializedName("suppressRollback") + private boolean suppressRollback; + + @SerializedName("billingAccountNumber") + private String billingAccountNumber; + + @SerializedName("callbackUrl") + private String callbackUrl; + + @SerializedName("correlator") + private String correlator; + + @SerializedName("orderNumber") + private String orderNumber; + + @SerializedName("orderVersion") + private Integer orderVersion; + + @SerializedName("requestorId") + private String requestorId; + + public SoRequestInfo() { + // required by author + } + + public String getBillingAccountNumber() { + return billingAccountNumber; + } + + public String getCallbackUrl() { + return callbackUrl; + } + + public String getCorrelator() { + return correlator; + } + + public String getInstanceName() { + return instanceName; + } + + public String getOrderNumber() { + return orderNumber; + } + + public Integer getOrderVersion() { + return orderVersion; + } + + public String getProductFamilyId() { + return productFamilyId; + } + + public String getRequestorId() { + return requestorId; + } + + public String getSource() { + return source; + } + + public boolean isSuppressRollback() { + return suppressRollback; + } + + public void setBillingAccountNumber(String billingAccountNumber) { + this.billingAccountNumber = billingAccountNumber; + } + + public void setCallbackUrl(String callbackUrl) { + this.callbackUrl = callbackUrl; + } + + public void setCorrelator(String correlator) { + this.correlator = correlator; + } + + public void setInstanceName(String instanceName) { + this.instanceName = instanceName; + } + + public void setOrderNumber(String orderNumber) { + this.orderNumber = orderNumber; + } + + public void setOrderVersion(Integer orderVersion) { + this.orderVersion = orderVersion; + } + + public void setProductFamilyId(String productFamilyId) { + this.productFamilyId = productFamilyId; + } + + public void setRequestorId(String requestorId) { + this.requestorId = requestorId; + } + + public void setSource(String source) { + this.source = source; + } + + public void setSuppressRollback(boolean suppressRollback) { + this.suppressRollback = suppressRollback; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestParameters.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestParameters.java new file mode 100644 index 000000000..bc545455b --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestParameters.java @@ -0,0 +1,71 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +public class SoRequestParameters implements Serializable { + + private static final long serialVersionUID = -3283942659786236033L; + + @SerializedName("subscriptionServiceType") + private String subscriptionServiceType; + + @SerializedName("usePreload") + private boolean usePreload; + + @SerializedName("userParams") + private List> userParams = new LinkedList<>(); + + public SoRequestParameters() { + // required by author + } + + public String getSubscriptionServiceType() { + return subscriptionServiceType; + } + + public boolean isUsePreload() { + return usePreload; + } + + public List> getUserParams() { + return userParams; + } + + public void setSubscriptionServiceType(String subscriptionServiceType) { + this.subscriptionServiceType = subscriptionServiceType; + } + + public void setUsePreload(boolean usePreload) { + this.usePreload = usePreload; + } + + public void setUserParams(List> userParams) { + this.userParams = userParams; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestReferences.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestReferences.java new file mode 100644 index 000000000..8006142ed --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestReferences.java @@ -0,0 +1,53 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoRequestReferences implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("instanceId") + private String instanceId; + + @SerializedName("requestId") + private String requestId; + + public String getInstanceId() { + return instanceId; + } + + public String getRequestId() { + return requestId; + } + + public void setInstanceId(String instanceId) { + this.instanceId = instanceId; + } + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestStatus.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestStatus.java new file mode 100644 index 000000000..2d2e5bf24 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoRequestStatus.java @@ -0,0 +1,79 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoRequestStatus implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("percentProgress") + private int percentProgress; + + @SerializedName("requestState") + private String requestState; + + @SerializedName("timestamp") + private String timestamp; + + @SerializedName("wasRolledBack") + private boolean wasRolledBack; + + public SoRequestStatus() { + //required by author + } + + public int getPercentProgress() { + return percentProgress; + } + + public String getRequestState() { + return requestState; + } + + public String getTimestamp() { + return timestamp; + } + + public boolean isWasRolledBack() { + return wasRolledBack; + } + + public void setPercentProgress(int percentProgress) { + this.percentProgress = percentProgress; + } + + public void setRequestState(String requestState) { + this.requestState = requestState; + } + + public void setTimestamp(String timestamp) { + this.timestamp = timestamp; + } + + public void setWasRolledBack(boolean wasRolledBack) { + this.wasRolledBack = wasRolledBack; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoResponse.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoResponse.java new file mode 100644 index 000000000..08b01c9f8 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoResponse.java @@ -0,0 +1,78 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoResponse implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("requestReferences") + private SoRequestReferences requestReferences; + + @SerializedName("requestError") + private SoRequestError requestError; + + @SerializedName("request") + private SoRequest request; + + private int httpResponseCode; + + public SoResponse() { + // required by author + } + + public int getHttpResponseCode() { + return httpResponseCode; + } + + public SoRequest getRequest() { + return request; + } + + public SoRequestError getRequestError() { + return requestError; + } + + public SoRequestReferences getRequestReferences() { + return requestReferences; + } + + public void setHttpResponseCode(int httpResponseCode) { + this.httpResponseCode = httpResponseCode; + } + + public void setRequest(SoRequest request) { + this.request = request; + } + + public void setRequestError(SoRequestError requestError) { + this.requestError = requestError; + } + + public void setRequestReferences(SoRequestReferences requestReferences) { + this.requestReferences = requestReferences; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoResponseWrapper.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoResponseWrapper.java new file mode 100644 index 000000000..4a53ee232 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoResponseWrapper.java @@ -0,0 +1,102 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoResponseWrapper implements Serializable { + + private static final long serialVersionUID = 7673023687132889069L; + + @SerializedName("SoResponse") + private SoResponse soResponse; + + private transient String requestId; + + public SoResponseWrapper(SoResponse response, String reqId) { + this.soResponse = response; + this.requestId = reqId; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + SoResponseWrapper other = (SoResponseWrapper) obj; + if (soResponse == null) { + if (other.soResponse != null) { + return false; + } + } + else if (!soResponse.equals(other.soResponse)) { + return false; + } + if (requestId == null) { + if (other.requestId != null) { + return false; + } + } + else if (!requestId.equals(other.requestId)) { + return false; + } + return true; + } + + public String getRequestId() { + return requestId; + } + + public SoResponse getSoResponse() { + return soResponse; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + ((soResponse == null) ? 0 : soResponse.hashCode()); + result = prime * result + ((requestId == null) ? 0 : requestId.hashCode()); + return result; + } + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + public void setSoResponse(SoResponse response) { + soResponse = response; + } + + @Override + public String toString() { + return "SOResponseWrapper [SOResponse=" + soResponse + ", RequestID=" + requestId + "]"; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoServiceExceptionHolder.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoServiceExceptionHolder.java new file mode 100644 index 000000000..5dd87e539 --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoServiceExceptionHolder.java @@ -0,0 +1,66 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; + +public class SoServiceExceptionHolder implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("messageId") + private String messageId; + + @SerializedName("text") + private String text; + + @SerializedName("variables") + private List variables = new LinkedList<>(); + + public SoServiceExceptionHolder() { + // required by author + } + + public String getMessageId() { + return messageId; + } + + public String getText() { + return text; + } + + public List getVariables() { + return variables; + } + + public void setMessageId(String messageId) { + this.messageId = messageId; + } + + public void setText(String text) { + this.text = text; + } + +} diff --git a/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoSubscriberInfo.java b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoSubscriberInfo.java new file mode 100644 index 000000000..208cff23d --- /dev/null +++ b/controlloop/common/model-impl/so/src/main/java/org/onap/policy/so/SoSubscriberInfo.java @@ -0,0 +1,68 @@ +/*- + * ============LICENSE_START======================================================= + * so + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.so; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class SoSubscriberInfo implements Serializable { + + private static final long serialVersionUID = -3283942659786236032L; + + @SerializedName("globalSubscriberId") + private String globalSubscriberId; + + @SerializedName("subscriberCommonSiteId") + private String subscriberCommonSiteId; + + @SerializedName("subscriberName") + private String subscriberName; + + public SoSubscriberInfo() { + //required by author + } + + public String getGlobalSubscriberId() { + return globalSubscriberId; + } + + public String getSubscriberCommonSiteId() { + return subscriberCommonSiteId; + } + + public String getSubscriberName() { + return subscriberName; + } + + public void setGlobalSubscriberId(String globalSubscriberId) { + this.globalSubscriberId = globalSubscriberId; + } + + public void setSubscriberCommonSiteId(String subscriberCommonSiteId) { + this.subscriberCommonSiteId = subscriberCommonSiteId; + } + + public void setSubscriberName(String subscriberName) { + this.subscriberName = subscriberName; + } + +} -- cgit