a162cd0a1e73da9c5e836d79c7cee9e0f28c0873
[aai/esr-server.git] / esr-mgr / src / main / java / org / onap / aai / esr / externalservice / aai / CloudRegionProxy.java
1 /**
2  * Copyright 2017-2018 ZTE Corporation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.aai.esr.externalservice.aai;
17
18 import org.glassfish.jersey.client.ClientConfig;
19 import org.onap.aai.esr.common.MsbConfig;
20 import org.onap.aai.esr.entity.aai.CloudRegionDetail;
21 import org.onap.aai.esr.entity.aai.Relationship;
22 import org.onap.aai.esr.exception.ExtsysException;
23 import com.eclipsesource.jaxrs.consumer.ConsumerFactory;
24
25 public class CloudRegionProxy {
26
27     private static ICloudRegion adapterServiceproxy;
28
29     private static String transactionId = "9999";
30     private static String fromAppId = "esr-server";
31     private static String authorization = AaiCommon.getAuthenticationCredentials();
32     static {
33         ClientConfig config = new ClientConfig();
34         adapterServiceproxy =
35                 ConsumerFactory.createConsumer(MsbConfig.getCloudInfrastructureAddr(), config, ICloudRegion.class);
36     }
37
38     public void registerVim(String cloudOwner, String cloudRegionId, CloudRegionDetail cloudRegion)
39             throws ExtsysException {
40         ClientConfig config = new ClientConfig(new VimRegisterProvider());
41         ICloudRegion registerVimServiceproxy =
42                 ConsumerFactory.createConsumer(MsbConfig.getCloudInfrastructureAddr(), config, ICloudRegion.class);
43         try {
44             registerVimServiceproxy.registerVIMService(transactionId, fromAppId, authorization, cloudOwner,
45                     cloudRegionId, cloudRegion);
46         } catch (Exception e) {
47             throw new ExtsysException("PUT cloud region to A&AI failed.", e);
48         }
49     }
50
51     public String queryVimDetail(String cloud_owner, String cloud_region_id) throws ExtsysException {
52         try {
53             return adapterServiceproxy.queryVIMDetail(transactionId, fromAppId, authorization, cloud_owner,
54                     cloud_region_id);
55         } catch (Exception e) {
56             throw new ExtsysException("Query cloud region detail from A&AI failed.", e);
57         }
58     }
59
60     public String qureyVimList() throws ExtsysException {
61         try {
62             return adapterServiceproxy.queryVIMList(transactionId, fromAppId, authorization);
63         } catch (Exception e) {
64             throw new ExtsysException("Query cloud region list from A&AI failed.", e);
65         }
66     }
67
68     public void deleteVim(String cloud_owner, String cloud_region_id, String resourceVersion) throws ExtsysException {
69         try {
70             adapterServiceproxy.deleteVim(transactionId, fromAppId, authorization, cloud_owner, cloud_region_id,
71                     resourceVersion);
72         } catch (Exception e) {
73             throw new ExtsysException("Delete cloud region from A&AI failed.", e);
74         }
75     }
76     
77     public String qureyComplexes() throws ExtsysException {
78         try {
79             return adapterServiceproxy.queryComplexList(transactionId, fromAppId, authorization);
80         } catch (Exception e) {
81             throw new ExtsysException("Query complexes from A&AI failed.", e);
82         }
83     }
84     
85     public void createCloudRegionRelationShip(String cloudOwner, String cloudRegionId, Relationship relationship) throws ExtsysException {
86         ClientConfig config = new ClientConfig(new RelationshipProvider());
87         ICloudRegion createRelationshipProxy =
88                 ConsumerFactory.createConsumer(MsbConfig.getCloudInfrastructureAddr(), config, ICloudRegion.class);
89         try {
90             createRelationshipProxy.createCloudRegionRelationship(transactionId, fromAppId, authorization, cloudOwner,
91                     cloudRegionId, relationship);
92         } catch (Exception e) {
93             throw new ExtsysException("PUT cloud region to A&AI failed.", e);
94         }
95     }
96 }