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.onap.so.client.aai;
23 import org.onap.so.client.aai.entities.Configuration;
24 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
25 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
26 import org.onap.so.serviceinstancebeans.RequestDetails;
28 public class AAIConfigurationClient {
30 private AAIResourcesClient aaiClient;
32 private static final String ORCHESTRATION_STATUS = "PreCreated";
34 public AAIConfigurationClient() {
35 aaiClient = new AAIResourcesClient();
38 public void createConfiguration(RequestDetails requestDetails, String configurationId, String configurationType,
39 String configurationSubType) {
41 AAIResourceUri uri = getConfigurationURI(configurationId);
42 Configuration payload = configurePayload(requestDetails, configurationId, configurationType, configurationSubType);
44 aaiClient.create(uri, payload);
47 public Configuration configurePayload(RequestDetails requestDetails, String configurationId, String configurationType,
48 String configurationSubType) {
50 Configuration payload = new Configuration();
51 payload.setConfigurationId(configurationId);
52 payload.setConfigurationType(configurationType);
53 payload.setConfigurationSubType(configurationSubType);
54 payload.setModelInvariantId(requestDetails.getModelInfo().getModelInvariantId());
55 payload.setModelVersionId(requestDetails.getModelInfo().getModelVersionId());
56 payload.setOrchestrationStatus(ORCHESTRATION_STATUS);
57 payload.setOperationalStatus("");
58 payload.setConfigurationSelflink(getConfigurationURI(configurationId).build().getPath());
59 payload.setModelCustomizationId(requestDetails.getModelInfo().getModelCustomizationId());
64 public void deleteConfiguration(String uuid) {
65 aaiClient.delete(getConfigurationURI(uuid));
68 public void updateOrchestrationStatus(String uuid, String payload) {
69 aaiClient.update(getConfigurationURI(uuid), payload);
72 public Configuration getConfiguration(String uuid) {
73 return aaiClient.get(Configuration.class, getConfigurationURI(uuid)).orElse(null);
76 public boolean configurationExists(String uuid) {
77 return aaiClient.exists(getConfigurationURI(uuid));
80 public AAIResourceUri getConfigurationURI(String uuid) {
81 return AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, uuid);