AT&T 1712 and 1802 release code
[so.git] / mso-api-handlers / mso-api-handler-infra / src / main / java / org / openecomp / mso / apihandlerinfra / tenantisolation / dmaap / DmaapOperationalEnvClient.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20
21 package org.openecomp.mso.apihandlerinfra.tenantisolation.dmaap;
22
23 import java.io.IOException;
24
25
26 import org.openecomp.mso.client.dmaap.DmaapPublisher;
27 import com.fasterxml.jackson.core.JsonProcessingException;
28 import com.fasterxml.jackson.databind.ObjectMapper;
29
30 public class DmaapOperationalEnvClient {
31
32         
33         protected String buildRequest(String operationalEnvironmentId, String operationalEnvironmentName, String operationalEnvironmentType, String tenantContext, String workloadContext, String action ) 
34                                         throws JsonProcessingException {
35                 final CreateEcompOperationEnvironmentBean operationalEnv = new CreateEcompOperationEnvironmentBean();
36                 operationalEnv.withOperationalEnvironmentId(operationalEnvironmentId)
37                    .withOperationalEnvironmentName(operationalEnvironmentName)          
38                            .withOperationalEnvironmentType(operationalEnvironmentType)
39                            .withTenantContext(tenantContext)
40                            .withWorkloadContext(workloadContext)
41                            .withaction(action);
42                         
43                 return this.getJson(operationalEnv);
44                 
45         }
46
47         protected String getJson(CreateEcompOperationEnvironmentBean obj) throws JsonProcessingException {
48                 
49                 final ObjectMapper mapper = new ObjectMapper();
50                 return mapper.writeValueAsString(obj);
51                 
52         }
53         
54         protected DmaapPublisher getPublisher() throws IOException {
55                 return new OperationalEnvironmentPublisher();
56         }
57         
58         public void dmaapPublishOperationalEnvRequest(String operationalEnvironmentId, String operationalEnvironmentName, String operationalEnvironmentType, 
59                                         String tenantContext, String workloadContext, String action ) throws Exception {
60                 
61                 String request = this.buildRequest(operationalEnvironmentId, operationalEnvironmentName, operationalEnvironmentType, tenantContext, workloadContext, action);
62                 final DmaapPublisher publisher = this.getPublisher();
63                 publisher.send(request);
64                 
65         }
66         
67 }