summaryrefslogtreecommitdiffstats
path: root/aai-service/provider/src/main/java/org
diff options
context:
space:
mode:
authorJessica Wagantall <jwagantall@linuxfoundation.org>2020-12-01 11:26:31 -0800
committerJessica Wagantall <jwagantall@linuxfoundation.org>2020-12-01 11:27:11 -0800
commit11510b43c277b8e1dd7e58d79785544810118c8e (patch)
treeb88a497c999d24b5f357ea9b26bc93e0990fd5e7 /aai-service/provider/src/main/java/org
parent5d2eab72fc4442f14108b41800cec88126913823 (diff)
Migrate sli-adaptor files
Migrate sli-adaptor repo files into a new "adaptors" directory. Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Diffstat (limited to 'aai-service/provider/src/main/java/org')
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java91
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClientRESTExecutor.java781
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java2041
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java33
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java493
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java1547
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java89
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceProvider.java226
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java394
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java39
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java138
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java97
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java128
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java265
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/HttpMethod.java13
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java129
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java91
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipListRequest.java65
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java67
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java109
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java152
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UtilsProvider.java36
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java26
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java76
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java78
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java78
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java28
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java122
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java78
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java126
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java171
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java78
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java99
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java170
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java83
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java60
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java205
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java78
-rwxr-xr-xaai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Result.java278
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java101
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java99
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java124
-rw-r--r--aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java99
43 files changed, 0 insertions, 9281 deletions
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java
deleted file mode 100755
index 5390d45de..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * Modifications Copyright © 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Map;
-
-import org.onap.aai.inventory.v21.*;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
-import org.onap.ccsdk.sli.adaptors.aai.data.notify.NotifyEvent;
-
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-
-public interface AAIClient extends SvcLogicResource, SvcLogicJavaPlugin {
-
- public SearchResults requestServiceInstanceURL(String svcInstanceId) throws AAIServiceException;
-
- // VServers
- public Vserver requestVServerData(String tenantId, String vserverId, String cloudOwner, String cloudRegionId) throws AAIServiceException;
-
- public URL requestVserverURLNodeQuery(String vserverName) throws AAIServiceException;
- public String getTenantIdFromVserverUrl(URL url);
- public String getCloudOwnerFromVserverUrl(URL url);
- public String getCloudRegionFromVserverUrl(URL url);
- public String getVServerIdFromVserverUrl(URL url, String tennantId);
- public Vserver requestVServerDataByURL(URL url) throws AAIServiceException;
-
-
-
- // ----------------- Release 1510 ----------------------
- // // GenericVNF
- public GenericVnf requestGenericVnfData(String vnfId) throws AAIServiceException;
- public boolean postGenericVnfData(String vnfId, GenericVnf request) throws AAIServiceException;
-
- // Physical Link
- public PhysicalLink requestPhysicalLinkData(String vnfId) throws AAIServiceException;
- public boolean postPhysicalLinkData(String vnfId, PhysicalLink request) throws AAIServiceException;
- public boolean deletePhysicalLinkData(String vnfId, String resourceVersion) throws AAIServiceException;
-
- // UBB Notify
- public boolean sendNotify(NotifyEvent event, String serviceInstanceId, String pathCode) throws AAIServiceException;
-
- // Node Query - 1602
- public SearchResults requestNodeQuery(String type, String entityIdentifier, String entityName) throws AAIServiceException;
- public String requestDataByURL(URL url) throws AAIServiceException;
- public GenericVnf requestGenericVnfeNodeQuery(String vnfName) throws AAIServiceException;
-
- public QueryStatus backup(Map<String, String> params, SvcLogicContext ctx) throws SvcLogicException;
- public QueryStatus restore(Map<String, String> params, SvcLogicContext ctx) throws SvcLogicException;
-
- public void logKeyError(String keys);
-
- public QueryStatus processResponseData(String rv, String resource, AAIRequest request, String prefix, SvcLogicContext ctx, Map<String, String> nameValues, String modifier) throws JsonParseException, JsonMappingException, IOException, AAIServiceException ;
- public String getPathTemplateForResource(String resoourceName, String join, SvcLogicContext ctx) throws MalformedURLException;
- public boolean isDeprecatedFormat(String resource, Map<String, String> nameValues);
-
- String query(AAIRequest request) throws AAIServiceException;
- String save(AAIRequest request) throws AAIServiceException;
- boolean delete(AAIRequest request, String resourceVersion) throws AAIServiceException;
- boolean update(AAIRequest request, String resourceVersion) throws AAIServiceException;
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClientRESTExecutor.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClientRESTExecutor.java
deleted file mode 100755
index 446ec4b6a..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClientRESTExecutor.java
+++ /dev/null
@@ -1,781 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-import java.security.KeyManagementException;
-import java.security.KeyStore;
-import java.security.NoSuchAlgorithmException;
-import java.text.SimpleDateFormat;
-import java.util.Properties;
-
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.KeyManagerFactory;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSession;
-import javax.net.ssl.SSLSocketFactory;
-
-import org.apache.commons.codec.binary.Base64;
-import org.onap.ccsdk.sli.adaptors.aai.AAIService.TransactionIdTracker;
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-import org.onap.ccsdk.sli.adaptors.aai.data.ErrorResponse;
-import org.onap.ccsdk.sli.adaptors.aai.data.RequestError;
-import org.onap.ccsdk.sli.adaptors.aai.data.ResourceVersion;
-import org.onap.ccsdk.sli.adaptors.aai.data.ServiceException;
-import org.onap.ccsdk.sli.core.sli.MetricLogger;
-import org.onap.logging.ref.slf4j.ONAPLogConstants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.apache.http.impl.EnglishReasonPhraseCatalog;
-
-/**
- * The AAIClientRESTExecutor class provides CRUD API for AAI Client service.
- * @author Rich Tabedzki
- */
-public class AAIClientRESTExecutor implements AAIExecutorInterface {
-
- private final String truststorePath;
- private final String truststorePassword;
- private final String keystorePath;
- private final String keystorePassword;
- private final Boolean ignoreCertificateHostError;
- // authentication credentials
- private String userName;
- private String userPassword;
- private final String applicationId;
- private static final String HTTP_URL_CONNECTION_RESULT="HttpURLConnection result: {} : {}";
- private static final String ENTRY_DOESNT_EXIST="Entry does not exist.";
-
- /**
- * class Constructor
- * @param props - properties to initialize an instance.
- */
- public AAIClientRESTExecutor(Properties props) {
- super();
-
- userName = props.getProperty(AAIService.CLIENT_NAME);
- userPassword = props.getProperty(AAIService.CLIENT_PWWD);
-
- if(userName == null || userName.isEmpty()){
- LOG.debug("Basic user name is not set");
- }
- if(userPassword == null || userPassword.isEmpty()) {
- LOG.debug("Basic password is not set");
- }
-
- truststorePath = props.getProperty(AAIService.TRUSTSTORE_PATH);
- truststorePassword = props.getProperty(AAIService.TRUSTSTORE_PSSWD);
- keystorePath = props.getProperty(AAIService.KEYSTORE_PATH);
- keystorePassword = props.getProperty(AAIService.KEYSTORE_PSSWD);
-
- String tmpApplicationId =props.getProperty(AAIService.APPLICATION_ID);
- if(tmpApplicationId == null || tmpApplicationId.isEmpty()) {
- tmpApplicationId = "SDNC";
- }
- applicationId = tmpApplicationId;
-
- String iche = props.getProperty(AAIService.CERTIFICATE_HOST_ERROR);
- boolean host_error = false;
- if(iche != null && !iche.isEmpty()) {
- host_error = Boolean.valueOf(iche);
- }
-
- ignoreCertificateHostError = host_error;
-
- HttpsURLConnection.setDefaultHostnameVerifier( (String string,SSLSession ssls) -> {
- return ignoreCertificateHostError;
-
- });
-
- if(truststorePath != null && truststorePassword != null && (new File(truststorePath)).exists()) {
- System.setProperty("javax.net.ssl.trustStore", truststorePath);
- System.setProperty("javax.net.ssl.trustStorePassword", truststorePassword);
- }
-
- if(keystorePath != null && keystorePassword != null && (new File(keystorePath)).exists())
- {
- //both jersey and HttpURLConnection can use this
- SSLContext ctx = null;
- try {
- ctx = SSLContext.getInstance("TLS");
-
- KeyManagerFactory kmf = null;
- try (FileInputStream fin = new FileInputStream(keystorePath)){
- String storeType = "PKCS12";
- String def = KeyStore.getDefaultType();
- kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
-
- String extension = keystorePath.substring(keystorePath.lastIndexOf(".") + 1);
-
- if(extension != null && !extension.isEmpty() && "JKS".equalsIgnoreCase(extension)) {
- storeType = "JKS";
- }
- KeyStore ks = KeyStore.getInstance(storeType);
-
- char[] pwd = keystorePassword.toCharArray();
- ks.load(fin, pwd);
- kmf.init(ks, pwd);
- } catch (Exception ex) {
- LOG.error("AAIResource", ex);
- }
-
- ctx.init(kmf.getKeyManagers(), null, null);
-
- CTX = ctx;
- LOG.debug("SSLContext created");
-
- } catch (KeyManagementException | NoSuchAlgorithmException exc) {
- LOG.error("AAIResource", exc);
- }
- }
-
- try {
- Field methodsField = HttpURLConnection.class.getDeclaredField("methods");
- methodsField.setAccessible(true);
- // get the methods field modifiers
- Field modifiersField = Field.class.getDeclaredField("modifiers");
- // bypass the "private" modifier
- modifiersField.setAccessible(true);
-
- // remove the "final" modifier
- modifiersField.setInt(methodsField, methodsField.getModifiers() & ~Modifier.FINAL);
-
- /* valid HTTP methods */
- String[] methods = {
- "GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE", "PATCH"
- };
- // set the new methods - including patch
- methodsField.set(null, methods);
-
- } catch (SecurityException | IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) {
- LOG.warn("Adding PATCH method", e);
- }
- LOG.info("AAIResource.ctor initialized.");
-
- }
-
- private static final Logger LOG = LoggerFactory.getLogger(AAIService.class);
- private static final String NOT_PROVIDED = "NOT PROVIDED";
- private final MetricLogger ml = new MetricLogger();
-
- private SSLContext CTX;
-
-
- private int connection_timeout = 300000;
-
- private int read_timeout = 300000;
-
- /**
- * Returns an String that contains JSON data returned from the AAI Server.
- * <p>
- * This method always returns immediately, whether or not the
- * data exists.
- *
- * @param request an instance of AAIRequiest representing
- * the request made by DirectedGraph node.
- * @return the JSON based representation of data instance requested.
- * @see String
- */
- @Override
- public String get(AAIRequest request) throws AAIServiceException {
- String response = null;
- InputStream inputStream = null;
- HttpURLConnection con = null;
- URL requestUrl = null;
-
- StringBuilder errorStringBuilder = new StringBuilder();
-
- try {
-
- if(request.getRequestObject() != null) {
- requestUrl = request.getRequestUrl(HttpMethod.POST, null);
- requestUrl = appendDepth(requestUrl, request);
- con = getConfiguredConnection(requestUrl, HttpMethod.POST);
- String json_text = request.toJSONString();
- LOGwriteDateTrace("data", json_text);
- logMetricRequest("POST "+requestUrl.getPath(), json_text, requestUrl.getPath());
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(json_text);
- osw.flush();
- } else {
- requestUrl = request.getRequestUrl(HttpMethod.GET, null);
- requestUrl = appendDepth(requestUrl, request);
- con = getConfiguredConnection(requestUrl, HttpMethod.GET);
- logMetricRequest("GET "+requestUrl.getPath(), "", requestUrl.getPath());
- }
-
- // Check for errors
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
- String responseMessage = null;
- try {
- responseMessage = con.getResponseMessage();
- } catch(Exception exc) {
- responseMessage = EnglishReasonPhraseCatalog.INSTANCE.getReason(responseCode,null);
- } finally {
- if(responseMessage == null)
- responseMessage = NOT_PROVIDED;
- }
-
- // Process the response
- LOG.info(HTTP_URL_CONNECTION_RESULT, responseCode, responseMessage);
- logMetricResponse(responseCode, responseMessage);
-
- if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
- BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
-
- ObjectMapper mapper = AAIService.getObjectMapper();
-
- if (responseCode == HttpURLConnection.HTTP_OK) {
- StringBuilder stringBuilder = new StringBuilder();
- String line = null;
- while( ( line = reader.readLine() ) != null ) {
- stringBuilder.append( line );
- }
- response = stringBuilder.toString();
- try {
- Object object = mapper.readValue(response, Object.class);
- LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, responseMessage, mapper.writeValueAsString(object));
- } catch(Exception exc) {
- LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, responseMessage, mapper.writeValueAsString(response));
- }
- } else if (responseCode == HttpURLConnection.HTTP_NOT_FOUND) {
- LOGwriteEndingTrace(responseCode, responseMessage, ENTRY_DOESNT_EXIST);
- ErrorResponse errorresponse = null;
- try {
- errorresponse = mapper.readValue(reader, ErrorResponse.class);
- } catch(Exception exc) {
- errorresponse = new ErrorResponse();
- RequestError requestError = new RequestError();
- ServiceException serviceException = new ServiceException();
- serviceException.setText(ENTRY_DOESNT_EXIST);
- requestError.setServiceException(serviceException);
- errorresponse.setRequestError(requestError );
- }
- throw new AAIServiceException(responseCode, errorresponse);
- } else if (responseCode == HttpURLConnection.HTTP_UNAUTHORIZED) {
- StringBuilder stringBuilder = new StringBuilder();
- String line = null;
- while( ( line = reader.readLine() ) != null ) {
- stringBuilder.append( line );
- }
- LOGwriteEndingTrace(responseCode, responseMessage, stringBuilder.toString());
- ServiceException serviceException = new ServiceException();
- serviceException.setMessageId("HTTP_UNAUTHORIZED");
- serviceException.setText(stringBuilder.toString());
- RequestError requestError = new RequestError();
- requestError.setServiceException(serviceException);
- ErrorResponse errorresponse = new ErrorResponse();
- errorresponse.setRequestError(requestError);
- throw new AAIServiceException(responseCode, errorresponse);
- } else {
- String line = null;
- while( ( line = reader.readLine() ) != null ) {
- errorStringBuilder.append("\n").append( line );
- }
-
- ErrorResponse errorresponse = mapper.readValue(errorStringBuilder.toString(), ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, responseMessage, mapper.writeValueAsString(errorresponse));
- throw new AAIServiceException(responseCode, errorresponse);
- }
-
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(errorStringBuilder.toString(), exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
- LOG.warn("", exc);
- }
- }
- }
- return response;
- }
-
- /**
- * Returns an String that contains JSON data returned from the AAI Server.
- * <p>
- * This method always returns immediately, whether or not the
- * data exists.
- *
- * @param request an instance of AAIRequiest representing
- * the request made by DirectedGraph node.
- * @return the JSON based representation of data instance requested.
- * @see String
- */
- @Override
- public String post(AAIRequest request) throws AAIServiceException {
- InputStream inputStream = null;
-
- try {
- String resourceVersion = null;
- AAIDatum instance = request.getRequestObject();
-
- try {
- Method getResourceVersionMethod = instance.getClass().getMethod("getResourceVersion");
- if(getResourceVersionMethod != null){
- try {
- Object object = getResourceVersionMethod.invoke(instance);
- if(object != null)
- resourceVersion = object.toString();
- } catch (InvocationTargetException exc) {
- LOG.warn("", exc);
- }
- }
- } catch(Exception exc) {
- LOG.error("", exc);
- }
-
- URL requestUrl = request.getRequestUrl(HttpMethod.PUT, resourceVersion);
- HttpURLConnection con = getConfiguredConnection(requestUrl, HttpMethod.PUT);
- ObjectMapper mapper = AAIService.getObjectMapper();
- String jsonText = request.toJSONString();
-
- LOGwriteDateTrace("data", jsonText);
- logMetricRequest("PUT "+requestUrl.getPath(), jsonText, requestUrl.getPath());
-
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(jsonText);
- osw.flush();
-
- // Check for errors
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
- String responseMessage = null;
- try {
- responseMessage = con.getResponseMessage();
- } catch(Exception exc) {
- responseMessage = EnglishReasonPhraseCatalog.INSTANCE.getReason(responseCode,null);
- } finally {
- if(responseMessage == null)
- responseMessage = NOT_PROVIDED;
- }
-
- LOG.info(HTTP_URL_CONNECTION_RESULT, responseCode, responseMessage);
- logMetricResponse(responseCode, responseMessage);
-
- // Process the response
- BufferedReader reader;
- String line = null;
- reader = new BufferedReader( new InputStreamReader( inputStream ) );
- mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
-
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- StringBuilder stringBuilder = new StringBuilder();
-
- while( ( line = reader.readLine() ) != null ) {
- stringBuilder.append( line );
- }
- LOGwriteEndingTrace(responseCode, responseMessage, (stringBuilder.length() > 0) ? stringBuilder.toString() : "{no-data}");
- return stringBuilder.toString();
- } else {
- ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, responseMessage, mapper.writeValueAsString(errorresponse));
-
- throw new AAIServiceException(responseCode, errorresponse);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("AAIRequestExecutor.post", exc);
- throw new AAIServiceException(exc);
- } finally {
- try {
- if(inputStream != null)
- inputStream.close();
- } catch (Exception exc) {
- LOG.warn("AAIRequestExecutor.post", exc);
- }
- }
- }
-
- /**
- * Returns Boolean that contains completion state of the command executed.
- * <p>
- * This method always returns immediately, whether or not the
- * data exists.
- *
- * @param request an instance of AAIRequiest representing
- * @param resourceVersion a resource version of the data instacne to be deleted.
- * the request made by DirectedGraph node.
- * @return completion state of the command.
- * @see String
- */
- @Override
- public Boolean delete(AAIRequest request, String resourceVersion) throws AAIServiceException {
- Boolean response = null;
- InputStream inputStream = null;
-
- if(resourceVersion == null) {
- throw new AAIServiceException("resource-version is required for DELETE request");
- }
-
- try {
- URL requestUrl = request.getRequestUrl(HttpMethod.DELETE, resourceVersion);
- HttpURLConnection conn = getConfiguredConnection(requestUrl, HttpMethod.DELETE);
- logMetricRequest("DELETE "+requestUrl.getPath(), "", requestUrl.getPath());
- conn.setDoOutput(true);
-
- // Check for errors
- int responseCode = conn.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- inputStream = conn.getInputStream();
- } else {
- inputStream = conn.getErrorStream();
- }
- String responseMessage = null;
- try {
- responseMessage = conn.getResponseMessage();
- } catch(Exception exc) {
- responseMessage = EnglishReasonPhraseCatalog.INSTANCE.getReason(responseCode,null);
- } finally {
- if(responseMessage == null)
- responseMessage = NOT_PROVIDED;
- }
-
- // Process the response
- LOG.info(HTTP_URL_CONNECTION_RESULT, responseCode, responseMessage);
- logMetricResponse(responseCode, responseMessage);
-
- if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
- BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
- String line = null;
-
- ObjectMapper mapper = AAIService.getObjectMapper();
-
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- StringBuilder stringBuilder = new StringBuilder();
-
- while( ( line = reader.readLine() ) != null ) {
- stringBuilder.append( line );
- }
- LOGwriteEndingTrace(responseCode, responseMessage, stringBuilder.toString());
- response = true;
- } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
- LOGwriteEndingTrace(responseCode, responseMessage, ENTRY_DOESNT_EXIST);
- response = false;
- } else {
- ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, responseMessage, mapper.writeValueAsString(errorresponse));
- throw new AAIServiceException(responseCode, errorresponse);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("delete", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
- LOG.warn("delete", exc);
- }
- }
- }
- return response;
- }
-
- /**
- * Returns an String that contains JSON data returned from the AAI Server.
- * <p>
- * This method always returns immediately, whether or not the
- * data exists.
- *
- * @param request an instance of AAIRequiest representing
- * the request made by DirectedGraph node.
- * @param clas an definition of the class for which data will be returned
- * @return the instance of the class with data.
- * @see String
- */
- @Override
- public Object query(AAIRequest request, Class clas) throws AAIServiceException {
- Object response = null;
- InputStream inputStream = null;
-
- try {
- URL requestUrl = request.getRequestQueryUrl(HttpMethod.GET);
- HttpURLConnection con = getConfiguredConnection(requestUrl, HttpMethod.GET);
- logMetricRequest("GET "+requestUrl.getPath(), "", requestUrl.getPath());
-
- // Check for errors
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
- String responseMessage = null;
- try {
- responseMessage = con.getResponseMessage();
- } catch(Exception exc) {
- responseMessage = EnglishReasonPhraseCatalog.INSTANCE.getReason(responseCode,null);
- } finally {
- if(responseMessage == null)
- responseMessage = NOT_PROVIDED;
- }
-
- LOG.info(HTTP_URL_CONNECTION_RESULT, responseCode, responseMessage);
- logMetricResponse(responseCode, responseMessage);
- ObjectMapper mapper = AAIService.getObjectMapper();
-
- if (responseCode == HttpURLConnection.HTTP_OK) {
- // Process the response
- BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
- response = mapper.readValue(reader, clas);
- LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
- } else if (responseCode == HttpURLConnection.HTTP_NOT_FOUND) {
- LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", ENTRY_DOESNT_EXIST);
- return response;
- } else {
- BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
- ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
- throw new AAIServiceException(responseCode, errorresponse);
- }
-
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("GET", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
- LOG.warn("GET", exc);
- }
- }
- }
- return response;
- }
-
- @Override
- public Boolean patch(AAIRequest request, String resourceVersion) throws AAIServiceException {
- InputStream inputStream = null;
-
- try {
- AAIDatum instance = request.getRequestObject();
- if(instance instanceof ResourceVersion) {
- resourceVersion = ((ResourceVersion)instance).getResourceVersion();
- }
-
- URL requestUrl = null;
- requestUrl = request.getRequestUrl("PATCH", resourceVersion);
- HttpURLConnection con = getConfiguredConnection(requestUrl, "PATCH");
- ObjectMapper mapper = AAIService.getObjectMapper();
- String jsonText = request.toJSONString();
-
- LOGwriteDateTrace("data", jsonText);
- logMetricRequest("PATCH "+requestUrl.getPath(), jsonText, requestUrl.getPath());
-
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(jsonText);
- osw.flush();
-
- // Check for errors
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
- String responseMessage = null;
- try {
- responseMessage = con.getResponseMessage();
- } catch(Exception exc) {
- LOG.info("Exception occured", exc.getMessage());
- responseMessage = EnglishReasonPhraseCatalog.INSTANCE.getReason(responseCode,null);
- } finally {
- if(responseMessage == null)
- responseMessage = NOT_PROVIDED;
- }
-
- LOG.info(HTTP_URL_CONNECTION_RESULT, responseCode, responseMessage);
- logMetricResponse(responseCode, responseMessage);
-
- // Process the response
- BufferedReader reader;
- String line = null;
- reader = new BufferedReader( new InputStreamReader( inputStream ) );
- mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
-
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- StringBuilder stringBuilder = new StringBuilder();
-
- while( ( line = reader.readLine() ) != null ) {
- stringBuilder.append( line );
- }
- LOGwriteEndingTrace(responseCode, responseMessage, (stringBuilder.length() > 0) ? stringBuilder.toString() : "{no-data}");
- return true;
- } else {
- StringBuilder stringBuilder = new StringBuilder();
-
- while( ( line = reader.readLine() ) != null ) {
- stringBuilder.append("\n").append( line );
- }
- LOG.info(stringBuilder.toString());
-
-
- ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, responseMessage, mapper.writeValueAsString(errorresponse));
-
- throw new AAIServiceException(responseCode, errorresponse);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("AAIRequestExecutor.patch", exc);
- throw new AAIServiceException(exc);
- } finally {
- try {
- if(inputStream != null)
- inputStream.close();
- } catch (Exception exc) {
- LOG.warn("AAIRequestExecutor.patch", exc);
- }
- }
- }
-
- /**
- *
- * @param httpReqUrl
- * @param method
- * @return
- * @throws Exception
- */
- protected HttpURLConnection getConfiguredConnection(URL httpReqUrl, String method) throws Exception {
- HttpURLConnection con = (HttpURLConnection) httpReqUrl.openConnection();
-
- // Set up the connection properties
- con.setRequestProperty("Connection", "close");
- con.setDoInput(true);
- con.setDoOutput(true);
- con.setUseCaches(false);
- con.setConnectTimeout(connection_timeout);
- con.setReadTimeout(read_timeout);
- con.setRequestMethod(method);
- con.setRequestProperty("Accept", "application/json");
- con.setRequestProperty("Transfer-Encoding","chunked");
- con.setRequestProperty("Content-Type",
- "PATCH".equalsIgnoreCase(method) ? "application/merge-patch+json" : "application/json");
- con.setRequestProperty("X-FromAppId", applicationId);
- con.setRequestProperty("X-TransactionId", TransactionIdTracker.getNextTransactionId());
- String mlId = ml.getRequestID();
- if (mlId != null && !mlId.isEmpty()) {
- LOG.debug(String.format("MetricLogger requestId = %s", mlId));
- con.setRequestProperty(ONAPLogConstants.MDCs.REQUEST_ID, mlId);
- } else {
- LOG.debug("MetricLogger requestId is null");
- }
-
- if (userName != null && !userName.isEmpty() && userPassword != null && !userPassword.isEmpty()) {
- String basicAuth = "Basic " + new String(Base64.encodeBase64((userName + ":" + userPassword).getBytes()));
- con.setRequestProperty("Authorization", basicAuth);
- }
-
- if (con instanceof HttpsURLConnection && CTX != null) {
- SSLSocketFactory sockFact = CTX.getSocketFactory();
- HttpsURLConnection.class.cast(con).setSSLSocketFactory(sockFact);
- }
- return con;
- }
-
- private URL appendDepth(URL requestUrl, AAIRequest request) throws MalformedURLException {
-
- String depth = request.requestProperties.getProperty("depth", "1");
- String path = requestUrl.toString();
- if(path.contains("?depth=") || path.contains("&depth=")) {
- return requestUrl;
- } else {
- if(path.contains("?")) {
- path = String.format("%s&depth=%s", path, depth);
- } else {
- path = String.format("%s?depth=%s", path, depth);
- }
- return new URL(path);
- }
- }
-
- public void logMetricRequest(String targetServiceName, String msg, String path){
- String svcInstanceId = "";
- String svcName = null;
- String partnerName = null;
- String targetEntity = "A&AI";
- String targetVirtualEntity = null;
-
- ml.logRequest(svcInstanceId, svcName, partnerName, targetEntity, targetServiceName, targetVirtualEntity, msg);
- }
-
- public void logMetricResponse(int responseCode, String responseDescription){
- ml.logResponse(responseCode < 400 ? "COMPLETE" : "ERROR", Integer.toString(responseCode), responseDescription);
- }
-
- protected void LOGwriteFirstTrace(String method, String url) {
- String time = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").format(System.currentTimeMillis());
- LOG.info("A&AI transaction :");
- LOG.info("Request Time : " + time + ", Method : " + method);
- LOG.info("Request URL : "+ url);
- }
-
- protected void LOGwriteDateTrace(String name, String data) {
- LOG.info("Input - " + name + " : " + data);
- }
-
- protected void LOGwriteEndingTrace(int response_code, String comment, String data) {
- LOG.info("Response code : " + response_code +", " + comment);
- LOG.info(String.format("Response data : %s", data));
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java
deleted file mode 100755
index 6765e152b..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java
+++ /dev/null
@@ -1,2041 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Modifications Copyright (C) 2019 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.lang.NoSuchMethodException;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.commons.lang.StringUtils;
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-import org.onap.ccsdk.sli.adaptors.aai.query.FormattedQueryResultList;
-import org.onap.ccsdk.sli.adaptors.aai.query.Result;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.aai.inventory.v21.GenericVnf;
-import org.onap.aai.inventory.v21.Image;
-import org.onap.aai.inventory.v21.Metadata;
-import org.onap.aai.inventory.v21.Metadatum;
-import org.onap.aai.inventory.v21.RelatedToProperty;
-import org.onap.aai.inventory.v21.Relationship;
-import org.onap.aai.inventory.v21.RelationshipData;
-import org.onap.aai.inventory.v21.RelationshipList;
-import org.onap.aai.inventory.v21.ResultData;
-import org.onap.aai.inventory.v21.SearchResults;
-import org.onap.aai.inventory.v21.ServiceInstance;
-import org.onap.aai.inventory.v21.Vlan;
-import org.onap.aai.inventory.v21.Vlans;
-import org.onap.aai.inventory.v21.Vserver;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-
-public abstract class AAIDeclarations implements AAIClient {
-
- public static final String TRUSTSTORE_PATH = "org.onap.ccsdk.sli.adaptors.aai.ssl.trust";
- public static final String TRUSTSTORE_PSSWD = "org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd";
- public static final String KEYSTORE_PATH = "org.onap.ccsdk.sli.adaptors.aai.ssl.key";
- public static final String KEYSTORE_PSSWD = "org.onap.ccsdk.sli.adaptors.aai.ssl.key.psswd";
-
- public static final String APPLICATION_ID = "org.onap.ccsdk.sli.adaptors.aai.application";
-
- public static final String CLIENT_NAME = "org.onap.ccsdk.sli.adaptors.aai.client.name";
- public static final String CLIENT_PWWD = "org.onap.ccsdk.sli.adaptors.aai.client.psswd";
-
-
- public static final String CONNECTION_TIMEOUT = "connection.timeout";
- public static final String READ_TIMEOUT = "read.timeout";
-
- public static final String TARGET_URI = "org.onap.ccsdk.sli.adaptors.aai.uri";
-
- public static final String AAI_VERSION = "org.onap.ccsdk.sli.adaptors.aai.version";
-
- // Availability zones query
- public static final String QUERY_PATH = "org.onap.ccsdk.sli.adaptors.aai.path.query";
-
- // Update
- public static final String UPDATE_PATH = "org.onap.ccsdk.sli.adaptors.aai.update";
-
- // Service instance
- public static final String SVC_INSTANCE_PATH = "org.onap.ccsdk.sli.adaptors.aai.path.svcinst";
- public static final String SVC_INST_QRY_PATH = "org.onap.ccsdk.sli.adaptors.aai.path.svcinst.query";
-
- // VServer
- public static final String NETWORK_VSERVER_PATH = "org.onap.ccsdk.sli.adaptors.aai.path.vserver";
-
- public static final String VNF_IMAGE_QUERY_PATH = "org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query";
-
- public static final String PARAM_SERVICE_TYPE = "org.onap.ccsdk.sli.adaptors.aai.param.service.type";
- public static final String CERTIFICATE_HOST_ERROR = "org.onap.ccsdk.sli.adaptors.aai.host.certificate.ignore";
-
- // UBB Notify
- public static final String UBB_NOTIFY_PATH = "org.onap.ccsdk.sli.adaptors.aai.path.notify";
- public static final String SELFLINK_AVPN = "org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn";
- public static final String SELFLINK_FQDN = "org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn";
-
- //Service
- public static final String SERVICE_PATH = "org.onap.ccsdk.sli.adaptors.aai.path.service";
-
- // site-pair-sets
- public static final String SITE_PAIR_SET_PATH = "org.onap.ccsdk.sli.adaptors.aai.path.site.pair.set";
-
- // node query (1602)
- public static final String QUERY_NODES_PATH = "org.onap.ccsdk.sli.adaptors.aai.query.nodes";
-
- private static final String VERSION_PATTERN = "/v$/";
-
- private static final String AAI_SERVICE_EXCEPTION = "AAI Service Exception";
-
- protected abstract Logger getLogger();
- public abstract AAIExecutorInterface getExecutor();
-
- private static final String RELATIONSHIP_DATA= "Retrofitting relationship data: ";
-
-
- @Override
- public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix, String orderBy, SvcLogicContext ctx)
- throws SvcLogicException {
-
- getLogger().debug("AAIService.query \tresource = "+resource);
-
- String vnfId;
- String vnfName = null;
- HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx);
- getLogger().debug("key = "+ nameValues.toString());
-
- if(!AAIServiceUtils.isValidFormat(resource, nameValues)) {
- ctx.setAttribute(String.format("%s.error.message", prefix), String.format("Resource %s is not supported. Key string contains invaid identifiers", resource));
- return QueryStatus.FAILURE;
- }
-
- if(resource == null || resource.isEmpty() || AAIRequest.createRequest(resource, nameValues) == null) {
- ctx.setAttribute(String.format("%s.error.message", prefix), String.format("Resource %s is not supported", resource));
- return QueryStatus.FAILURE;
- }
-
- // process data using new model
- boolean useNewModelProcessing = true;
- // process server query by name the old way
- if("vserver".equals(resource) || "vserver2".equals(resource)){
- if(nameValues.containsKey("vserver_name") || nameValues.containsKey("vserver-name") || nameValues.containsKey("vserver.vserver_name") || nameValues.containsKey("vserver.vserver-name"))
- useNewModelProcessing = false;
- }
- if("generic-vnf".equals(resource)){
- if(nameValues.containsKey("vnf_name") || nameValues.containsKey("vnf-name") || nameValues.containsKey("generic_vnf.vnf_name") || nameValues.containsKey("generic-vnf.vnf-name"))
- useNewModelProcessing = false;
- }
-
- // process data using new model
- if(useNewModelProcessing && AAIRequest.createRequest(resource, nameValues) != null) {
-
- try {
- return newModelQuery(resource, localOnly, select, key, prefix, orderBy, ctx);
- } catch (Exception exc) {
- getLogger().warn("Failed query - returning FAILURE", exc);
- return QueryStatus.FAILURE;
- }
- }
-
- ObjectMapper mapper = AAIService.getObjectMapper();
- Map<String,Object> attributes = new HashMap<>();
-
- String modifier = null;
-
- if(resource.contains(":")) {
- String[] tokens = resource.split(":");
- resource = tokens[0];
- if(tokens.length > 1) {
- modifier = tokens[1];
- }
- }
-
- resource = resource.toLowerCase().replace("-", "_");
-
- try {
-
- switch(resource) {
- case "generic_vnf":
- vnfId = nameValues.get("vnf_id");
- if(nameValues.containsKey("vnf_id"))
- vnfId = nameValues.get("vnf_id");
- else if(nameValues.containsKey("generic_vnf.vnf_name"))
- vnfId = nameValues.get("generic_vnf.vserver_name");
-
- if(nameValues.containsKey("vnf_name"))
- vnfName = nameValues.get("vnf_name");
- else if(nameValues.containsKey("generic_vnf.vnf_name"))
- vnfName = nameValues.get("generic_vnf.vnf_name");
-
- if(vnfId != null && !vnfId.isEmpty()) {
- // at this point of the project this part should not be executed
- vnfId = vnfId.trim().replace("'", "").replace("$", "").replace("'", "");
- GenericVnf vnf = this.requestGenericVnfData(vnfId);
- if(vnf == null) {
- return QueryStatus.NOT_FOUND;
- }
-
- attributes = mapper.convertValue(vnf, attributes.getClass());
- } else if(vnfName != null && !vnfName.isEmpty()) {
- try {
- vnfName = vnfName.trim().replace("'", "").replace("$", "").replace("'", "");
- GenericVnf vnf = this.requestGenericVnfeNodeQuery(vnfName);
- if(vnf == null) {
- return QueryStatus.NOT_FOUND;
- }
- vnfId=vnf.getVnfId();
- nameValues.put("vnf_id", vnfId);
- attributes = mapper.convertValue(vnf, attributes.getClass());
- } catch (AAIServiceException exc) {
- int errorCode = exc.getReturnCode();
- switch(errorCode) {
- case 400:
- case 404:
- case 412:
- break;
- default:
- getLogger().warn("Caught exception trying to refresh generic VNF", exc);
- }
- ctx.setAttribute(prefix + ".error.message", exc.getMessage());
- if(errorCode >= 300) {
- ctx.setAttribute(prefix + ".error.http.response-code",
- Integer.toString(exc.getReturnCode()));
- }
- return QueryStatus.FAILURE;
- }
- } else {
- getLogger().warn("No arguments are available to process generic VNF");
- return QueryStatus.FAILURE;
- }
- break;
- case "vserver":
- case "vserver2":
- String vserverName = null;
- if(nameValues.containsKey("vserver_name"))
- vserverName = nameValues.get("vserver_name");
- else if(nameValues.containsKey("vserver.vserver_name"))
- vserverName = nameValues.get("vserver.vserver_name");
-
- String vserverId = null;
- if(nameValues.containsKey("vserver_id"))
- vserverId = nameValues.get("vserver_id");
- if(nameValues.containsKey("vserver.vserver_id"))
- vserverId = nameValues.get("vserver.vserver_id");
- String tenantId = nameValues.get("teannt_id");
-
- if(vserverName != null) vserverName = vserverName.trim().replace("'", "").replace("$", "").replace("'", "");
- if(vserverId != null) vserverId = vserverId.trim().replace("'", "").replace("$", "").replace("'", "");
- if(tenantId != null) tenantId = tenantId.trim().replace("'", "").replace("$", "").replace("'", "");
-
- if (vserverName != null) {
- URL vserverUrl = null;
- try {
- vserverUrl = this.requestVserverURLNodeQuery(vserverName);
- } catch (AAIServiceException aaiexc) {
- getLogger().warn(AAI_SERVICE_EXCEPTION, aaiexc);
- ctx.setAttribute(prefix + ".error.message", aaiexc.getMessage());
- if (aaiexc.getReturnCode() >= 300) {
- ctx.setAttribute(prefix + ".error.http" + "" + ".response-code", Integer.toString(aaiexc.getReturnCode()));
- }
-
- if (aaiexc.getReturnCode() == 404)
- return QueryStatus.NOT_FOUND;
- else
- return QueryStatus.FAILURE;
- }
- if (vserverUrl == null) {
- return QueryStatus.NOT_FOUND;
- }
-
- tenantId = getTenantIdFromVserverUrl(vserverUrl);
- String cloudOwner = getCloudOwnerFromVserverUrl(vserverUrl);
- String cloudRegionId = getCloudRegionFromVserverUrl(vserverUrl);
-
- Vserver vserver = null;
- try {
- vserver = this.requestVServerDataByURL(vserverUrl);
- } catch (AAIServiceException aaiexc) {
- getLogger().warn(AAI_SERVICE_EXCEPTION, aaiexc);
- ctx.setAttribute(prefix + ".error.message", aaiexc.getMessage());
- if (aaiexc.getReturnCode() >= 300) {
- ctx.setAttribute(prefix + ".error.http" + ".response-code", Integer.toString(aaiexc.getReturnCode()));
- }
-
- if (aaiexc.getReturnCode() == 404)
- return QueryStatus.NOT_FOUND;
- else
- return QueryStatus.FAILURE;
- }
- if (vserver == null) {
- return QueryStatus.NOT_FOUND;
- }
- attributes = mapper.convertValue(vserver, attributes.getClass());
- if (!attributes.containsKey("tenant-id") && tenantId != null) {
- attributes.put("tenant-id", tenantId);
- }
- if (!attributes.containsKey("cloud-owner") && cloudOwner != null) {
- attributes.put("cloud-owner", cloudOwner);
- }
- if (!attributes.containsKey("cloud-region-id") && cloudRegionId != null) {
- attributes.put("cloud-region-id", cloudRegionId);
- }
- } else if (vserverId != null && tenantId != null) {
- Vserver vserver = this.requestVServerData(tenantId, vserverId, "att-aic", "AAIAIC25");
- if(vserver == null) {
- return QueryStatus.NOT_FOUND;
- }
- attributes = mapper.convertValue(vserver, attributes.getClass());
- if(!attributes.containsKey("tenant-id") && tenantId != null){
- attributes.put("tenant-id", tenantId);
- }
- } else {
- return QueryStatus.FAILURE;
- }
- break;
-
- default:
- return QueryStatus.FAILURE;
- }
-
- QueryStatus retval = QueryStatus.SUCCESS;
-
- if (attributes == null || attributes.isEmpty()) {
- retval = QueryStatus.NOT_FOUND;
- getLogger().debug("No data found");
- } else {
- if (ctx != null) {
- if (prefix != null) {
- ArrayList<String> keys = new ArrayList<>(attributes.keySet());
-
- int numCols = keys.size();
-
- for (int i = 0; i < numCols; i++) {
- String colValue;
- String colName = keys.get(i);
- Object object = attributes.get(colName);
-
- if(object != null && object instanceof String) {
- colValue = (String)object;
-
- if (prefix != null) {
- getLogger().debug("Setting "+prefix + "." + colName.replaceAll("_", "-")+" = "+ colValue);
- ctx.setAttribute(prefix + "." + colName.replaceAll("_", "-"), colValue);
- } else {
- getLogger().debug("Setting " + colValue.replaceAll("_", "-")+" = "+colValue);
- ctx.setAttribute(colValue.replaceAll("_", "-"), colValue);
- }
- } else if(object != null && object instanceof Map) {
- if(colName.equals(modifier) || "relationship-list".equals(colName)){
- String localNodifier = modifier;
- if(localNodifier == null)
- localNodifier = "relationship-list";
- Map<String, Object> properties = (Map<String, Object>)object;
- writeMap(properties, prefix+"."+localNodifier, ctx);
- }
- }
- }
- }
- }
- }
- getLogger().debug("Query - returning " + retval);
- return retval;
-
- } catch (Exception exc) {
- getLogger().warn("Failed query - returning FAILURE", exc);
- return QueryStatus.FAILURE;
- }
- }
-
-
- public void writeMap(Map<String, Object> properties, String prefix, SvcLogicContext ctx) {
- Set<String> mapKeys = properties.keySet();
-
- for(String mapKey : mapKeys) {
- Object entity = properties.get(mapKey);
- if(entity instanceof ArrayList) {
- writeList((ArrayList<?>)entity, prefix + "." + mapKey, ctx);
- } else
- if(entity instanceof String || entity instanceof Long || entity instanceof Integer || entity instanceof Boolean) {
- ctx.setAttribute(prefix + "." + mapKey, entity.toString());
- getLogger().debug(prefix + "." + mapKey + " : " + entity.toString());
- } else if(entity instanceof Map) {
- String localPrefix = prefix;
- if(mapKey != null) {
- localPrefix = String.format("%s.%s", prefix, mapKey);
- }
- writeMap( (Map<String, Object>)entity, localPrefix, ctx);
- }
- }
- }
-
- private void writeList(ArrayList<?> list, String prefix, SvcLogicContext ctx) {
- for(int i = 0; i < list.size(); i++ ) {
- Object entity = list.get(i);
- if(entity instanceof Map) {
- writeMap( (Map<String, Object>)entity, prefix + "[" + i + "]", ctx);
- } else
- if(entity instanceof String || entity instanceof Long || entity instanceof Integer || entity instanceof Boolean) {
- ctx.setAttribute(prefix, entity.toString());
- getLogger().debug(prefix + " : " + entity.toString());
- }
- }
-
- if(!list.isEmpty()) {
- ctx.setAttribute(prefix + "_length", Integer.toString(list.size()));
- getLogger().debug(prefix + "_length" + " : " + Integer.toString(list.size()));
- }
- }
-
- @Override
- public QueryStatus save(String resource, boolean force, boolean localOnly, String key, Map<String, String> params, String prefix, SvcLogicContext ctx)
- throws SvcLogicException {
-
- getLogger().debug("AAIService.save\tresource="+resource);
- HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx);
-
- if(!AAIServiceUtils.isValidFormat(resource, nameValues)) {
- ctx.setAttribute(String.format("%s.error.message", prefix), String.format("Resource %s is not supported. Key string contains invaid identifiers", resource));
- return QueryStatus.FAILURE;
- }
-
- if(resource == null || resource.isEmpty() || AAIRequest.createRequest(resource, nameValues) == null) {
- getLogger().warn("AAIService.save has unspecified resource");
- ctx.setAttribute(String.format("%s.error.message", prefix), String.format("Resource %s is not supported", resource));
- return QueryStatus.FAILURE;
- }
- // keys passed
- getLogger().debug("key = "+ Arrays.toString(nameValues.entrySet().toArray()));
-
- // process params
- if(params.containsKey("prefix")) {
- Map<String, String> tmpParams = ctxGetBeginsWith(ctx, params.get("prefix"));
- if(!tmpParams.isEmpty()) {
- params.putAll(tmpParams);
-// params.remove("prefix");
- }
- }
- // params passed
- getLogger().debug("parms = "+ Arrays.toString(params.entrySet().toArray()));
-
- boolean useNewModelProcessing = true;
- // process server query by name the old way
- if("vserver".equals(resource) || "vserver2".equals(resource)){
- if(nameValues.containsKey("vserver-name")) {
- useNewModelProcessing = false;
- }
-
- if(!params.containsKey("vserver-selflink")) {
-
- AAIRequest request = AAIRequest.createRequest(resource, nameValues);
- URL path = null;
- try {
- request.processRequestPathValues(nameValues);
- path = request.getRequestUrl("GET", null);
- params.put("vserver-selflink", path.toString());
- } catch (UnsupportedEncodingException | MalformedURLException | URISyntaxException e) {
- getLogger().warn("URL error Exception", e);
- params.put("vserver-selflink", "/vserver");
- }
- }
- }
-
- // process data using new model
- if(useNewModelProcessing && AAIRequest.createRequest(resource, nameValues) != null) {
-
- try {
- if(!resource.contains(":")){
- return newModelSave(resource, force, key, params, prefix, ctx);
- } else {
- String[] tokens = resource.split(":");
- String localResource = tokens[0];
- String dependency = tokens[1];
-
- AAIDatum instance = newModelObjectRequest( localResource, nameValues, prefix, ctx);
- if(instance == null) {
- return QueryStatus.NOT_FOUND;
- }
-
- switch(dependency){
- case "relationship-list":
- newModelProcessRelationshipList(instance, params, prefix, ctx);
- break;
- case "metadata":
- newModelProcessMetadata(instance, params, prefix, ctx);
- break;
- }
- // create a method to update relationship-list
- AAIRequest request = AAIRequest.createRequest(localResource, nameValues);
- request.setRequestObject(instance);
- request.processRequestPathValues(nameValues);
-
- getExecutor().post(request);
- getLogger().debug("Save relationship list - returning SUCCESS");
- return QueryStatus.SUCCESS;
- }
- } catch (Exception exc) {
- ctx.setAttribute(prefix + ".error.message", exc.getMessage());
- if(exc instanceof AAIServiceException) {
- AAIServiceException aaiexc = (AAIServiceException)exc;
- if(aaiexc.getReturnCode() >= 300) {
- ctx.setAttribute(prefix + ".error.http" + ".response-code", Integer.toString(aaiexc.getReturnCode()));
- }
-
- if(aaiexc.getReturnCode() == 404) {
- return QueryStatus.NOT_FOUND;
- }
- }
- getLogger().warn("Failed save() - returning FAILURE", exc);
- return QueryStatus.FAILURE;
- }
- } else {
- getLogger().debug("Save() request for {} is not supported- returning FAILURE", resource);
- return QueryStatus.FAILURE;
- }
- }
-
- @Override
- public QueryStatus update(String resource, String key, Map<String, String> params, String prefix, SvcLogicContext ctx) throws SvcLogicException {
-
- resource = resource.toLowerCase();
- HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx);
- getLogger().debug("key = "+ Arrays.toString(nameValues.entrySet().toArray()));
- if(!AAIServiceUtils.isValidFormat(resource, nameValues)) {
- ctx.setAttribute(String.format("%s.error.message", prefix), String.format("Resource %s is not supported. Key string contains invaid identifiers", resource));
- return QueryStatus.FAILURE;
- }
-
- if(resource == null || resource.isEmpty() || AAIRequest.createRequest(resource, nameValues) == null) {
- ctx.setAttribute(String.format("%s.error.message", prefix), String.format("Resource %s is not supported", resource));
- return QueryStatus.FAILURE;
- }
-
- // check if request is for groups
- if(!AAIServiceUtils.containsResource(resource, nameValues)) {
- ctx.setAttribute(String.format("%s.error.message", prefix), String.format("Resource %s is not permitted in 'update' operation", resource));
- return QueryStatus.FAILURE;
- }
-
- getLogger().debug("parms = "+ Arrays.toString(params.entrySet().toArray()));
-
- AAIRequest request = AAIRequest.createRequest(resource, nameValues);
- request = new UpdateRequest(request, params);
-
- String[] arguments = request.getArgsList();
- for(String name : arguments) {
- String modifiedKey = name.replaceAll("-", "_");
- if(nameValues.containsKey(modifiedKey)) {
- String argValue = nameValues.get(modifiedKey);
- if(argValue != null) argValue = argValue.trim().replace("'", "").replace("$", "").replace("'", "");
- request.addRequestProperty(name, argValue);
- }
- }
-
- try {
- QueryStatus retval = QueryStatus.SUCCESS;
-
- retval = newModelQuery(resource, false, null, key, "tmpDelete", null, ctx);
-
- if(retval == null || retval != QueryStatus.SUCCESS) {
- return retval;
- }
-
- String resourceVersion = ctx.getAttribute("tmpDelete.resource-version");
- if(resourceVersion == null) {
- return QueryStatus.NOT_FOUND;
- }
- params.put("resource-version", resourceVersion);
-
- request.processRequestPathValues(nameValues);
- getExecutor().patch(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- getLogger().warn(AAI_SERVICE_EXCEPTION, aaiexc);
- if(aaiexc.getReturnCode() == 404)
- return QueryStatus.NOT_FOUND;
- else
- return QueryStatus.FAILURE;
- } catch (Exception exc) {
- getLogger().warn("Failed update - returning FAILURE", exc);
- return QueryStatus.FAILURE;
- }
-
- getLogger().debug("Update - returning SUCCESS");
- return QueryStatus.SUCCESS;
- }
-
- @Override
- public QueryStatus delete(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
- getLogger().debug("AAIService.delete\tresource="+resource);
- HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx);
- getLogger().debug("key = "+ Arrays.toString(nameValues.entrySet().toArray()));
-
- if(!AAIServiceUtils.isValidFormat(resource, nameValues)) {
- ctx.setAttribute(String.format("%s.error.message", "aaiData"), String.format("Resource %s is not supported. Key string contains invaid identifiers", resource));
- return QueryStatus.FAILURE;
- }
-
- if(resource == null || resource.isEmpty() || AAIRequest.createRequest(resource, nameValues) == null) {
- ctx.setAttribute(String.format("%s.error.message", "tmpDelete"), String.format("Resource %s is not supported", resource));
- return QueryStatus.FAILURE;
- }
-
- // check if request is for groups
- if(!AAIServiceUtils.containsResource(resource, nameValues)) {
- ctx.setAttribute(String.format("%s.error.message", "tmpDelete"), String.format("Resource %s is not permitted in 'delete' operation", resource));
- return QueryStatus.FAILURE;
- }
-
- if(AAIRequest.createRequest(resource, nameValues) != null) {
- if(resource.contains(":")) {
- switch (resource.split(":")[1]){
- case "relationship-list":
- return processDeleteRelationshipList(resource, key, ctx, nameValues);
- case "metadata":
- return processDeleteMetadata(resource, key, ctx, nameValues);
- }
- }
-
-
- try {
- QueryStatus retval = QueryStatus.SUCCESS;
-
- retval = newModelQuery(resource, false, null, key, "tmpDelete", null, ctx);
-
- if(retval == null || retval != QueryStatus.SUCCESS) {
- return retval;
- }
-
- String resourceVersion = ctx.getAttribute("tmpDelete.resource-version");
- if(resourceVersion == null) {
- return QueryStatus.NOT_FOUND;
- }
-
- try {
- AAIRequest request = AAIRequest.createRequest(resource, nameValues);
- if(request == null) {
- return QueryStatus.FAILURE;
- }
-
- request.processRequestPathValues(nameValues);
-
- if(getExecutor().delete(request, resourceVersion)) {
- return QueryStatus.SUCCESS;
- }
- } catch(AAIServiceException aaiexc) {
- getLogger().warn(AAI_SERVICE_EXCEPTION, aaiexc);
- if(aaiexc.getReturnCode() == 404)
- return QueryStatus.NOT_FOUND;
- else
- return QueryStatus.FAILURE;
-
- } catch (Exception exc) {
- getLogger().warn("requestGenericVnfData", exc);
- return QueryStatus.FAILURE;
- }
-
- } catch (Exception exc) {
- getLogger().warn("Failed delete - returning FAILURE", exc);
- return QueryStatus.FAILURE;
- }
- } else {
- String resourceName = resource;
- String identifier = null;
-
- if(resourceName.contains(":")) {
- String[] tokens = resourceName.split(":");
- if(tokens != null && tokens.length > 0) {
- resourceName = tokens[0];
- identifier = tokens[1];
- }
- }
- if("relationship-list".equals(identifier) || "relationshipList".equals(identifier)) {
-// RelationshipRequest relationshipRequest = new RelationshipRequest();
- if("generic-vnf".equals(resourceName)){
- String vnfId = nameValues.get("vnf_id");
- String relatedTo = nameValues.get("related_to");
- vnfId = vnfId.trim().replace("'", "").replace("$", "").replace("'", "");
- relatedTo = relatedTo.trim().replace("'", "").replace("$", "").replace("'", "");
-
- GenericVnf vnf;
- try {
- vnf = this.requestGenericVnfData(vnfId);
- if(vnf == null)
- return QueryStatus.NOT_FOUND;
- } catch (AAIServiceException exc) {
- getLogger().warn("Failed delete - returning NOT_FOUND", exc);
- return QueryStatus.NOT_FOUND;
- }
- boolean itemRemoved = false;
- RelationshipList relationshipList = vnf.getRelationshipList();
- List<Relationship> relationships = relationshipList.getRelationship();
- List<Relationship> iterableList = new LinkedList<>(relationships);
- for(Relationship relationship : iterableList) {
- if(relationship.getRelatedTo().equals(relatedTo)) {
- relationships.remove(relationship);
- itemRemoved = true;
- }
- }
-
- if(!itemRemoved)
- return QueryStatus.NOT_FOUND;
- try {
- this.postGenericVnfData(vnf.getVnfId(), vnf);
- } catch (AAIServiceException exc) {
- if(exc.getReturnCode() == 404){
- return QueryStatus.NOT_FOUND;
- } else {
- getLogger().warn("Failed delete - returning FAILURE", exc);
- return QueryStatus.FAILURE;
- }
- }
- return QueryStatus.SUCCESS;
- }
- }
- }
- return QueryStatus.FAILURE;
- }
-
- @Override
- public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException {
- return query(resource, false, null, key, prefix, null, ctx);
- }
-
- @Override
- public QueryStatus isAvailable(String arg0, String arg1, String arg2, SvcLogicContext arg3)
- throws SvcLogicException {
- throw new SvcLogicException("Method AAIService.isAvailable() has not been implemented yet");
- }
-
- @Override
- public QueryStatus notify(String resource, String action, String key, SvcLogicContext ctx) throws SvcLogicException {
- throw new SvcLogicException("Method AAIService.notify() has not been implemented yet");
- }
-
- // @Override
- public QueryStatus newModelQuery(String resource, boolean localOnly, String select, String key, String prefix, String orderBy, SvcLogicContext ctx) {
-
- QueryStatus retval = QueryStatus.SUCCESS;
- String modifier = null;
-
- HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx);
- if(resource.contains(":")) {
- modifier = resource.split(":")[1];
- }
-
- try {
- AAIRequest request = AAIRequest.createRequest(resource, nameValues);
- if(request == null) {
- return QueryStatus.FAILURE;
- }
-
- Map<String, String> params = new HashMap<>();
-
- request.processRequestPathValues(nameValues);
- if(nameValues.containsKey("prefix")){
- Map<String, String> tmpParams = ctxGetBeginsWith(ctx, nameValues.get("prefix"));
- if(!tmpParams.isEmpty()) {
- params.putAll(tmpParams);
- }
- }
- String rv = getExecutor().get(request);
-
- retval = processResponseData(rv, resource, request, prefix, ctx, nameValues, modifier);
-
- } catch(AAIServiceException aaiexc) {
- getLogger().warn(AAI_SERVICE_EXCEPTION, aaiexc);
- int errorCode = aaiexc.getReturnCode();
- ctx.setAttribute(prefix + ".error.message", aaiexc.getMessage());
- if(errorCode >= 300) {
- ctx.setAttribute(prefix + ".error.http.response-code",
- Integer.toString(aaiexc.getReturnCode()));
- }
-
- if(aaiexc.getReturnCode() == 404)
- return QueryStatus.NOT_FOUND;
-
- return QueryStatus.FAILURE;
- } catch (Exception exc) {
- getLogger().warn("requestGenericVnfData", exc);
- ctx.setAttribute(prefix + ".error.message", exc.getMessage());
- return QueryStatus.FAILURE;
- }
-
- return retval;
- }
-
- public QueryStatus processResponseData(String rv, String resource, AAIRequest request, String prefix, SvcLogicContext ctx, Map<String, String> nameValues, String modifier) throws JsonParseException, JsonMappingException, IOException, AAIServiceException
- {
- Object response;
-
- if(rv == null) {
- return QueryStatus.NOT_FOUND;
- }
-
- response = request.jsonStringToObject(rv);
- if(response == null) {
- return QueryStatus.NOT_FOUND;
- }
-
- if("generic-query".equals(resource)) {
- SearchResults rd = SearchResults.class.cast(response);
- List<ResultData> rdList = rd.getResultData();
- if(rdList == null || rdList.isEmpty()) {
- return QueryStatus.NOT_FOUND;
- }
- ResultData rDatum = rdList.get(0);
- nameValues.put("selflink", rDatum.getResourceLink());
- AAIRequest req2 = AAIRequest.createRequest(rDatum.getResourceType(), nameValues);
- req2.processRequestPathValues(nameValues);
- rv = getExecutor().get(req2);
- if(rv == null) {
- return QueryStatus.NOT_FOUND;
- }
-
- response = req2.jsonStringToObject(rv);
- if(response == null) {
- return QueryStatus.NOT_FOUND;
- }
- }
-
- if("nodes-query".equals(resource)) {
- SearchResults rd = SearchResults.class.cast(response);
- List<ResultData> rdList = rd.getResultData();
- if(rdList == null || rdList.isEmpty()) {
- return QueryStatus.NOT_FOUND;
- }
- ResultData rDatum = rdList.get(0);
- response = rDatum;
- }
-
- if("formatted-query".equals(resource) || "custom-query".equals(resource)) {
- FormattedQueryResultList rd = FormattedQueryResultList.class.cast(response);
- List<Result> iRIlist = rd.getResults();
- if(iRIlist == null || iRIlist.isEmpty()) {
- return QueryStatus.NOT_FOUND;
- }
- }
-
- // process relationship list
- // this is a temporary soluton to address the realationship handling changes added in Release 17.07
- try {
- Class<?> clazz = response.getClass();
- Method getter = clazz.getMethod("getRelationshipList");
- Object obj = getter.invoke(response);
- if(obj != null && obj instanceof RelationshipList) {
- RelationshipList list = RelationshipList.class.cast(obj);
- AAIServiceUtils.populateRelationshipDataFromPath(list);
- }
- } catch(Exception exc) {
- getLogger().debug(RELATIONSHIP_DATA + exc.getMessage());
- }
-
- String preFix;
- if(prefix == null || prefix.isEmpty()) {
- preFix = "";
- } else {
- preFix = prefix + ".";
- }
-
- Map<String,Object> props = objectToProperties(response);
- Set<String> keys = props.keySet();
- for(String theKey: keys) {
- if(getLogger().isTraceEnabled())
- getLogger().trace(theKey);
-
- Object value = props.get(theKey);
- if(value == null)
- continue;
- Object type = value.getClass();
- if(value instanceof String) {
- ctx.setAttribute(preFix + theKey, value.toString());
- continue;
- }
- if(value instanceof Boolean) {
- ctx.setAttribute(preFix + theKey, value.toString());
- continue;
- }
- if(value instanceof Integer) {
- ctx.setAttribute(preFix + theKey, value.toString());
- continue;
- }
- if(value instanceof Long) {
- ctx.setAttribute(preFix + theKey, value.toString());
- continue;
- }
-
- if(value instanceof ArrayList) {
- ArrayList<?> array = ArrayList.class.cast(value);
- for(int i = 0; i < array.size(); i++) {
- writeList(array, String.format("%s.%s", prefix, theKey), ctx);
- }
- continue;
- }
-
- if("relationship-list".equals(theKey)){
- Map<String, Object> relationshipList = (Map<String, Object>)value;
- // we are interested in seeing just the selected relationship
- if(theKey.equals(modifier)) {
- List<?> relationships = (List<?>)relationshipList.get("relationship");
- if(relationships != null && !relationships.isEmpty()) {
-
- List newRelationships = new LinkedList();
- newRelationships.addAll(relationships);
-
- for(Object obj : newRelationships){
- if(obj instanceof Map<?, ?>) {
- Map<?, ?> relProperties = (Map<?, ?>)obj;
- if(relProperties.containsKey("related-to")) {
- Object relPropsRelatedTo = relProperties.get("related-to");
-
- String relatedTo = nameValues.get("related_to");
- if(relatedTo != null) {
- relatedTo = relatedTo.trim().replace("'", "").replace("$", "").replace("'", "");
- if(!relatedTo.equals(relPropsRelatedTo)) {
- relationships.remove(relProperties);
- }
- continue;
- } else {
- continue;
- }
- }
- }
- }
- }
- }
- writeMap(relationshipList, String.format("%s.%s", prefix, theKey), ctx);
- continue;
- }
-
- if(value instanceof Map) {
- Map<String, Object> subnetsList = (Map<String, Object>)value;
- writeMap(subnetsList, String.format("%s.%s", prefix, theKey), ctx);
- continue;
- }
-
- }
- return QueryStatus.SUCCESS;
- }
-
-
- public QueryStatus newModelBackupRequest(String resource, Map<String, String> params, String prefix, SvcLogicContext ctx) {
-
- QueryStatus retval = QueryStatus.SUCCESS;
- HashMap<String, String> nameValues = new HashMap<>();
-
- try {
- AAIRequest request = AAIRequest.createRequest(resource, nameValues);
- if(request == null) {
- return QueryStatus.FAILURE;
- }
-
- boolean argsFound = false;
- String[] arguments = request.getArgsList();
- for(String name : arguments) {
- String tmpName = name.replaceAll("-", "_");
- String value = params.get(tmpName);
- if(value != null && !value.isEmpty()) {
- value = value.trim().replace("'", "").replace("$", "").replace("'", "");
- request.addRequestProperty(name, value);
- argsFound = true;
- }
- }
- if(!argsFound) {
- getLogger().warn("No arguments were found. Terminating backup request.");
- return QueryStatus.FAILURE;
- }
-
- String rv = getExecutor().get(request);
- ctx.setAttribute(prefix, rv);
- } catch(AAIServiceException aaiexc) {
- getLogger().warn(AAI_SERVICE_EXCEPTION, aaiexc);
- if(aaiexc.getReturnCode() == 404)
- return QueryStatus.NOT_FOUND;
-
- return QueryStatus.FAILURE;
- } catch (Exception exc) {
- getLogger().warn("newModelBackupRequest", exc);
- return QueryStatus.FAILURE;
- }
-
- return retval;
- }
-
- public AAIDatum newModelObjectRequest(String resource, Map<String, String> params, String prefix, SvcLogicContext ctx)
- throws AAIServiceException {
-
- AAIDatum response = null;
-
- try {
- AAIRequest request = AAIRequest.createRequest(resource, params);
- if(request == null) {
- return null;
- }
-
- request.processRequestPathValues(params);
- String rv = getExecutor().get(request);
- response = request.jsonStringToObject(rv);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- getLogger().warn("newModelBackupRequest", exc);
- throw new AAIServiceException(exc);
- }
-
- return response;
- }
-
-
- @Override
- public QueryStatus release(String arg0, String arg1, SvcLogicContext arg2) throws SvcLogicException {
- throw new SvcLogicException("Method AAIService.release() has not been implemented yet");
- }
-
- @Override
- public QueryStatus reserve(String arg0, String arg1, String arg2, String arg3, SvcLogicContext arg4)
- throws SvcLogicException {
- throw new SvcLogicException("Method AAIService.reserve() has not been implemented yet");
- }
-
- private QueryStatus newModelSave(String resource, boolean force, String key, Map<String, String> params, String prefix, SvcLogicContext ctx) {
- getLogger().debug("Executing newModelSave for resource : " + resource);
- HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx);
-
- try {
- ArrayList<String> subResources = new ArrayList<>();
- Set<String> set = params.keySet();
- Map<String, Method> setters = new HashMap<>();
- Map<String, Method> getters = new HashMap<>();
-
- // 1. find class
- AAIRequest request = AAIRequest.createRequest(resource, nameValues);
- Class<? extends AAIDatum> resourceClass = request.getModelClass();
- getLogger().debug(resourceClass.getName());
- AAIDatum instance = resourceClass.newInstance();
-
- {
- Annotation[] annotations = resourceClass.getAnnotations();
- for(Annotation annotation : annotations) {
- Class<? extends Annotation> anotationType = annotation.annotationType();
- String annotationName = anotationType.getName();
-
- // 2. find string property setters and getters for the lists
- if("javax.xml.bind.annotation.XmlType".equals(annotationName)){
- XmlType order = (XmlType)annotation;
- String[] values = order.propOrder();
- for(String value : values) {
- String id = AAIServiceUtils.camelCaseToDashedString(value);
- Field field = resourceClass.getDeclaredField(value);
- Class<?> type = field.getType();
-
- try {
- if(type.getName().startsWith("java.lang") || "boolean".equals(type.getName()) || "long".equals(type.getName()) || "int".equals(type.getName())) {
- try {
- Method setter = resourceClass.getMethod("set"+StringUtils.capitalize(value), type);
- Object arglist[] = new Object[1];
- arglist[0] = params.get(id);
-
- if(arglist[0] != null) {
- if(!type.getName().equals("java.lang.String")) {
-// getLogger().debug(String.format("Processing %s with parameter %s", types[0].getName(), value));
- if("java.lang.Long".equals(type.getName()) || "java.lang.Integer".equals(type.getName())) {
- String fv = params.get(id);
- if(fv == null || fv.isEmpty()) {
- arglist[0] = null;
- } else {
- arglist[0] = valueOf(type, params.get(id));
- }
- } else if("boolean".equals(type.getName())) {
- arglist[0] = valueOf(Boolean.class, params.get(id));
- } else if("int".equals(type.getName())) {
- arglist[0] = valueOf(Integer.class, params.get(id));
- } else if("long".equals(type.getName())) {
- String fv = params.get(id);
- if(fv == null || fv.isEmpty()) {
- arglist[0] = null;
- } else {
- arglist[0] = valueOf(Long.class, params.get(id));
- }
- } else {
- arglist[0] = valueOf(type, params.get(id));
- }
- }
- Object obj = setter.invoke(instance, arglist);
- }
- set.remove(id);
-
- } catch (Exception x) {
- Throwable cause = x.getCause();
- getLogger().warn("Failed process for " + resourceClass.getName(), x);
- }
- } else if("java.util.List".equals(type.getName())) {
- List<String> newValues = new ArrayList<>();
- String length = id+"_length";
- if(!params.isEmpty() && params.containsKey(length)) {
- String tmp = params.get(length);
- int count = Integer.parseInt(tmp);
- for(int i=0; i<count; i++) {
- String tmpValue = params.get(String.format("%s[%d]", id, i));
- newValues.add(tmpValue);
- }
- if(!newValues.isEmpty()) {
- Method setter = findSetterFor(resourceClass, value);
- if(setter != null) {
- Object o = setter.invoke(instance, newValues);
- } else {
- try {
- Method listGetter = resourceClass.getMethod("get"+StringUtils.capitalize(value));
- Object o = listGetter.invoke(instance);
- if(o != null && o instanceof java.util.List ) {
- List innerList = List.class.cast(o);
- innerList.addAll(newValues);
- }
- } catch(NoSuchMethodException nsme) {
- getLogger().warn(AAI_SERVICE_EXCEPTION, nsme);
- }
- }
- }
- }
- set.remove(id);
- } else {
- Method setter = resourceClass.getMethod("set"+StringUtils.capitalize(value), type);
- setters.put(id, setter);
- }
- } catch(Exception exc) {
- getLogger().warn(AAI_SERVICE_EXCEPTION, exc);
- }
-
- Method getter;
- try {
- getter = resourceClass.getMethod("get"+StringUtils.capitalize(value));
- if(!type.getName().equals("java.lang.String")) {
- getters.put(id, getter);
- }
- } catch(NoSuchMethodException exc) {
- try {
- if(type.getName().equals("java.lang.Boolean")) {
- getter = resourceClass.getMethod("is"+StringUtils.capitalize(value));
- getters.put(id, getter);
- } else {
- getLogger().warn(AAI_SERVICE_EXCEPTION, exc);
- }
- } catch(Exception iexc) {
- getLogger().warn(AAI_SERVICE_EXCEPTION, iexc);
- }
- } catch(Exception exc) {
- getLogger().warn(AAI_SERVICE_EXCEPTION, exc);
- }
-
- }
- subResources.addAll(Arrays.asList(values));
- }
- }
- }
-
- // remove getters that have matching setter
- for(String setKey : setters.keySet()) {
- if(getters.containsKey(setKey)) {
- getters.remove(setKey);
- }
- }
-
- Set<String> relationshipKeys = new TreeSet<>();
- Set<String> vlansKeys = new TreeSet<>();
- Set<String> metadataKeys = new TreeSet<>();
-
- for(String attribute : set) {
- String value = params.get(attribute);
- if(attribute.startsWith("relationship-list")) {
- relationshipKeys.add(attribute);
- } else if(attribute.startsWith("vlans")) {
- vlansKeys.add(attribute);
- } else if(attribute.startsWith("metadata")) {
- metadataKeys.add(attribute);
- }
- }
- // 3. find list property getters
- for(String attribute : set) {
- String value = params.get(attribute);
- Method method = getters.get(attribute);
- if(method != null) {
- try {
- Object arglist[] = new Object[0];
-// arglist[0] = value;
- Class<?>[] types = method.getParameterTypes();
- if(types.length == 0){
- Object o = method.invoke(instance, arglist);
- if(o instanceof ArrayList) {
- ArrayList<String> values = (ArrayList<String>)o;
- value = value.replace("[", "").replace("]", "");
- List<String> items = Arrays.asList(value.split("\\s*,\\s*"));
- for(String s : items) {
- values.add(s.trim());
- }
- }
- }
- } catch (Exception x) {
- Throwable cause = x.getCause();
- getLogger().warn("Failed process for " + resourceClass.getName(), x);
- }
- }
- }
- // 4. Process Relationships
- // add relationship list
- if( (subResources.contains("relationship-list") || subResources.contains("relationshipList")) && !relationshipKeys.isEmpty()) {
- RelationshipList relationshipList = null;
- Object obj = null;
- Method getRelationshipListMethod = null;
- try {
- getRelationshipListMethod = resourceClass.getMethod("getRelationshipList");
- } catch(Exception exc) {
- getLogger().debug(RELATIONSHIP_DATA + exc.getMessage());
- }
-
- if(getRelationshipListMethod != null){
- try {
- obj = getRelationshipListMethod.invoke(instance);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- if(obj != null && obj instanceof RelationshipList){
- relationshipList = (RelationshipList)obj;
- } else {
- relationshipList = new RelationshipList();
- Method setRelationshipListMethod = resourceClass.getMethod("setRelationshipList", RelationshipList.class);
- if(setRelationshipListMethod != null){
- try {
- Object arglist[] = new Object[1];
- arglist[0] = relationshipList;
-
- obj = setRelationshipListMethod.invoke(instance, arglist);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- }
-
- List<Relationship> relationships = relationshipList.getRelationship();
-
- int i = 0;
- while(true){
- String searchKey = "relationship-list.relationship[" + i + "].related-to";
- if(!params.containsKey(searchKey))
- break;
- int j = 0;
- String relatedTo = params.get(searchKey);
- String relatedLinkKey = "relationship-list.relationship[" + i + "].related-link";
- String relatedLink = null;
- if(params.containsKey(relatedLinkKey)) {
- relatedLink = params.get(relatedLinkKey);
- }
- Relationship relationship = new Relationship();
- relationships.add(relationship);
- relationship.setRelatedTo(relatedTo);
- String relationshipLabel = "relationship-list.relationship[" + i + "].relationship-label";
- if(params.containsKey(searchKey)) {
- relationship.setRelationshipLabel(params.get(relationshipLabel));
- }
- getLogger().debug("About to process related link of {}", relatedLink);
- if(relatedLink != null) {
- if(relatedLink.contains("v$"))
- relatedLink = relatedLink.replace(VERSION_PATTERN, "/v21/");
- relationship.setRelatedLink(relatedLink);
- } else {
- Map<String, String> relParams = new HashMap<>();
-
- while(true) {
- String searchRelationshipKey = "relationship-list.relationship[" + i + "].relationship-data[" + j + "].relationship-key";
- String searchRelationshipValue = "relationship-list.relationship[" + i + "].relationship-data[" + j + "].relationship-value";
- if(!params.containsKey(searchRelationshipKey))
- break;
-
- relParams.put(params.get(searchRelationshipKey), params.get(searchRelationshipValue));
- j++;
- }
- AAIRequest rlRequest = AAIRequest.createRequest(relatedTo, relParams);
- for(Map.Entry<String,String> entry : relParams.entrySet()) {
- rlRequest.addRequestProperty(entry.getKey(), entry.getValue());
- }
- String path = rlRequest.updatePathDataValues(null);
- relationship.setRelatedLink(path);
- }
- {
- int k = 0;
- // process related to properties
- Map<String, String> relParams = new HashMap<String, String>();
-
- while(true) {
- String searchRelatedToKey = "relationship-list.relationship[" + i + "].related-to-property[" + k + "].property-key";
- String searchRelatedToValue = "relationship-list.relationship[" + i + "].related-to-property[" + k + "].property-value";
- if(!params.containsKey(searchRelatedToKey))
- break;
-
- RelatedToProperty relDatum = new RelatedToProperty();
- relDatum.setPropertyKey(params.get(searchRelatedToKey));
- relDatum.setPropertyValue(params.get(searchRelatedToValue));
- relationship.getRelatedToProperty().add(relDatum);
-
- relParams.put(params.get(searchRelatedToKey), params.get(searchRelatedToValue));
- k++;
- }
- }
- i++;
- }
- }
-
- // 4. vlans
- if(subResources.contains("vlans") && !vlansKeys.isEmpty()) {
- Object obj = null;
- Vlans vlanList = null;
- Method getVLansMethod = resourceClass.getMethod("getVlans");
- if(getVLansMethod != null){
- try {
- obj = getVLansMethod.invoke(instance);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- if(obj != null && obj instanceof Vlans){
- vlanList = (Vlans)obj;
- } else {
- vlanList = new Vlans();
- Method setVlansMethod = resourceClass.getMethod("setVlans", Vlans.class);
- if(setVlansMethod != null){
- try {
- Object arglist[] = new Object[1];
- arglist[0] = vlanList;
-
- obj = setVlansMethod.invoke(instance, arglist);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- }
-
- int i = 0;
- while(true){
- String searchKey = "vlans.vlan[" + i + "].vlan-interface";
- if(!params.containsKey(searchKey))
- break;
-
- String vlanInterface = params.get("vlans.vlan[" + i + "].vlan-interface");
- String vlanIdInner = params.get("vlans.vlan[" + i + "].vlan-id-inner");
- String vlanIdOute = params.get("vlans.vlan[" + i + "].vlan-id-outer");
- String speedValue = params.get("vlans.vlan[" + i + "].speed-value");
- String speedUnits = params.get("vlans.vlan[" + i + "].speed-units");
-
- Vlan vlan = new Vlan();
- vlan.setVlanInterface(vlanInterface);
-
- if(vlanIdInner != null) {
- Long iVlanIdInner = Long.parseLong(vlanIdInner);
- vlan.setVlanIdInner(iVlanIdInner);
- }
-
- if(vlanIdOute != null) {
- Long iVlanIdOuter = Long.parseLong(vlanIdOute);
- vlan.setVlanIdOuter(iVlanIdOuter);
- }
-
- if(speedValue != null) {
- vlan.setSpeedValue(speedValue);
- vlan.setSpeedUnits(speedUnits);
- }
-
- vlanList.getVlan().add(vlan);
- i++;
- }
- }
-
- // 5. metadata
- if(subResources.contains("metadata") && !metadataKeys.isEmpty()) {
- Object obj = null;
- Metadata metadataList = null;
- Method getMetadataMethod = resourceClass.getMethod("getMetadata");
- if(getMetadataMethod != null){
- try {
- obj = getMetadataMethod.invoke(instance);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- if(obj != null && obj instanceof Metadata){
- metadataList = (Metadata)obj;
- } else {
- metadataList = new Metadata();
- Method setMetadataMethod = resourceClass.getMethod("setMetadata", Metadata.class);
- if(setMetadataMethod != null){
- try {
- Object arglist[] = new Object[1];
- arglist[0] = metadataList;
-
- obj = setMetadataMethod.invoke(instance, arglist);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- }
-
- // process data
- int i = 0;
- while(true){
- String metaKey = "metadata.metadatum[" + i + "].meta-key";
- if(!params.containsKey(metaKey))
- break;
-
- String metaValue = params.get("metadata.metadatum[" + i + "].meta-value");
-
- Metadatum vlan = new Metadatum();
- vlan.setMetaname(metaKey);
- vlan.setMetaval(metaValue);
-
- metadataList.getMetadatum().add(vlan);
- i++;
- }
-
- }
-
-
- // 6. Prepare AAI request
- String[] args = request.getArgsList();
- for(String arg : args) {
- String modifiedKey = arg.replaceAll("-", "_");
- if(nameValues.containsKey(modifiedKey)) {
- String argValue = nameValues.get(modifiedKey);
- if(argValue != null) argValue = argValue.trim().replace("'", "").replace("$", "").replace("'", "");
- request.addRequestProperty(arg, argValue);
- }
- }
-
- request.processRequestPathValues(nameValues);
- request.setRequestObject(instance);
- Object response = getExecutor().post(request);
- if(request.expectsDataFromPUTRequest()){
- if(response != null && response instanceof String) {
- String rv = response.toString();
- QueryStatus retval = processResponseData(rv, resource, request, prefix, ctx, nameValues, null);
- getLogger().debug("newModelSave - returning " + retval.toString());
- return retval;
- }
- }
-
- } catch(AAIServiceException exc){
- ctx.setAttribute(prefix + ".error.message", exc.getMessage());
- int returnCode = exc.getReturnCode();
- if(returnCode >= 300) {
- ctx.setAttribute(prefix + ".error.http.response-code",
- Integer.toString(exc.getReturnCode()));
- }
-
- if(returnCode == 400 || returnCode == 412)
- return QueryStatus.FAILURE;
- else if(returnCode == 404)
- return QueryStatus.NOT_FOUND;
- else {
- getLogger().warn("Failed newModelSave - returning FAILURE", exc);
- return QueryStatus.FAILURE;
- }
- } catch(Exception exc){
- getLogger().warn("Failed newModelSave - returning FAILURE", exc);
- ctx.setAttribute(prefix + ".error.message", exc.getMessage());
- return QueryStatus.FAILURE;
- }
-
- getLogger().debug("newModelSave - returning SUCCESS");
- return QueryStatus.SUCCESS;
- }
-
- private Method findSetterFor(Class<? extends AAIDatum> resourceClass, String value) {
- try {
- String setterName = "set"+StringUtils.capitalize(value);
- for (Method method : resourceClass.getDeclaredMethods()) {
- int modifiers = method.getModifiers();
- if (Modifier.isPublic(modifiers) && setterName.contentEquals(method.getName())) {
- return method;
- }
- }
- } catch(Exception exc) {
- getLogger().warn("findSetterFor()", exc);
- }
- return null;
- }
-
- private QueryStatus newModelProcessRelationshipList(Object instance, Map<String, String> params, String prefix, SvcLogicContext ctx) throws Exception {
-
- Class resourceClass = instance.getClass();
-
- Set<String> relationshipKeys = new TreeSet<>();
-
- Set<String> set = params.keySet();
-
- for(String attribute : set) {
- String value = params.get(attribute);
-
- if(attribute.startsWith("relationship-list")) {
- relationshipKeys.add(attribute);
- }
- }
-
- // 3. Process Relationships
- // add relationship list
- if(!relationshipKeys.isEmpty()) {
- RelationshipList relationshipList;
- Object obj = null;
- Method getRelationshipListMethod = null;
- try {
- getRelationshipListMethod = resourceClass.getMethod("getRelationshipList");
- } catch(Exception exc) {
- getLogger().debug(RELATIONSHIP_DATA + exc.getMessage());
- }
- if(getRelationshipListMethod != null){
- try {
- obj = getRelationshipListMethod.invoke(instance);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- if(obj != null && obj instanceof RelationshipList){
- relationshipList = (RelationshipList)obj;
- } else {
- relationshipList = new RelationshipList();
- Method setRelationshipListMethod = resourceClass.getMethod("setRelationshipList", RelationshipList.class);
- if(setRelationshipListMethod != null){
- try {
- Object arglist[] = new Object[1];
- arglist[0] = relationshipList;
-
- obj = setRelationshipListMethod.invoke(instance, arglist);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- }
-
- boolean createdNewRelationships = false;
- List<Relationship> relationships = relationshipList.getRelationship();
- if(relationships == null) {
- relationships = new ArrayList<>();
- createdNewRelationships = true;
- }
-
- int i = 0;
- while(true){
- String searchKey = "relationship-list.relationship[" + i + "].related-to";
- if(!params.containsKey(searchKey))
- break;
-
- String relatedTo = params.get(searchKey);
- String relatedLinkKey = "relationship-list.relationship[" + i + "].related-link";
- String relatedLink = null;
- if(params.containsKey(relatedLinkKey)) {
- relatedLink = params.get(relatedLinkKey);
- }
-
- Relationship relationship = new Relationship();
- relationships.add(relationship);
- relationship.setRelatedTo(relatedTo);
-
- String relationshipLabel = "relationship-list.relationship[" + i + "].relationship-label";
- if(params.containsKey(searchKey)) {
- relationship.setRelationshipLabel(params.get(relationshipLabel));
- }
-
- if (relatedLink != null) {
- if(relatedLink.contains("v$"))
- relatedLink = relatedLink.replace(VERSION_PATTERN, AAIRequest.getSupportedAAIVersion());
- relationship.setRelatedLink(relatedLink);
- } else {
- Map<String, String> relParams = new HashMap<>();
- int j = 0;
-
- while (true) {
- String searchRelationshipKey = "relationship-list.relationship[" + i + "].relationship-data["
- + j + "].relationship-key";
- String searchRelationshipValue = "relationship-list.relationship[" + i + "].relationship-data["
- + j + "].relationship-value";
- if (!params.containsKey(searchRelationshipKey))
- break;
-
- RelationshipData relDatum = new RelationshipData();
- relDatum.setRelationshipKey(params.get(searchRelationshipKey));
- relDatum.setRelationshipValue(params.get(searchRelationshipValue));
- relationship.getRelationshipData().add(relDatum);
-
- relParams.put(params.get(searchRelationshipKey), params.get(searchRelationshipValue));
- j++;
- }
- AAIRequest rlRequest = AAIRequest.createRequest(relatedTo, relParams);
- for (Map.Entry<String, String> entry : relParams.entrySet()) {
- rlRequest.addRequestProperty(entry.getKey(), entry.getValue());
- }
- String path = rlRequest.updatePathDataValues(null);
- relationship.setRelatedLink(path);
- }
- {
- int k = 0;
- // process related to properties
- Map<String, String> relParams = new HashMap<String, String>();
-
- while(true) {
- String searchRelatedToKey = "relationship-list.relationship[" + i + "].related-to-property[" + k + "].property-key";
- String searchRelatedToValue = "relationship-list.relationship[" + i + "].related-to-property[" + k + "].property-value";
- if(!params.containsKey(searchRelatedToKey))
- break;
-
- RelatedToProperty relDatum = new RelatedToProperty();
- relDatum.setPropertyKey(params.get(searchRelatedToKey));
- relDatum.setPropertyValue(params.get(searchRelatedToValue));
- relationship.getRelatedToProperty().add(relDatum);
-
- relParams.put(params.get(searchRelatedToKey), params.get(searchRelatedToValue));
- k++;
- }
- }
-
- i++;
- }
- }
-
- return QueryStatus.SUCCESS;
- }
-
- private QueryStatus newModelProcessMetadata(Object instance, Map<String, String> params, String prefix, SvcLogicContext ctx) throws Exception {
-
- if (!(instance instanceof ServiceInstance) && !(instance instanceof Image)) {
- throw new IllegalArgumentException("request is not applicable for selected request");
- }
-
- Class resourceClass = instance.getClass();
- Set<String> metadataKeys = new TreeSet<>();
- Set<String> set = params.keySet();
- for(String attribute : set) {
- if(attribute.startsWith("metadata")) {
- metadataKeys.add(attribute);
- }
- }
-
- // 3. Process Metadata
- // add metadata
- if(!metadataKeys.isEmpty()) {
- Metadata metadata = null;
- Object obj = null;
- Method getMetadataMethod = resourceClass.getMethod("getMetadata");
- if(getMetadataMethod != null){
- try {
- obj = getMetadataMethod.invoke(instance);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- if(obj != null && obj instanceof Metadata){
- metadata = (Metadata)obj;
- } else {
- metadata = new Metadata();
- Method setMetadataMethod = resourceClass.getMethod("setMetadata", Metadata.class);
- if(setMetadataMethod != null){
- try {
- setMetadataMethod.invoke(instance, metadata);
- } catch (InvocationTargetException x) {
- }
- }
- }
-
- List<Metadatum> metadatumList = metadata.getMetadatum();
- int i = 0;
- while(true){
- String metaNameKey = "metadata.metadatum[" + i + "].metaname";
- String metaValueKey = "metadata.metadatum[" + i + "].metaval";
- if(!params.containsKey(metaNameKey) || !params.containsKey(metaValueKey))
- break;
-
- Metadatum metadatum = new Metadatum();
- metadatum.setMetaname(params.get(metaNameKey));
- metadatum.setMetaval(params.get(metaValueKey));
- metadatumList.add(metadatum);
-
- i++;
- }
- }
-
- return QueryStatus.SUCCESS;
- }
-
- private Relationship findRelationship(List<Relationship> relationships, String relatedTo) {
- if(relatedTo == null)
- return null;
-
- for(Relationship relationship : relationships) {
- if(relationship.getRelatedTo().equals(relatedTo)){
- return relationship;
- }
- }
- return null;
- }
-
-
- public QueryStatus backup(Map<String, String> params, SvcLogicContext ctx) throws SvcLogicException {
- String resource = params.get("resource").toLowerCase();
- String prefix = params.get("data-key");
-
- HashMap<String, String> nameValues = new HashMap<>();
- if(AAIRequest.createRequest(resource, nameValues) != null) {
-
- try {
- return newModelBackupRequest(resource, params, prefix, ctx);
- } catch (Exception exc) {
- getLogger().warn("Failed backup - returning FAILURE", exc);
- return QueryStatus.FAILURE;
- }
- }
-
- return QueryStatus.NOT_FOUND;
- }
-
- @Override
- public QueryStatus restore(Map<String, String> params, SvcLogicContext ctx) throws SvcLogicException {
-
- QueryStatus retval = QueryStatus.SUCCESS;
- String resource = params.get("resource").toLowerCase();
- String prefix = params.get("data-key");
-
- HashMap<String, String> nameValues = new HashMap<>();
- if(AAIRequest.createRequest(resource, nameValues) != null) {
-
- try {
- retval = newModelBackupRequest(resource, params, "tmpRestore", ctx);
- if(retval == QueryStatus.SUCCESS) {
- ctx.setAttribute("tmpRestore", null);
- }
- } catch (Exception exc) {
- getLogger().warn("Failed restore - returning FAILURE", exc);
- return QueryStatus.FAILURE;
- }
- }
-
- return QueryStatus.NOT_FOUND;
- }
-
- protected Map<String, Object> objectToProperties(Object object) {
- ObjectMapper mapper = AAIService.getObjectMapper();
- return mapper.convertValue(object, Map.class);
- }
-
- static <T> T valueOf(Class<T> klazz, String arg) {
- Exception cause = null;
- T ret = null;
- try {
- ret = klazz.cast(klazz.getDeclaredMethod("valueOf", String.class).invoke(null, arg));
- } catch (NoSuchMethodException exc) {
- LoggerFactory.getLogger(AAIService.class).warn("Wrong data type", exc);
- ret = klazz.cast(arg);
- } catch (IllegalAccessException e) {
- cause = e;
- } catch (InvocationTargetException e) {
- cause = e;
- }
- if (cause == null) {
- return ret;
- } else {
- throw new IllegalArgumentException(cause);
- }
- }
-
- private QueryStatus processDeleteRelationshipList(String resource, String key, SvcLogicContext ctx, HashMap<String, String> nameValues) {
- try {
- AAIRequest request = AAIRequest.createRequest(resource.split(":")[0], nameValues);
- if(request == null) {
- return QueryStatus.FAILURE;
- }
-
- request.processRequestPathValues(nameValues);
- URL url = request.getRequestUrl("GET", null);
-
- Class resourceClass = request.getModelClass();
- Object instance = getResource(url.toString(), resourceClass);
- if(instance == null)
- return QueryStatus.NOT_FOUND;
-
- // get resource version
- String resourceVersion = null;
- Method getResourceVersionMethod = resourceClass.getMethod("getResourceVersion");
- if(getResourceVersionMethod != null){
- try {
- Object object = getResourceVersionMethod.invoke(instance);
- if(object != null)
- resourceVersion = object.toString();
- } catch (InvocationTargetException exc) {
- getLogger().warn("Retrieving resource version", exc);
- }
- }
-
- RelationshipList relationshipList = null;
- Object obj = null;
- Method getRelationshipListMethod = null;
- try {
- getRelationshipListMethod = resourceClass.getMethod("getRelationshipList");
- } catch(Exception exc) {
- getLogger().debug(RELATIONSHIP_DATA + exc.getMessage());
- }
- if(getRelationshipListMethod != null){
- try {
- obj = getRelationshipListMethod.invoke(instance);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- if(obj != null && obj instanceof RelationshipList){
- relationshipList = (RelationshipList)obj;
- } else {
- getLogger().debug("No relationships found to process.");
- return QueryStatus.NOT_FOUND;
- }
-
- if(relationshipList.getRelationship() == null || relationshipList.getRelationship().isEmpty()) {
- return QueryStatus.NOT_FOUND;
- }
- String relatedTo = nameValues.get("related_to");
- if(relatedTo == null) {
- return QueryStatus.FAILURE;
- }
-
- relatedTo = relatedTo.replaceAll("_", "-");
-
- String relatedLink = nameValues.get("relationship.related_link");
- if(relatedLink != null) {
- relatedLink = URLDecoder.decode(relatedLink, "UTF-8");
- }
-
- List<Relationship> relationships = relationshipList.getRelationship();
- List<Relationship> relationshipsToDelete = new LinkedList<>();
-
- for(Relationship relationship : relationships) {
- if(relatedTo.equals(relationship.getRelatedTo())) {
- if(relatedLink != null) {
- if(relationship.getRelatedLink() != null ) {
- String localRelatedLink = relationship.getRelatedLink();
- localRelatedLink = URLDecoder.decode(localRelatedLink, "UTF-8");
- if(localRelatedLink.endsWith(relatedLink)) {
- getLogger().debug(String.format("Found relationship of '%s' to keyword '%s'", relationship.getRelatedTo(), relatedTo));
- relationshipsToDelete.add(relationship);
- }
- }
- } else {
- getLogger().debug(String.format("Found relationship of '%s' to keyword '%s'", relationship.getRelatedTo(), relatedTo));
- relationshipsToDelete.add(relationship);
- }
- }
- }
- if(relationshipsToDelete == null || relationshipsToDelete.isEmpty()) {
- getLogger().info(String.format("Relationship has not been found for %s", key));
- return QueryStatus.NOT_FOUND;
- }
-
- String path = url.toString();
- path = path + "/relationship-list/relationship";
- URL deleteUrl = new URL(path);
-
- ObjectMapper mapper = AAIService.getObjectMapper();
-
- boolean cumulativeResponse = true;
-
- for(Relationship targetRelationship : relationshipsToDelete) {
- String json_text = mapper.writeValueAsString(targetRelationship);
- boolean response = deleteList(deleteUrl, json_text);
- if(!response)
- cumulativeResponse = response;
-
- }
-
- if(!cumulativeResponse)
- return QueryStatus.FAILURE;
-
- return QueryStatus.SUCCESS;
-
- } catch(Exception exc) {
- getLogger().warn("processDelete", exc);
- return QueryStatus.FAILURE;
- }
- }
-
- private QueryStatus processDeleteMetadata(String resource, String key, SvcLogicContext ctx, HashMap<String, String> nameValues) {
- try {
- AAIRequest request = AAIRequest.createRequest(resource, nameValues);
- if(request == null) {
- return QueryStatus.FAILURE;
- }
-
- request.processRequestPathValues(nameValues);
- URL url = request.getRequestUrl("GET", null);
-
- Class<?> resourceClass = request.getModelClass();
- Object instance = getResource(url.toString(), resourceClass);
-
- // get resource version
- String resourceVersion = null;
- Method getResourceVersionMethod = resourceClass.getMethod("getResourceVersion");
- if(getResourceVersionMethod != null){
- try {
- resourceVersion = (String) getResourceVersionMethod.invoke(instance);
- } catch (InvocationTargetException x) {
- }
- }
-
- Metadata metadata = null;
- Object obj = null;
- Method getMetadataMethod = resourceClass.getMethod("getMetadata");
- if(getMetadataMethod != null){
- try {
- obj = getMetadataMethod.invoke(instance);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- if(obj != null && obj instanceof Metadata){
- metadata = (Metadata)obj;
- } else {
- getLogger().debug("No metadata found to process.");
- return QueryStatus.NOT_FOUND;
- }
-
- if(metadata.getMetadatum() == null || metadata.getMetadatum().isEmpty()) {
- return QueryStatus.NOT_FOUND;
- }
-
- List<Metadatum> metadatumList = metadata.getMetadatum();
- Metadatum metadatumToDelete = null;
-
- final String metaname = nameValues.get("metaname");
-
- for(Metadatum metadatum : metadatumList) {
- getLogger().debug(String.format("Comparing existing metadatum of '%s' to keyword '%s'", metadatum.getMetaname(), metaname));
- if(metaname.equals(metadatum.getMetaname())) {
- metadatumToDelete = metadatum;
- break;
- }
- }
- if(metadatumToDelete == null) {
- getLogger().info(String.format("Metadatum has not been found for %s", key));
- return QueryStatus.NOT_FOUND;
- }
-
- String path = url.toString();
- path = path + "/metadata/metadatum/" + encodeQuery( metadatumToDelete.getMetaname() ) +
- "?resource-version=" + metadatumToDelete.getResourceVersion();
- URL deleteUrl = new URL(path);
- boolean response = deleteList(deleteUrl, null);
-
- if(!response)
- return QueryStatus.FAILURE;
-
- return QueryStatus.SUCCESS;
-
- } catch(Exception exc) {
- getLogger().warn("processDelete", exc);
- return QueryStatus.FAILURE;
- }
- }
-
- protected String encodeQuery(String param) throws UnsupportedEncodingException {
- return URLEncoder.encode(param, "UTF-8").replace("+", "%20");
- }
-
- static final Map<String, String> ctxGetBeginsWith( SvcLogicContext ctx, String prefix ) {
- Map<String, String> tmpPrefixMap = new HashMap<>();
-
- if(prefix == null || prefix.isEmpty()){
- return tmpPrefixMap;
- }
-
- for( String key : ctx.getAttributeKeySet() ) {
- if( key.startsWith(prefix) ) {
- String tmpKey = key.substring(prefix.length() + 1);
- tmpPrefixMap.put( tmpKey, ctx.getAttribute(key));
- }
- }
-
- Map<String, String> prefixMap = new HashMap<>();
- Pattern p = Pattern.compile(".*\\[\\d\\]");
-
- SortedSet<String> keys = new TreeSet<String>(tmpPrefixMap.keySet () );
- for(String key : keys) {
- Matcher m = p.matcher(key);
- if(m.matches()) {
- continue;
- } else if(key.endsWith("_length")) {
- String listKey = key.substring(0, key.indexOf("_length"));
- int max = Integer.parseInt(tmpPrefixMap.get(key));
-
- ArrayList<String> data = new ArrayList<>();
- for(int x = 0; x < max; x++){
- String tmpKey = String.format("%s[%d]", listKey, x);
- String tmpValue = tmpPrefixMap.get(tmpKey);
- if(tmpValue != null && !tmpValue.isEmpty()) {
- data.add(tmpValue);
- }
- }
- if(!data.isEmpty()) {
- prefixMap.put(listKey, data.toString());
- } else {
- prefixMap.put(key, tmpPrefixMap.get(key));
- }
- } else {
- prefixMap.put(key, tmpPrefixMap.get(key));
- }
- }
-
- return prefixMap;
- }
-
- public abstract <T> T getResource(String key, Class<T> type) throws AAIServiceException ;
- protected abstract boolean deleteList(URL url, String caller) throws AAIServiceException;
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java
deleted file mode 100755
index d02f14a95..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-public interface AAIExecutorInterface {
- public String get(AAIRequest request) throws AAIServiceException;
- public String post(AAIRequest request) throws AAIServiceException;
- public Boolean delete(AAIRequest request, String resourceVersion) throws AAIServiceException;
- public Object query(AAIRequest request, Class clas) throws AAIServiceException;
- public Boolean patch(AAIRequest request, String resourceVersion) throws AAIServiceException;
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java
deleted file mode 100755
index 9facab82c..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java
+++ /dev/null
@@ -1,493 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.BitSet;
-import java.util.HashSet;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.apache.commons.lang.StringUtils;
-import org.onap.aai.inventory.v21.GenericVnf;
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public abstract class AAIRequest {
- protected static final Logger LOG = LoggerFactory.getLogger(AAIRequest.class);
-
- protected static final String TARGET_URI = "org.onap.ccsdk.sli.adaptors.aai.uri";
-
- protected static final String MASTER_REQUEST = "master-request";
-
- public static final String RESOURCE_VERSION = "resource-version";
-
- public static final String DEPTH = "depth";
-
- protected static Properties configProperties;
- protected final String targetUri;
- protected static AAIService aaiService;
-
- protected AAIDatum requestDatum;
-
- protected final Properties requestProperties = new Properties();
-
-
- public static AAIRequest createRequest(String resoourceName, Map<String, String> nameValues){
-
- String resoource = resoourceName;
- String masterResource = null;
-
- if(resoource == null)
- return null;
-
- if(resoource.contains(":")) {
- String[] tokens = resoource.split(":");
- if(tokens != null && tokens.length == 2) {
- resoource = tokens[1];
- masterResource = tokens[0];
- Class<? extends AAIDatum> clazz = getClassFromResource(resoource) ;
-
- if(clazz == null) {
- return null;
- }
- }
- }
-
- if(nameValues.containsKey("selflink")){
- Class<? extends AAIDatum> clazz = getClassFromResource(resoource) ;
-
- if(clazz != null)
- return new SelfLinkRequest(clazz);
- else
- return null;
- }
-
- switch(resoource){
- case "generic-query":
- return new GenericQueryRequest();
- case "nodes-query":
- return new NodesQueryRequest();
- case "custom-query":
- case "formatted-query":
- return new CustomQueryRequest();
- case "echo":
- case "test":
- return new EchoRequest();
-
- case "linterface":
- case "l2-bridge-sbg":
- case "l2-bridge-bgf":
- {
- resoource = "l-interface";
- return getRequestFromResource("l-interface");
- }
- case "relationship-list":
- return new RelationshipListRequest(AAIRequest.createRequest(masterResource, nameValues));
- case "relationship":
- return new RelationshipRequest(AAIRequest.createRequest(masterResource, nameValues));
- default:
- return getRequestFromResource(resoource);
- }
- }
-
-
- /**
- * Map containing resource tag to its bit position in bitset mapping
- */
- private static Map<String, String> tagValues = new LinkedHashMap<>();
- /**
- * Map containing bitset value of the path to its path mapping
- */
- private static Map<BitSet, String> bitsetPaths = new LinkedHashMap<>();
-
-
- public static Set<String> getResourceNames() {
- return tagValues.keySet();
- }
-
-
- public static void setProperties(Properties props, AAIService aaiService) {
- AAIRequest.configProperties = props;
- AAIRequest.aaiService = aaiService;
-
- InputStream in = null;
-
- try
- {
- LOG.info("Loading aai-path.properties via OSGi");
- URL url = null;
- Bundle bundle = FrameworkUtil.getBundle(AAIService.class);
- if(bundle != null) {
- BundleContext ctx = bundle.getBundleContext();
- if(ctx == null)
- return;
-
- url = ctx.getBundle().getResource(AAIService.PATH_PROPERTIES);
- } else {
- url = aaiService.getClass().getResource("/aai-path.properties");
- }
-
- in = url.openStream();
- }
- catch (NoClassDefFoundError|Exception e) {
- LOG.info("Loading aai-path.properties from jar");
- in = AAIRequest.class.getResourceAsStream("/aai-path.properties");
-
- }
-
- if (in == null) {
- return;
- }
-
- try {
- Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8);
-
- Properties properties = new Properties();
- properties.load(reader);
- LOG.info("loaded " + properties.size());
-
- Set<String> keys = properties.stringPropertyNames();
-
- int index = 0;
- Set<String> resourceNames = new TreeSet<>();
-
- for(String key : keys) {
- String[] tags = key.split("\\|");
- for(String tag : tags) {
- if(!resourceNames.contains(tag)) {
- resourceNames.add(tag);
- tagValues.put(tag, Integer.toString(++index));
- }
- }
- BitSet bs = new BitSet(256);
- for(String tag : tags) {
- String value = tagValues.get(tag);
- Integer bitIndex = Integer.parseInt(value) ;
- bs.set(bitIndex);
- }
- String path = properties.getProperty(key);
- LOG.trace(String.format("bitset %s\t\t%s", bs.toString(), path));
- bitsetPaths.put(bs, path);
- }
- LOG.info("loaded " + resourceNames.toString());
- }
- catch (Exception e)
- {
- LOG.error("Caught exception", e);
- }
- }
-
- public AAIRequest() {
- targetUri = configProperties.getProperty(TARGET_URI);
- }
-
- public void addRequestProperty(String key, String value) {
- requestProperties.put(key, value);
- }
-
- public final void setRequestObject(AAIDatum value) {
- requestDatum = value;
- }
-
- public final AAIDatum getRequestObject() {
- return requestDatum;
- }
-
- public final void addMasterRequest(AAIRequest masterRequest) {
- requestProperties.put(MASTER_REQUEST, masterRequest);
- }
-
- protected static String encodeQuery(String param) throws UnsupportedEncodingException {
- return URLEncoder.encode(param, "UTF-8").replace("+", "%20");
- }
-
- protected void handleException(AAIRequest lInterfaceRequest, JsonProcessingException exc) {
- aaiService.getLogger().warn("Could not deserialize object of type " + lInterfaceRequest.getClass().getSimpleName(), exc) ;
- }
-
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException, URISyntaxException {
-
- String request_url = null;
-
- request_url = targetUri + updatePathDataValues(resourceVersion);
-
- URL http_req_url = new URL(request_url);
-
- aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
-
- return http_req_url;
- }
-
- public String updatePathDataValues(Object resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
- String request_url = getRequestPath();
-
- Set<String> uniqueResources = extractUniqueResourceSetFromKeys(requestProperties.stringPropertyNames());
-
- for(String resoourceName:uniqueResources) {
- AAIRequest locRequest = AAIRequest.createRequest(resoourceName, new HashMap<String, String>());
- if(locRequest != null) {
- Class<?> clazz = locRequest.getClass();
- Method function = null;
- try {
- function = clazz.getMethod("processPathData", request_url.getClass(), requestProperties.getClass());
- request_url = (String) function.invoke(null, request_url, requestProperties);
- } catch (Exception e) {
- LOG.error("Caught exception", e);
- }
- }
- }
-
- if(resourceVersion != null) {
- request_url = request_url +"?resource-version="+resourceVersion;
- }
-
- return request_url;
- }
-
- protected String getRequestPath() throws MalformedURLException {
- return getRequestPath(null);
- }
-
- protected String getRequestPath(String resource) throws MalformedURLException {
- if(requestProperties.containsKey("resource-path")) {
- return requestProperties.getProperty("resource-path");
- }
-
- Set<String> uniqueResources = extractUniqueResourceSetFromKeys(requestProperties.stringPropertyNames());
- if(resource != null) {
- // for group search add itself, but remove singular version of itself
- if(!uniqueResources.contains(resource)) {
- boolean replaced = false;
- Set<String> tmpUniqueResources = new HashSet<>();
- tmpUniqueResources.addAll(uniqueResources);
- for(String item : tmpUniqueResources){
- String plural = item +"s";
- if(item.endsWith("y")){
- plural = item.substring(0, item.length()-1)+ "ies";
- }
- if(plural.equals(resource)) {
- uniqueResources.remove(item);
- uniqueResources.add(resource);
- replaced = true;
- break;
- }
- }
- if(!replaced){
- if(!uniqueResources.contains(resource)) {
- uniqueResources.add(resource);
- }
- }
- }
- }
- BitSet bitset = new BitSet();
- for(String key : uniqueResources) {
- if(tagValues.containsKey(key)) {
- Object tmpValue = tagValues.get(key);
- if(tmpValue != null) {
- String value = tmpValue.toString();
- int bitIndex = Integer.parseInt(value);
- bitset.set(bitIndex);
- }
- }
- }
-
- String path = bitsetPaths.get(bitset);
- if(path == null) {
- throw new MalformedURLException("PATH not found for key string containing valies :" +requestProperties.toString());
- }
- return path;
- }
-
- public abstract URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException, URISyntaxException;
-
- public abstract String toJSONString();
-
- public abstract String[] getArgsList();
-
- public abstract Class<? extends AAIDatum> getModelClass() ;
-
- public String getPrimaryResourceName(String resource) {
- return resource;
- }
-
- public String formatKey(String argument) {
- return argument;
- }
-
- public AAIDatum jsonStringToObject(String jsonData) throws JsonParseException, JsonMappingException, IOException {
- if(jsonData == null) {
- return null;
- }
-
- AAIDatum response = null;
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(jsonData, getModelClass());
- return response;
- }
-
- protected static Set<String> extractUniqueResourceSetFromKeys(Set<String> keySet) {
- Set<String> uniqueResources = new TreeSet<>();
- List<String> keys = new ArrayList<>(keySet);
- for(String resource : keys) {
- if(resource.contains(".")) {
- String [] split = resource.split("\\.");
- uniqueResources.add(split[0].replaceAll("_", "-"));
- }
- }
- return uniqueResources;
- }
-
- public void processRequestPathValues(Map<String, String> nameValues) {
- Set<String> uniqueResources = extractUniqueResourceSetFromKeys(nameValues.keySet());
-
- Set<String> tokens = new TreeSet<>();
- tokens.add(DEPTH);
- tokens.addAll(Arrays.asList(this.getArgsList()));
-
- for(String resoourceName:uniqueResources) {
- AAIRequest locRequest = AAIRequest.createRequest(resoourceName, nameValues);
- if(locRequest != null)
- tokens.addAll(Arrays.asList(locRequest.getArgsList()));
- }
-
- String[] arguments = tokens.toArray(new String[0]);
- for(String name : arguments) {
- String tmpName = name.replaceAll("-", "_");
- String value = nameValues.get(tmpName);
- if(value != null && !value.isEmpty()) {
- value = value.trim().replace("'", "").replace("$", "").replace("'", "");
- this.addRequestProperty(name, value);
- }
- }
- }
-
- public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
- return request_url;
- }
-
- public boolean isDeleteDataRequired() {
- return false;
- }
-
- ObjectMapper getObjectMapper() {
- return AAIService.getObjectMapper();
- }
-
- public static Class<? extends AAIDatum> getClassFromResource(String resoourceName) {
- String className = GenericVnf.class.getName();
- String[] split = resoourceName.split("-");
- for(int i = 0; i < split.length; i++) {
- split[i] = StringUtils.capitalize(split[i]);
- }
-
- String caps = StringUtils.join(split);
- className = className.replace("GenericVnf", caps);
- try {
- return (Class<? extends AAIDatum>)Class.forName(className);
- } catch (ClassNotFoundException e) {
- LOG.warn("AAIRequest does not support class: " + e.getMessage());
- return null;
- }
- }
-
- protected static AAIRequest getRequestFromResource(String resoourceName) {
-
- Class<? extends AAIDatum> clazz = getClassFromResource(resoourceName);
-
- if(clazz == null) {
- return null;
- }
- return new GenericRequest(clazz);
- }
-
- public static Map<String, String> splitQuery(String query) throws UnsupportedEncodingException {
- Map<String, String> query_pairs = new LinkedHashMap<>();
-
- if(query != null && !query.isEmpty()) {
- String[] pairs = query.split("&");
- for (String pair : pairs) {
- int idx = pair.indexOf('=');
- query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
- }
- }
- return query_pairs;
- }
-
- public static Map<String, String> splitPath(String path) throws UnsupportedEncodingException {
- Map<String, String> query_pairs = new LinkedHashMap<>();
-
- if(path != null && !path.isEmpty()) {
- String[] pairs = path.split("/");
- for (String pair : pairs) {
- int idx = pair.indexOf('=');
- query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
- }
- }
- return query_pairs;
- }
-
- protected boolean expectsDataFromPUTRequest() {
- return false;
- }
-
-
- public String getTargetUri() {
- return targetUri;
- }
-
- public static final String getSupportedAAIVersion() {
- return configProperties.getProperty(AAIDeclarations.AAI_VERSION, "/v21/");
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java
deleted file mode 100755
index 4d51550a3..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java
+++ /dev/null
@@ -1,1547 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Modifications Copyright (C) 2019 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.security.KeyManagementException;
-import java.security.KeyStore;
-import java.security.NoSuchAlgorithmException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Properties;
-import java.util.Set;
-import java.util.TimeZone;
-import java.util.UUID;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.net.ssl.HostnameVerifier;
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.KeyManagerFactory;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSession;
-import javax.net.ssl.SSLSocketFactory;
-import javax.ws.rs.HttpMethod;
-import javax.xml.bind.annotation.XmlElement;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-import org.onap.ccsdk.sli.adaptors.aai.data.ErrorResponse;
-import org.onap.ccsdk.sli.adaptors.aai.data.notify.NotifyEvent;
-import org.onap.ccsdk.sli.core.sli.ConfigurationException;
-import org.onap.ccsdk.sli.core.sli.MetricLogger;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
-import org.onap.aai.inventory.v21.GenericVnf;
-import org.onap.aai.inventory.v21.PhysicalLink;
-import org.onap.aai.inventory.v21.ResultData;
-import org.onap.aai.inventory.v21.SearchResults;
-import org.onap.aai.inventory.v21.Vserver;
-import org.onap.logging.ref.slf4j.ONAPLogConstants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.MDC;
-
-import com.fasterxml.jackson.annotation.JsonInclude.Include;
-import com.fasterxml.jackson.databind.AnnotationIntrospector;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
-import com.fasterxml.jackson.databind.type.TypeFactory;
-import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
-
-
-public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicResource {
-
- public static final String AAICLIENT_PROPERTIES = "/aaiclient.properties";
- public static final String PATH_PROPERTIES = "/aai-path.properties";
-
- private static final Logger LOG = LoggerFactory.getLogger(AAIService.class);
-
- private final String truststorePath;
- private final String truststorePassword;
- private final String keystorePath;
- private final String keystorePassword;
- private final Boolean ignoreCertificateHostError;
-
- private final String targetUri;
- private final String networkVserverPath;
-
- private final String svc_inst_query_path;
-
- private final String ubb_notify_path;
- private final String selflinkAvpn;
- private final String selflinkFqdn;
-
- private final int connectionTimeout;
- private final int readTimeout;
-
- // 1602
- private final String queryNodesPath;
- private final String applicationId;
-
- // authentication credentials
- private String userName;
- private String userPassword;
-
- // runtime
- private final boolean runtimeOSGI;
-
- private SSLContext CTX;
-
- private final MetricLogger ml = new MetricLogger();
-
- private AAIExecutorInterface executor;
-
- public AAIService(final UtilsProvider configuration) {
- this(configuration.getProperties());
- }
-
- public AAIService(final URL url) {
- this(getProperties(url));
- }
-
- public AAIService(Properties props) {
- LOG.info("Entered AAIService.ctor");
-
- String runtime = System.getProperty("aaiclient.runtime");
- if("OSGI".equals(runtime)) {
- runtimeOSGI = true;
- } else {
- runtimeOSGI = false;
- }
-
- try {
- AAIRequest.setProperties(props, this);
-
- } catch(Exception exc){
- LOG.error("AicAAIResource.static", exc);
- }
-
- executor = new AAIClientRESTExecutor(props);
-
- userName = props.getProperty(CLIENT_NAME);
- userPassword = props.getProperty(CLIENT_PWWD);
-
- if(userName == null || userName.isEmpty()){
- LOG.debug("Basic user name is not set");
- }
- if(userPassword == null || userPassword.isEmpty()) {
- LOG.debug("Basic password is not set");
- }
-
- truststorePath = props.getProperty(TRUSTSTORE_PATH);
- truststorePassword = props.getProperty(TRUSTSTORE_PSSWD);
- keystorePath = props.getProperty(KEYSTORE_PATH);
- keystorePassword = props.getProperty(KEYSTORE_PSSWD);
-
- targetUri = props.getProperty(TARGET_URI);
- props.getProperty(QUERY_PATH);
- props.getProperty(UPDATE_PATH);
-
- String tmpApplicationId = props.getProperty(APPLICATION_ID);
- if(tmpApplicationId == null || tmpApplicationId.isEmpty()) {
- tmpApplicationId = "SDNC";
- }
- this.applicationId = tmpApplicationId;
-
- // connection timeout
- int tmpConnectionTimeout = 30000;
- int tmpReadTimeout = 30000;
-
- try {
- String tmpValue = null;
- tmpValue = props.getProperty(CONNECTION_TIMEOUT, "30000");
- tmpConnectionTimeout = Integer.parseInt(tmpValue);
- tmpValue = props.getProperty(READ_TIMEOUT, "30000");
- tmpReadTimeout = Integer.parseInt(tmpValue);
- } catch(Exception exc) {
- LOG.error("Failed setting connection timeout", exc);
- tmpConnectionTimeout = 30000;
- tmpReadTimeout = 30000;
- }
- connectionTimeout = tmpConnectionTimeout;
- readTimeout = tmpReadTimeout;
-
- networkVserverPath =props.getProperty(NETWORK_VSERVER_PATH);
-
- props.getProperty(SVC_INSTANCE_PATH);
- svc_inst_query_path = props.getProperty(SVC_INST_QRY_PATH);
- props.getProperty(PARAM_SERVICE_TYPE, "service-type");
-
- props.getProperty(VNF_IMAGE_QUERY_PATH);
-
- ubb_notify_path = props.getProperty(UBB_NOTIFY_PATH);
- selflinkAvpn = props.getProperty(SELFLINK_AVPN);
- selflinkFqdn = props.getProperty(SELFLINK_FQDN);
-
- props.getProperty(SERVICE_PATH);
-
- props.getProperty(SITE_PAIR_SET_PATH);
-
- queryNodesPath = props.getProperty(QUERY_NODES_PATH);
-
- String iche = props.getProperty(CERTIFICATE_HOST_ERROR);
- boolean host_error = false;
- if(iche != null && !iche.isEmpty()) {
- host_error = Boolean.valueOf(iche);
- }
-
- ignoreCertificateHostError = host_error;
-
- HttpsURLConnection.setDefaultHostnameVerifier( new HostnameVerifier(){
- public boolean verify(String string,SSLSession ssls) {
- return ignoreCertificateHostError;
- }
- });
-
- if(truststorePath != null && truststorePassword != null && (new File(truststorePath)).exists()) {
- System.setProperty("javax.net.ssl.trustStore", truststorePath);
- System.setProperty("javax.net.ssl.trustStorePassword", truststorePassword);
- }
-
- if(keystorePath != null && keystorePassword != null && (new File(keystorePath)).exists()) {
- //DefaultClientConfig config = new DefaultClientConfig();
- //both jersey and HttpURLConnection can use this
- SSLContext ctx = null;
- try {
- ctx = SSLContext.getInstance("TLS");
-
- KeyManagerFactory kmf = null;
- try (FileInputStream fin = new FileInputStream(keystorePath)){
- String def = "SunX509";
- String storeType = "PKCS12";
- def = KeyStore.getDefaultType();
- kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
-
- String extension = keystorePath.substring(keystorePath.lastIndexOf(".") + 1);
- if("JKS".equalsIgnoreCase(extension)) {
- storeType = "JKS";
- }
- KeyStore ks = KeyStore.getInstance(storeType);
-
- char[] pwd = keystorePassword.toCharArray();
- ks.load(fin, pwd);
- kmf.init(ks, pwd);
- } catch (Exception ex) {
- LOG.error("AAIResource", ex);
- }
-
- if(null!=kmf) {
- ctx.init(kmf.getKeyManagers(), null, null);
- }
- /*
- * config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, new
- * HTTPSProperties( new HostnameVerifier() {
- *
- * @Override public boolean verify( String s, SSLSession sslSession ) { return
- * ignoreCertificateHostError; } }, ctx));
- */
-
- CTX = ctx;
- LOG.debug("SSLContext created");
-
- } catch (KeyManagementException | NoSuchAlgorithmException exc) {
- LOG.error("AAIResource", exc);
- }
- }
-
- LOG.info("AAIResource.ctor initialized.");
-
- try {
- Field methodsField = HttpURLConnection.class.getDeclaredField("methods");
- methodsField.setAccessible(true);
- // get the methods field modifiers
- Field modifiersField = Field.class.getDeclaredField("modifiers");
- // bypass the "private" modifier
- modifiersField.setAccessible(true);
-
- // remove the "final" modifier
- modifiersField.setInt(methodsField, methodsField.getModifiers() & ~Modifier.FINAL);
-
- /* valid HTTP methods */
- String[] methods = {
- "GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE", "PATCH"
- };
- // set the new methods - including patch
- methodsField.set(null, methods);
-
- } catch (SecurityException | IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) {
- LOG.error("Exception occured", e);
- }
-
- }
-
- private static Properties getProperties(URL url) {
- Properties properties = new Properties();
- try {
- properties.load(url.openStream());
- } catch (IOException exc) {
- LOG.error("getProperties", exc);
- }
- return properties;
- }
-
- public void setExecutor(AAIExecutorInterface executor) {
- this.executor = executor;
- }
-
- public void cleanUp() {
-
- }
-
- /**
- *
- * @param http_req_url
- * @param method
- * @return
- * @throws Exception
- */
- protected HttpURLConnection getConfiguredConnection(URL http_req_url, String method) throws Exception {
- HttpURLConnection con = (HttpURLConnection) http_req_url.openConnection();
-
- // Set up the connection properties
- con.setRequestProperty( "Connection", "close" );
- con.setDoInput(true);
- con.setDoOutput(true);
- con.setUseCaches(false);
- con.setConnectTimeout( connectionTimeout );
- con.setReadTimeout( readTimeout );
- con.setRequestMethod( method );
- con.setRequestProperty( "Accept", "application/json" );
- con.setRequestProperty( "Content-Type", "PATCH".equalsIgnoreCase(method) ? "application/merge-patch+json" : "application/json" );
- con.setRequestProperty("X-FromAppId", applicationId);
- con.setRequestProperty("X-TransactionId",TransactionIdTracker.getNextTransactionId());
- String mlId = ml.getRequestID();
- if(mlId != null && !mlId.isEmpty()) {
- LOG.debug(String.format("MetricLogger requestId = %s", mlId));
- con.setRequestProperty(ONAPLogConstants.MDCs.REQUEST_ID, mlId);
- } else {
- LOG.debug("MetricLogger requestId is null");
- }
- con.setRequestProperty("Transfer-Encoding","chunked");
-
- if(userName != null && !userName.isEmpty() && userPassword != null && !userPassword.isEmpty()) {
- String basicAuth = "Basic " + new String(Base64.encodeBase64((userName + ":" + userPassword).getBytes()));
- con.setRequestProperty ("Authorization", basicAuth);
- }
-
- if(con instanceof HttpsURLConnection && CTX != null) {
- SSLSocketFactory sockFact = CTX.getSocketFactory();
- HttpsURLConnection.class.cast(con).setSSLSocketFactory( sockFact );
- }
- return con;
- }
-
-
- @Override
- public GenericVnf requestGenericVnfData(String vnf_id) throws AAIServiceException {
- GenericVnf response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("generic-vnf");
- request.addRequestProperty("generic-vnf.vnf-id", vnf_id);
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, GenericVnf.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(Object.class.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
-
- return response;
-
- }
-
- @Override
- public boolean postGenericVnfData(String vnf_id, GenericVnf data) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("generic-vnf");
- request.addRequestProperty("generic-vnf.vnf-id", vnf_id);
- request.setRequestObject(data);
- Object response = executor.post(request);
- return true;
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestGenericVnfData", exc);
- throw new AAIServiceException(exc);
- }
- }
-
- @Override
- public SearchResults requestServiceInstanceURL(String svc_instance_id) throws AAIServiceException {
- SearchResults response = null;
- InputStream inputStream = null;
-
- try {
- String path = svc_inst_query_path;
- path = path.replace("{svc-instance-id}", encodeQuery(svc_instance_id));
-
- String request_url = targetUri+path;
- URL http_req_url = new URL(request_url);
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
-
- LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
- LOGwriteDateTrace("svc_instance_id", svc_instance_id);
-
- // Check for errors
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
-
- // Process the response
- LOG.debug("HttpURLConnection result:" + responseCode);
- if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
- BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
-
- ObjectMapper mapper = getObjectMapper();
-
- if (responseCode == HttpURLConnection.HTTP_OK) {
- response = mapper.readValue(reader, SearchResults.class);
- LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
- } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
- LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
- return response;
- } else {
- ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
- throw new AAIServiceException(responseCode, errorresponse);
- }
-
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestServiceInstanceURL", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
- LOG.warn("Error closing Inputstream", exc);
- }
- }
- }
- return response;
- }
-
-
- private static Properties initialize(URL url ) throws ConfigurationException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- InputStream is = null;
- Properties props = new Properties();
-
- try {
- if(LOG.isDebugEnabled())
- LOG.info("Property file is: " + url.toString());
-
- is = url.openStream();
-
- props.load(is);
- if(LOG.isDebugEnabled()) {
- LOG.info("Properties loaded: " + props.size());
- Enumeration<Object> en = props.keys();
-
- while(en.hasMoreElements()) {
- String key = (String)en.nextElement();
- String property = props.getProperty(key);
- LOG.debug(key + " : " + property);
- }
- }
- } catch (Exception e) {
- throw new ConfigurationException("Could not load properties file.", e);
- }
- return props;
- }
-
- static class TransactionIdTracker {
-// protected static AtomicLong tracker = new AtomicLong();
-
- public static String getNextTransactionId() {
- // Check if RequestId exists as MDC. If not, create new.
- String transactionId = MDC.get("RequestId");
- if ("".equals(transactionId) || transactionId == null) {
- transactionId = UUID.randomUUID().toString();
- LOG.info("Missing requestID. Assigned " + transactionId);
- MDC.put("RequestId", transactionId);
- }
- return transactionId;
- }
-
- }
-
- protected void LOGwriteFirstTrace(String method, String url) {
- String time = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").format(System.currentTimeMillis());
- LOG.info("A&AI transaction :");
- LOG.info("Request Time : " + time + ", Method : " + method);
- LOG.info("Request URL : "+ url);
- }
-
- protected void LOGwriteDateTrace(String name, String data) {
- LOG.info("Input - " + name + " : " + data);
- }
-
- protected void LOGwriteEndingTrace(int response_code, String comment, String data) {
- LOG.info("Response code : " + response_code +", " + comment);
- LOG.info(String.format("Response data : %s", data));
- }
-
- protected String encodeQuery(String param) throws UnsupportedEncodingException {
- return URLEncoder.encode(param, "UTF-8").replace("+", "%20");
- }
-
- private String encodeCustomerURL(final String selection)
- {
- String encrypted_url = selection;
- String apnpattern =
- "/aai/v11/business/customers/customer/(.+)/service-subscriptions/service-subscription/(.+)/service-instances/service-instance/(.+)/";
- Pattern pattern = Pattern.compile(apnpattern);
-
- try {
- URL url = new URL(selection);
- String path = url.getPath();
-
- LOG.info("Trying to match apn to <" + path + ">");
-
- Matcher matcher = pattern.matcher(path);
-
- while(matcher.find()) {
- String customer = matcher.group(1);
- String subscription = matcher.group(2);
- String service = matcher.group(3);
-
- encrypted_url = selection.replace(customer, encodeQuery(customer));
- encrypted_url = encrypted_url.replace(subscription, encodeQuery(subscription));
- encrypted_url = encrypted_url.replace(service, encodeQuery(service));
- }
- } catch (Exception e) {
- LOG.warn("", e);
- }
-
- return encrypted_url;
- }
-
-
-
- /*
- * (non-Javadoc)
- * @see org.onap.sdnct.sli.aai.AAIClient#requestVServersData(java.lang.String, java.lang.String)
- */
- @Override
- public Vserver requestVServerData(String tenantId, String vserverId, String cloudOwner, String cloudRegionId) throws AAIServiceException {
- Vserver response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vserver");
- request.addRequestProperty("cloud-region.cloud-owner", cloudOwner);
- request.addRequestProperty("cloud-region.cloud-region-id", cloudRegionId);
- request.addRequestProperty("tenant.tenant-id", tenantId);
- request.addRequestProperty("vserver.vserver-id", vserverId);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, Vserver.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(Object.class.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
-
- //================== End of DvsSwitch =================
- //==================== PhysicalLink ======================
- @Override
- public PhysicalLink requestPhysicalLinkData(String linkName) throws AAIServiceException {
- PhysicalLink response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("physical-link");
- request.addRequestProperty("physical-link.link-name", linkName);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, PhysicalLink.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestPhysicalLinkData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public boolean postPhysicalLinkData(String linkName, PhysicalLink data) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("physical-link");
- request.addRequestProperty("physical-link.link-name", linkName);
- request.setRequestObject(data);
- Object response = executor.post(request);
- return true;
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(Object.class.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- }
-
- @Override
- public boolean deletePhysicalLinkData(String linkName, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("physical-link");
- request.addRequestProperty("physical-link.link-name", linkName);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deletePhysicalLinkData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- public boolean deleteAAIEntity(URL url, String caller) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- boolean response = false;
- InputStream inputStream = null;
-
- try {
- URL http_req_url = url;
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.DELETE);
-
- LOGwriteFirstTrace("DELETE", http_req_url.toString());
-
-
- // Check for errors
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
-
- // Process the response
- LOG.debug("HttpURLConnection result:" + responseCode);
- if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
- BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
- String line = null;
-
- ObjectMapper mapper = getObjectMapper();
-
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- StringBuilder stringBuilder = new StringBuilder();
-
- while( ( line = reader.readLine() ) != null ) {
- stringBuilder.append( line );
- }
- LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
- response = true;
- } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
- LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
- response = false;
- } else {
- ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
- throw new AAIServiceException(responseCode, errorresponse);
- }
-
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(caller, exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
- LOG.warn("Error closing InputStream", exc);
- }
- }
- }
- return response;
- }
-
- /**
- * Generic method to GET json data from an A&AI callback URL.
- * Then convert that json to an Object.
- * If successful the Object is attempted to be cast to the type parameter.
- *
- * @param key
- * callback url for A&AI
- * @param type
- * the class of object that A&AI will return
- * @return the object created from json or null if the response code is not 200
- *
- * @throws AAIServiceException
- * if empty or null key and or type or there's an error with processing
- */
- public <T> T dataChangeRequestAaiData(String key, Class<T> type) throws AAIServiceException {
- if (StringUtils.isEmpty(key) || type == null) {
- throw new AAIServiceException("Key is empty or null and or type is null");
- }
-
- T response = null;
-
- SvcLogicContext ctx = new SvcLogicContext();
- if(!key.contains(" = ") && isValidURL(key)) {
- key = String.format("selflink = '%s'", key);
- } else
- if(!key.contains(" = ") && isValidURI(key)) {
- key = String.format("resource-path = '%s'", key);
- }
-
- HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx);
-
- SelfLinkRequest request = new SelfLinkRequest(type);
- request.processRequestPathValues(nameValues);
- Object obj = this.getExecutor().query(request, type);
- response = type.cast(obj);
-
- return response != null ? type.cast(response) : response;
- }
-
-
- public boolean sendNotify(NotifyEvent event, String serviceInstanceId, String pathCode) throws AAIServiceException {
- InputStream inputStream = null;
-
- try {
-
- String selfLink = selflinkFqdn;
- if(SELFLINK_AVPN != null && SELFLINK_AVPN.equals(pathCode)) {
- selfLink = selflinkAvpn;
- }
- selfLink = selfLink.replace("{service-instance-id}", encodeQuery(serviceInstanceId));
- event.setSelflink(selfLink);
-
- ObjectMapper mapper = getObjectMapper();
- String json_text = mapper.writeValueAsString(event);
-
- SSLSocketFactory sockFact = CTX.getSocketFactory();
-
- String request_url = targetUri+ubb_notify_path;
- URL http_req_url = new URL(request_url);
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
-
- if (json_text != null) {
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(json_text);
- osw.flush();
- osw.close();
- }
-
- LOGwriteFirstTrace("PUT", request_url);
- LOGwriteDateTrace("NotifyEvent", json_text);
-
- // Check for errors
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
-
- // Process the response
- BufferedReader reader;
- String line = null;
- reader = new BufferedReader( new InputStreamReader( inputStream ) );
-
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- StringBuilder stringBuilder = new StringBuilder();
-
- while( ( line = reader.readLine() ) != null ) {
- stringBuilder.append( line );
- }
- LOGwriteEndingTrace(responseCode, "SUCCESS", (stringBuilder.length() > 0) ? stringBuilder.toString() :
- "{no-data}");
- return true;
- } else {
- ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
-
- throw new AAIServiceException(responseCode, errorresponse);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("sendNotify", exc);
- throw new AAIServiceException(exc);
- } finally {
- try {
- if(inputStream != null)
- inputStream.close();
- } catch (Exception exc) {
- LOG.warn("Error closing Input stream", exc);
- }
- }
- }
-
- @Override
- public SearchResults requestNodeQuery(String node_type, String entityIdentifier, String entityName) throws AAIServiceException {
- SearchResults response = null;
- InputStream inputStream = null;
-
- try {
- String request_url = targetUri+queryNodesPath;
- request_url = request_url.replace("{node-type}", encodeQuery(node_type)) ;
- request_url = request_url.replace("{entity-identifier}", entityIdentifier) ;
- request_url = request_url.replace("{entity-name}", encodeQuery(entityName)) ;
- URL http_req_url = new URL(request_url);
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
-
- LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
- LOGwriteDateTrace("node_type", node_type);
- LOGwriteDateTrace("vnf_name", entityName);
-
- // Check for errors
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
-
- // Process the response
- LOG.debug("HttpURLConnection result:" + responseCode);
- if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
- BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
-
- ObjectMapper mapper = getObjectMapper();
-
- if (responseCode == HttpURLConnection.HTTP_OK) {
- response = mapper.readValue(reader, SearchResults.class);
- LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
- } else if (responseCode == HttpURLConnection.HTTP_NOT_FOUND) {
- LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
- return response;
- } else {
- ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
- throw new AAIServiceException(responseCode, errorresponse);
- }
-
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestNodeQuery", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
- LOG.warn("Error closing Input stream", exc);
- }
- }
- }
- return response;
-
- }
-
-
- @Override
- public String requestDataByURL(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- String response = null;
- InputStream inputStream = null;
-
- try {
- URL http_req_url = url;
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
-
- LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
-
- // Check for errors
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
-
- // Process the response
- LOG.debug("HttpURLConnection result:" + responseCode);
- if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
- BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
-
- ObjectMapper mapper = getObjectMapper();
-
- if (responseCode == HttpURLConnection.HTTP_OK) {
- StringBuilder stringBuilder = new StringBuilder("\n");
- String line = null;
- while( ( line = reader.readLine() ) != null ) {
- stringBuilder.append( line );
- }
- LOG.info(stringBuilder.toString());
-// response = mapper.readValue(reader, String.class);
- response = stringBuilder.toString();
- LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
- } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
- LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
- response = null;
- } else {
- ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
- throw new AAIServiceException(responseCode, errorresponse);
- }
-
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestNetworkVceData", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
- LOG.warn("Error closing Input stream", exc);
- }
- }
- }
- return response;
- }
-
-
- @Override
- public GenericVnf requestGenericVnfeNodeQuery(String vnf_name) throws AAIServiceException {
-
- if(vnf_name == null) {
- throw new NullPointerException();
- }
-
- GenericVnf entity = null;
- SearchResults resp = this.requestNodeQuery("generic-vnf", "vnf-name", vnf_name);
-
- List<ResultData> resultDataList = resp.getResultData();
-
- try {
- for (ResultData datum : resultDataList) {
- URI url = new URI(datum.getResourceLink());
- entity = this.getResource(url.toString(), GenericVnf.class);
- }
- }
- catch (Exception e)
- {
- LOG.error("Caught exception", e);
- }
- return entity;
- }
-
- @Override
- public Vserver requestVServerDataByURL(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- Vserver entity = null;
-
- try {
- entity = this.getResource(url.toString(), Vserver.class);
- } catch (AAIServiceException exc) {
- throw exc;
- } catch (Exception e) {
- throw new AAIServiceException(e);
- }
- return entity;
- }
-
- @Override
- public URL requestVserverURLNodeQuery(String vserver_name) throws AAIServiceException {
-
- if(vserver_name == null) {
- throw new NullPointerException();
- }
-
- URL entity = null;
- SearchResults resp = this.requestNodeQuery("vserver", "vserver-name", vserver_name);
-
- List<ResultData> resultDataList = resp.getResultData();
-
- try {
- for (ResultData datum : resultDataList) {
- String data_type = datum.getResourceType();
- String resourceLink = datum.getResourceLink();
- if(!resourceLink.isEmpty() && !resourceLink.toLowerCase().startsWith("http")) {
- resourceLink = (new EchoRequest()).targetUri + resourceLink;
- }
- entity = new URL(resourceLink);
- }
- } catch (Exception e) {
- throw new AAIServiceException(e);
- }
- return entity;
- }
-
- @Override
- public String getTenantIdFromVserverUrl(URL url) {
-
- String path = url.getPath();
-
- String[] split = path.split("/tenants/tenant/");
- if(split.length > 1) {
- split = split[1].split("/");
- return split[0];
- } else {
- return null;
- }
- }
-
- @Override
- public String getCloudOwnerFromVserverUrl(URL url) {
-
- String path = url.getPath();
-
- String[] split = path.split("/cloud-regions/cloud-region/");
- if(split.length > 1) {
- split = split[1].split("/");
- return split[0];
- } else {
- return null;
- }
- }
-
- @Override
- public String getCloudRegionFromVserverUrl(URL url) {
-
- String path = url.getPath();
-
- String[] split = path.split("/cloud-regions/cloud-region/");
- if(split.length > 1) {
- split = split[1].split("/");
- return split[1];
- } else {
- return null;
- }
- }
-
- @Override
- public String getVServerIdFromVserverUrl(URL url, String tenantId) {
- String pattern = networkVserverPath;
- pattern = pattern.replace("{tenant-id}", tenantId);
-
- int end = pattern.indexOf("{vserver-id}");
- String prefix = pattern.substring(0, end);
-
- String path = url.getPath();
-
- if(path.startsWith(prefix)) {
- path = path.substring(prefix.length());
- }
-
- return path;
- }
-
- protected Logger getLogger(){
- return LOG;
- }
-
-
- @Override
- public AAIExecutorInterface getExecutor() {
- return executor;
- }
-
- /**
- * Creates a current time stamp in UTC i.e. 2016-03-08T22:15:13.343Z.
- * If there are any parameters the values are appended to the time stamp.
- *
- * @param parameters
- * values to be appended to current time stamp
- * @param ctx
- * used to set an attribute for a DG
- * @throws SvcLogicException
- */
- public void setStatusMethod(Map<String, String> parameters, SvcLogicContext ctx) throws SvcLogicException {
- if (ctx == null) {
- throw new SvcLogicException("SvcLogicContext is null.");
- }
-
- StringBuilder sb = new StringBuilder();
- sb.append(String.format("%tFT%<tTZ", Calendar.getInstance(TimeZone.getTimeZone("Z")))).append(" - ");
-
- for (Entry<String, String> entry : parameters.entrySet()) {
- sb.append(entry.getValue()).append(" ");
- }
-
- if (sb.length() > 0) {
- sb.setLength(sb.length() - 2);
- }
-
- ctx.setAttribute("aai-summary-status-message", sb.toString());
- LOG.info("aai-summary-status-message: " + sb.toString());
- }
-
- /**
- * Generic method to GET json data from an A&AI using key structure.
- * Then convert that json to an Object.
- * If successful the Object is attempted to be cast to the type parameter.
- *
- * @param key
- * key identifying the resource to be retrieved from AAI
- * @param type
- * the class of object that A&AI will return
- * @return the object created from json or null if the response code is not 200
- *
- * @throws AAIServiceException
- * if empty or null key and or type or there's an error with processing
- */
-
- public <T> T getResource(String key, Class<T> type) throws AAIServiceException {
- if (StringUtils.isEmpty(key) || type == null) {
- throw new AAIServiceException("Key is empty or null and or type is null");
- }
-
- T response = null;
-
- SvcLogicContext ctx = new SvcLogicContext();
- if(!key.contains(" = ")) {
- if(isValidURL(key)) {
- key = String.format("selflink = '%s'", key);
- } else if(isValidURI(key)) {
- key = String.format("resource-path = '%s'", key);
- } else {
- return response;
- }
- }
-
- HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx);
-
- AAIRequest request = new SelfLinkRequest(type);
- if(nameValues.containsKey(PathRequest.RESOURCE_PATH.replaceAll("-", "_"))) {
- request = new PathRequest(type);
- }
-
- request.processRequestPathValues(nameValues);
- Object obj = this.getExecutor().query(request, type);
- response = type.cast(obj);
-
- return response != null ? type.cast(response) : response;
- }
-
- public boolean isValidURL(String url) {
-
- URL u = null;
-
- try {
- u = new URL(url);
- } catch (MalformedURLException e) {
- LOG.warn("MalformedURLException", e);
- return false;
- }
-
- try {
- u.toURI();
- } catch (URISyntaxException e) {
- LOG.warn("URISyntaxException", e);
- return false;
- }
-
- return true;
- }
-
-
- public boolean isValidURI(String url) {
-
- URI u = null;
-
- try {
- u = new URI(url);
- } catch (URISyntaxException e) {
- LOG.warn("URISyntaxException", e);
- return false;
- }
-
- return true;
- }
-
-
- protected boolean deleteList(URL httpReqUrl, String jsonText) throws AAIServiceException {
- if(httpReqUrl == null) {
- throw new NullPointerException();
- }
-
- boolean response = false;
- InputStream inputStream = null;
-
- try {
- HttpURLConnection con = getConfiguredConnection(httpReqUrl, HttpMethod.DELETE);
-
-// SSLSocketFactory sockFact = CTX.getSocketFactory();
-// con.setSSLSocketFactory( sockFact );
- if (jsonText != null) {
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(jsonText);
- osw.flush();
- osw.close();
- }
-
- LOGwriteFirstTrace("DELETE", httpReqUrl.toString());
- LOGwriteDateTrace("data", jsonText);
-
- // Check for errors
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
-
- // Process the response
- LOG.debug("HttpURLConnection result:" + responseCode);
- if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
- BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
- String line = null;
-
- ObjectMapper mapper = getObjectMapper();
-
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- StringBuilder stringBuilder = new StringBuilder();
-
- while( ( line = reader.readLine() ) != null ) {
- stringBuilder.append( line );
- }
- LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
- response = true;
- } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
- LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
- response = false;
- } else {
- ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
- LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
- throw new AAIServiceException(responseCode, errorresponse);
- }
-
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deleteList", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
-
- }
- }
- }
- return response;
- }
-
- public static ObjectMapper getObjectMapper() {
- ObjectMapper mapper = new ObjectMapper();
- AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(TypeFactory.defaultInstance());
- AnnotationIntrospector secondary = new JacksonAnnotationIntrospector();
- mapper.setAnnotationIntrospector(AnnotationIntrospector.pair(introspector, secondary));
- mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
- mapper.setSerializationInclusion(Include.NON_NULL);
- mapper.setSerializationInclusion(Include.NON_EMPTY);
- return mapper;
- }
-
- public void logMetricRequest(String requestId, String targetServiceName, String msg, String path){
- String svcInstanceId = "";
- String svcName = null;
- String partnerName = null;
- String targetEntity = "A&AI";
- String targetVirtualEntity = null;
-
- ml.logRequest(svcInstanceId, svcName, partnerName, targetEntity, targetServiceName, targetVirtualEntity, msg);
- }
-
- public void logMetricResponse(String requestId, int responseCode, String responseDescription){
- ml.logResponse(responseCode < 400 ? "COMPLETE" : "ERROR", Integer.toString(responseCode), responseDescription);
- }
-
- public void logKeyError(String keys){
- LOG.error("Atleast one of the keys [" + keys + "] should have been populated. This will cause a NPE.");
- }
-
-
- /**
- * Retrofit code
- */
- @Override
- public QueryStatus save(String resource, boolean force, boolean localOnly, String key, Map<String, String> params, String prefix, SvcLogicContext ctx)
- throws SvcLogicException {
- String normResource = resource.split(":")[0];
-
- switch(normResource){
- case "custom-query":
- case "formatted-query":
- case "generic-query":
- case "nodes-query":
- case "linterface":
- case "l2-bridge-sbg":
- case "l2-bridge-bgf":
- case "echo":
- case "test":
- break;
-
- default:
- if(key.contains("selflink =")) {
- break;
- }
- if(!key.contains(String.format("%s.", normResource))) {
- key = rewriteKey(resource, key, ctx);
- }
- }
- return super.save(resource, force, localOnly, key, params, prefix, ctx);
- }
-
- @Override
- public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix, String orderBy, SvcLogicContext ctx)
- throws SvcLogicException {
- String normResource = resource.split(":")[0];
-
- switch(normResource){
- case "custom-query":
- case "formatted-query":
- case "generic-query":
- case "nodes-query":
- case "linterface":
- case "l2-bridge-sbg":
- case "l2-bridge-bgf":
- case "echo":
- case "test":
- break;
-
- default:
- if(key.contains("selflink =")) {
- break;
- }
- if(!key.contains(String.format("%s.", normResource))) {
- key = rewriteKey(resource, key, ctx);
- }
- }
-
- return super.query(resource, localOnly, select, key, prefix, orderBy, ctx);
- }
-
- @Override
- public QueryStatus delete(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
- String normResource = resource.split(":")[0];
-
- switch(normResource){
- case "custom-query":
- case "formatted-query":
- case "generic-query":
- case "nodes-query":
- case "linterface":
- case "l2-bridge-sbg":
- case "l2-bridge-bgf":
- case "echo":
- case "test":
- break;
-
- default:
- if(key.contains("selflink =")) {
- break;
- }
- if(!key.contains(String.format("%s.", normResource))) {
- key = rewriteKey(resource, key, ctx);
- }
- }
-
- return super.delete(resource, key, ctx);
- }
-
- @Override
- public QueryStatus update(String resource, String key, Map<String, String> params, String prefix, SvcLogicContext ctx) throws SvcLogicException {
- String normResource = resource.split(":")[0];
-
- switch(normResource){
- case "custom-query":
- case "formatted-query":
- case "generic-query":
- case "nodes-query":
- case "linterface":
- case "l2-bridge-sbg":
- case "l2-bridge-bgf":
- case "echo":
- case "test":
- break;
-
- default:
- if(key.contains("selflink =")) {
- break;
- }
- if(!key.contains(String.format("%s.", normResource))) {
- key = rewriteKey(resource, key, ctx);
- }
- }
-
- return super.update(resource, key, params, prefix, ctx);
- }
-
- private String rewriteKey(String resource, String key, SvcLogicContext ctx) {
- LOG.info("AAI Deprecation - the format of request key is no longer supported. Please rewrite this key : " + key);
-
- String normResource = resource.split(":")[0];
- Class<? extends AAIDatum> clazz = AAIRequest.getClassFromResource(normResource) ;
-
- if(clazz == null)
- return key;
-
- List<String> fieldAnnotatedNames = new LinkedList<>();
-
- Field[] fields = clazz.getDeclaredFields();
- for(Field field : fields) {
- String fieldName = field.getName();
- XmlElement annotation = field.getAnnotation(XmlElement.class);
- if(annotation == null)
- continue;
- String primaryId = annotation.name();
- if("##default".equals(primaryId)) {
- primaryId = fieldName;
- }
- fieldAnnotatedNames.add(primaryId);
- }
-
- HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx);
- Set<String> keyset = nameValues.keySet();
- for(String keyName : keyset) {
- if(keyName.contains("."))
- continue;
- else {
- String tmpKeyName = keyName.replaceAll("_", "-");
- String valueToSubstitute = String.format("%s =", tmpKeyName);
- if(fieldAnnotatedNames.contains(tmpKeyName) && key.contains(valueToSubstitute)) {
- key = key.replace(valueToSubstitute, String.format("%s.%s =", normResource, tmpKeyName));
- }
- }
- }
-
-
- return key;
- }
-
- @Override
- public String getPathTemplateForResource(String resoourceName, String keys, SvcLogicContext ctx) throws MalformedURLException {
- return AAIServiceUtils.getPathForResource(resoourceName, StringUtils.join(keys, " AND "), ctx);
- }
-
- @Override
- public boolean isDeprecatedFormat(String resource, Map<String, String> nameValues) {
- return !AAIServiceUtils.isValidFormat(resource, nameValues);
- }
-
- public AAIRequest getRequestFromResource(String resoourceName) {
- return AAIRequest.getRequestFromResource(resoourceName);
- }
-
- /* (non-Javadoc)
- * @see org.onap.ccsdk.sli.core.sli.aai.haha#query(org.onap.ccsdk.sli.core.sli.aai.AAIRequest)
- */
- @Override
- public String query(AAIRequest request) throws AAIServiceException {
- return executor.get(request);
- }
-
- /* (non-Javadoc)
- * @see org.onap.ccsdk.sli.core.sli.aai.haha#save(org.onap.ccsdk.sli.core.sli.aai.AAIRequest)
- */
- @Override
- public String save(AAIRequest request) throws AAIServiceException {
- return executor.post(request);
- }
-
- public boolean update(AAIRequest request, String resourceVersion) throws AAIServiceException {
- return executor.patch(request, resourceVersion);
- }
-
- /* (non-Javadoc)
- * @see org.onap.ccsdk.sli.core.sli.aai.haha#delete(org.onap.ccsdk.sli.core.sli.aai.AAIRequest, java.lang.String)
- */
- @Override
- public boolean delete(AAIRequest request, String resourceVersion) throws AAIServiceException {
- return executor.delete(request, resourceVersion);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java
deleted file mode 100755
index 2f774e407..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.ErrorResponse;
-
-public class AAIServiceException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = -9039257722542999522L;
-
- protected final ErrorResponse errorResponse;
- protected final int returnCode;
-
- public AAIServiceException() {
- returnCode = -1;
- errorResponse = null;
- }
-
- public AAIServiceException(String message) {
- super(message);
- returnCode = -1;
- errorResponse = null;
- }
-
- public AAIServiceException(Throwable cause) {
- super(cause);
- returnCode = -1;
- errorResponse = null;
- }
-
- public AAIServiceException(String message, Throwable cause) {
- super(message, cause);
- returnCode = -1;
- errorResponse = null;
- }
-
- public AAIServiceException(String message, Throwable cause,
- boolean enableSuppression, boolean writableStackTrace) {
- super(message, cause, enableSuppression, writableStackTrace);
- returnCode = -1;
- errorResponse = null;
- }
-
- public AAIServiceException(int returnCode, ErrorResponse errorresponse) {
- this.errorResponse = errorresponse;
- this.returnCode = returnCode;
- }
-
- public ErrorResponse getErrorResponse() {
- return errorResponse;
- }
-
- public int getReturnCode() {
- return returnCode;
- }
-
- public String getMessage() {
- if(errorResponse != null) {
- return errorResponse.getRequestError().getServiceException().getText();
- } else {
- return super.getMessage();
- }
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceProvider.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceProvider.java
deleted file mode 100755
index 743f975b6..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceProvider.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Optional;
-import java.util.Properties;
-import java.util.Vector;
-
-import org.onap.ccsdk.sli.core.utils.JREFileResolver;
-import org.onap.ccsdk.sli.core.utils.KarafRootFileResolver;
-import org.onap.ccsdk.sli.core.utils.PropertiesFileResolver;
-import org.onap.ccsdk.sli.core.utils.common.BundleContextFileResolver;
-import org.onap.ccsdk.sli.core.utils.common.CoreDefaultFileResolver;
-import org.onap.ccsdk.sli.core.utils.common.SdncConfigEnvVarFileResolver;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.ServiceReference;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Responsible for determining the properties file to use and instantiating the <code>DBResourceManager</code>
- * Service. The priority for properties file resolution is as follows:
- *
- * <ol>
- * <li>A directory identified by the system environment variable <code>SDNC_CONFIG_DIR</code></li>
- * <li>The default directory <code>DEFAULT_DBLIB_PROP_DIR</code></li>
- * <li>A directory identified by the JRE argument <code>dblib.properties</code></li>
- * <li>A <code>dblib.properties</code> file located in the karaf root directory</li>
- * </ol>
- *
- * Encryption Support
- * <ol>
- * <li>Uses ecryption provided by <code>AAAEncryptionService</code></li>
- * <li>AAA Configuration file is <code>aaa-cert-config.xml</code></li>
- * </ol>
- *
- */
-public class AAIServiceProvider implements UtilsProvider {
-
- private static final Logger LOG = LoggerFactory.getLogger(AAIServiceProvider.class);
-
- /**
- * The name of the properties file for database configuration
- */
- private static final String AAISEERVICE_PROP_FILE_NAME = "aaiclient.properties";
-
- /**
- * The name of the pwd key
- */
- private static final String AAICLIENT_PROPERTY_NAME = "org.onap.ccsdk.sli.adaptors.aai.client.psswd";
-
- /**
- * A prioritized list of strategies for resolving dblib properties files.
- */
- private Vector<PropertiesFileResolver> dblibPropertiesFileResolvers = new Vector<>();
-
- /**
- * The configuration properties for the db connection.
- */
- private Properties properties;
-
- /**
- * Set up the prioritized list of strategies for resolving dblib properties files.
- */
- public AAIServiceProvider() {
- dblibPropertiesFileResolvers.add(new SdncConfigEnvVarFileResolver(
- "Using property file (1) from environment variable"
- ));
- dblibPropertiesFileResolvers.add(new JREFileResolver(
- "Using property file (2) from JRE argument", AAIServiceProvider.class
- ));
- dblibPropertiesFileResolvers.add(new BundleContextFileResolver(
- "Using property file (3) from JRE argument", AAIServiceProvider.class
- ));
- dblibPropertiesFileResolvers.add(new KarafRootFileResolver(
- "Using property file (4) from karaf root", this
- ));
- dblibPropertiesFileResolvers.add(new CoreDefaultFileResolver(
- "Using property file (5) from default directory"
- ));
-
- // determines properties file as according to the priority described in the class header comment
- final File propertiesFile = determinePropertiesFile();
- if (propertiesFile != null) {
- try(FileInputStream fileInputStream = new FileInputStream(propertiesFile)) {
- properties = new Properties();
- properties.load(fileInputStream);
-
- if(properties.containsKey(AAICLIENT_PROPERTY_NAME)) {
- String sensitive = properties.getProperty(AAICLIENT_PROPERTY_NAME);
- if(sensitive != null && sensitive.startsWith("ENC:")) {
- try {
- sensitive = sensitive.substring(4);
- String postsense = decrypt(sensitive);
- properties.setProperty(AAICLIENT_PROPERTY_NAME, postsense);
- } catch(Exception exc) {
- LOG.error("Failed to translate property", exc);
- }
- }
- }
- } catch (final IOException e) {
- LOG.error("Failed to load properties for file: {}", propertiesFile.toString(),
- new AAIServiceException("Failed to load properties for file: "
- + propertiesFile.toString(), e));
- }
- }
- }
-
- /**
- *
- * @param value
- * @return decrypted string if successful or the original value if unsuccessful
- */
- private String decrypt(String value) {
- try {
- BundleContext bctx = FrameworkUtil.getBundle(this.getClass()).getBundleContext();
-
- ServiceReference sref = bctx.getServiceReference("org.opendaylight.aaa.encrypt.AAAEncryptionService");
- if(sref == null) {
- LOG.warn("Could not acquire service reference for 'org.opendaylight.aaa.encrypt.AAAEncryptionService'");
- return value;
- }
- Object encrSvc = bctx.getService(sref);
- if(encrSvc == null) {
- LOG.warn("Could not access service for 'org.opendaylight.aaa.encrypt.AAAEncryptionService'");
- return value;
- }
-
- Method gs2Method = encrSvc.getClass().getMethod("decrypt", new Class[] { "".getClass() });
- Object unmasked = gs2Method.invoke(encrSvc, new Object[] { value });
- return unmasked.toString();
-
- } catch (Exception|NoClassDefFoundError exc) {
- LOG.error("Failure", exc);
- return value;
- }
- }
-
- /**
- * Extract db config properties.
- *
- * @return the db config properties
- */
- public Properties getProperties() {
- return properties;
- }
-
- /**
- * Reports the method chosen for properties resolution to the <code>Logger</code>.
- *
- * @param message Some user friendly message
- * @param fileOptional The file location of the chosen properties file
- * @return the file location of the chosen properties file
- */
- private static File reportSuccess(final String message, final Optional<File> fileOptional) {
- if(fileOptional.isPresent()) {
- final File file = fileOptional.get();
- LOG.info("{} {}", message, file.getPath());
- return file;
- }
- return null;
- }
-
- /**
- * Reports fatal errors. This is the case in which no properties file could be found.
- *
- * @param message An appropriate fatal error message
- * @param dblibConfigurationException An exception describing what went wrong during resolution
- */
- private static void reportFailure(final String message,
- final AAIServiceException dblibConfigurationException) {
-
- LOG.error("{}", message, dblibConfigurationException);
- }
-
- /**
- * Determines the dblib properties file to use based on the following priority:
- * <ol>
- * <li>A directory identified by the system environment variable <code>SDNC_CONFIG_DIR</code></li>
- * <li>The default directory <code>DEFAULT_DBLIB_PROP_DIR</code></li>
- * <li>A directory identified by the JRE argument <code>dblib.properties</code></li>
- * <li>A <code>dblib.properties</code> file located in the karaf root directory</li>
- * </ol>
- */
- File determinePropertiesFile() {
-
- for (final PropertiesFileResolver dblibPropertiesFileResolver : dblibPropertiesFileResolvers) {
- final Optional<File> fileOptional = dblibPropertiesFileResolver.resolveFile(AAISEERVICE_PROP_FILE_NAME);
- if (fileOptional.isPresent()) {
- return reportSuccess(dblibPropertiesFileResolver.getSuccessfulResolutionMessage(), fileOptional);
- }
- }
-
- reportFailure("Missing configuration properties resource(3)",
- new AAIServiceException("Missing configuration properties resource(3): "
- + AAISEERVICE_PROP_FILE_NAME));
- return null;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java
deleted file mode 100755
index b3ee7474d..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.commons.lang.StringUtils;
-import org.onap.aai.inventory.v21.Relationship;
-import org.onap.aai.inventory.v21.RelationshipData;
-import org.onap.aai.inventory.v21.RelationshipList;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AAIServiceUtils {
-
- private static final String VERSION_PATTERN = "/v$/";
-
- private static final Logger LOG = LoggerFactory.getLogger(AAIService.class);
-
- private AAIServiceUtils() {
- }
-
- public static String getPrimaryIdFromClass(Class<? extends AAIDatum> resourceClass){
- // 1. find class
- getLogger().debug(resourceClass.getName());
-
- try {
- Annotation[] annotations = resourceClass.getAnnotations();
- for(Annotation annotation : annotations) {
- Class<? extends Annotation> anotationType = annotation.annotationType();
- String annotationName = anotationType.getName();
-
- // 2. find string property setters and getters for the lists
- if("javax.xml.bind.annotation.XmlType".equals(annotationName)){
- XmlType order = (XmlType)annotation;
- String[] values = order.propOrder();
- for(String value : values) {
- String id = camelCaseToDashedString(value);
- return id;
- }
- }
- }
- } catch(Exception exc) {
- getLogger().warn("getPrimaryIdFromClass failed", exc);
- }
- return null;
- }
-
- public static String getSecondaryIdFromClass(Class<? extends AAIDatum> resourceClass){
- getLogger().debug(resourceClass.getName());
-
- try {
- Annotation[] annotations = resourceClass.getAnnotations();
- for(Annotation annotation : annotations) {
- Class<? extends Annotation> anotationType = annotation.annotationType();
- String annotationName = anotationType.getName();
-
- // 2. find string property setters and getters for the lists
- if("javax.xml.bind.annotation.XmlType".equals(annotationName)){
- boolean primaryIdFound = false;
- XmlType order = (XmlType)annotation;
- String[] values = order.propOrder();
- for(String value : values) {
- String id = camelCaseToDashedString(value);
- if(primaryIdFound) {
- return id;
- } else {
- primaryIdFound = true;
- }
- }
- }
- }
- } catch(Exception exc) {
-
- }
- return null;
- }
-
- public static Method getRelationshipListGetterMethodFromClassDefinition(Class resourceClass) {
- Method getRelationshipListMethod = null;
-
- try {
- getRelationshipListMethod = resourceClass.getMethod("getRelationshipList");
- } catch(Exception exc) {
- getLogger().debug("Retrofiting relationship data: " + exc.getMessage());
- }
- return getRelationshipListMethod;
- }
-
- private static Logger getLogger() {
- return LOG;
- }
-
-
- private static final String regex = "([A-Z][a-z,0-9]+)";
- private static final String replacement = "-$1";
-
- public static String camelCaseToDashedString(String propOrder) {
- return propOrder.replaceAll(regex, replacement).toLowerCase();
- }
-
- public static HashMap<String,String> keyToHashMap(String key, SvcLogicContext ctx) {
- if (key == null) {
- return (null);
- }
-
- getLogger().debug("Converting key [" + key + "] to where clause");
-
- if (key.startsWith("'") && key.endsWith("'")) {
- key = key.substring(1, key.length() - 1);
-
- getLogger().debug("Stripped outer single quotes - key is now [" + key + "]");
- }
-
- String[] keyTerms = key.split("\\s+");
-
- StringBuffer whereBuff = new StringBuffer();
- String term1 = null;
- String op = null;
- String term2 = null;
- HashMap<String, String> results = new HashMap<>();
-
- for (int i = 0; i < keyTerms.length; i++) {
- if (term1 == null) {
- if ("and".equalsIgnoreCase(keyTerms[i])
- || "or".equalsIgnoreCase(keyTerms[i])) {
- // Skip over ADD/OR
- } else {
- term1 = resolveTerm(keyTerms[i], ctx);
- }
- } else if (op == null) {
- if ("==".equals(keyTerms[i])) {
- op = "=";
- } else {
- op = keyTerms[i];
- }
- } else {
- term2 = resolveTerm(keyTerms[i], ctx);
- term2 = term2.trim().replace("'", "").replace("$", "").replace("'", "");
- results.put(term1, term2);
-
- term1 = null;
- op = null;
- term2 = null;
- }
- }
-
- return (results);
- }
-
- private static String resolveTerm(String term, SvcLogicContext ctx) {
- if (term == null) {
- return (null);
- }
-
- getLogger().debug("resolveTerm: term is " + term);
-
- if (term.startsWith("$") && (ctx != null)) {
- // Resolve any index variables.
-
- term = ("'" + resolveCtxVariable(term.substring(1), ctx) + "'");
- if (term.contains(VERSION_PATTERN) && (ctx != null)) {
- return term.replace(VERSION_PATTERN, AAIRequest.getSupportedAAIVersion());
- }
- return term;
- } else if (term.contains(VERSION_PATTERN) && (ctx != null)) {
- return term.replace(VERSION_PATTERN, AAIRequest.getSupportedAAIVersion());
- } else if (term.startsWith("'") || term.startsWith("\"")) {
- return (term);
- } else {
- return (term.replaceAll("-", "_"));
-
- }
- }
-
- private static String resolveCtxVariable(String ctxVarName, SvcLogicContext ctx) {
-
- if (ctxVarName.indexOf('[') == -1) {
- // Ctx variable contains no arrays
- return (ctx.getAttribute(ctxVarName));
- }
-
- // Resolve any array references
- StringBuffer sbuff = new StringBuffer();
- String[] ctxVarParts = ctxVarName.split("\\[");
- sbuff.append(ctxVarParts[0]);
- for (int i = 1; i < ctxVarParts.length; i++) {
- if (ctxVarParts[i].startsWith("$")) {
- int endBracketLoc = ctxVarParts[i].indexOf("]");
- if (endBracketLoc == -1) {
- // Missing end bracket ... give up parsing
- getLogger().warn("Variable reference " + ctxVarName
- + " seems to be missing a ']'");
- return (ctx.getAttribute(ctxVarName));
- }
-
- String idxVarName = ctxVarParts[i].substring(1, endBracketLoc);
- String remainder = ctxVarParts[i].substring(endBracketLoc);
-
- sbuff.append("[");
- sbuff.append(ctx.getAttribute(idxVarName));
- sbuff.append(remainder);
-
- } else {
- // Index is not a variable reference
- sbuff.append("[");
- sbuff.append(ctxVarParts[i]);
- }
- }
-
- return (ctx.getAttribute(sbuff.toString()));
- }
-
- public static void populateRelationshipDataFromPath(RelationshipList rl) throws URISyntaxException {
- List<Relationship> list = rl.getRelationship();
- if(list != null && !list.isEmpty()) {
- for(Relationship relationship : list) {
- if(relationship.getRelationshipData().isEmpty()){
- String link = relationship.getRelatedLink();
- URI uri = new URI(link);
- link = uri.getPath();
- HashMap<String,String> contributors = pathToHashMap(link);
- for(String key : contributors.keySet()) {
- RelationshipData rd = new RelationshipData();
- rd.setRelationshipKey(key);
- rd.setRelationshipValue(contributors.get(key));
- relationship.getRelationshipData().add(rd);
- }
- }
- }
- }
- }
-
- protected static HashMap<String,String> pathToHashMap(String path) {
- HashMap<String, String> nameValues = new HashMap<>();
-
- String[] split = path.split("/");
-
- LinkedList<String> list = new LinkedList<String>( Arrays.asList(split));
- Iterator<String> it = list.iterator();
-
- while(it.hasNext()) {
- String tag = it.next();
- if(!tag.isEmpty()) {
- if(AAIRequest.getResourceNames().contains(tag)){
- LOG.info(tag);
- // get the class from tag
- Class<? extends AAIDatum> clazz = AAIRequest.getClassFromResource(tag);
- String fieldName = AAIServiceUtils.getPrimaryIdFromClass(clazz);
-
- String value = it.next();
- if(!StringUtils.isEmpty(value)){
- nameValues.put(String.format("%s.%s", tag, fieldName), value);
- switch(tag) {
- case "cloud-region":
- case "entitlement":
- case "license":
- case "route-target":
- case "service-capability":
- case "ctag-pool":
- String secondaryFieldName = AAIServiceUtils.getSecondaryIdFromClass(clazz);
- if(secondaryFieldName != null) {
- value = it.next();
- nameValues.put(String.format("%s.%s", tag, secondaryFieldName), value);
- }
- break;
- default:
- break;
- }
- }
- }
- }
- }
- return nameValues;
- }
-
- public static String getPathForResource(String resource, String key, SvcLogicContext ctx ) throws MalformedURLException{
- HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx);
- AAIRequest request = AAIRequest.createRequest(resource, nameValues);
-
- for(String name : nameValues.keySet()) {
- request.addRequestProperty(name, nameValues.get(name));
- }
- return request.getRequestPath();
- }
-
- public static boolean isValidFormat(String resource, Map<String, String> nameValues) {
-
- switch(resource){
- case "custom-query":
- case "formatted-query":
- case "generic-query":
- case "nodes-query":
- case "linterface":
- case "l2-bridge-sbg":
- case "l2-bridge-bgf":
- case "echo":
- case "test":
- return true;
- }
- if(resource.contains(":")) {
- resource = resource.substring(0, resource.indexOf(":"));
- }
-
- Set<String> keys = nameValues.keySet();
- for(String key : keys) {
- if(!key.contains(".")) {
- if("depth".equals(key) || "related-to".equals(key) || "related_to".equals(key) || "related-link".equals(key) || "related_link".equals(key) || "selflink".equals(key) || "resource_path".equals(key))
- continue;
- else {
- getLogger().warn(String.format("key '%s' is incompatible with resource type '%s'", key, resource));
- }
- }
- }
- return true;
- }
-
- public static boolean containsResource(String resource, HashMap<String, String> nameValues) {
- if(resource.contains(":")) {
- return true;
- }
-
- switch(resource){
- case "custom-query":
- case "formatted-query":
- case "generic-query":
- case "nodes-query":
- case "linterface":
- case "l2-bridge-sbg":
- case "l2-bridge-bgf":
- case "echo":
- case "test":
- return true;
-
- default:
- if(nameValues.containsKey("selflink")) {
- return true;
- }
- }
-
- Set<String> tags = new HashSet<>();
-
- for(String key : nameValues.keySet()) {
- key = key.replace("_", "-");
- if(key.contains(".")) {
- String[] split = key.split("\\.");
- tags.add(split[0]);
- } else {
- tags.add(key);
- }
- }
- return tags.contains(resource);
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java
deleted file mode 100755
index d1abda13d..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AAITrinityService extends AAIService {
-
- private static final Logger LOG = LoggerFactory.getLogger(AAITrinityService.class);
-
- public AAITrinityService(UtilsProvider configuration) {
- super(configuration);
- LOG.info("Entered AAITrinityService.ctor");
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java
deleted file mode 100755
index a99e6d5ef..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * Modifications Copyright (C) 2018 IBM.
- * Modifications Copyright (C) 2019 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-import org.onap.ccsdk.sli.adaptors.aai.query.FormattedQueryRequestData;
-import org.onap.ccsdk.sli.adaptors.aai.query.FormattedQueryResultList;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-
-public class CustomQueryRequest extends AAIRequest {
-
- public static final String GENERIC_SEARCH_PATH_CONST = "org.onap.ccsdk.sli.adaptors.aai.query.generic";
-
- private final String generic_search_path;
-
- public static final String FORMAT = "format";
-
-
- public CustomQueryRequest() {
- String tmpGenericSearchPath = configProperties.getProperty(GENERIC_SEARCH_PATH_CONST);
- tmpGenericSearchPath = tmpGenericSearchPath.split("search")[0];
- generic_search_path = tmpGenericSearchPath +"query";
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String requestUrl = targetUri+generic_search_path;
-
- requestUrl = processPathData(requestUrl, requestProperties);
-
- String formatQuery = requestProperties.getProperty(FORMAT);
-
- if(formatQuery != null) {
- requestUrl = requestUrl +"?format="+formatQuery;
- }
- URL httpReqUrl = new URL(requestUrl);
-
- aaiService.LOGwriteFirstTrace(method, httpReqUrl.toString());
-
- return httpReqUrl;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return getRequestUrl(method, null);
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- FormattedQueryRequestData tenant = (FormattedQueryRequestData)requestDatum;
- String jsonText = null;
- try {
- jsonText = mapper.writeValueAsString(tenant);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return jsonText;
- }
-
-
- @Override
- public String[] getArgsList() {
- String[] args = {FORMAT};
- return args;
- }
-
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return FormattedQueryRequestData.class;
- }
-
-
- public static String processPathData(String requestUrl, Properties requestProperties) throws UnsupportedEncodingException {
-
- String key = FORMAT;
-
- String encodedVnf = encodeQuery(requestProperties.getProperty(key));
- requestUrl = requestUrl.replace("{identifier}", encodedVnf) ;
- aaiService.LOGwriteDateTrace("identifier", requestProperties.getProperty(key));
-
- return requestUrl;
- }
-
- @Override
- public AAIDatum jsonStringToObject(String jsonData) throws IOException {
- if(jsonData == null) {
- return null;
- }
-
- AAIDatum response = null;
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(jsonData, FormattedQueryResultList.class);
- return response;
- }
-
- protected boolean expectsDataFromPUTRequest() {
- return true;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java
deleted file mode 100755
index 8e6af0100..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-import org.onap.ccsdk.sli.adaptors.aai.data.EchoResponse;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class EchoRequest extends AAIRequest {
-
-
-
- private final String echoPath;
-
- public EchoRequest() {
- echoPath = "/aai/util/echo";
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String requestUrl = targetUri+echoPath;
-
- if(resourceVersion != null) {
- requestUrl = requestUrl +"?resource-version="+resourceVersion;
- }
- URL httpReqUrl = new URL(requestUrl);
-
- aaiService.LOGwriteFirstTrace(method, httpReqUrl.toString());
-
- return httpReqUrl;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return getRequestUrl(method, null);
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- EchoResponse tenant = (EchoResponse)requestDatum;
- String jsonText = null;
- try {
- jsonText = mapper.writeValueAsString(tenant);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return jsonText;
- }
-
-
- @Override
- public String[] getArgsList() {
- String[] args = {};
- return args;
- }
-
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return EchoResponse.class;
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java
deleted file mode 100755
index 29fe24ef2..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-import org.onap.aai.inventory.v21.ResultData;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class GenericQueryRequest extends AAIRequest {
-
- public static final String GENERIC_SEARCH_PATH = "org.onap.ccsdk.sli.adaptors.aai.query.generic";
-
- private final String generic_search_path;
-
- public static final String START_NODE_TYPE = "start-node-type";
- public static final String IDENTIFIER = "identifier";
- public static final String VALUE = "value";
-
-
- public GenericQueryRequest() {
- generic_search_path = configProperties.getProperty(GENERIC_SEARCH_PATH);
- }
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = targetUri+generic_search_path;
-
- request_url = processPathData(request_url, requestProperties);
-
- if(resourceVersion != null) {
- request_url = request_url +"?resource-version="+resourceVersion;
- }
- URL http_req_url = new URL(request_url);
-
- aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
-
- return http_req_url;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return getRequestUrl(method, null);
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- ResultData tenant = (ResultData)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(tenant);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
-
- @Override
- public String[] getArgsList() {
- String[] args = {START_NODE_TYPE, IDENTIFIER, VALUE};
- return args;
- }
-
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return ResultData.class;
- }
-
-
- public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
-
- String key = IDENTIFIER;
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{identifier}", encoded_vnf) ;
- aaiService.LOGwriteDateTrace(IDENTIFIER, requestProperties.getProperty(key));
-
- key = VALUE;
-
- encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{value}", encoded_vnf) ;
- aaiService.LOGwriteDateTrace(VALUE, requestProperties.getProperty(key));
-
- key = START_NODE_TYPE;
-
- encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{start-node-type}", encoded_vnf) ;
- aaiService.LOGwriteDateTrace(START_NODE_TYPE, requestProperties.getProperty(key));
-
- return request_url;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java
deleted file mode 100755
index 604dd0e5c..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
- /**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-import org.onap.aai.inventory.v21.L3Network;
-import org.onap.aai.inventory.v21.L3Networks;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
-
-public class GenericRequest extends AAIRequest {
-
-
- protected Class<? extends AAIDatum> model;
-
- public GenericRequest(Class<? extends AAIDatum> clazz) {
- model = clazz;
- }
-
- @Override
- public String updatePathDataValues(Object resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String originalPath = null;
- String pathSubstitute = null;
- String resourceName = null;
-
- Annotation[] annotations = model.getAnnotations();
- for(Annotation annotation : annotations) {
- Class<? extends Annotation> anotationType = annotation.annotationType();
- String annotationName = anotationType.getName();
- if("javax.xml.bind.annotation.XmlRootElement".equals(annotationName)){
- XmlRootElement order = (XmlRootElement)annotation;
- resourceName = order.name();
- }
- }
-
- String request_url = getRequestPath(resourceName);
-
- Map<String, String> queryParams = new HashMap<> ();
- if(resourceVersion != null) {
- queryParams.put("resource-version", resourceVersion.toString());
- }
-
- Set<String> uniqueResources = extractUniqueResourceSetFromKeys(requestProperties.stringPropertyNames());
-
- String[] keys = requestProperties.keySet().toArray(new String[0]);
- for(String key : keys) {
- switch(key) {
- case "cloud-region.cloud-region-id":
- case "entitlement.resource-uuid":
- case "license.resource-uuid":
- case "route-target.route-target-role":
- case "service-capability.vnf-type":
- case "ctag-pool.availability-zone-name":
- continue;
- }
-
- String value = requestProperties.getProperty(key);
- if(key.contains(".")) {
- String[] splitKey = key.split("\\.");
- if("cloud-region".equals(splitKey[0])){
- String cloudRegionId = requestProperties.getProperty("cloud-region.cloud-region-id");
- aaiService.LOGwriteDateTrace("cloud-region-id", cloudRegionId);
- String token = String.format("%s/{%s}/{cloud-region-id}", splitKey[0], splitKey[1] );
- String encoded_owner = encodeQuery(value);
- String encoded_region = encodeQuery(cloudRegionId);
- request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region));
- } else if("entitlement".equals(splitKey[0])){
- String cloudRegionId = requestProperties.getProperty("entitlement.resource-uuid");
- aaiService.LOGwriteDateTrace("resource-uuid", cloudRegionId);
- String token = String.format("%s/{%s}/{resource-uuid}", splitKey[0], splitKey[1] );
- String encoded_owner = encodeQuery(value);
- String encoded_region = encodeQuery(cloudRegionId);
- request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region));
- } else if("license".equals(splitKey[0])){
- String cloudRegionId = requestProperties.getProperty("license.resource-uuid");
- aaiService.LOGwriteDateTrace("resource-uuid", cloudRegionId);
- String token = String.format("%s/{%s}/{resource-uuid}", splitKey[0], splitKey[1] );
- String encoded_owner = encodeQuery(value);
- String encoded_region = encodeQuery(cloudRegionId);
- request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region));
- } else if("route-target".equals(splitKey[0])){
- String cloudRegionId = requestProperties.getProperty("route-target.route-target-role");
- aaiService.LOGwriteDateTrace("route-target-role", cloudRegionId);
- String token = String.format("%s/{%s}/{route-target-role}", splitKey[0], splitKey[1] );
- String encoded_owner = encodeQuery(value);
- String encoded_region = encodeQuery(cloudRegionId);
- request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region));
- } else if("service-capability".equals(splitKey[0])){
- String vnfType = requestProperties.getProperty("service-capability.vnf-type");
- aaiService.LOGwriteDateTrace("vnf-type", vnfType);
- String token = String.format("%s/{%s}/{vnf-type}", splitKey[0], splitKey[1] );
- String encoded_service_type = encodeQuery(value);
- String encoded_vnf_type = encodeQuery(vnfType);
- if("service-capability".equals(resourceName)) {
- request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_service_type, encoded_vnf_type));
- } else if("service-capabilities".equals(resourceName)) {
- queryParams.put("service-type", encoded_service_type);
- queryParams.put("vnf-type", encoded_vnf_type);
- }
- } else if("ctag-pool".equals(splitKey[0])){
- String cloudRegionId = requestProperties.getProperty("ctag-pool.availability-zone-name");
- aaiService.LOGwriteDateTrace("availability-zone-name", cloudRegionId);
- String token = String.format("%s/{%s}/{availability-zone-name}", splitKey[0], splitKey[1] );
- String encoded_owner = encodeQuery(value);
- String encoded_region = encodeQuery(cloudRegionId);
- request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region));
- } else {
- Class<? extends AAIDatum> clazz = getClassFromResource(splitKey[0]);
-
- if(clazz != null) {
- if(clazz == this.model) {
- Field[] fields = this.model.getDeclaredFields();
- Field field = fields[0];
- String fieldName = field.getName();
- XmlElement annotation = field.getAnnotation(XmlElement.class);
- String primaryId = null;
- if(annotation != null) {
- primaryId = annotation.name();
- if("##default".equals(primaryId)) {
- primaryId = fieldName;
- }
- } else {
- primaryId = fieldName;
- }
-
- String token = String.format("%s/{%s}", splitKey[0], primaryId);
-
- if(splitKey[1].equals(primaryId)) {
- String encoded_vnf = encodeQuery(value);
- request_url = request_url.replace(token, String.format("%s/%s", splitKey[0], encoded_vnf));
- } else {
- queryParams.put(splitKey[1], encodeQuery(value));
- originalPath = token;
- pathSubstitute = String.format("%s", splitKey[0]);
- }
- } else if(L3Networks.class == this.model) {
- Field[] fields = L3Network.class.getDeclaredFields();
- Field field = fields[0];
- String fieldName = field.getName();
- XmlElement annotation = field.getAnnotation(XmlElement.class);
- String primaryId = annotation.name();
- if("##default".equals(primaryId)) {
- primaryId = fieldName;
- }
-
- String token = String.format("%s/{%s}", splitKey[0], primaryId);
- originalPath = token;
- pathSubstitute = String.format("");
-
- queryParams.put(splitKey[1], encodeQuery(value));
- } else {
- String encoded_vnf = encodeQuery(value);
- if(!resourceName.equals(splitKey[0]) && resourceName.contains(splitKey[0])) {
- queryParams.put(splitKey[1], encoded_vnf);
- } else {
- String token = String.format("%s/{%s}", splitKey[0], splitKey[1]);
- request_url = request_url.replace(token, String.format("%s/%s", splitKey[0], encoded_vnf));
- }
- }
- }
-
- }
- aaiService.LOGwriteDateTrace(splitKey[1], value);
- }
- }
-
- if(originalPath != null && pathSubstitute != null)
- request_url = request_url.replace(originalPath, pathSubstitute);
-
- if(!queryParams.isEmpty()) {
- Joiner.MapJoiner mapJoiner = Joiner.on("&").withKeyValueSeparator("=");
- String queryString = mapJoiner.join(queryParams);
- request_url = String.format("%s?%s", request_url, queryString);
- }
-
- return request_url;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException, URISyntaxException {
- return this.getRequestUrl(method, null);
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
-
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(requestDatum);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
- @Override
- public String[] getArgsList() {
- String[] args = {};
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return model;
- }
-
- public void processRequestPathValues(Map<String, String> nameValues) {
- // identify unique resources
- Set<String> uniqueResources = AAIRequest.extractUniqueResourceSetFromKeys(nameValues.keySet());
-
- String[] arguments = nameValues.keySet().toArray(new String[0]);
- for(String name : arguments) {
- String tmpName = name.replaceAll("-", "_");
- String value = nameValues.get(tmpName);
- if(value != null && !value.isEmpty()) {
- value = value.trim().replace("'", "").replace("$", "").replace("'", "");
- tmpName = name.replaceAll("_", "-");
- this.addRequestProperty(tmpName, value);
- }
- }
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/HttpMethod.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/HttpMethod.java
deleted file mode 100755
index 8f7abe601..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/HttpMethod.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.onap.ccsdk.sli.adaptors.aai;
-/**
- * @author Rich Tabedzki
- *
- */
-public interface HttpMethod {
- public static final String GET = "GET";
- public static final String HEAD = "HEAD";
- public static final String PATCH = "PATCH";
- public static final String POST = "POST";
- public static final String PUT = "PUT";
- public static final String DELETE = "DELETE";
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java
deleted file mode 100755
index c40d96cad..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-import org.onap.aai.inventory.v21.SearchResults;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class NodesQueryRequest extends AAIRequest {
-
- public static final String NODES_SEARCH_PATH = "org.onap.ccsdk.sli.adaptors.aai.query.nodes";
-
- private final String nodes_search_path;
-
- public static final String NODE_TYPE = "node-type";
- public static final String ENTITY_IDENTIFIER = "entity-identifier";
- public static final String ENTITY_VALUE = "entity-value";
-
-
- public NodesQueryRequest() {
- nodes_search_path = configProperties.getProperty(NODES_SEARCH_PATH);
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = targetUri+nodes_search_path;
-
- request_url = processPathData(request_url, requestProperties);
-
- if(resourceVersion != null) {
- request_url = request_url +"?resource-version="+resourceVersion;
- }
- URL http_req_url = new URL(request_url);
-
- aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
-
- return http_req_url;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return getRequestUrl(method, null);
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- SearchResults tenant = (SearchResults)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(tenant);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
-
- @Override
- public String[] getArgsList() {
- String[] args = {NODE_TYPE, ENTITY_IDENTIFIER, ENTITY_VALUE};
- return args;
- }
-
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return SearchResults.class;
- }
-
-
- public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
-
- String key = ENTITY_IDENTIFIER;
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{entity-identifier}", encoded_vnf) ;
- aaiService.LOGwriteDateTrace(ENTITY_IDENTIFIER, requestProperties.getProperty(key));
-
- key = ENTITY_VALUE;
-
- encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{entity-name}", encoded_vnf) ;
- aaiService.LOGwriteDateTrace("entity-name", requestProperties.getProperty(key));
-
- key = NODE_TYPE;
-
- encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{node-type}", encoded_vnf) ;
- aaiService.LOGwriteDateTrace(NODE_TYPE, requestProperties.getProperty(key));
-
- return request_url;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java
deleted file mode 100755
index 68aff1f95..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class PathRequest extends AAIRequest {
-
- private final Class<? extends AAIDatum> classType;
-
- public static final String RESOURCE_PATH = "resource-path";
-
- public PathRequest(Class<?> type) {
- classType = (Class<? extends AAIDatum>)type;
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = targetUri + "{resource-path}";
-
- String encoded_vnf = requestProperties.getProperty(RESOURCE_PATH);
- request_url = request_url.replace("{resource-path}", encoded_vnf) ;
-
- URL http_req_url = new URL(request_url);
-
- aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
-
- return http_req_url;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return this.getRequestUrl(method, null);
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(classType);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
- @Override
- public String[] getArgsList() {
- String[] args = {RESOURCE_PATH};
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return classType;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipListRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipListRequest.java
deleted file mode 100755
index 751fe5d59..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipListRequest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.List;
-
-import org.apache.http.NameValuePair;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.message.BasicNameValuePair;
-import org.onap.aai.inventory.v21.RelationshipList;
-
-public class RelationshipListRequest extends GenericRequest {
-
- public static final String SELFLINK = "selflink";
-
- public RelationshipListRequest(AAIRequest masterRequest) {
- super(RelationshipList.class);
- this.addMasterRequest(masterRequest);
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException, URISyntaxException {
-
- URL url = super.getRequestUrl(method, null);
- URIBuilder builder = new URIBuilder(url.toURI());
- String newPath = builder.getPath() + "/relationship-list";
- builder.setPath(newPath);
- if(resourceVersion != null) {
- List<NameValuePair> queryList = builder.getQueryParams();
- NameValuePair nvp = new BasicNameValuePair("resourceVersion", resourceVersion);
- queryList.add(nvp);
- }
-
- aaiService.LOGwriteFirstTrace(method, builder.toString());
-
- return builder.build().toURL();
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java
deleted file mode 100755
index fa71d6f22..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.List;
-
-import org.apache.http.NameValuePair;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.message.BasicNameValuePair;
-
-import org.onap.aai.inventory.v21.Relationship;
-
-
-public class RelationshipRequest extends GenericRequest {
-
- public RelationshipRequest(AAIRequest masterRequest) {
- super(Relationship.class);
- this.addMasterRequest(masterRequest);
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException, URISyntaxException {
-
-
- URL url = super.getRequestUrl(method, null);
- URIBuilder builder = new URIBuilder(url.toURI());
- String newPath = builder.getPath() + "/relationship-list/relationship";
- builder.setPath(newPath);
- if(resourceVersion != null) {
- List<NameValuePair> queryList = builder.getQueryParams();
- NameValuePair nvp = new BasicNameValuePair("resourceVersion", resourceVersion);
- queryList.add(nvp);
- }
-
- aaiService.LOGwriteFirstTrace(method, builder.toString());
-
- return builder.build().toURL();
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java
deleted file mode 100755
index 0094b45fd..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * @author Rich Tabedzki
- *
- */
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
-
-public class SelfLinkRequest extends AAIRequest {
-
- private final Class<? extends AAIDatum> classType;
-
- public static final String SELFLINK = "selflink";
-
- public SelfLinkRequest(Class<?> type) {
- classType = (Class<? extends AAIDatum>)type;
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = null;
-
- request_url = requestProperties.getProperty(SELFLINK);
- try {
- URI uri = new URI(request_url);
- if(uri.getHost() == null) {
- request_url = targetUri + request_url;
- }
- } catch(Exception exc) {
- LOG.error("SelfLinkRequest.getRequestUrl", exc);
- }
- String query = null;
-
- if(request_url.contains("?")) {
- query = request_url.substring(request_url.indexOf("?"));
- Joiner.MapJoiner mapJoiner = Joiner.on(",").withKeyValueSeparator("=");
-// String queryString = mapJoiner.join(query);
- } else {
- request_url = request_url + "?depth=1";
- }
-
- URL http_req_url = new URL(request_url);
-
- aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
-
- return http_req_url;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return this.getRequestUrl(method, null);
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(classType);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
- @Override
- public String[] getArgsList() {
- String[] args = {SELFLINK};
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return classType;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java
deleted file mode 100755
index 8046ca5e3..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-/**
- * The UpdateRequest class provides processing related to update transaction.
- * @author richtabedzki
- */
-
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class UpdateRequest extends AAIRequest {
-
- private AAIRequest request;
- private Map<String, String> params;
-
- public UpdateRequest(AAIRequest request, Map<String, String> parms) {
- this.request = request;
- this.params = parms;
- }
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion)
- throws UnsupportedEncodingException, MalformedURLException, URISyntaxException {
- return request.getRequestUrl(method, resourceVersion);
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException, URISyntaxException {
- return request.getRequestQueryUrl(method);
- }
-
- @Override
- public String toJSONString() {
- updateArrayEntries(params);
- ObjectMapper mapper = AAIService.getObjectMapper();
- String json = null;
-
- try {
- json = mapper.writeValueAsString(params);
- } catch (JsonProcessingException e) {
- LOG.error("Could not convert parameters of " + request.getRequestObject().getClass().getName(), e);
- }
-
- return json;
- }
-
- /**
- *
- * Update array entries.
- * The method converts indexed data entries to an array of values
- *
- * @param data Map containing String:String values representing input data
- */
- private void updateArrayEntries( Map<String, String> data) {
- Set<String> set = data.keySet()
- .stream()
- .filter(s -> s.endsWith("_length"))
- .collect(Collectors.toSet());
-
- for(String lenghtKey : set) {
- String key = lenghtKey.replace("_length", "");
-// String index = data.get(lenghtKey);
- List<String> array = new ArrayList<>();
-
- Set<String> subset = data.keySet()
- .stream()
- .filter(s -> s.startsWith(String.format("%s[",key)))
- .collect(Collectors.toSet());
- for(String subKey : subset) {
- String subValue = data.get(subKey);
- array.add(subValue);
- LOG.trace("{} : {} ", subKey, subValue);
- }
- data.put(key, array.toString());
- data.remove(lenghtKey);
- for(String subKey : subset) {
- data.remove(subKey);
- }
- }
- }
-
- @Override
- public String[] getArgsList() {
- return request.getArgsList();
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return request.getModelClass();
- }
-
- @Override
- public void addRequestProperty(String key, String value) {
- request.requestProperties.put(key, value);
- }
-
- public static String processPathData(String requestUrl, Properties requestProperties) {
-
-// if(request != null) {
-// Class<?> clazz = request.getClass();
-// Method function = null;
-// try {
-// function = clazz.getMethod("processPathData", request_url.getClass(), requestProperties.getClass());
-// request_url = (String) function.invoke(null, request_url, requestProperties);
-// } catch (Exception e) {
-// e.printStackTrace();
-// }
-// }
-
-// request.processPathData(request_url, requestProperties);
- return requestUrl;
- }
-
- public void processRequestPathValues(Map<String, String> nameValues) {
- request.processRequestPathValues(nameValues);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UtilsProvider.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UtilsProvider.java
deleted file mode 100755
index c89e35b2c..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UtilsProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * onap
- * ================================================================================
- * Copyright (C) 2016 - 2017 ONAP
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai;
-
-import java.util.Properties;
-
-/**
- * @author Rich Tabedzki
- *
- */
-public interface UtilsProvider {
- /**
- * Extract configuration properties.
- *
- * @return the configuration properties
- */
- Properties getProperties();
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java
deleted file mode 100644
index 2a44a38e4..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data;
-
-public interface AAIDatum {
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java
deleted file mode 100644
index 40f5f4e4c..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "responseMessages"
-})
-public class EchoResponse implements AAIDatum {
-
- @JsonProperty("responseMessages")
- private ResponseMessages responseMessages;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The responseMessages
- */
- @JsonProperty("responseMessages")
- public ResponseMessages getResponseMessages() {
- return responseMessages;
- }
-
- /**
- *
- * @param responseMessages
- * The responseMessages
- */
- @JsonProperty("responseMessages")
- public void setResponseMessages(ResponseMessages responseMessages) {
- this.responseMessages = responseMessages;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java
deleted file mode 100644
index e650003cb..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.annotation.Generated;
-
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "requestError"
-})
-public class ErrorResponse {
-
- @JsonProperty("requestError")
- private RequestError requestError;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The requestError
- */
- @JsonProperty("requestError")
- public RequestError getRequestError() {
- return requestError;
- }
-
- /**
- *
- * @param requestError
- * The requestError
- */
- @JsonProperty("requestError")
- public void setRequestError(RequestError requestError) {
- this.requestError = requestError;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java
deleted file mode 100644
index 88325d828..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.annotation.Generated;
-
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "serviceException"
-})
-public class RequestError {
-
- @JsonProperty("serviceException")
- private ServiceException serviceException;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The serviceException
- */
- @JsonProperty("serviceException")
- public ServiceException getServiceException() {
- return serviceException;
- }
-
- /**
- *
- * @param serviceException
- * The serviceException
- */
- @JsonProperty("serviceException")
- public void setServiceException(ServiceException serviceException) {
- this.serviceException = serviceException;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java
deleted file mode 100644
index 237d95a5a..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data;
-
-public interface ResourceVersion {
-
- public String getResourceVersion();
- public void setResourceVersion(String resourceVersion);
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java
deleted file mode 100644
index 4742cef7a..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "messageId",
- "text",
- "variables"
-})
-public class ResponseMessage {
-
- @JsonProperty("messageId")
- private String messageId;
- @JsonProperty("text")
- private String text;
- @JsonProperty("variables")
- private Variables variables;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The messageId
- */
- @JsonProperty("messageId")
- public String getMessageId() {
- return messageId;
- }
-
- /**
- *
- * @param messageId
- * The messageId
- */
- @JsonProperty("messageId")
- public void setMessageId(String messageId) {
- this.messageId = messageId;
- }
-
- /**
- *
- * @return
- * The text
- */
- @JsonProperty("text")
- public String getText() {
- return text;
- }
-
- /**
- *
- * @param text
- * The text
- */
- @JsonProperty("text")
- public void setText(String text) {
- this.text = text;
- }
-
- /**
- *
- * @return
- * The variables
- */
- @JsonProperty("variables")
- public Variables getVariables() {
- return variables;
- }
-
- /**
- *
- * @param variables
- * The variables
- */
- @JsonProperty("variables")
- public void setVariables(Variables variables) {
- this.variables = variables;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java
deleted file mode 100644
index 8ba5d145b..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "responseMessage"
-})
-public class ResponseMessages {
-
- @JsonProperty("responseMessage")
- private List<ResponseMessage> responseMessage = new ArrayList<ResponseMessage>();
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The responseMessage
- */
- @JsonProperty("responseMessage")
- public List<ResponseMessage> getResponseMessage() {
- return responseMessage;
- }
-
- /**
- *
- * @param responseMessage
- * The responseMessage
- */
- @JsonProperty("responseMessage")
- public void setResponseMessage(List<ResponseMessage> responseMessage) {
- this.responseMessage = responseMessage;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java
deleted file mode 100644
index bdb09855a..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Generated;
-
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "messageId",
- "text",
- "variables"
-})
-public class ServiceException {
-
- @JsonProperty("messageId")
- private String messageId;
- @JsonProperty("text")
- private String text;
- @JsonProperty("variables")
- private List<String> variables = new ArrayList<String>();
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The messageId
- */
- @JsonProperty("messageId")
- public String getMessageId() {
- return messageId;
- }
-
- /**
- *
- * @param messageId
- * The messageId
- */
- @JsonProperty("messageId")
- public void setMessageId(String messageId) {
- this.messageId = messageId;
- }
-
- /**
- *
- * @return
- * The text
- */
- @JsonProperty("text")
- public String getText() {
- return text;
- }
-
- /**
- *
- * @param text
- * The text
- */
- @JsonProperty("text")
- public void setText(String text) {
- this.text = text;
- }
-
- /**
- *
- * @return
- * The variables
- */
- @JsonProperty("variables")
- public List<String> getVariables() {
- return variables;
- }
-
- /**
- *
- * @param variables
- * The variables
- */
- @JsonProperty("variables")
- public void setVariables(List<String> variables) {
- this.variables = variables;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java
deleted file mode 100644
index 7c66daa62..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-import org.onap.aai.inventory.v21.RelationshipList;
-import org.onap.aai.inventory.v21.Vlans;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "interface-name",
- "interface-role",
- "resource-version",
- "vlans",
- "relationshipList"
-})
-public class SubInterface implements AAIDatum {
-
- @JsonProperty("interface-name")
- private String interfaceName;
- @JsonProperty("interface-role")
- private String interfaceRole;
- @JsonProperty("resource-version")
- private String resourceVersion;
- @JsonProperty("vlans")
- private Vlans vlans;
- @JsonProperty("relationshipList")
- private RelationshipList relationshipList;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The interfaceName
- */
- @JsonProperty("interface-name")
- public String getInterfaceName() {
- return interfaceName;
- }
-
- /**
- *
- * @param interfaceName
- * The interface-name
- */
- @JsonProperty("interface-name")
- public void setInterfaceName(String interfaceName) {
- this.interfaceName = interfaceName;
- }
-
- /**
- *
- * @return
- * The interfaceRole
- */
- @JsonProperty("interface-role")
- public String getInterfaceRole() {
- return interfaceRole;
- }
-
- /**
- *
- * @param interfaceRole
- * The interface-role
- */
- @JsonProperty("interface-role")
- public void setInterfaceRole(String interfaceRole) {
- this.interfaceRole = interfaceRole;
- }
-
- /**
- *
- * @return
- * The resourceVersion
- */
- @JsonProperty("resource-version")
- public String getResourceVersion() {
- return resourceVersion;
- }
-
- /**
- *
- * @param resourceVersion
- * The resource-version
- */
- @JsonProperty("resource-version")
- public void setResourceVersion(String resourceVersion) {
- this.resourceVersion = resourceVersion;
- }
-
- /**
- *
- * @return
- * The vlans
- */
- @JsonProperty("vlans")
- public Vlans getVlans() {
- return vlans;
- }
-
- /**
- *
- * @param vlans
- * The vlans
- */
- @JsonProperty("vlans")
- public void setVlans(Vlans vlans) {
- this.vlans = vlans;
- }
-
- /**
- *
- * @return
- * The relationshipList
- */
- @JsonProperty("relationshipList")
- public RelationshipList getRelationshipList() {
- return relationshipList;
- }
-
- /**
- *
- * @param relationshipList
- * The relationshipList
- */
- @JsonProperty("relationshipList")
- public void setRelationshipList(RelationshipList relationshipList) {
- this.relationshipList = relationshipList;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java
deleted file mode 100644
index 3bdf70d7a..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "variable"
-})
-public class Variables {
-
- @JsonProperty("variable")
- private List<String> variable = new ArrayList<String>();
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The variable
- */
- @JsonProperty("variable")
- public List<String> getVariable() {
- return variable;
- }
-
- /**
- *
- * @param variable
- * The variable
- */
- @JsonProperty("variable")
- public void setVariable(List<String> variable) {
- this.variable = variable;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java
deleted file mode 100644
index 1cad9fdd6..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data.notify;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "key-name",
- "key-value"
-})
-public class KeyDatum {
-
- @JsonProperty("key-name")
- private String keyName;
- @JsonProperty("key-value")
- private String keyValue;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The keyName
- */
- @JsonProperty("key-name")
- public String getKeyName() {
- return keyName;
- }
-
- /**
- *
- * @param keyName
- * The key-name
- */
- @JsonProperty("key-name")
- public void setKeyName(String keyName) {
- this.keyName = keyName;
- }
-
- /**
- *
- * @return
- * The keyValue
- */
- @JsonProperty("key-value")
- public String getKeyValue() {
- return keyValue;
- }
-
- /**
- *
- * @param keyValue
- * The key-value
- */
- @JsonProperty("key-value")
- public void setKeyValue(String keyValue) {
- this.keyValue = keyValue;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java
deleted file mode 100644
index 007096188..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.data.notify;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "event-id",
- "event-trigger",
- "key-data",
- "node-type",
- "selflink"
-})
-public class NotifyEvent {
-
- @JsonProperty("event-id")
- private String eventId;
- @JsonProperty("event-trigger")
- private String eventTrigger;
- @JsonProperty("key-data")
- private List<KeyDatum> keyData = new ArrayList<KeyDatum>();
- @JsonProperty("node-type")
- private String nodeType;
- @JsonProperty("selflink")
- private String selflink;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The eventId
- */
- @JsonProperty("event-id")
- public String getEventId() {
- return eventId;
- }
-
- /**
- *
- * @param eventId
- * The event-id
- */
- @JsonProperty("event-id")
- public void setEventId(String eventId) {
- this.eventId = eventId;
- }
-
- /**
- *
- * @return
- * The eventTrigger
- */
- @JsonProperty("event-trigger")
- public String getEventTrigger() {
- return eventTrigger;
- }
-
- /**
- *
- * @param eventTrigger
- * The event-trigger
- */
- @JsonProperty("event-trigger")
- public void setEventTrigger(String eventTrigger) {
- this.eventTrigger = eventTrigger;
- }
-
- /**
- *
- * @return
- * The keyData
- */
- @JsonProperty("key-data")
- public List<KeyDatum> getKeyData() {
- return keyData;
- }
-
- /**
- *
- * @param keyData
- * The key-data
- */
- @JsonProperty("key-data")
- public void setKeyData(List<KeyDatum> keyData) {
- this.keyData = keyData;
- }
-
- /**
- *
- * @return
- * The nodeType
- */
- @JsonProperty("node-type")
- public String getNodeType() {
- return nodeType;
- }
-
- /**
- *
- * @param nodeType
- * The node-type
- */
- @JsonProperty("node-type")
- public void setNodeType(String nodeType) {
- this.nodeType = nodeType;
- }
-
- /**
- *
- * @return
- * The selflink
- */
- @JsonProperty("selflink")
- public String getSelflink() {
- return selflink;
- }
-
- /**
- *
- * @param selflink
- * The selflink
- */
- @JsonProperty("selflink")
- public void setSelflink(String selflink) {
- this.selflink = selflink;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java
deleted file mode 100644
index e2074e97b..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.query;
-
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
- "start",
- "query"
-})
-@XmlRootElement(name = "query-request")
-public class FormattedQueryRequestData implements AAIDatum {
-
- @JsonProperty("start")
- protected List<String> start;
-
- @JsonProperty("query")
- private String query;
-
- @JsonProperty("start")
- public List<String> getStart ()
- {
- return start;
- }
-
- @JsonProperty("start")
- public void setStart (List<String> start)
- {
- this.start = start;
- }
-
- @JsonProperty("query")
- public String getQuery ()
- {
- return query;
- }
-
- @JsonProperty("query")
- public void setQuery (String query)
- {
- this.query = query;
- }
-
- @Override
- public String toString()
- {
- return " [start = "+start+", query = "+query+"]";
- }
-
- public String getResourceVersion() {
- return null;
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java
deleted file mode 100755
index a50bf78b2..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.query;
-
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
- "results"
-})
-@XmlRootElement(name = "result-list")
-public class FormattedQueryResultList implements AAIDatum {
-
- @XmlElement(name = "results")
- private List<Result> results;
-
- @XmlElement(name = "results")
- public List<Result> getResults ()
- {
- return results;
- }
- @XmlElement(name = "results")
- public void setResults (List<Result> results)
- {
- this.results = results;
- }
-
- @Override
- public String toString()
- {
- return "ClassPojo [results = "+results+"]";
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java
deleted file mode 100755
index 48ada1fa9..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.query;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.annotation.Generated;
-
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-import org.onap.aai.inventory.v21.CloudRegion;
-import org.onap.aai.inventory.v21.GenericVnf;
-import org.onap.aai.inventory.v21.L3Network;
-import org.onap.aai.inventory.v21.Pnf;
-import org.onap.aai.inventory.v21.LogicalLink;
-import org.onap.aai.inventory.v21.PInterface;
-import org.onap.aai.inventory.v21.ServiceInstance;
-import org.onap.aai.inventory.v21.Tenant;
-import org.onap.aai.inventory.v21.Vnf;
-import org.onap.aai.inventory.v21.Vserver;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "logical-link",
- "pnf",
- "l3-network",
- "p-interface",
- "generic-vnf",
- "vserver",
- "tenant",
- "cloud-region",
- "service-instance",
- "vnfc"
-})
-public class InstanceFilter {
-
- @JsonProperty("logical-link")
- private LogicalLink logicalLink;
- @JsonProperty("pnf")
- private Pnf pnf;
- @JsonProperty("l3-network")
- private L3Network l3Network;
- @JsonProperty("p-interface")
- private PInterface pInterface;
- @JsonProperty("generic-vnf")
- private GenericVnf genericVnf;
- @JsonProperty("vserver")
- private Vserver vserver;
- @JsonProperty("tenant")
- private Tenant tenant;
- @JsonProperty("cloud-region")
- private CloudRegion cloudRegion;
- @JsonProperty("service-instance")
- private ServiceInstance serviceInstance;
- @JsonProperty("vnfc")
- private Vnf vnfc;
-
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The logicalLink
- */
- @JsonProperty("logical-link")
- public LogicalLink getLogicalLink() {
- return logicalLink;
- }
-
- /**
- *
- * @param logicalLink
- * The logical-link
- */
- @JsonProperty("logical-link")
- public void setLogicalLink(LogicalLink logicalLink) {
- this.logicalLink = logicalLink;
- }
-
- /**
- *
- * @return
- * The pnf
- */
- @JsonProperty("pnf")
- public Pnf getPnf() {
- return pnf;
- }
-
- /**
- *
- * @param pnf
- * The pnf
- */
- @JsonProperty("pnf")
- public void setPnf(Pnf pnf) {
- this.pnf = pnf;
- }
-
- @JsonProperty("l3-network")
- public L3Network getL3Network() {
- return l3Network;
- }
-
- @JsonProperty("l3-network")
- public void setL3Network(L3Network l3Network) {
- this.l3Network = l3Network;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
- @JsonProperty("service-instance")
- public ServiceInstance getServiceInstance() {
- return serviceInstance;
- }
-
- @JsonProperty("service-instance")
- public void setServiceInstance(ServiceInstance serviceInstance) {
- this.serviceInstance = serviceInstance;
- }
- @JsonProperty("p-interface")
- public PInterface getpInterface() {
- return pInterface;
- }
- @JsonProperty("p-interface")
- public void setpInterface(PInterface pInterface) {
- this.pInterface = pInterface;
- }
- @JsonProperty("generic-vnf")
- public GenericVnf getGenericVnf() {
- return genericVnf;
- }
- @JsonProperty("generic-vnf")
- public void setGenericVnf(GenericVnf genericVnf) {
- this.genericVnf = genericVnf;
- }
- @JsonProperty("vserver")
- public Vserver getVserver() {
- return vserver;
- }
- @JsonProperty("vserver")
- public void setVserver(Vserver vserver) {
- this.vserver = vserver;
- }
- @JsonProperty("tenant")
- public Tenant getTenant() {
- return tenant;
- }
- @JsonProperty("tenant")
- public void setTenant(Tenant tenant) {
- this.tenant = tenant;
- }
- @JsonProperty("cloud-region")
- public CloudRegion getCloudRegion() {
- return cloudRegion;
- }
- @JsonProperty("cloud-region")
- public void setCloudRegion(CloudRegion cloudRegion) {
- this.cloudRegion = cloudRegion;
- }
- @JsonProperty("vnfc")
- public Vnf getVnfc() {
- return vnfc;
- }
- @JsonProperty("vnfc")
- public void setVnfc(Vnf vnfc) {
- this.vnfc = vnfc;
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java
deleted file mode 100644
index c0a3ba255..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.query;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "instance-filter"
-})
-public class InstanceFilters {
-
- @JsonProperty("instance-filter")
- private List<InstanceFilter> instanceFilter = new ArrayList<InstanceFilter>();
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The instanceFilter
- */
- @JsonProperty("instance-filter")
- public List<InstanceFilter> getInstanceFilter() {
- return instanceFilter;
- }
-
- /**
- *
- * @param instanceFilter
- * The instance-filter
- */
- @JsonProperty("instance-filter")
- public void setInstanceFilter(List<InstanceFilter> instanceFilter) {
- this.instanceFilter = instanceFilter;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Result.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Result.java
deleted file mode 100755
index 1f8a17551..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Result.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.query;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-import org.onap.aai.inventory.v21.CloudRegion;
-import org.onap.aai.inventory.v21.Complex;
-import org.onap.aai.inventory.v21.Configuration;
-import org.onap.aai.inventory.v21.GenericVnf;
-import org.onap.aai.inventory.v21.L3InterfaceIpv4AddressList;
-import org.onap.aai.inventory.v21.L3InterfaceIpv6AddressList;
-import org.onap.aai.inventory.v21.L3Network;
-import org.onap.aai.inventory.v21.LInterface;
-//import org.onap.aai.inventory.v21.OwningEntity;
-import org.onap.aai.inventory.v21.Pserver;
-import org.onap.aai.inventory.v21.ServiceInstance;
-import org.onap.aai.inventory.v21.Vnfc;
-import org.onap.aai.inventory.v21.Vserver;
-
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
- "resource-type",
- "resource-link",
- "url",
- "cloud-region",
- "complex",
- "configuration",
- "generic-vnf",
- "l3-interface-ipv4-address-list",
- "l3-interface-ipv6-address-list",
- "l3-network",
- "l-interface",
- "owning-entity",
- "pserver",
- "service-instance",
- "vnfc",
- "vserver"
-})
-@XmlRootElement(name = "result")
-public class Result {
-
- @XmlElement(name = "resource-type")
- private String resourceType;
- @XmlElement(name = "resource-link")
- private String resourceLink;
- @XmlElement(name = "url")
- private String url;
- @XmlElement(name = "cloud-region")
- private CloudRegion cloudRegion;
- @XmlElement(name = "complex")
- private Complex complex;
- @XmlElement(name = "configuration")
- private Configuration configuration;
- @XmlElement(name = "generic-vnf")
- private GenericVnf genericVnf;
- @XmlElement(name = "l3-interface-ipv4-address-list")
- private L3InterfaceIpv4AddressList l3InterfaceIpv4AddressList;
- @XmlElement(name = "l3-interface-ipv6-address-list")
- private L3InterfaceIpv6AddressList l3InterfaceIpv6AddressList;
- @XmlElement(name = "l3-network")
- private L3Network l3Network;
- @XmlElement(name = "l-interface")
- private LInterface lInterface;
-// @XmlElement(name = "owning-entity")
-// private OwningEntity owningEntity;
- @XmlElement(name = "pserver")
- private Pserver pserver;
- @XmlElement(name = "service-instance")
- private ServiceInstance serviceInstance;
- @XmlElement(name = "vnfc")
- private Vnfc vnfc;
- @XmlElement(name = "vserver")
- private Vserver vserver;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- @XmlElement(name = "cloud-region")
- public CloudRegion getCloudRegion() {
- return cloudRegion;
- }
-
- @XmlElement(name = "cloud-region")
- public void setCloudRegion(CloudRegion cloudRegion) {
- this.cloudRegion = cloudRegion;
- }
-
- @XmlElement(name = "complex")
- public Complex getComplex() {
- return complex;
- }
-
- @XmlElement(name = "complex")
- public void setComplex(Complex complex) {
- this.complex = complex;
- }
-
- @XmlElement(name = "configuration")
- public Configuration getConfiguration() {
- return configuration;
- }
-
- @XmlElement(name = "configuration")
- public void setConfiguration(Configuration configuration) {
- this.configuration = configuration;
- }
-
- @XmlElement(name = "generic-vnf")
- public GenericVnf getGenericVnf ()
- {
- return genericVnf;
- }
-
- @XmlElement(name = "generic-vnf")
- public void setGenericVnf (GenericVnf genericVnf)
- {
- this.genericVnf = genericVnf;
- }
-
- @JsonProperty("l3-interface-ipv4-address-list")
- public L3InterfaceIpv4AddressList getL3InterfaceIpv4AddressList() {
- return l3InterfaceIpv4AddressList;
- }
-
- @JsonProperty("l3-interface-ipv4-address-list")
- public void setL3InterfaceIpv4AddressList(L3InterfaceIpv4AddressList l3InterfaceIpv4AddressList) {
- this.l3InterfaceIpv4AddressList = l3InterfaceIpv4AddressList;
- }
-
- @JsonProperty("l3-interface-ipv6-address-list")
- public L3InterfaceIpv6AddressList getL3InterfaceIpv6AddressList() {
- return l3InterfaceIpv6AddressList;
- }
-
- @JsonProperty("l3-interface-ipv6-address-list")
- public void setL3InterfaceIpv6AddressList(L3InterfaceIpv6AddressList l3InterfaceIpv6AddressList) {
- this.l3InterfaceIpv6AddressList = l3InterfaceIpv6AddressList;
- }
-
- @XmlElement(name = "l3-network")
- public L3Network getL3Network() {
- return l3Network;
- }
-
- @XmlElement(name = "l3-network")
- public void setL3Network(L3Network l3Network) {
- this.l3Network = l3Network;
- }
-
- @XmlElement(name = "l-interface")
- public LInterface getLInterface() {
- return lInterface;
- }
- @XmlElement(name = "l-interface")
- public void setLInterface(LInterface linterface) {
- this.lInterface = linterface;
- }
-
-// @XmlElement(name = "owning-entity")
-// public OwningEntity getOwningEntity() {
-// return owningEntity;
-// }
-
-// @XmlElement(name = "owning-entity")
-// public void setOwningEntity(OwningEntity owningEntity) {
-// this.owningEntity = owningEntity;
-// }
-
- @XmlElement(name = "pserver")
- public Pserver getPserver() {
- return pserver;
- }
- @XmlElement(name = "pserver")
- public void setPserver(Pserver pserver) {
- this.pserver = pserver;
- }
-
- @XmlElement(name = "service-instance")
- public ServiceInstance getServiceInstance() {
- return serviceInstance;
- }
-
- @XmlElement(name = "service-instance")
- public void setServiceInstance(ServiceInstance serviceInstance) {
- this.serviceInstance = serviceInstance;
- }
-
- @XmlElement(name = "vnfc")
- public Vnfc getVnfc() {
- return vnfc;
- }
-
- @XmlElement(name = "vnfc")
- public void setVnfc(Vnfc vnfc) {
- this.vnfc = vnfc;
- }
-
- @XmlElement(name = "vserver")
- public Vserver getVserver() {
- return vserver;
- }
-
- @XmlElement(name = "vserver")
- public void setVserver(Vserver vserver) {
- this.vserver = vserver;
- }
-
- @Override
- public String toString()
- {
- return " [generic-vnf = "+genericVnf+"]";
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
- @XmlElement(name = "resource-type")
- public String getResourceType() {
- return resourceType;
- }
- @XmlElement(name = "resource-type")
- public void setResourceType(String resourceType) {
- this.resourceType = resourceType;
- }
- @XmlElement(name = "resource-link")
- public String getResourceLink() {
- return resourceLink;
- }
- @XmlElement(name = "resource-link")
- public void setResourceLink(String resourceLink) {
- this.resourceLink = resourceLink;
- }
- @XmlElement(name = "url")
- public String getUrl() {
- return url;
- }
- @XmlElement(name = "url")
- public void setUrl(String url) {
- this.url = url;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java
deleted file mode 100644
index 376da0d01..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.update;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "action-data",
- "action-type"
-})
-public class Action {
-
- @JsonProperty("action-data")
- private List<ActionDatum> actionData = new ArrayList<ActionDatum>();
- @JsonProperty("action-type")
- private String actionType;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The actionData
- */
- @JsonProperty("action-data")
- public List<ActionDatum> getActionData() {
- return actionData;
- }
-
- /**
- *
- * @param actionData
- * The action-data
- */
- @JsonProperty("action-data")
- public void setActionData(List<ActionDatum> actionData) {
- this.actionData = actionData;
- }
-
- /**
- *
- * @return
- * The actionType
- */
- @JsonProperty("action-type")
- public String getActionType() {
- return actionType;
- }
-
- /**
- *
- * @param actionType
- * The action-type
- */
- @JsonProperty("action-type")
- public void setActionType(String actionType) {
- this.actionType = actionType;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java
deleted file mode 100644
index 67c6246c7..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.update;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "property-name",
- "property-value"
-})
-public class ActionDatum {
-
- @JsonProperty("property-name")
- private String propertyName;
- @JsonProperty("property-value")
- private String propertyValue;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The propertyName
- */
- @JsonProperty("property-name")
- public String getPropertyName() {
- return propertyName;
- }
-
- /**
- *
- * @param propertyName
- * The property-name
- */
- @JsonProperty("property-name")
- public void setPropertyName(String propertyName) {
- this.propertyName = propertyName;
- }
-
- /**
- *
- * @return
- * The propertyValue
- */
- @JsonProperty("property-value")
- public String getPropertyValue() {
- return propertyValue;
- }
-
- /**
- *
- * @param propertyValue
- * The property-value
- */
- @JsonProperty("property-value")
- public void setPropertyValue(String propertyValue) {
- this.propertyValue = propertyValue;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java
deleted file mode 100644
index 80bb75694..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.update;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "update-node-type",
- "update-node-key",
- "action"
-})
-public class Update {
-
- @JsonProperty("update-node-type")
- private String updateNodeType;
- @JsonProperty("action")
- private List<Action> action = new ArrayList<Action>();
- @JsonProperty("update-node-key")
- private List<UpdateNodeKey> updateNodeKey = new ArrayList<UpdateNodeKey>();
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The updateNodeType
- */
- @JsonProperty("update-node-type")
- public String getUpdateNodeType() {
- return updateNodeType;
- }
-
- /**
- *
- * @param updateNodeType
- * The update-node-type
- */
- @JsonProperty("update-node-type")
- public void setUpdateNodeType(String updateNodeType) {
- this.updateNodeType = updateNodeType;
- }
-
- /**
- *
- * @return
- * The action
- */
- @JsonProperty("action")
- public List<Action> getAction() {
- return action;
- }
-
- /**
- *
- * @param action
- * The action
- */
- @JsonProperty("action")
- public void setAction(List<Action> action) {
- this.action = action;
- }
-
- /**
- *
- * @return
- * The updateNodeKey
- */
- @JsonProperty("update-node-key")
- public List<UpdateNodeKey> getUpdateNodeKey() {
- return updateNodeKey;
- }
-
- /**
- *
- * @param updateNodeKey
- * The update-node-key
- */
- @JsonProperty("update-node-key")
- public void setUpdateNodeKey(List<UpdateNodeKey> updateNodeKey) {
- this.updateNodeKey = updateNodeKey;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java
deleted file mode 100644
index 6803ea2c2..000000000
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.aai.update;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "key-name",
- "key-value"
-})
-public class UpdateNodeKey {
-
- @JsonProperty("key-name")
- private String keyName;
- @JsonProperty("key-value")
- private String keyValue;
- @JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
-
- /**
- *
- * @return
- * The keyName
- */
- @JsonProperty("key-name")
- public String getKeyName() {
- return keyName;
- }
-
- /**
- *
- * @param keyName
- * The key-name
- */
- @JsonProperty("key-name")
- public void setKeyName(String keyName) {
- this.keyName = keyName;
- }
-
- /**
- *
- * @return
- * The keyValue
- */
- @JsonProperty("key-value")
- public String getKeyValue() {
- return keyValue;
- }
-
- /**
- *
- * @param keyValue
- * The key-value
- */
- @JsonProperty("key-value")
- public void setKeyValue(String keyValue) {
- this.keyValue = keyValue;
- }
-
- @JsonAnyGetter
- public Map<String, Object> getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
-}