AT&T 1712 and 1802 release code
[so.git] / common / src / main / java / org / openecomp / mso / client / aai / AAIConfigurationClient.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.client.aai;
22
23 import org.openecomp.mso.client.aai.entities.Configuration;
24 import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri;
25 import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory;
26 import org.openecomp.mso.serviceinstancebeans.RequestDetails;
27
28 public class AAIConfigurationClient {
29
30         private AAIResourcesClient aaiClient;
31
32         private static final String ORCHESTRATION_STATUS = "PendingCreate";
33
34         public AAIConfigurationClient() {
35                 aaiClient = new AAIResourcesClient();
36         }
37
38         public void createConfiguration(RequestDetails requestDetails, String configurationId, String configurationType,
39                         String configurationSubType) {
40                 Configuration payload = new Configuration();
41                 payload.setConfigurationId(configurationId);
42                 payload.setConfigurationType(configurationType);
43                 payload.setConfigurationSubType(configurationSubType);
44                 payload.setModelInvariantId(requestDetails.getModelInfo().getModelInvariantId());
45                 payload.setModelVersionId(requestDetails.getModelInfo().getModelVersionId());
46                 payload.setOrchestrationStatus(ORCHESTRATION_STATUS);
47                 payload.setOperationalStatus("");
48                 AAIResourceUri uri = getConfigurationURI(payload.getConfigurationId());
49                 payload.setConfigurationSelflink(uri.build().getPath());
50                 payload.setModelCustomizationId(requestDetails.getModelInfo().getModelCustomizationId());
51
52                 aaiClient.create(uri, payload);
53         }
54
55         public void deleteConfiguration(String uuid) {
56                 aaiClient.delete(getConfigurationURI(uuid));
57         }
58
59         public void updateOrchestrationStatus(String uuid, String payload) {
60                 aaiClient.update(getConfigurationURI(uuid), payload);
61         }
62
63         public Configuration getConfiguration(String uuid) {
64                 return aaiClient.get(Configuration.class, getConfigurationURI(uuid));
65         }
66
67         public boolean configurationExists(String uuid) {
68                 return aaiClient.exists(getConfigurationURI(uuid));
69         }
70
71         public AAIResourceUri getConfigurationURI(String uuid) {
72                 return AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, uuid);
73         }
74 }