aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdnc/mapper/ServiceTopologyOperationRequestMapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdnc/mapper/ServiceTopologyOperationRequestMapper.java')
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdnc/mapper/ServiceTopologyOperationRequestMapper.java98
1 files changed, 98 insertions, 0 deletions
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdnc/mapper/ServiceTopologyOperationRequestMapper.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdnc/mapper/ServiceTopologyOperationRequestMapper.java
new file mode 100644
index 0000000000..b87ed00650
--- /dev/null
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/sdnc/mapper/ServiceTopologyOperationRequestMapper.java
@@ -0,0 +1,98 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 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.openecomp.mso.client.sdnc.mapper;
+
+import java.io.StringWriter;
+import java.util.Optional;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.sdnc.beans.SDNCRequest;
+import org.openecomp.mso.client.sdnc.beans.SDNCSvcAction;
+import org.openecomp.mso.client.sdnc.beans.SDNCSvcOperation;
+
+import openecomp.org.mso.workflow.schema.v1.EcompModelInformation;
+import openecomp.org.mso.workflow.schema.v1.RequestInformation;
+import openecomp.org.mso.workflow.schema.v1.SDNCServiceInstanceRequestData;
+import openecomp.org.mso.workflow.schema.v1.ServiceInformation;
+import openecomp.org.mso.workflow.schema.v1.ServiceRequestInput;
+
+public class ServiceTopologyOperationRequestMapper extends SDNCRequestMapper{
+
+ public ServiceTopologyOperationRequestMapper(Optional<String> msoAction, SDNCSvcOperation svcOperation,
+ SDNCSvcAction svcAction, String requestAction) {
+ super(msoAction, svcOperation, svcAction, requestAction);
+ }
+
+ @Override
+ public SDNCRequest reqMapper (ServiceDecomposition serviceDecomp) {
+ SDNCRequest req = new SDNCRequest();
+ req.setCallbackUrl(serviceDecomp.getCallbackURN());
+ if(msoAction.isPresent()){
+ req.setMsoAction(msoAction.get());
+ }
+ req.setRequestId(serviceDecomp.getRequest().getSdncRequestId());
+ req.setSvcInstanceId(serviceDecomp.getServiceInstance().getInstanceId());
+ req.setSvcAction(svcAction);
+ req.setSvcOperation(svcOperation);
+ String reqData ="";
+
+ RequestInformation reqInfo = new RequestInformation();
+ reqInfo.setRequestAction(requestAction);
+ reqInfo.setSource("MSO");
+ reqInfo.setRequestId(serviceDecomp.getRequest().getRequestId());
+ ServiceInformation servInfo = new ServiceInformation();
+ EcompModelInformation emi = new EcompModelInformation();
+ emi.setModelInvariantUuid(serviceDecomp.getRequest().getModelInfo().getModelInvariantUuid());
+ emi.setModelName(serviceDecomp.getRequest().getModelInfo().getModelName());
+ emi.setModelVersion(serviceDecomp.getRequest().getModelInfo().getModelVersion() );
+ servInfo.setEcompModelInformation(emi);
+ servInfo.setServiceId(serviceDecomp.getServiceInstance().getServiceId());
+ servInfo.setSubscriptionServiceType(serviceDecomp.getCustomer().getSubscriptionServiceType());
+ servInfo.setServiceInstanceId(serviceDecomp.getServiceInstance().getInstanceName());
+ servInfo.setGlobalCustomerId(serviceDecomp.getCustomer().getGlobalSubscriberId());
+ ServiceRequestInput servReqInput = new ServiceRequestInput();
+ servReqInput.setServiceInstanceName(serviceDecomp.getServiceInstance().getInstanceName());
+ SDNCServiceInstanceRequestData sdncSIRD = new SDNCServiceInstanceRequestData();
+ sdncSIRD.setRequestInformation(reqInfo);
+ sdncSIRD.setServiceInformation(servInfo);
+ sdncSIRD.setServiceRequestInput(servReqInput);
+
+ try {
+ JAXBContext context = JAXBContext.newInstance(SDNCServiceInstanceRequestData.class);
+
+ Marshaller jaxbMarshaller = context.createMarshaller();
+ jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
+
+ StringWriter sw = new StringWriter();
+ jaxbMarshaller.marshal(sdncSIRD, sw);
+ reqData = sw.toString();
+ req.setRequestData(reqData);
+ } catch (JAXBException e) {
+ e.printStackTrace();
+ }
+
+ return req;
+ }
+}