2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.mso.client.sdnc.mapper;
\r
23 import java.io.StringWriter;
\r
24 import java.util.Optional;
\r
26 import javax.xml.bind.JAXBContext;
\r
27 import javax.xml.bind.JAXBException;
\r
28 import javax.xml.bind.Marshaller;
\r
30 import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
\r
31 import org.openecomp.mso.client.sdnc.beans.SDNCRequest;
\r
32 import org.openecomp.mso.client.sdnc.beans.SDNCSvcAction;
\r
33 import org.openecomp.mso.client.sdnc.beans.SDNCSvcOperation;
\r
35 import openecomp.org.mso.workflow.schema.v1.EcompModelInformation;
\r
36 import openecomp.org.mso.workflow.schema.v1.RequestInformation;
\r
37 import openecomp.org.mso.workflow.schema.v1.SDNCServiceInstanceRequestData;
\r
38 import openecomp.org.mso.workflow.schema.v1.ServiceInformation;
\r
39 import openecomp.org.mso.workflow.schema.v1.ServiceRequestInput;
\r
41 public class ServiceTopologyOperationRequestMapper extends SDNCRequestMapper{
\r
43 public ServiceTopologyOperationRequestMapper(Optional<String> msoAction, SDNCSvcOperation svcOperation,
\r
44 SDNCSvcAction svcAction, String requestAction) {
\r
45 super(msoAction, svcOperation, svcAction, requestAction);
\r
49 public SDNCRequest reqMapper (ServiceDecomposition serviceDecomp) {
\r
50 SDNCRequest req = new SDNCRequest();
\r
51 req.setCallbackUrl(serviceDecomp.getCallbackURN());
\r
52 if(msoAction.isPresent()){
\r
53 req.setMsoAction(msoAction.get());
\r
55 req.setRequestId(serviceDecomp.getRequest().getSdncRequestId());
\r
56 req.setSvcInstanceId(serviceDecomp.getServiceInstance().getInstanceId());
\r
57 req.setSvcAction(svcAction);
\r
58 req.setSvcOperation(svcOperation);
\r
61 RequestInformation reqInfo = new RequestInformation();
\r
62 reqInfo.setRequestAction(requestAction);
\r
63 reqInfo.setSource("MSO");
\r
64 reqInfo.setRequestId(serviceDecomp.getRequest().getRequestId());
\r
65 ServiceInformation servInfo = new ServiceInformation();
\r
66 EcompModelInformation emi = new EcompModelInformation();
\r
67 emi.setModelInvariantUuid(serviceDecomp.getRequest().getModelInfo().getModelInvariantUuid());
\r
68 emi.setModelName(serviceDecomp.getRequest().getModelInfo().getModelName());
\r
69 emi.setModelVersion(serviceDecomp.getRequest().getModelInfo().getModelVersion() );
\r
70 servInfo.setEcompModelInformation(emi);
\r
71 servInfo.setServiceId(serviceDecomp.getServiceInstance().getServiceId());
\r
72 servInfo.setSubscriptionServiceType(serviceDecomp.getCustomer().getSubscriptionServiceType());
\r
73 servInfo.setServiceInstanceId(serviceDecomp.getServiceInstance().getInstanceName());
\r
74 servInfo.setGlobalCustomerId(serviceDecomp.getCustomer().getGlobalSubscriberId());
\r
75 ServiceRequestInput servReqInput = new ServiceRequestInput();
\r
76 servReqInput.setServiceInstanceName(serviceDecomp.getServiceInstance().getInstanceName());
\r
77 SDNCServiceInstanceRequestData sdncSIRD = new SDNCServiceInstanceRequestData();
\r
78 sdncSIRD.setRequestInformation(reqInfo);
\r
79 sdncSIRD.setServiceInformation(servInfo);
\r
80 sdncSIRD.setServiceRequestInput(servReqInput);
\r
83 JAXBContext context = JAXBContext.newInstance(SDNCServiceInstanceRequestData.class);
\r
85 Marshaller jaxbMarshaller = context.createMarshaller();
\r
86 jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
\r
88 StringWriter sw = new StringWriter();
\r
89 jaxbMarshaller.marshal(sdncSIRD, sw);
\r
90 reqData = sw.toString();
\r
91 req.setRequestData(reqData);
\r
92 } catch (JAXBException e) {
\r
93 e.printStackTrace();
\r