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.bpmn.infrastructure.aai;
23 import java.util.HashMap;
25 import java.util.Optional;
26 import org.onap.aaiclient.client.aai.entities.AAIResultWrapper;
27 import org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri;
28 import org.onap.aaiclient.client.aai.entities.uri.AAIUriFactory;
29 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder;
30 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder.Types;
31 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
32 import org.slf4j.Logger;
33 import org.slf4j.LoggerFactory;
35 public class AAICreateResources extends AAIResource {
37 private static final Logger logger = LoggerFactory.getLogger(AAICreateResources.class);
39 public void createAAIProject(String projectName, String serviceInstance) {
40 AAIResourceUri projectURI =
41 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().project(projectName));
42 AAIResourceUri serviceInstanceURI =
43 AAIUriFactory.createResourceUri(Types.SERVICE_INSTANCE.getFragment(serviceInstance));
44 getAaiClient().createIfNotExists(projectURI, Optional.empty()).connect(projectURI, serviceInstanceURI);
48 public void createAAIOwningEntity(String owningEntityId, String owningEntityName, String serviceInstance) {
49 AAIResourceUri owningEntityURI =
50 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().owningEntity(owningEntityId));
51 AAIResourceUri serviceInstanceURI =
52 AAIUriFactory.createResourceUri(Types.SERVICE_INSTANCE.getFragment(serviceInstance));
53 Map<String, String> hashMap = new HashMap<>();
54 hashMap.put("owning-entity-name", owningEntityName);
55 getAaiClient().createIfNotExists(owningEntityURI, Optional.of(hashMap)).connect(owningEntityURI,
59 public boolean existsOwningEntity(String owningEntityId) {
60 AAIResourceUri owningEntityURI =
61 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().owningEntity(owningEntityId));
62 return getAaiClient().exists(owningEntityURI);
65 public void connectOwningEntityandServiceInstance(String owningEntityId, String serviceInstance) {
66 AAIResourceUri owningEntityURI =
67 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().owningEntity(owningEntityId));
68 AAIResourceUri serviceInstanceURI =
69 AAIUriFactory.createResourceUri(Types.SERVICE_INSTANCE.getFragment(serviceInstance));
70 getAaiClient().connect(owningEntityURI, serviceInstanceURI);
73 public void createAAIPlatform(String platformName, String vnfId) {
74 AAIResourceUri platformURI =
75 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().platform(platformName));
76 AAIResourceUri genericVnfURI =
77 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf(vnfId));
78 getAaiClient().createIfNotExists(platformURI, Optional.empty()).connect(platformURI, genericVnfURI);
81 public void createAAILineOfBusiness(String lineOfBusiness, String vnfId) {
82 AAIResourceUri lineOfBusinessURI =
83 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().lineOfBusiness(lineOfBusiness));
84 AAIResourceUri genericVnfURI =
85 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf(vnfId));
86 getAaiClient().createIfNotExists(lineOfBusinessURI, Optional.empty()).connect(lineOfBusinessURI, genericVnfURI);
89 public void createAAIServiceInstance(String globalCustomerId, String serviceType, String serviceInstanceId) {
90 AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business()
91 .customer(globalCustomerId).serviceSubscription(serviceType).serviceInstance(serviceInstanceId));
92 getAaiClient().createIfNotExists(serviceInstanceURI, Optional.empty());
95 public Optional<GenericVnf> getVnfInstance(String vnfId) {
97 AAIResourceUri vnfURI = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf(vnfId));
98 AAIResultWrapper aaiResponse = getAaiClient().get(vnfURI);
99 Optional<GenericVnf> vnf = aaiResponse.asBean(GenericVnf.class);
101 } catch (Exception ex) {
102 logger.error("Exception in getVnfInstance", ex);
103 return Optional.empty();