aboutsummaryrefslogtreecommitdiffstats
path: root/aai-service/provider/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'aai-service/provider/src/main/java/org')
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java204
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java1937
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java441
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIService.java3311
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceUtils.java340
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java136
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java145
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericRequest.java240
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java145
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java213
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java180
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java245
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java144
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java191
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java145
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java144
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java133
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java113
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java127
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java106
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubInterfaceRequest.java185
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/SubInterface.java171
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilter.java133
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/Results.java84
24 files changed, 0 insertions, 9213 deletions
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java
deleted file mode 100644
index 55c84bc..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java
+++ /dev/null
@@ -1,204 +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.openecomp.sdnc.sli.aai;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.openecomp.sdnc.sli.SvcLogicContext;
-import org.openecomp.sdnc.sli.SvcLogicException;
-import org.openecomp.sdnc.sli.SvcLogicJavaPlugin;
-import org.openecomp.sdnc.sli.SvcLogicResource;
-import org.openecomp.sdnc.sli.SvcLogicResource.QueryStatus;
-import org.openecomp.sdnc.sli.aai.data.notify.NotifyEvent;
-import org.openecomp.sdnc.sli.aai.data.v1507.VServer;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-
-
-import org.openecomp.aai.inventory.v11.*;
-
-public interface AAIClient extends SvcLogicResource, SvcLogicJavaPlugin {
-
- // VCE
- public boolean postNetworkVceData(String vnf_id, Vce request) throws AAIServiceException;
- public Vce requestNetworkVceData(String vnf_id) throws AAIServiceException;
- public boolean deleteNetworkVceData(String vnf_id, String resourceVersion) throws AAIServiceException;
-
- // Service Inteface
- public ServiceInstance requestServiceInterfaceData(String customer_id, String service_type, String svc_instance_id) throws AAIServiceException;
- public boolean postServiceInterfaceData(String customer_id, String service_type, String svc_instance_id, ServiceInstance request) throws AAIServiceException;
- public SearchResults requestServiceInstanceURL(String svc_instance_id) throws AAIServiceException;
-
- // VPE
-// public Vpes requestNetworkVpeList() throws AAIServiceException;
- public Vpe requestNetworkVpeData(String vnf_id) throws AAIServiceException;
- public boolean postNetworkVpeData(String vnf_id, Vpe request) throws AAIServiceException;
- public boolean deleteNetworkVpeData(String vnf_id, String resourceVersion) throws AAIServiceException;
-
- // VServers
- public Vserver requestVServerData(String tenant_id, String vserver_id, String cloudOwner, String cloudRegionId) throws AAIServiceException;
- public boolean postVServerData(String tenantId, String vserverId, String cloudOwner, String cloudRegionId, Vserver request) throws AAIServiceException;
- public boolean deleteVServerData(String tenant_id, String vserver_id, String cloudOwner, String cloudRegionId, String resourceVersion) throws AAIServiceException;
-
- public URL requestVserverURLNodeQuery(String vserver_name) 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;
-
- // VPLS-PE
- public VplsPe requestNetworkVplsPeData(String equipment_name) throws AAIServiceException;
- public boolean postNetworkVplsPeData(String vnf_id, VplsPe request) throws AAIServiceException;
- public boolean deleteNetworkVplsPeData(String vnf_id, String resourceVersion) throws AAIServiceException;
-
-
- // Complexes
- public Complex requestNetworkComplexData(String vnf_id) throws AAIServiceException;
- public boolean postNetworkComplexData(String vnf_id, Complex request) throws AAIServiceException;
- public boolean deleteNetworkComplexData(String vnf_id, String resourceVersion) throws AAIServiceException;
-
- // CTag Pool
- public CtagPool requestCtagPoolData(String physical_location_id, String target_pe, String availability_zone_name) throws AAIServiceException;
-
- // --------------------------------- 1507 ---------------------------
- // Data Change
- public VServer dataChangeRequestVServerData(URL url) throws AAIServiceException;
-
- public CtagPool dataChangeRequestCtagPoolData(URL url) throws AAIServiceException;
-
- public VplsPe dataChangeRequestVplsPeData(URL url) throws AAIServiceException;
-
- public Vpe dataChangeRequestVpeData(URL url) throws AAIServiceException;
-
- public DvsSwitch dataChangeRequestDvsSwitchData(URL url) throws AAIServiceException;
-
- public Pserver dataChangeRequestPServerData(URL url) throws AAIServiceException;
-
- //OAM-Network:
- public OamNetwork dataChangeRequestOAMNetworkData(URL url) throws AAIServiceException;
- //Availability-Zone:
- public AvailabilityZone dataChangeRequestAvailabilityZoneData(URL url) throws AAIServiceException;
- //Complex:
- public Complex dataChangeRequestComplexData(URL url) throws AAIServiceException;
-
-
- /* DELETE */
- public boolean dataChangeDeleteVServerData(URL url) throws AAIServiceException;
-
- public boolean dataChangeDeleteCtagPoolData(URL url) throws AAIServiceException;
-
- public boolean dataChangeDeleteVplsPeData(URL url) throws AAIServiceException;
-
- public boolean dataChangeDeleteVpeData(URL url) throws AAIServiceException;
-
- public boolean dataChangeDeleteDvsSwitchData(URL url) throws AAIServiceException;
- //OAM-Network:
- public boolean dataChangeDeleteOAMNetworkData(URL url) throws AAIServiceException;
- //Availability-Zone:
- public boolean dataChangeDeleteAvailabilityZoneData(URL url) throws AAIServiceException;
- //Complex:
- public boolean dataChangeDeleteComplexData(URL url) throws AAIServiceException;
-
- // ----------------- Release 1510 ----------------------
- // // GenericVNF
- public GenericVnf requestGenericVnfData(String vnf_id) throws AAIServiceException;
- public boolean postGenericVnfData(String vnf_id, GenericVnf request) throws AAIServiceException;
- public boolean deleteGenericVnfData(String vnf_id, String resourceVersion) throws AAIServiceException;
-
- // DvsSwitch
- public DvsSwitch requestDvsSwitchData(String vnf_id) throws AAIServiceException;
- public boolean postDvsSwitchData(String vnf_id, DvsSwitch request) throws AAIServiceException;
- public boolean deleteDvsSwitchData(String vnf_id, String resourceVersion) throws AAIServiceException;
-
- // PInterface
- public PInterface requestPInterfaceData(String hostname, String interfaceName) throws AAIServiceException;
- public boolean postPInterfaceData(String hostname, String interfaceName, PInterface request) throws AAIServiceException;
- public boolean deletePInterfaceData(String hostname, String interfaceName, String resourceVersion) throws AAIServiceException;
-
- // Physical Link
- public PhysicalLink requestPhysicalLinkData(String vnf_id) throws AAIServiceException;
- public boolean postPhysicalLinkData(String vnf_id, PhysicalLink request) throws AAIServiceException;
- public boolean deletePhysicalLinkData(String vnf_id, String resourceVersion) throws AAIServiceException;
-
- // PServers
- public Pserver requestPServerData(String hostname) throws AAIServiceException;
- public boolean postPServerData(String hostname, Pserver server) throws AAIServiceException;
- public boolean deletePServerData(String hostname, String resourceVersion) throws AAIServiceException;
-
- // L3Networks
- public L3Network requestL3NetworkData(String networkId) throws AAIServiceException;
- public L3Network requestL3NetworkQueryByName(String networkId) throws AAIServiceException;
- public boolean postL3NetworkData(String networkId, L3Network request) throws AAIServiceException;
- public boolean deleteL3NetworkData(String networkId, String resourceVersion) throws AAIServiceException;
-
- // Vpn Bindings
- public VpnBinding requestVpnBindingData(String vpnId) throws AAIServiceException;
-// public boolean postVpnBindingData(String vpnId, VpnBinding request) throws AAIServiceException;
- public boolean deleteVpnBindingData(String vpnId, String resourceVersion) throws AAIServiceException;
-
- //VnfImage
- public VnfImage requestVnfImageData(String vpnId) throws AAIServiceException;
- public VnfImage requestVnfImageDataByVendorModel(String vendor, String model) throws AAIServiceException;
- public VnfImage requestVnfImageDataByVendorModelVersion(String vendor, String model, String version) throws AAIServiceException;
-
- // UBB Notify
- public boolean sendNotify(NotifyEvent event, String serviceInstanceId, String pathCode) throws AAIServiceException;
-
- // 1512
- // Site Pair Site
- public SitePairSet requestSitePairSetData(String sitePairSetId) throws AAIServiceException;
- public boolean postSitePairSetData(String sitePairSetId, SitePairSet request) throws AAIServiceException;
- public boolean deleteSitePairSetData(String sitePairSetId, String resourceVersion) throws AAIServiceException;
-
- // Services
- public Service requestServiceData(String serviceId) throws AAIServiceException;
- public boolean postServiceData(String serviceId, Service request) throws AAIServiceException;
- public boolean deleteServiceData(String serviceId, String resourceVersion) throws AAIServiceException;
-
- // Node Query - 1602
- public SearchResults requestNodeQuery(String type, String entityIdentifier, String entityName) throws AAIServiceException;
- public String requestDataByURL(URL url) throws AAIServiceException;
-// public Object requestDataInstanceNodeQuery(String type, String vnf_name) throws AAIServiceException;
- public GenericVnf requestGenericVnfeNodeQuery(String vnf_name) throws AAIServiceException;
-
- // // tenant
- public Tenant requestTenantData(String tenant_id, String cloudOwner, String cloudRegionId) throws AAIServiceException;
- public Tenant requestTenantDataByName(String tenant_name, String cloudOwner, String cloudRegionId) throws AAIServiceException;
- public boolean postTenantData(String tenant_id, String cloudOwner, String cloudRegionId, Tenant request) throws AAIServiceException;
-// public boolean deleteGenericVnfData(String vnf_id, String resourceVersion) 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, HashMap<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, HashMap<String, String> nameValues);
-
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java
deleted file mode 100644
index 389a330..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java
+++ /dev/null
@@ -1,1937 +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.openecomp.sdnc.sli.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.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLDecoder;
-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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.openecomp.sdnc.sli.SvcLogicContext;
-import org.openecomp.sdnc.sli.SvcLogicException;
-import org.openecomp.sdnc.sli.aai.AAIService.AAIRequestExecutor;
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-import org.openecomp.sdnc.sli.aai.query.FormattedQueryResultList;
-import org.openecomp.sdnc.sli.aai.query.InstanceFilter;
-import org.openecomp.sdnc.sli.aai.query.InstanceFilters;
-import org.openecomp.sdnc.sli.aai.query.NamedQuery;
-import org.openecomp.sdnc.sli.aai.query.NamedQueryData;
-import org.openecomp.sdnc.sli.aai.query.QueryParameters;
-import org.openecomp.sdnc.sli.aai.query.Results;
-
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.*;
-
-
-public abstract class AAIDeclarations implements AAIClient {
-
- public static final String TRUSTSTORE_PATH = "org.openecomp.sdnc.sli.aai.ssl.trust";
- public static final String TRUSTSTORE_PSSWD = "org.openecomp.sdnc.sli.aai.ssl.trust.psswd";
- public static final String KEYSTORE_PATH = "org.openecomp.sdnc.sli.aai.ssl.key";
- public static final String KEYSTORE_PSSWD = "org.openecomp.sdnc.sli.aai.ssl.key.psswd";
-
- public static final String APPLICATION_ID = "org.openecomp.sdnc.sli.aai.application";
-
- public static final String CLIENT_NAME = "org.openecomp.sdnc.sli.aai.client.name";
- public static final String CLIENT_PWWD = "org.openecomp.sdnc.sli.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.openecomp.sdnc.sli.aai.uri";
-
- // Availability zones query
- public static final String QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.query";
-
- // Update
- public static final String UPDATE_PATH = "org.openecomp.sdnc.sli.aai.update";
-
- // Service instance
- public static final String SVC_INSTANCE_PATH = "org.openecomp.sdnc.sli.aai.path.svcinst";
- public static final String SVC_INST_QRY_PATH = "org.openecomp.sdnc.sli.aai.path.svcinst.query";
-
- // VServer
- public static final String NETWORK_VSERVER_PATH = "org.openecomp.sdnc.sli.aai.path.vserver";
-
- public static final String VNF_IMAGE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.vnf.image.query";
-
- public static final String PARAM_SERVICE_TYPE = "org.openecomp.sdnc.sli.aai.param.service.type";
- public static final String CERTIFICATE_HOST_ERROR = "org.openecomp.sdnc.sli.aai.host.certificate.ignore";
-
- // UBB Notify
- public static final String UBB_NOTIFY_PATH = "org.openecomp.sdnc.sli.aai.path.notify";
- public static final String SELFLINK_AVPN = "org.openecomp.sdnc.sli.aai.notify.selflink.avpn";
- public static final String SELFLINK_FQDN = "org.openecomp.sdnc.sli.aai.notify.selflink.fqdn";
-
- //Service
- public static final String SERVICE_PATH = "org.openecomp.sdnc.sli.aai.path.service";
-
- // P-Interfaces
- public static final String P_INTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface";
-
- // site-pair-sets
- public static final String SITE_PAIR_SET_PATH = "org.openecomp.sdnc.sli.aai.path.site.pair.set";
-
- // node query (1602)
- public static final String QUERY_NODES_PATH = "org.openecomp.sdnc.sli.aai.query.nodes";
-
-
- protected abstract Logger getLogger();
- public abstract AAIRequestExecutor getExecutor();
-
-
- @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 = null;
- 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,Object>();
-
- 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", "" + 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) {
- ctx.setAttribute(prefix + ".error.message", aaiexc.getMessage());
- if (aaiexc.getReturnCode() >= 300) {
- ctx.setAttribute(prefix + ".error.http.response-code", "" + 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) {
- ctx.setAttribute(prefix + ".error.message", aaiexc.getMessage());
- if (aaiexc.getReturnCode() >= 300) {
- ctx.setAttribute(prefix + ".error.http.response-code", "" + 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<String>(attributes.keySet());
-
- int numCols = keys.size();
-
- for (int i = 0; i < numCols; i++) {
- String colValue = null;
- 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) || colName.equals("relationship-list")){
- 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;
- }
-
-// return QueryStatus.SUCCESS;
- }
-
-
- 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.size() > 0) {
- 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 e) {
- // TODO : Fix this
- 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;
- }
- // 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;
-// } else {
-// getLogger().debug("Save relationship list - returning FAILURE");
-// return QueryStatus.FAILURE;
- }
- } 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", "" + aaiexc.getReturnCode());
- }
-
- if(aaiexc.getReturnCode() == 404) {
- return QueryStatus.NOT_FOUND;
- }
- }
- getLogger().warn("Failed save() - returning FAILURE", exc);
- return QueryStatus.FAILURE;
- }
- } else {
- String reSource = resource.toLowerCase().replace("-", "_");
- String vnfId = null;
-
- try {
- switch(reSource) {
- case "generic_vnf":
- case "generic-vnf":
- vnfId = nameValues.get("vnf_id");
- if(vnfId == null) {
- getLogger().debug("Save(generic-vnf) with no vnf-id specified. Returning FAILURE");
- return QueryStatus.FAILURE;
- }
- vnfId = vnfId.trim().replace("'", "").replace("$", "").replace("'", "");
- GenericVnf vnf = this.requestGenericVnfData(vnfId);
- String status = params.get("prov-status");
- boolean updated = false;
- if(status != null && !status.isEmpty()) {
- vnf.setProvStatus(status);
- }
- if(updated) {
- this.postGenericVnfData(vnfId, vnf);
- }
- break;
- case "vpe":
- return update( resource, key, params, prefix, ctx) ;
-
- default:
- getLogger().debug("Save() executing default path - returning FAILURE");
- return QueryStatus.FAILURE;
- }
- } catch (Exception exc) {
- getLogger().warn("Failed save - returning FAILURE", exc);
- ctx.setAttribute(prefix + ".error.message", exc.getMessage());
- return QueryStatus.FAILURE;
- }
- }
-
- getLogger().debug("Save - returning SUCCESS");
- return QueryStatus.SUCCESS;
- }
-
- @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;
- }
-
- 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) {
- 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;
- }
-
- if(AAIRequest.createRequest(resource, nameValues) != null) {
- if(resource.contains(":")) {
- return processDeleteRelationshipList(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) {
- 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 resoourceName = resource;
- String identifier = null;
-
- if(resoourceName == null)
- return QueryStatus.FAILURE;
-
- if(resoourceName.contains(":")) {
- String[] tokens = resoourceName.split(":");
- if(tokens != null && tokens.length > 0) {
- resoourceName = tokens[0];
- identifier = tokens[1];
- }
- }
- if("relationship-list".equals(identifier) || "relationshipList".equals(identifier)) {
-// RelationshipRequest relationshipRequest = new RelationshipRequest();
- if("generic-vnf".equals(resoourceName)){
- 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<Relationship>(relationships);
- for(Relationship relationship : iterableList) {
- if(relationship.getRelatedTo().equals(relatedTo)) {
- relationships.remove(relationship);
- itemRemoved = true;
- }
- }
-
- if(!itemRemoved)
- return QueryStatus.NOT_FOUND;
-
-// AAIRequest masterRequest = new GenericVnfRequest();
-// masterRequest.addRequestProperty(GenericVnfRequest.VNF_ID, vnfId);
-// relationshipRequest.addMasterRequest(masterRequest);
-// Map<String, String> attributes = objectToProperties(vnf);
-// try {
-// Boolean result = getExecutor().delete(relationshipRequest, attributes.get(AAIRequest.RESOURCE_VERSION));
-// } catch (AAIServiceException e) {
-// return QueryStatus.FAILURE;
-// }
-
- 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 {
- // TODO Auto-generated method stub
- 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 {
- // TODO Auto-generated method stub
- 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) {
-
- Object response = null;
- 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<String, String>();
-
- request.processRequestPathValues(nameValues);
- if(nameValues.containsKey("prefix")){
- Map<String, String> tmpParams = ctxGetBeginsWith(ctx, nameValues.get("prefix"));
- if(!tmpParams.isEmpty()) {
- params.putAll(tmpParams);
- }
- if("named-query".equals(resource))
- request.setRequestObject(extractNamedQueryDataFromQueryPrefix(nameValues, params));
- }
- String rv = getExecutor().get(request);
-
- retval = processResponseData(rv, resource, request, prefix, ctx, nameValues, modifier);
-
- } catch(AAIServiceException aaiexc) {
- int errorCode = aaiexc.getReturnCode();
- ctx.setAttribute(prefix + ".error.message", aaiexc.getMessage());
- if(errorCode >= 300) {
- ctx.setAttribute(prefix + ".error.http.response-code", "" + 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, HashMap<String, String> nameValues, String modifier) throws JsonParseException, JsonMappingException, IOException, AAIServiceException
- {
- Object response = null;
-
- 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("named-query".equals(resource)) {
- InventoryResponseItems rd = InventoryResponseItems.class.cast(response);
- List<InventoryResponseItem> iRIlist = rd.getInventoryResponseItem();
- if(iRIlist == null || iRIlist.isEmpty()) {
- 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;
-// writeList((ArrayList)rdList, prefix, ctx);
- }
-
- if("formatted-query".equals(resource) || "custom-query".equals(resource)) {
- FormattedQueryResultList rd = FormattedQueryResultList.class.cast(response);
- List<Results> 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("Retrofiting relationship data: " + exc.getMessage());
- }
-
- String preFix = null;
- 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<String, String>();
-
- 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) {
- 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 {
- // TODO Auto-generated method stub
- 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 {
- // TODO Auto-generated method stub
- 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<String>();
- Set<String> set = params.keySet();
- Map<String, Method> setters = new HashMap<String, Method>();
- Map<String, Method> getters = new HashMap<String, Method>();
-
- // 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();
- Method setter = null;
- try {
- setter = resourceClass.getMethod("set"+StringUtils.capitalize(value), type);
- if(type.getName().startsWith("java.lang") || "boolean".equals(type.getName()) || "long".equals(type.getName())) {
- try {
- setter.setAccessible(true);
- 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("boolean".equals(type.getName())) {
- arglist[0] = valueOf(Boolean.class, params.get(id));
- } else if("long".equals(type.getName())) {
- arglist[0] = valueOf(Long.class, params.get(id));
- } else {
- arglist[0] = valueOf(type, params.get(id));
- }
- }
- Object o = setter.invoke(instance, arglist);
- }
- set.remove(id);
-
- } catch (Exception x) {
- Throwable cause = x.getCause();
- getLogger().warn("Failed process for " + resourceClass.getName(), x);
- }
- } else if(type.getName().equals("java.util.List")) {
- List<String> newValues = new ArrayList<String>();
- String length = id+"_length";
- if(!params.isEmpty() && params.containsKey(length)) {
- String tmp = params.get(length).toString();
- int count = Integer.valueOf(tmp);
- for(int i=0; i<count; i++) {
- String tmpValue = params.get(String.format("%s[%d]", id, i));
- newValues.add(tmpValue);
- }
- if(!newValues.isEmpty()) {
- Object o = setter.invoke(instance, newValues);
- }
- }
- set.remove(id);
- } else {
- setters.put(id, setter);
- }
- } catch(Exception exc) {
-
- }
-
- Method getter = null;
- try {
- getter = resourceClass.getMethod("get"+StringUtils.capitalize(value));
- if(!type.getName().equals("java.lang.String")) {
- getters.put(id, getter);
- }
- } catch(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<String>();
- Set<String> vlansKeys = new TreeSet<String>();
- Set<String> metadataKeys = new TreeSet<String>();
-
- 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 {
- method.setAccessible(true);
- 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;
-// getLogger().debug(String.format("Processing %s with parameter %s", types[0].getName(), value));
- 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("Retrofiting relationship data: " + exc.getMessage());
- }
-
- if(getRelationshipListMethod != null){
- try {
- getRelationshipListMethod.setAccessible(true);
- 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 {
- setRelationshipListMethod.setAccessible(true);
- 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);
- if(relatedLink != null) {
- relationship.setRelatedLink(relatedLink);
- } else {
-// List<RelationshipData> relData = relationship.getRelationshipData();
- Map<String, String> relParams = new HashMap<String, String>();
-
- 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));
-// relData.add(relDatum);
-
- relParams.put(params.get(searchRelationshipKey), params.get(searchRelationshipValue));
- j++;
- }
- AAIRequest rlRequest = AAIRequest.createRequest(relatedTo, relParams);
- for(String key1 : relParams.keySet()) {
- rlRequest.addRequestProperty(key1, relParams.get(key1));
- }
- String path = rlRequest.updatePathDataValues(null);
- relationship.setRelatedLink(path);
- }
- i++;
- }
- }
-
- // 4. vlans
- if(subResources.contains("vlans") && !vlansKeys.isEmpty()) {
- Object obj = null;
- Vlans vlanList = null;
- Method getVLansMethod = resourceClass.getMethod("getVlans");
- if(getVLansMethod != null){
- try {
- getVLansMethod.setAccessible(true);
- 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 {
- setVlansMethod.setAccessible(true);
- 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 {
- getMetadataMethod.setAccessible(true);
- 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 {
- setMetadataMethod.setAccessible(true);
- Object arglist[] = new Object[1];
- arglist[0] = metadataList;
-
- obj = setMetadataMethod.invoke(instance, arglist);
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
- }
-
- if(metadataList.getMetadatum() == null) {
-// metadataList.setMetadatum(new ArrayList<Metadatum>());
- }
-
- // 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;
- }
- }
-// } else {
-// boolean response = getExecutor().post(request);
-
- } catch(AAIServiceException exc){
- ctx.setAttribute(prefix + ".error.message", exc.getMessage());
- int returnCode = exc.getReturnCode();
- if(returnCode >= 300) {
- ctx.setAttribute(prefix + ".error.http.response-code", "" + 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 QueryStatus newModelProcessRelationshipList(Object instance, Map<String, String> params, String prefix, SvcLogicContext ctx) throws Exception {
-
- Class resourceClass = instance.getClass();
-
- Set<String> relationshipKeys = new TreeSet<String>();
-
- 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 = null;
- Object obj = null;
- Method getRelationshipListMethod = null;
- try {
- getRelationshipListMethod = resourceClass.getMethod("getRelationshipList");
- } catch(Exception exc) {
- getLogger().debug("Retrofiting relationship data: " + exc.getMessage());
- }
- if(getRelationshipListMethod != null){
- try {
- getRelationshipListMethod.setAccessible(true);
- 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 {
- setRelationshipListMethod.setAccessible(true);
- 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<Relationship>();
- createdNewRelationships = true;
- }
-
- 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);
- if(relatedLink != null) {
- relationship.setRelatedLink(relatedLink);
- } else {
-// List<RelationshipData> relData = relationship.getRelationshipData();
- Map<String, String> relParams = new HashMap<String, String>();
-
- 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));
-// relData.add(relDatum);
-
- relParams.put(params.get(searchRelationshipKey), params.get(searchRelationshipValue));
- j++;
- }
- AAIRequest rlRequest = AAIRequest.createRequest(relatedTo, relParams);
- for(String key : relParams.keySet()) {
- rlRequest.addRequestProperty(key, relParams.get(key));
- }
- String path = rlRequest.updatePathDataValues(null);
- relationship.setRelatedLink(path);
- }
-
- 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<String, String>();
- 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<String, String>();
- if(AAIRequest.createRequest(resource, nameValues) != null) {
-
- try {
- retval = newModelBackupRequest(resource, params, "tmpRestore", ctx);
- if(retval == QueryStatus.SUCCESS) {
- String current_json = ctx.getAttribute("tmpRestore");
- ctx. setAttribute("tmpRestore", null);
-
- String snapshot_json = ctx.getAttribute(prefix);
- }
- } 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, 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 {
- getResourceVersionMethod.setAccessible(true);
- Object object = getResourceVersionMethod.invoke(instance);
- if(object != null)
- resourceVersion = object.toString();
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
-
- RelationshipList relationshipList = null;
- Object obj = null;
- Method getRelationshipListMethod = null;
- try {
- getRelationshipListMethod = resourceClass.getMethod("getRelationshipList");
- } catch(Exception exc) {
- getLogger().debug("Retrofiting relationship data: " + exc.getMessage());
- }
- if(getRelationshipListMethod != null){
- try {
- getRelationshipListMethod.setAccessible(true);
- 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<Relationship>();
-
- 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 = deleteRelationshipList(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;
- }
- }
-
- static final Map<String, String> ctxGetBeginsWith( SvcLogicContext ctx, String prefix ) {
- Map<String, String> tmpPrefixMap = new HashMap<String, String>();
-
- 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<String, String>();
- Pattern p = Pattern.compile(".*\\[\\d\\]");
-
- SortedSet<String> keys = new TreeSet(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<String>();
- 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;
- }
-
- /**
- */
- protected NamedQueryData extractNamedQueryDataFromQueryPrefix(HashMap<String, String> nameValues, Map<String, String> parms) {
- if(parms.isEmpty()) {
- return null;
- }
-
- NamedQueryData data = new NamedQueryData();
-
- // query parameters
- if(data.getQueryParameters() == null) {
- data.setQueryParameters(new QueryParameters());
- }
- String namedQueryUuid = nameValues.get("named-query-uuid".replaceAll("-", "_"));
- if(namedQueryUuid == null) {
- namedQueryUuid = parms.get("query-parameters.named-query.named-query-uuid");
- }
- NamedQuery namedQuery = new NamedQuery();
- namedQuery.setNamedQueryUuid(namedQueryUuid);
- data.getQueryParameters().setNamedQuery(namedQuery);
-
- // instance filters
- if(data.getInstanceFilters() == null) {
- data.setInstanceFilters(new InstanceFilters());
- }
-
-
- String quantity = parms.get("instance-filters.instance-filter_length");
- if(quantity != null && StringUtils.isNumeric(quantity)) {
- int max = Integer.parseInt(quantity);
- for(int i = 0; i < max; i++) {
- String keyPattern = String.format("instance-filters.instance-filter[%d].", i);
- Set<String> keys = parms.keySet();
- for(String key: keys) {
- if(key.startsWith(keyPattern)){
- String value = parms.get(key);
- String remainder = key.substring(keyPattern.length());
- String[] split = remainder.split("\\.");
- getLogger().debug(String.format("%s", remainder));
- if("logical-link".equals(split[0])) {
- InstanceFilter insf = null;
- if(data.getInstanceFilters().getInstanceFilter().isEmpty()) {
- insf = new InstanceFilter();
- data.getInstanceFilters().getInstanceFilter().add(insf);
- } else {
- insf = data.getInstanceFilters().getInstanceFilter().get(0);
- }
- LogicalLink logicalLink = insf.getLogicalLink();
- if(logicalLink == null) {
- logicalLink = new LogicalLink();
- insf.setLogicalLink(logicalLink);
- }
-
- switch(split[1]) {
- case "link-name":
- logicalLink.setLinkName(value);
- break;
- case "link-type":
- logicalLink.setLinkType(value);
- break;
- case "operational-state":
- logicalLink.setOperationalStatus(value);
- break;
- }
-
- } else if("pnf".equals(split[0])) {
- Pnf pnf = new Pnf();
- pnf.setPnfName(value);
-
- InstanceFilter insf = new InstanceFilter();
- insf.setPnf(pnf);
- data.getInstanceFilters().getInstanceFilter().add(insf);
-
- } else if("service-instance".equals(split[0])) {
- ServiceInstance serviceInstance = new ServiceInstance();
- serviceInstance.setServiceInstanceId(value);
-
- InstanceFilter insf = new InstanceFilter();
- insf.setServiceInstance(serviceInstance);
- data.getInstanceFilters().getInstanceFilter().add(insf);
-
- } else if("l3-network".equals(split[0])) {
- L3Network l3Network = new L3Network();
- if("network-role".equals(split[1])) {
- l3Network.setNetworkRole(value);
- }
-
- InstanceFilter insf = new InstanceFilter();
- insf.setL3Network(l3Network);
- data.getInstanceFilters().getInstanceFilter().add(insf);
- }
- }
- }
- }
- }
-
- return data;
- }
-
- public abstract <T> T getResource(String key, Class<T> type) throws AAIServiceException ;
- protected abstract boolean deleteRelationshipList(URL url, String caller) throws AAIServiceException;
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java
deleted file mode 100644
index 8137601..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java
+++ /dev/null
@@ -1,441 +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.openecomp.sdnc.sli.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.URL;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.BitSet;
-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.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.*;
-
-public abstract class AAIRequest {
- protected static final Logger LOG = LoggerFactory.getLogger(AAIRequest.class);
-
- protected static final String TARGET_URI = "org.openecomp.sdnc.sli.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 target_uri;
- 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;
-
- if(resoource == null)
- return null;
-
- if(resoource.contains(":")) {
- String[] tokens = resoource.split(":");
- if(tokens != null && tokens.length > 0) {
- resoource = tokens[0];
- }
- }
-
- if(nameValues.containsKey("selflink")){
- Class<? extends AAIDatum> clazz = null;
- try {
- clazz = getClassFromResource(resoource) ;
- } catch (ClassNotFoundException e) {
- LOG.warn("AAIRequest does not support class: " + e.getMessage());
- return null;
- }
-
- if(clazz != null)
- return new SelfLinkRequest(clazz);
- else
- return null;
- }
-
- switch(resoource){
- case "generic-query":
- return new GenericQueryRequest();
- case "named-query":
- return new NamedQueryRequest();
- case "nodes-query":
- return new NodesQueryRequest();
- case "custom-query":
- case "formatted-query":
- return new CustomQueryRequest();
- case "linterface":
- return new LInterfaceRequest(LInterfaceRequest.TYPE.L2_BRIDGE_SBG);
- case "l2-bridge-sbg":
- return new SubInterfaceRequest(SubInterfaceRequest.TYPE.L2_BRIDGE_SBG);
- case "l2-bridge-bgf":
- return new SubInterfaceRequest(SubInterfaceRequest.TYPE.L2_BRIDGE_BGF);
- case "echo":
- case "test":
- return new EchoRequest();
-
- default:
- {
- AAIRequest request = getRequestFromResource(resoource);
- if(request == null) {
- return null;
- }
- return request;
- }
- }
- }
-
-
- /**
- * Map containing resource tag to its bit position in bitset mapping
- */
- private static Map<String, String> tagValues = new LinkedHashMap<String, String>();
- /**
- * Map containing bitset value of the path to its path mapping
- */
- private static Map<BitSet, String> bitsetPaths = new LinkedHashMap<BitSet, String>();
-
-
- public static Set<String> getResourceNames() {
- return tagValues.keySet();
- }
-
-
- public static void setProperties(Properties props, AAIService aaiService) {
- AAIRequest.configProperties = props;
- AAIRequest.aaiService = aaiService;
-
- try
- {
- URL url = null;
- Bundle bundle = FrameworkUtil.getBundle(AAIServiceActivator.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");
- }
-
- InputStream in = url.openStream();
- Reader reader = new InputStreamReader(in, "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<String>();
-
- 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.info(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() {
- target_uri = 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 {
-
- String request_url = null;
-
- request_url = target_uri + 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) {
- e.printStackTrace();
- }
- }
- }
-
- if(resourceVersion != null) {
- request_url = request_url +"?resource-version="+resourceVersion;
- }
-
- return request_url;
- }
-
-
- protected String getRequestPath() throws MalformedURLException {
- Set<String> uniqueResources = extractUniqueResourceSetFromKeys(requestProperties.stringPropertyNames());
- 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;
-
- 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<String>();
- List<String> keys = new ArrayList<String>(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<String>();
- 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) throws ClassNotFoundException {
- 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);
- Class<? extends AAIDatum> clazz = null;
- try {
- clazz = (Class<? extends AAIDatum>)Class.forName(className);
- } catch (ClassNotFoundException e) {
- LOG.warn("AAIRequest does not support class: " + e.getMessage());
- return null;
- }
-
- return clazz;
- }
-
- protected static AAIRequest getRequestFromResource(String resoourceName) {
-
- Class<? extends AAIDatum> clazz = null;
- try {
- clazz = getClassFromResource(resoourceName);
- } catch (ClassNotFoundException e) {
- LOG.warn("AAIRequest does not support class: " + e.getMessage());
- return null;
- }
- if(clazz == null) {
- return null;
- }
- GenericRequest request = new GenericRequest(clazz);
- return request;
- }
-
- public static Map<String, String> splitQuery(String query) throws UnsupportedEncodingException {
- Map<String, String> query_pairs = new LinkedHashMap<String, String>();
-
- 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<String, String>();
-
- 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;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIService.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIService.java
deleted file mode 100644
index 8ecfd8b..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIService.java
+++ /dev/null
@@ -1,3311 +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.openecomp.sdnc.sli.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.io.UnsupportedEncodingException;
-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.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.ArrayList;
-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.ws.rs.core.UriBuilder;
-import javax.xml.bind.annotation.XmlElement;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.openecomp.sdnc.sli.ConfigurationException;
-import org.openecomp.sdnc.sli.MetricLogger;
-import org.openecomp.sdnc.sli.SvcLogicContext;
-import org.openecomp.sdnc.sli.SvcLogicException;
-import org.openecomp.sdnc.sli.SvcLogicResource;
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-import org.openecomp.sdnc.sli.aai.data.ErrorResponse;
-import org.openecomp.sdnc.sli.aai.data.RequestError;
-import org.openecomp.sdnc.sli.aai.data.ResourceVersion;
-import org.openecomp.sdnc.sli.aai.data.ServiceException;
-import org.openecomp.sdnc.sli.aai.data.notify.NotifyEvent;
-import org.openecomp.sdnc.sli.aai.data.v1507.VServer;
-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;
-import com.sun.jersey.api.client.config.DefaultClientConfig;
-import com.sun.jersey.client.urlconnection.HTTPSProperties;
-
-import org.openecomp.aai.inventory.v11.*;
-
-
-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 truststore_path;
- private final String truststore_password;
- private final String keystore_path;
- private final String keystore_password;
- private final Boolean ignore_certificate_host_error;
-
- private final String target_uri;
- private final String query_path; // = "sdn-zone-query";
-
- private final String network_vserver_path;
-
- private final String svc_instance_path;
- private final String svc_inst_qry_path;
-
- private final String vnf_image_query_path;
-
- private final String param_service_type; //= "service-type";
-
- private final String ubb_notify_path;
- private final String selflink_avpn;
- private final String selflink_fqdn;
-
- private final String p_interface_path;
-
- private final String service_path;
- private final String site_pair_set_path;
-
- private final int connection_timeout;
- private final int read_timeout;
-
- // 1602
- private final String query_nodes_path;
- private final String update_path;
-
- private final String application_id;
-
- // authentication credentials
- private String user_name;
- private String user_password;
-
- // runtime
- private final boolean runtimeOSGI;
-
- private SSLContext CTX;
-
- private final MetricLogger ml = new MetricLogger();
-
- private final AAIRequestExecutor executor;
-
- public AAIService(URL propURL) {
- LOG.info("Entered AAIService.ctor");
-
- String runtime = System.getProperty("aaiclient.runtime");
- if(runtime != null && runtime.equals("OSGI")) {
- runtimeOSGI = true;
- } else {
- runtimeOSGI = false;
- }
-
- Properties props = null;
- try {
- props = initialize(propURL);
- AAIRequest.setProperties(props, this);
-
- } catch(Exception exc){
- LOG.error("AicAAIResource.static", exc);
- }
-
- executor = new AAIRequestExecutor();
-
- user_name = props.getProperty(CLIENT_NAME);
- user_password = props.getProperty(CLIENT_PWWD);
-
- if(user_name == null || user_name.isEmpty()){
- LOG.debug("Basic user name is not set");
- }
- if(user_password == null || user_password.isEmpty()) {
- LOG.debug("Basic password is not set");
- }
-
- truststore_path = props.getProperty(TRUSTSTORE_PATH);
- truststore_password = props.getProperty(TRUSTSTORE_PSSWD);
- keystore_path = props.getProperty(KEYSTORE_PATH);
- keystore_password = props.getProperty(KEYSTORE_PSSWD);
-
- target_uri = props.getProperty(TARGET_URI);
- query_path = props.getProperty(QUERY_PATH);
- update_path = props.getProperty(UPDATE_PATH);
-
- String applicationId =props.getProperty(APPLICATION_ID);
- if(applicationId == null || applicationId.isEmpty()) {
- applicationId = "SDNC";
- }
- application_id = applicationId;
-
- // 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;
- }
- connection_timeout = tmpConnectionTimeout;
- read_timeout = tmpReadTimeout;
-
- network_vserver_path =props.getProperty(NETWORK_VSERVER_PATH);
-
- svc_instance_path = props.getProperty(SVC_INSTANCE_PATH); // "/aai/v1/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances");
-// "/aai/v1/business/customers/customer/ma9181-203-customerid/service-subscriptions/service-subscription/ma9181%20Hosted%20Voice/service-instances";
-
-// svc_inst_qry_path = props.getProperty(SVC_INST_QRY_PATH, "/aai/v1/search/generic-query?key=service-instance.service-instance-id:ma9181-204-instance&start-node-type=service-instance&include=service-instance");
- svc_inst_qry_path = props.getProperty(SVC_INST_QRY_PATH); // "/aai/v1/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance");
-
-
- param_service_type = props.getProperty(PARAM_SERVICE_TYPE, "service-type");
-
- // P-Interfaces
- p_interface_path = props.getProperty(P_INTERFACE_PATH);
-
- vnf_image_query_path = props.getProperty(VNF_IMAGE_QUERY_PATH);
-
- ubb_notify_path = props.getProperty(UBB_NOTIFY_PATH);
- selflink_avpn = props.getProperty(SELFLINK_AVPN);
- selflink_fqdn = props.getProperty(SELFLINK_FQDN);
-
- service_path = props.getProperty(SERVICE_PATH);
-
- site_pair_set_path = props.getProperty(SITE_PAIR_SET_PATH);
-
- query_nodes_path = 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);
- }
-
- ignore_certificate_host_error = host_error;
-
- HttpsURLConnection.setDefaultHostnameVerifier( new HostnameVerifier(){
- public boolean verify(String string,SSLSession ssls) {
- return ignore_certificate_host_error;
- }
- });
-
- if(truststore_path != null && truststore_password != null && (new File(truststore_path)).exists()) {
- System.setProperty("javax.net.ssl.trustStore", truststore_path);
- System.setProperty("javax.net.ssl.trustStorePassword", truststore_password);
- }
-
- if(keystore_path != null && keystore_password != null && (new File(keystore_path)).exists())
- {
- DefaultClientConfig config = new DefaultClientConfig();
- //both jersey and HttpURLConnection can use this
- SSLContext ctx = null;
- try {
- ctx = SSLContext.getInstance("TLS");
-
- KeyManagerFactory kmf = null;
- try {
- String def = "SunX509";
- String storeType = "PKCS12";
- def = KeyStore.getDefaultType();
- kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
- FileInputStream fin = new FileInputStream(keystore_path);
-// KeyStore ks = KeyStore.getInstance("PKCS12");
-
- String extension = keystore_path.substring(keystore_path.lastIndexOf(".") + 1);
-
- if(extension != null && !extension.isEmpty() && extension.equalsIgnoreCase("JKS")) {
- storeType = "JKS";
- }
- KeyStore ks = KeyStore.getInstance(storeType);
-
- char[] pwd = keystore_password.toCharArray();
- ks.load(fin, pwd);
- kmf.init(ks, pwd);
- } catch (Exception ex) {
- LOG.error("AAIResource", ex);
- }
-
- 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 ignore_certificate_host_error;
- }
- }, 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) {
- e.printStackTrace();
- }
-
- }
-
- 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( connection_timeout );
- con.setReadTimeout( read_timeout );
- 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", application_id);
- 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(MetricLogger.REQUEST_ID, mlId);
- } else {
- LOG.debug("MetricLogger requestId is null");
- }
-
- if(user_name != null && !user_name.isEmpty() && user_password != null && !user_password.isEmpty()) {
- String basicAuth = "Basic " + new String(Base64.encodeBase64((user_name + ":" + user_password).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(new Object(){}.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 boolean deleteGenericVnfData(String vnf_id, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("generic-vnf");
- request.addRequestProperty("generic-vnf.vnf-id", vnf_id);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deleteGenericVnfData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- /* (non-Javadoc)
- * @see org.openecomp.sdnc.sli.resource.aic.AnAIClient#requestSdnZoneQuery(java.lang.String, java.lang.String, java.lang.String)
- */
- @Override
- public Vce requestNetworkVceData(String vnf_id) throws AAIServiceException {
- Vce response = null;
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vce");
- request.addRequestProperty("vce.vnf-id", vnf_id);
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, Vce.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
-
- return response;
- }
-
-
- /* (non-Javadoc)
- * @see org.openecomp.sdnc.sli.resource.aic.AnAIClient#requestSdnZoneQuery(java.lang.String, java.lang.String, java.lang.String)
- */
- @Override
- public boolean deleteNetworkVceData(String vnf_id, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vce");
- request.addRequestProperty("vce.vnf-id", vnf_id);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deleteNetworkVceData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- /* (non-Javadoc)
- * @see org.openecomp.sdnc.sli.resource.aic.AnAIClient#postNetworkVceData(java.lang.String, org.openecomp.sdnc.sli.resource.aic.aai.VCERequest)
- */
- @Override
- public boolean postNetworkVceData(String vnf_id, Vce data) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vce");
- request.addRequestProperty("vce.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_qry_path;
- path = path.replace("{svc-instance-id}", encodeQuery(svc_instance_id));
-
- String request_url = target_uri+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) {
-// StringBuilder stringBuilder = new StringBuilder("\n");
-// String line = null;
-// while( ( line = reader.readLine() ) != null ) {
-// stringBuilder.append("\n").append( line );
-// }
-// LOG.info(stringBuilder.toString());
- 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) {
-
- }
- }
- }
- return response;
- }
-
- @Override
- public ServiceInstance requestServiceInterfaceData(String customer_id, String service_type, String svc_instance_id) throws AAIServiceException {
- ServiceInstance response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("service-instance");
- request.addRequestProperty("customer.global-customer-id", customer_id);
- request.addRequestProperty("ervice-subscription.service-type", service_type);
- request.addRequestProperty("service-instance.service-instance-id", svc_instance_id);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, ServiceInstance.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestServiceInterfaceData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public boolean postServiceInterfaceData(String customer_id, String service_type, String svc_instance_id, ServiceInstance data) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("service-instance");
- request.addRequestProperty("customer.customer-id", customer_id);
- request.addRequestProperty("service-subscription.service-type", service_type);
- request.addRequestProperty("service-instance.service-instance-id", svc_instance_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);
- }
- }
-
-
- 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() {
-// long id = tracker.getAndIncrement();
-// String transactionId = String.format("N%016X", id);
- String transactionId = UUID.randomUUID().toString();
- 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;
- }
-
- @Override
- public Vpe requestNetworkVpeData(String vnf_id) throws AAIServiceException {
- Vpe response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vpe");
- request.addRequestProperty("vpe.vnf-id", vnf_id);
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, Vpe.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public boolean postNetworkVpeData(String vnf_id, Vpe data) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vpe");
- request.addRequestProperty("vpe.vnf-id", vnf_id);
- request.setRequestObject(data);
- Object response = executor.post(request);
- return true;
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- }
-
- @Override
- public boolean deleteNetworkVpeData(String vnf_id, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vpe");
- request.addRequestProperty("vpe.vnf-id", vnf_id);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public VplsPe requestNetworkVplsPeData(String equipment_name)throws AAIServiceException {
- VplsPe response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vpls-pe");
- request.addRequestProperty("vpls-pe.equipment-name", equipment_name);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, VplsPe.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public boolean postNetworkVplsPeData(String equipment_name, VplsPe data) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vpls-pe");
- request.addRequestProperty("vpls-pe.equipment-name", equipment_name);
- 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 boolean deleteNetworkVplsPeData(String vnf_id, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vpls-pe");
- request.addRequestProperty("vpls-pe.equipment-name", vnf_id);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deleteNetworkVplsPeData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public Complex requestNetworkComplexData(String pLocId) throws AAIServiceException {
- Complex response = null;
- InputStream inputStream = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("complex");
- request.addRequestProperty("complex.physical-location-id", pLocId);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, Complex.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestNetworkComplexData", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
-
- }
- }
- }
- return response;
- }
-
- @Override
- public boolean postNetworkComplexData(String vnf_id, Complex data) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("complex");
- request.addRequestProperty("complex.physical-location-id", vnf_id);
- request.setRequestObject(data);
- Object response = executor.post(request);
- return true;
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("postNetworkComplexData", exc);
- throw new AAIServiceException(exc);
- }
- }
-
- @Override
- public boolean deleteNetworkComplexData(String pLocId, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("complex");
- request.addRequestProperty("complex.physical-location-id", pLocId);
-
- response = executor.delete(request, resourceVersion);
-
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deleteNetworkComplexData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- /*
- * (non-Javadoc)
- * @see org.openecomp.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(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
-
- @Override
- public boolean postVServerData(String tenantId, String vserverId, String cloudOwner, String cloudRegionId, Vserver data) throws AAIServiceException {
- 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);
- request.setRequestObject(data);
- Object response = executor.post(request);
- return true;
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("postNetworkComplexData", exc);
- throw new AAIServiceException(exc);
- }
- }
-
- @Override
- public boolean deleteVServerData(String tenant_id, String vserver_id, String cloudOwner, String cloudRegionId, String resourceVersion) throws AAIServiceException {
- boolean response = false;
- InputStream inputStream = null;
-
- try {
- String local_network_complexes_path = network_vserver_path.replace("{tenant-id}", encodeQuery(tenant_id));
- local_network_complexes_path = local_network_complexes_path.replace("{vserver-id}", encodeQuery(vserver_id));
- local_network_complexes_path = local_network_complexes_path.replace("{cloud-owner}", encodeQuery(cloudOwner));
- local_network_complexes_path = local_network_complexes_path.replace("{cloud-region-id}", encodeQuery(cloudRegionId));
-
- String request_url = target_uri+local_network_complexes_path;
- if(resourceVersion!=null) {
- request_url = request_url +"?resource-version="+resourceVersion;
- }
- URL http_req_url = new URL(request_url);
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.DELETE);
-
- LOGwriteFirstTrace(HttpMethod.DELETE, http_req_url.toString());
- LOGwriteDateTrace("tenant_id", tenant_id);
- LOGwriteDateTrace("vserver_id", vserver_id);
- LOGwriteDateTrace("cloud-owner", cloudOwner);
- LOGwriteDateTrace("cloud-region-id", cloudRegionId);
-
- // 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("deleteVServerData", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
-
- }
- }
- }
- return response;
- }
-
-
- /*
- * (non-Javadoc)
- * @see org.openecomp.sdnc.sli.aai.AAIClient#requestCtagPoolData(String)
- */
- @Override
- public CtagPool requestCtagPoolData(String physical_location_id, String target_pe, String availability_zone_name) throws AAIServiceException {
- CtagPool response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("ctag-pool");
-
- request.addRequestProperty("ctag-pool.target-pe", target_pe);
- request.addRequestProperty("ctag-pool.availability-zone-name", availability_zone_name);
- request.addRequestProperty("complex.physical-location-id", physical_location_id);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, CtagPool.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestNetworkVceData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- //==================== DvsSwitch ======================
- @Override
- public DvsSwitch requestDvsSwitchData(String vnf_id) throws AAIServiceException {
- DvsSwitch response = null;
- InputStream inputStream = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("dvs-switch");
- request.addRequestProperty("dvs-switch.switch-name", vnf_id);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, DvsSwitch.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestDvsSwitchData", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
-
- }
- }
- }
- return response;
- }
-
- @Override
- public boolean postDvsSwitchData(String switch_name, DvsSwitch data) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("dvs-switch");
- request.addRequestProperty("dvs-switch.switch-name", switch_name);
- request.setRequestObject(data);
- Object response = executor.post(request);
- return true;
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- }
-
- @Override
- public boolean deleteDvsSwitchData(String vnf_id, String resourceVersion) throws AAIServiceException {
- boolean response = false;
- InputStream inputStream = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("dvs-switch");
- request.addRequestProperty("dvs-switch.switch-name", vnf_id);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deleteDvsSwitchData", 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(new Object(){}.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;
- }
- //================== End of PhysicalLink =================
- //==================== PInterface ======================
- @Override
- public PInterface requestPInterfaceData(String hostname, String interfaceName) throws AAIServiceException {
- PInterface response = null;
-
- try {
- AAIRequest request = new PInterfaceRequest();
- request.addRequestProperty(PInterfaceRequest.PINTERFACE_INTERFACE_NAME, interfaceName);
- request.addRequestProperty(PInterfaceRequest.PSERVER_HOSTNAME, hostname);
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, PInterface.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public boolean postPInterfaceData(String hostname, String interfaceName, PInterface request) throws AAIServiceException {
- InputStream inputStream = null;
-
- try {
-
- ObjectMapper mapper = getObjectMapper();
- String json_text = mapper.writeValueAsString(request);
-
- SSLSocketFactory sockFact = CTX.getSocketFactory();
-
- String request_url = target_uri+p_interface_path;
- String encoded_vnf = encodeQuery(hostname);
- request_url = request_url.replace("{hostname}", encoded_vnf) ;
- encoded_vnf = encodeQuery(interfaceName);
- request_url = request_url.replace("{interface-name}", encoded_vnf) ;
- URL http_req_url = new URL(request_url);
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
-
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(json_text);
- osw.flush();
- osw.close();
-
-
- LOGwriteFirstTrace("PUT", request_url);
- LOGwriteDateTrace("hostname", hostname);
- LOGwriteDateTrace("interface-name", interfaceName);
- LOGwriteDateTrace("PInterface", 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 != null) ? 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("postPInterfaceData", exc);
- throw new AAIServiceException(exc);
- } finally {
- try {
- if(inputStream != null)
- inputStream.close();
- } catch (Exception exc) {
-
- }
- }
- }
-
- @Override
- public boolean deletePInterfaceData(String hostname, String interfaceName, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("p-interface");
- request.addRequestProperty("p-interface.interface-name", interfaceName);
- request.addRequestProperty("pserver.hostname", hostname);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deletePInterfaceData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
- //================== End of PInterface =================
- //==================== SitePairSet ======================
- @Override
- public SitePairSet requestSitePairSetData(String sitePairSetId) throws AAIServiceException {
- SitePairSet response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("site-pair-set");
- request.addRequestProperty("site-pair-set.site-pair-set-id", sitePairSetId);
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, SitePairSet.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public boolean postSitePairSetData(String linkName, SitePairSet request) throws AAIServiceException {
- InputStream inputStream = null;
-
- try {
-
- ObjectMapper mapper = getObjectMapper();
- String json_text = mapper.writeValueAsString(request);
-
- SSLSocketFactory sockFact = CTX.getSocketFactory();
-
- String request_url = target_uri+site_pair_set_path;
- String encoded_vnf = encodeQuery(linkName);
- request_url = request_url.replace("{site-pair-set-id}", encoded_vnf) ;
- URL http_req_url = new URL(request_url);
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
-
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(json_text);
- osw.flush();
- osw.close();
-
-
- LOGwriteFirstTrace("PUT", request_url);
- LOGwriteDateTrace("link-name", linkName);
- LOGwriteDateTrace("SitePairSet", 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 != null) ? 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("postSitePairSetData", exc);
- throw new AAIServiceException(exc);
- } finally {
- try {
- if(inputStream != null)
- inputStream.close();
- } catch (Exception exc) {
-
- }
- }
- }
-
- @Override
- public boolean deleteSitePairSetData(String linkName, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("site-pair-set");
- request.addRequestProperty("site-pair-set.site-pair-set-id", linkName);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deleteSitePairSetData", exc);
- throw new AAIServiceException(exc);
- }
-
- return response;
- }
- //================== End of SitePairSet =================
- //==================== Service ======================
- @Override
- public Service requestServiceData(String serviceId) throws AAIServiceException {
- Service response = null;
- InputStream inputStream = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("service");
- request.addRequestProperty("service.service-id", serviceId);
-
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, Service.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestServiceData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public boolean postServiceData(String linkName, Service request) throws AAIServiceException {
- InputStream inputStream = null;
-
- try {
-
- ObjectMapper mapper = getObjectMapper();
- String json_text = mapper.writeValueAsString(request);
-
- SSLSocketFactory sockFact = CTX.getSocketFactory();
-
- String request_url = target_uri+service_path;
- String encoded_vnf = encodeQuery(linkName);
- request_url = request_url.replace("{service-id}", encoded_vnf) ;
- URL http_req_url = new URL(request_url);
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
-
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(json_text);
- osw.flush();
- osw.close();
-
-
- LOGwriteFirstTrace("PUT", request_url);
- LOGwriteDateTrace("service-id", linkName);
- LOGwriteDateTrace("Service", 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 != null) ? 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("postServiceData", exc);
- throw new AAIServiceException(exc);
- } finally {
- try {
- if(inputStream != null)
- inputStream.close();
- } catch (Exception exc) {
-
- }
- }
- }
-
- @Override
- public boolean deleteServiceData(String service_id, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("service");
- request.addRequestProperty("service.service-id", service_id);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deleteServiceData", exc);
- throw new AAIServiceException(exc);
- }
-
- return response;
- }
- //================== End of Service =================
-
-
-
- // 1507 - Request
- @Override
- public VServer dataChangeRequestVServerData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return this.getResource(url.toString(), VServer.class);
- }
-
- @Override
- public Pserver dataChangeRequestPServerData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return this.getResource(url.toString(), Pserver.class);
- }
-
- @Override
- public CtagPool dataChangeRequestCtagPoolData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return this.getResource(url.toString(), CtagPool.class);
- }
-
- @Override
- public VplsPe dataChangeRequestVplsPeData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return this.getResource(url.toString(), VplsPe.class);
- }
-
- @Override
- public Vpe dataChangeRequestVpeData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return this.getResource(url.toString(), Vpe.class);
- }
-
- @Override
- public DvsSwitch dataChangeRequestDvsSwitchData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return this.getResource(url.toString(), DvsSwitch.class);
- }
-
- @Override
- public OamNetwork dataChangeRequestOAMNetworkData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return this.getResource(url.toString(), OamNetwork.class);
- }
-
- @Override
- public AvailabilityZone dataChangeRequestAvailabilityZoneData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return this.getResource(url.toString(), AvailabilityZone.class);
- }
-
- @Override
- public Complex dataChangeRequestComplexData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return this.getResource(url.toString(), Complex.class);
- }
-
- /* DELETE */
- public boolean dataChangeDeleteVServerData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
- }
-
- public boolean dataChangeDeleteCtagPoolData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
- }
-
- public boolean dataChangeDeleteVplsPeData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
- }
-
- public boolean dataChangeDeleteVpeData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
- }
-
- public boolean dataChangeDeleteDvsSwitchData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
- }
- //OAM-Network:
- public boolean dataChangeDeleteOAMNetworkData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
- }
- //Availability-Zone:
- public boolean dataChangeDeleteAvailabilityZoneData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
- }
- //Complex:
- public boolean dataChangeDeleteComplexData(URL url) throws AAIServiceException {
-
- if(url == null) {
- throw new NullPointerException();
- }
-
- return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
- }
-
- private 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);
-
-// SSLSocketFactory sockFact = CTX.getSocketFactory();
-// con.setSSLSocketFactory( sockFact );
-
- 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) {
-
- }
- }
- }
- 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;
- }
-
- @Override
- public Pserver requestPServerData(String hostname) throws AAIServiceException {
- Pserver response = null;
- InputStream inputStream = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("pserver");
- request.addRequestProperty("pserver.hostname", hostname);
-
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, Pserver.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestPServerData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public boolean postPServerData(String hostname, Pserver data) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("pserver");
- request.addRequestProperty("pserver.hostname", hostname);
- request.setRequestObject(data);
- Object response = executor.post(request);
- return true;
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- }
-
- @Override
- public boolean deletePServerData(String hostname, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("pserver");
- request.addRequestProperty("pserver.hostname", hostname);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deletePServerData", exc);
- throw new AAIServiceException(exc);
- }
-
- return response;
- }
-
-
- @Override
- public L3Network requestL3NetworkData(String networkId) throws AAIServiceException {
- L3Network response = null;
- InputStream inputStream = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("l3-network");
- request.addRequestProperty("l3-network.network-id", networkId);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, L3Network.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestL3NetworkData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public L3Network requestL3NetworkQueryByName(String networkName) throws AAIServiceException {
- L3Network response = null;
- InputStream inputStream = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("l3-network");
- request.addRequestProperty("l3-network.network-name", networkName);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, L3Network.class);
- }
-
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestL3NetworkQueryByName", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
-
- }
- }
- }
- return response;
- }
-
- @Override
- public boolean postL3NetworkData(String networkId, L3Network data) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("l3-network");
- request.addRequestProperty("l3-network.network-id", networkId);
- request.setRequestObject(data);
- Object response = executor.post(request);
- return true;
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
- throw new AAIServiceException(exc);
- }
- }
-
- @Override
- public boolean deleteL3NetworkData(String networkId, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("l3-network");
- request.addRequestProperty("l3-network.network-id", networkId);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deleteL3NetworkData", exc);
- throw new AAIServiceException(exc);
- }
-
- return response;
- }
-
-
- @Override
- public VpnBinding requestVpnBindingData(String vpnId) throws AAIServiceException {
- VpnBinding response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vpn-binding");
- request.addRequestProperty("vpn-binding.vpn-id", vpnId);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, VpnBinding.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestVpnBindingData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public boolean deleteVpnBindingData(String vpnId, String resourceVersion) throws AAIServiceException {
- boolean response = false;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vpn-binding");
- request.addRequestProperty("vpn-binding.vpn-id", vpnId);
- response = executor.delete(request, resourceVersion);
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("deleteVpnBindingData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
-
- @Override
- public VnfImage requestVnfImageData(String vnf_image_uuid) throws AAIServiceException {
- VnfImage response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("vnf-image");
- request.addRequestProperty("vnf-image.vnf-image-uuid", vnf_image_uuid);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, VnfImage.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestVnfImageData", exc);
- throw new AAIServiceException(exc);
- }
- return response;
- }
-
- @Override
- public VnfImage requestVnfImageDataByVendorModel(String vendor, String model) throws AAIServiceException {
- return requestVnfImageDataByVendorModelVersion(vendor, model, null);
- }
-
- @Override
- public VnfImage requestVnfImageDataByVendorModelVersion(String vendor, String model, String version) throws AAIServiceException
- {
- List<VnfImage> responseList = new ArrayList<VnfImage>();
- VnfImage response = null;
- InputStream inputStream = null;
-
- try {
- String request_url = target_uri+vnf_image_query_path + (version==null? "": "&application-version={application_version}");
- request_url = request_url.replace("{application_vendor}", encodeQuery(vendor)) ;
- request_url = request_url.replace("{application_model}", encodeQuery(model)) ;
- if(version != null) {
- request_url = request_url.replace("{application_version}", encodeQuery(version)) ;
- }
- URL http_req_url = new URL(request_url);
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
-
- LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
- LOGwriteDateTrace("application_vendor", vendor);
- LOGwriteDateTrace("application_model", model);
- if(version != null) {
- LOGwriteDateTrace("application_version", version);
- }
-
- // 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("\n").append( line );
-// }
-// LOG.info(stringBuilder.toString());
- response = mapper.readValue(reader, VnfImage.class);
- String original_buffer = mapper.writeValueAsString(response);
- LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", original_buffer);
- if(response.getApplicationVendor() == null /*&& response.getAdditionalProperties() != null && !response.getAdditionalProperties().isEmpty()*/){
- LOG.warn("A List of multiple VNF-IMAGE entries has been returned");
- VnfImages listOfObjects = mapper.readValue(original_buffer, VnfImages.class);
- if(!listOfObjects.getVnfImage().isEmpty()) {
- response = listOfObjects.getVnfImage().get(0);
- }
- }
- } 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("requestVnfImageData", exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
-
- }
- }
- }
- return response;
- }
-
-
- public boolean sendNotify(NotifyEvent event, String serviceInstanceId, String pathCode) throws AAIServiceException {
- InputStream inputStream = null;
-
- try {
-
- String selfLink = selflink_fqdn;
- if(SELFLINK_AVPN != null && SELFLINK_AVPN.equals(pathCode)) {
- selfLink = selflink_avpn;
- }
- 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 = target_uri+ubb_notify_path;
- URL http_req_url = new URL(request_url);
-
- HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
-
- 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 != null) ? 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) {
-
- }
- }
- }
-
- @Override
- public SearchResults requestNodeQuery(String node_type, String entityIdentifier, String entityName) throws AAIServiceException {
- SearchResults response = null;
- InputStream inputStream = null;
-
- try {
- String request_url = target_uri+query_nodes_path;
- 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) {
-
- }
- }
- }
- 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) {
-
- }
- }
- }
- 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) {
- String data_type = datum.getResourceType();
- URL url = new URL(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()).target_uri + resourceLink;
- }
- entity = new URL(resourceLink);
- }
- } catch (Exception e) {
- throw new AAIServiceException(e);
- }
- return entity;
- }
-
- class AAIRequestExecutor implements AAIExecutorInterface {
-
- @Override
- public String get(AAIRequest request) throws AAIServiceException {
- String response = null;
- InputStream inputStream = null;
- HttpURLConnection con = null;
- URL requestUrl = null;
-
- String requestId = UUID.randomUUID().toString();
- 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(requestId, "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(requestId, "GET "+requestUrl.getPath(), "", requestUrl.getPath());
- }
-
- // Check for errors
- String responseMessage = con.getResponseMessage();
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
-
- // Process the response
- LOG.debug("HttpURLConnection result:" + responseCode + " : " + responseMessage);
- logMetricResponse(requestId, responseCode, responseMessage);
-
- 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();
- 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 does not 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 does not 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 {
-// StringBuilder errorStringBuilder = new StringBuilder();
- String line = null;
- while( ( line = reader.readLine() ) != null ) {
- errorStringBuilder.append("\n").append( line );
- }
-
- ErrorResponse errorresponse = mapper.readValue(errorStringBuilder.toString(), ErrorResponse.class);
-// 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(errorStringBuilder.toString(), exc);
- throw new AAIServiceException(exc);
- } finally {
- if(inputStream != null){
- try {
- inputStream.close();
- } catch(Exception exc) {
-
- }
- }
- }
- return response;
- }
-
- 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);
- }
- }
-
- @Override
- public String post(AAIRequest request) throws AAIServiceException {
- InputStream inputStream = null;
- String requestId = UUID.randomUUID().toString();
-
- try {
- String resourceVersion = null;
- AAIDatum instance = request.getRequestObject();
-
- Method getResourceVersionMethod = instance.getClass().getMethod("getResourceVersion");
- if(getResourceVersionMethod != null){
- try {
- getResourceVersionMethod.setAccessible(true);
- Object object = getResourceVersionMethod.invoke(instance);
- if(object != null)
- resourceVersion = object.toString();
- } catch (InvocationTargetException x) {
- Throwable cause = x.getCause();
- }
- }
-
- URL requestUrl = null;
- HttpURLConnection con = getConfiguredConnection(requestUrl = request.getRequestUrl(HttpMethod.PUT, resourceVersion), HttpMethod.PUT);
- ObjectMapper mapper = getObjectMapper();
- String json_text = request.toJSONString();
-
- LOGwriteDateTrace("data", json_text);
- logMetricRequest(requestId, "PUT "+requestUrl.getPath(), json_text, requestUrl.getPath());
-
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(json_text);
- osw.flush();
-
- // Check for errors
- String responseMessage = con.getResponseMessage();
- 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();
- }
-
- LOG.debug("HttpURLConnection result:" + responseCode + " : " + responseMessage);
- logMetricResponse(requestId,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 != null) ? 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) {
-
- }
- }
- }
-
- @Override
- public Boolean delete(AAIRequest request, String resourceVersion) throws AAIServiceException {
- Boolean response = null;
- InputStream inputStream = null;
- String requestId = UUID.randomUUID().toString();
-
- if(resourceVersion == null) {
- throw new AAIServiceException("resource-version is required for DELETE request");
- }
-
- try {
- URL requestUrl = null;
- HttpURLConnection conn = getConfiguredConnection(requestUrl = request.getRequestUrl(HttpMethod.DELETE, resourceVersion), HttpMethod.DELETE);
- logMetricRequest(requestId, "DELETE "+requestUrl.getPath(), "", requestUrl.getPath());
- conn.setDoOutput(true);
-// if(request.isDeleteDataRequired()) {
-// String json_text = request.toJSONString();
-//
-// LOGwriteDateTrace("data", json_text);
-// OutputStream os = con.getOutputStream();
-// OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
-// osw.write(json_text);
-// osw.flush();
-// }
-
- // Check for errors
- String responseMessage = conn.getResponseMessage();
- int responseCode = conn.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
- inputStream = conn.getInputStream();
- } else {
- inputStream = conn.getErrorStream();
- }
-
- // Process the response
- LOG.debug("HttpURLConnection result:" + responseCode + " : " + responseMessage);
- logMetricResponse(requestId,responseCode, responseMessage);
-
- 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, responseMessage, stringBuilder.toString());
- response = true;
- } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
- LOGwriteEndingTrace(responseCode, responseMessage, "Entry does not 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) {
-
- }
- }
- }
- return response;
- }
-
- @Override
- public Object query(AAIRequest request, Class clas) throws AAIServiceException {
- Object response = null;
- InputStream inputStream = null;
- HttpURLConnection con = null;
- URL requestUrl = null;
- String requestId = UUID.randomUUID().toString();
-
- try {
- con = getConfiguredConnection(requestUrl = request.getRequestQueryUrl(HttpMethod.GET), HttpMethod.GET);
- logMetricRequest(requestId, "GET "+requestUrl.getPath(), "", requestUrl.getPath());
-
- // Check for errors
- String responseMessage = con.getResponseMessage();
- int responseCode = con.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK) {
- inputStream = con.getInputStream();
- } else {
- inputStream = con.getErrorStream();
- }
-
- logMetricResponse(requestId,responseCode, responseMessage);
- ObjectMapper mapper = 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 does not 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) {
-
- }
- }
- con = null;
- }
- return response;
- }
-
- @Override
- public Boolean patch(AAIRequest request, String resourceVersion) throws AAIServiceException {
- InputStream inputStream = null;
- String requestId = UUID.randomUUID().toString();
-
- try {
- AAIDatum instance = request.getRequestObject();
- if(instance instanceof ResourceVersion) {
- resourceVersion = ((ResourceVersion)instance).getResourceVersion();
- }
-
- URL requestUrl = null;
- HttpURLConnection con = getConfiguredConnection(requestUrl = request.getRequestUrl("PATCH", resourceVersion), "PATCH");
- ObjectMapper mapper = getObjectMapper();
- String json_text = request.toJSONString();
-
- LOGwriteDateTrace("data", json_text);
- logMetricRequest(requestId, "PATCH "+requestUrl.getPath(), json_text, requestUrl.getPath());
-
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(json_text);
- osw.flush();
-
- // Check for errors
- String responseMessage = con.getResponseMessage();
- 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();
- }
-
- LOG.info("HttpURLConnection result: " + responseCode + " : " + responseMessage);
- logMetricResponse(requestId,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 != null) ? 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) {
-
- }
- }
- }
- }
-
- @Override
- public Tenant requestTenantData(String tenant_id, String cloudOwner, String cloudRegionId) throws AAIServiceException {
- Tenant response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("tenant");
- request.addRequestProperty("tenant.tenant-id", tenant_id);
- request.addRequestProperty("cloud-region.cloud-owner", cloudOwner);
- request.addRequestProperty("cloud-region.cloud-region-id", cloudRegionId);
-
- String rv = executor.get(request);
- if(rv != null) {
- ObjectMapper mapper = getObjectMapper();
- response = mapper.readValue(rv, Tenant.class);
- }
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestTenantData", exc);
- throw new AAIServiceException(exc);
- }
-
- return response;
- }
-
- @Override
- public Tenant requestTenantDataByName(String tenant_name, String cloudOwner, String cloudRegionId) throws AAIServiceException {
- Tenant response = null;
-
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("tenant");
- request.addRequestProperty("tenant.tenant-name", tenant_name);
- request.addRequestProperty("cloud-region.cloud-owner", cloudOwner);
- request.addRequestProperty("cloud-region.cloud-region-id", cloudRegionId);
- Object rv = executor.query(request, Tenant.class);
- if(rv == null)
- return (Tenant)null;
- else
- response = (Tenant)rv;
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("requestTenantDataByName", exc);
- throw new AAIServiceException(exc);
- }
-
- return response;
- }
-
-
- @Override
- public boolean postTenantData(String tenant_id, String cloudOwner, String cloudRegionId, Tenant tenannt) throws AAIServiceException {
- try {
- AAIRequest request = AAIRequest.getRequestFromResource("tenant");
- request.addRequestProperty("tenant.tenant-id", tenant_id);
- request.addRequestProperty("cloud-region.cloud-owner", cloudOwner);
- request.addRequestProperty("cloud-region.cloud-region-id", cloudRegionId);
- request.setRequestObject(tenannt);
- Object response = executor.post(request);
- return true;
- } catch(AAIServiceException aaiexc) {
- throw aaiexc;
- } catch (Exception exc) {
- LOG.warn("postTenantData", exc);
- throw new AAIServiceException(exc);
- }
- }
-
-
- @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 = network_vserver_path;
- 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 AAIRequestExecutor 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) {
- return false;
- }
-
- try {
- u.toURI();
- } catch (URISyntaxException e) {
- return false;
- }
-
- return true;
- }
-
-
- public boolean isValidURI(String url) {
-
- URI u = null;
-
- try {
- u = new URI(url);
- } catch (URISyntaxException e) {
- return false;
- }
-
- return true;
- }
-
-
- @Override
- protected boolean deleteRelationshipList(URL httpReqUrl, String json_text) 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 );
- OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
- osw.write(json_text);
- osw.flush();
- osw.close();
-
-
- LOGwriteFirstTrace("DELETE", httpReqUrl.toString());
- LOGwriteDateTrace("data", json_text);
-
- // 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("deleteRelationshipList", 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);
- 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;
-
- targetServiceName = "";
-
- ml.logRequest(svcInstanceId, svcName, partnerName, targetEntity, targetServiceName, targetVirtualEntity, msg);
- }
-
- public void logMetricResponse(String requestId, int responseCode, String responseDescription){
- ml.logResponse(responseCode < 400 ? "SUCCESS" : "FAILURE", 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 "formatted-query":
- case "generic-query":
- case "named-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 "formatted-query":
- case "generic-query":
- case "named-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 "formatted-query":
- case "generic-query":
- case "named-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 "formatted-query":
- case "generic-query":
- case "named-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 = null;
- try {
- clazz = AAIRequest.getClassFromResource(normResource) ;
- } catch (ClassNotFoundException e) {
- LOG.warn("AAIRequest does not support class: " + e.getMessage());
- return key;
- }
- if(clazz == null)
- return key;
-
- List<String> fieldAnnotatedNames = new LinkedList<String>();
-
- 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, HashMap<String, String> nameValues) {
- return !AAIServiceUtils.isValidFormat(resource, nameValues);
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceUtils.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceUtils.java
deleted file mode 100644
index e68a282..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceUtils.java
+++ /dev/null
@@ -1,340 +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.openecomp.sdnc.sli.aai;
-
-import java.lang.annotation.Annotation;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Arrays;
-import java.util.HashMap;
-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.openecomp.aai.inventory.v11.Relationship;
-import org.openecomp.aai.inventory.v11.RelationshipData;
-import org.openecomp.aai.inventory.v11.RelationshipList;
-import org.openecomp.sdnc.sli.SvcLogicContext;
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AAIServiceUtils {
-
- private static final Logger LOG = LoggerFactory.getLogger(AAIService.class);
-
- public static String getPrimaryIdFromClass(Class<? extends AAIDatum> resourceClass){
- // 1. find class
- getLogger().debug(resourceClass.getName());
- AAIDatum instance = null;
-
- try {
- 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 = camelCaseToDashedString(value);
- return id;
- }
- }
- }
- } catch(Exception exc) {
-
- }
- return null;
- }
-
- public static String getSecondaryIdFromClass(Class<? extends AAIDatum> resourceClass){
- // 1. find class
- getLogger().debug(resourceClass.getName());
- AAIDatum instance = null;
-
- try {
- 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)){
- 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;
- }
-
-
- 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<String, String>();
-
- 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.
-
- return ("'" + resolveCtxVariable(term.substring(1), ctx) + "'");
- } 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, String>();
-
- 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 = null;
- try {
- 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;
- }
- }
- } catch (ClassNotFoundException exc) {
- LOG.info("Caught exception", exc);
- }
- }
- }
- }
- 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, HashMap<String, String> nameValues) {
-
- switch(resource){
- case "formatted-query":
- case "generic-query":
- case "named-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))
- continue;
- else {
- getLogger().warn(String.format("key %s is incompatible with resource type '%s'", key, resource));
- }
- }
- }
- return true;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java
deleted file mode 100644
index b4eddfa..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java
+++ /dev/null
@@ -1,136 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
-
-import org.openecomp.aai.inventory.v11.CloudRegion;
-
-public class CloudRegionRequest extends AAIRequest {
-
- public static final String CLOUD_REGION_PATH = "org.openecomp.sdnc.sli.aai.path.cloud.region";
-
- private final String cloud_region_path;
-
- public static final String CLOUD_REGION_CLOUD_OWNER = "cloud-region.cloud-owner";
- public static final String CLOUD_REGION_CLOUD_REGION_ID = "cloud-region.cloud-region-id";
-
-
- public CloudRegionRequest() {
- cloud_region_path = configProperties.getProperty(CLOUD_REGION_PATH);
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return this.getRequestUrl(method, null);
- }
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri+cloud_region_path;
-
- request_url = processPathData(request_url, requestProperties);
-
- Map<String, String> query = new HashMap<String, String>();
- if(requestProperties.containsKey(DEPTH)) {
- query.put(DEPTH, requestProperties.getProperty(DEPTH));
- }
-
- if(resourceVersion != null) {
-// request_url = request_url +"?resource-version="+resourceVersion;
- query.put(RESOURCE_VERSION, resourceVersion);
- }
-
- if(!query.isEmpty()) {
- Joiner.MapJoiner mapJoiner = Joiner.on("&").withKeyValueSeparator("=");
- String queryString = mapJoiner.join(query);
- request_url = String.format("%s?%s", request_url, queryString);
- }
- URL http_req_url = new URL(request_url);
-
- aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
-
- return http_req_url;
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- CloudRegion vnfc = (CloudRegion)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(vnfc);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
- @Override
- public String[] getArgsList() {
- String[] args =
- {
- CLOUD_REGION_CLOUD_OWNER,
- CLOUD_REGION_CLOUD_REGION_ID,
- DEPTH
- };
-
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return CloudRegion.class;
- }
-
- public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
-
- if(!requestProperties.containsKey(CLOUD_REGION_CLOUD_OWNER) || !requestProperties.containsKey(CLOUD_REGION_CLOUD_REGION_ID)) {
- aaiService.logKeyError(String.format("%s,%s", CLOUD_REGION_CLOUD_OWNER, CLOUD_REGION_CLOUD_REGION_ID));
- }
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(CLOUD_REGION_CLOUD_OWNER));
- request_url = request_url.replace("{cloud-owner}", encoded_vnf) ;
-
- encoded_vnf = encodeQuery(requestProperties.getProperty(CLOUD_REGION_CLOUD_REGION_ID));
- request_url = request_url.replace("{cloud-region-id}", encoded_vnf) ;
-
- aaiService.LOGwriteDateTrace("cloud-owner", requestProperties.getProperty(CLOUD_REGION_CLOUD_OWNER));
- aaiService.LOGwriteDateTrace("cloud-region-id", requestProperties.getProperty(CLOUD_REGION_CLOUD_REGION_ID));
-
- return request_url;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java
deleted file mode 100644
index b8f9450..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java
+++ /dev/null
@@ -1,145 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.ResultData;
-
-public class GenericQueryRequest extends AAIRequest {
-
- public static final String GENERIC_SEARCH_PATH = "org.openecomp.sdnc.sli.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 = target_uri+generic_search_path;
-// String key = START_NODE_TYPE;
-//
-// String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
-// request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
-//
-// 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 getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri+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/openecomp/sdnc/sli/aai/GenericRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericRequest.java
deleted file mode 100644
index 1d51b82..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericRequest.java
+++ /dev/null
@@ -1,240 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlElement;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
-
-import org.openecomp.aai.inventory.v11.L3Network;
-import org.openecomp.aai.inventory.v11.L3Networks;
-
-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 request_url = getRequestPath();
-
- Map<String, String> queryParams = new HashMap<String, String> ();
- 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 cloudRegionId = requestProperties.getProperty("service-capability.vnf-type");
- aaiService.LOGwriteDateTrace("vnf-type", cloudRegionId);
- String token = String.format("%s/{%s}/{vnf-type}", 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("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 = null;
- try {
- clazz = getClassFromResource(splitKey[0]);
- } catch (ClassNotFoundException exc) {
- LOG.warn("AAIRequest does not support class: " + exc.getMessage());
- return null;
- }
-
- 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 = annotation.name();
- if("##default".equals(primaryId)) {
- 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 token = String.format("%s/{%s}", splitKey[0], splitKey[1]);
- String encoded_vnf = encodeQuery(value);
- 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 {
- 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/openecomp/sdnc/sli/aai/GenericVnfRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java
deleted file mode 100644
index cc70adc..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java
+++ /dev/null
@@ -1,145 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.GenericVnf;
-
-public class GenericVnfRequest extends AAIRequest {
-
- // tenant (1602)
- public static final String GENERIC_VNF_PATH = "org.openecomp.sdnc.sli.aai.path.generic.vnf";
- public static final String GENERIC_VNF_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.generic.vnf.query";
-
- private final String generic_vnf_path;
- private final String generic_vnf_query_path;
-
- public static final String GENERIC_VNF_ID = "generic_vnf.vnf_id";
- public static final String VNF_ID = "vnf_id";
-
-
- public GenericVnfRequest() {
- generic_vnf_path = configProperties.getProperty(GENERIC_VNF_PATH);
- generic_vnf_query_path = configProperties.getProperty(GENERIC_VNF_QUERY_PATH);
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri+generic_vnf_path;
- String key = VNF_ID;
- if(requestProperties.containsKey(GENERIC_VNF_ID)) {
- key = GENERIC_VNF_ID;
- }
-
- if(!requestProperties.containsKey(key)) {
- aaiService.logKeyError(String.format("%s,%s", VNF_ID, GENERIC_VNF_ID));
- }
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
- 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());
- aaiService.LOGwriteDateTrace("vnf-id", requestProperties.getProperty(key));
-
- return http_req_url;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri+generic_vnf_path;
-
- String key = VNF_ID;
- if(requestProperties.containsKey(GENERIC_VNF_ID)) {
- key = GENERIC_VNF_ID;
- }
-
- if(!requestProperties.containsKey(key)) {
- aaiService.logKeyError(String.format("%s,%s", VNF_ID, GENERIC_VNF_ID));
- }
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
- URL http_req_url = new URL(request_url);
-
- aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
- aaiService.LOGwriteDateTrace("vnf-id", requestProperties.getProperty(key));
-
- return http_req_url;
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- GenericVnf tenant = (GenericVnf)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 = {VNF_ID, GENERIC_VNF_ID};
- return args;
- }
-
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return GenericVnf.class;
- }
-
-
- public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
-
- String key = VNF_ID;
- if(requestProperties.containsKey(GENERIC_VNF_ID)) {
- key = GENERIC_VNF_ID;
- }
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
-
- return request_url;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java
deleted file mode 100644
index e89c89c..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java
+++ /dev/null
@@ -1,213 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.L3InterfaceIpv4AddressList;
-
-public class L3InterfaceIpv4AddressListRequest extends AAIRequest {
-
- /*
- * Note: there are 3 possible paths:
- * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
- */
-
- public static final String L3_INTERFACE_IPV4_ADDRESS_LIST_PATH = "org.openecomp.sdnc.sli.aai.path.l3.interface.ipv4.address.list";
- public static final String VLAN_L3_INTERFACE_IPV4_ADDRESS_LIST_PATH = "org.openecomp.sdnc.sli.aai.path.vlan.l3.interface.ipv4.address.list";
-
- private final String l3_interface_ipv4_address_list_path;
- private final String vlan_l3_interface_ipv4_address_list_path;
-
- public static final String L3_INTERFACE_IPV4_ADDRESS = "l3-interface-ipv4-address";
- public static final String LIST_L3_INTERFACE_IPV4_ADDRESS = "l3-interface-ipv4-address-list.l3-interface-ipv4-address";
- public static final String VLAN_INTERFACE = "vlan-interface";
- public static final String VLAN_VLAN_INTERFACE = "vlan.vlan-interface";
-
- public L3InterfaceIpv4AddressListRequest() {
- l3_interface_ipv4_address_list_path = configProperties.getProperty(L3_INTERFACE_IPV4_ADDRESS_LIST_PATH);
- vlan_l3_interface_ipv4_address_list_path = configProperties.getProperty(VLAN_L3_INTERFACE_IPV4_ADDRESS_LIST_PATH);
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return this.getRequestUrl(method, null);
- }
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri+l3_interface_ipv4_address_list_path;
-
- if(requestProperties.containsKey(VLAN_INTERFACE) || requestProperties.containsKey(VLAN_VLAN_INTERFACE)){
- request_url = target_uri+vlan_l3_interface_ipv4_address_list_path;
- request_url = processVLanRequestPathData(request_url, requestProperties);
- }
-
- request_url = processPathData(request_url, requestProperties);
- request_url = LInterfaceRequest.processPathData(request_url, requestProperties);
-// request_url = GenericVnfRequest.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;
- }
-
- public static String processVLanRequestPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
- String key = null;
-
- if(requestProperties.containsKey(VLAN_VLAN_INTERFACE)) {
- key = VLAN_VLAN_INTERFACE;
- } else if(requestProperties.containsKey(VLAN_INTERFACE)) {
- key = VLAN_INTERFACE;
- } else {
- aaiService.logKeyError(String.format("%s,%s", VLAN_INTERFACE, VLAN_VLAN_INTERFACE));
- }
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
-
- request_url = request_url.replace("{vlan-interface}", encoded_vnf) ;
- aaiService.LOGwriteDateTrace("vlan-interface", requestProperties.getProperty(key));
- return request_url;
- }
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- L3InterfaceIpv4AddressList vnfc = (L3InterfaceIpv4AddressList)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(vnfc);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
- @Override
- public String[] getArgsList() {
- String[] args =
- {
- L3_INTERFACE_IPV4_ADDRESS,
- LIST_L3_INTERFACE_IPV4_ADDRESS,
- VLAN_INTERFACE,
- VLAN_VLAN_INTERFACE,
- LInterfaceRequest.INTERFACE_NAME,
- LInterfaceRequest.LINTERFACE_INTERFACE_NAME,
- "generic-vnf.vnf-id"
- };
-
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return L3InterfaceIpv4AddressList.class;
- }
-
- public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
- String key = L3_INTERFACE_IPV4_ADDRESS;
- if(requestProperties.containsKey(LIST_L3_INTERFACE_IPV4_ADDRESS)) {
- key = LIST_L3_INTERFACE_IPV4_ADDRESS;
- }
-
- if(!requestProperties.containsKey(key)) {
- aaiService.logKeyError(String.format("%s,%s", L3_INTERFACE_IPV4_ADDRESS, LIST_L3_INTERFACE_IPV4_ADDRESS));
- }
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
-
- request_url = request_url.replace("{l3-interface-ipv4-address}", encoded_vnf) ;
-
- aaiService.LOGwriteDateTrace("l3-interface-ipv4-address", requestProperties.getProperty(key));
- return request_url;
- }
-
- /*
- * (non-Javadoc)
- * @see org.openecomp.sdnc.sli.aai.PathConfigurator#configurePath(java.lang.String)
- */
-// @Override
-// public void processRequestPathValues(Map<String, String> nameValues) {
-// String[] paths =
-// {
-// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",
-// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",
-// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",
-// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"
-// };
-//
-// List<String>keys = new LinkedList<String>();
-// keys.addAll(nameValues.keySet());
-// for(String key : keys) {
-// if(key.contains(".")) {
-// key = key.replaceAll("_", "-");
-// if(!LIST_L3_INTERFACE_IPV4_ADDRESS.equals(key)) {
-// int index = key.indexOf(".");
-// String resource = key.substring(0, index);
-// AAIRequest rx = createRequest(resource, nameValues);
-// if(rx != null) {
-// pathElements.add(rx);
-// }
-// }
-// }
-// }
-// super.processRequestPathValues(nameValues);
-// }
-// List<AAIRequest> pathElements = new LinkedList<AAIRequest>();
-
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java
deleted file mode 100644
index 84ada8a..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java
+++ /dev/null
@@ -1,180 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.L3InterfaceIpv6AddressList;
-
-public class L3InterfaceIpv6AddressListRequest extends AAIRequest {
-
- /*
- * Note: there are 3 possible paths:
- * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
- */
-
- public static final String L3_INTERFACE_IPV6_ADDRESS_LIST_PATH = "org.openecomp.sdnc.sli.aai.path.l3.interface.ipv6.address.list";
- public static final String VLAN_L3_INTERFACE_IPV6_ADDRESS_LIST_PATH = "org.openecomp.sdnc.sli.aai.path.vlan.l3.interface.ipv6.address.list";
-
- private final String l3_interface_ipv6_address_list_path;
- private final String vlan_l3_interface_ipv6_address_list_path;
-
- public static final String L3_INTERFACE_IPV6_ADDRESS = "l3-interface-ipv6-address";
- public static final String LIST_L3_INTERFACE_IPV6_ADDRESS = "l3-interface-ipv6-address-list.l3-interface-ipv6-address";
- public static final String VLAN_INTERFACE = "vlan-interface";
- public static final String VLAN_VLAN_INTERFACE = "vlan.vlan-interface";
-
- public L3InterfaceIpv6AddressListRequest() {
- l3_interface_ipv6_address_list_path = configProperties.getProperty(L3_INTERFACE_IPV6_ADDRESS_LIST_PATH);
- vlan_l3_interface_ipv6_address_list_path = configProperties.getProperty(VLAN_L3_INTERFACE_IPV6_ADDRESS_LIST_PATH);
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return this.getRequestUrl(method, null);
- }
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri+l3_interface_ipv6_address_list_path;
-
- if(requestProperties.containsKey(VLAN_INTERFACE) || requestProperties.containsKey(VLAN_VLAN_INTERFACE)){
- request_url = target_uri+vlan_l3_interface_ipv6_address_list_path;
- request_url = processVLanRequestPathData(request_url, requestProperties);
- }
-
- request_url = processPathData(request_url, requestProperties);
- request_url = LInterfaceRequest.processPathData(request_url, requestProperties);
-// request_url = GenericVnfRequest.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;
- }
-
- public static String processVLanRequestPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
- String key = null;
-
- if(requestProperties.containsKey(VLAN_VLAN_INTERFACE)) {
- key = VLAN_VLAN_INTERFACE;
- } else if(requestProperties.containsKey(VLAN_INTERFACE)) {
- key = VLAN_INTERFACE;
- } else {
- aaiService.logKeyError(String.format("%s,%s", VLAN_INTERFACE, VLAN_VLAN_INTERFACE));
- }
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
-
- request_url = request_url.replace("{vlan-interface}", encoded_vnf) ;
- aaiService.LOGwriteDateTrace("vlan-interface", requestProperties.getProperty(key));
- return request_url;
- }
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- L3InterfaceIpv6AddressList vnfc = (L3InterfaceIpv6AddressList)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(vnfc);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
- @Override
- public String[] getArgsList() {
- String[] args =
- {
- L3_INTERFACE_IPV6_ADDRESS,
- LIST_L3_INTERFACE_IPV6_ADDRESS,
- VLAN_INTERFACE,
- VLAN_VLAN_INTERFACE,
- LInterfaceRequest.INTERFACE_NAME,
- LInterfaceRequest.LINTERFACE_INTERFACE_NAME,
- "generic-vnf.vnf-id"
-
- };
-
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return L3InterfaceIpv6AddressList.class;
- }
-
- public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
- String key = L3_INTERFACE_IPV6_ADDRESS;
- if(requestProperties.containsKey(LIST_L3_INTERFACE_IPV6_ADDRESS)) {
- key = LIST_L3_INTERFACE_IPV6_ADDRESS;
- }
-
- if(!requestProperties.containsKey(key)) {
- aaiService.logKeyError(String.format("%s,%s", L3_INTERFACE_IPV6_ADDRESS, LIST_L3_INTERFACE_IPV6_ADDRESS));
- }
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
-
- request_url = request_url.replace("{l3-interface-ipv6-address}", encoded_vnf) ;
-
- aaiService.LOGwriteDateTrace("l3-interface-ipv6-address", requestProperties.getProperty(key));
- return request_url;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java
deleted file mode 100644
index f2a3d5a..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java
+++ /dev/null
@@ -1,245 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.LInterface;
-
-public class LInterfaceRequest extends AAIRequest {
-
- // tenant (1602)
- public static final String LAGINTERFACE_LINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface";
- public static final String LAGINTERFACE_LINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface.query";
-
- public static final String P_INTERFACE_LINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.p.interface.l.interface";
- public static final String P_INTERFACE_LINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.p.interface.l.interface.query";
-
- public static final String LAGINTERFACE_LINTERFACE_PNF_PATH = "org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface.pnf";
- public static final String P_INTERFACE_LINTERFACE_PNF_PATH = "org.openecomp.sdnc.sli.aai.path.p.interface.l.interface.pnf";
-
- private final String laginterface_linterface_path;
- private final String laginterface_linterface_query_path;
- private final String p_interface_linterface_path;
- private final String p_interface_linterface_query_path;
-
- private final String laginterface_linterface_pnf_path;
- private final String p_interface_linterface_pnf_path;
-
- public static final String INTERFACE_NAME = "interface-name";
- public static final String LINTERFACE_INTERFACE_NAME = "l-interface.interface-name";
- public static final String LAG_INTERFACE_INTERFACE_NAME = "lag-interface.interface-name";
- public static final String P_INTERFACE_INTERFACE_NAME = "p-interface.interface-name";
- public static final String PNF_PNF_NAME = "pnf.pnf-name";
-
- public static final String ROUTER_NAME = "router-name";
- public static final String HOSTNAME = "hostname";
-
-
- public static enum TYPE { L2_BRIDGE_BGF, L2_BRIDGE_SBG};
-
- private final TYPE type;
-
- public LInterfaceRequest(TYPE type) {
- this.type = type;
-
- laginterface_linterface_path = configProperties.getProperty(LAGINTERFACE_LINTERFACE_PATH);
- laginterface_linterface_query_path = configProperties.getProperty(LAGINTERFACE_LINTERFACE_QUERY_PATH);
-
- p_interface_linterface_path = configProperties.getProperty(P_INTERFACE_LINTERFACE_PATH);
- p_interface_linterface_query_path = configProperties.getProperty(P_INTERFACE_LINTERFACE_QUERY_PATH);
-
- laginterface_linterface_pnf_path = configProperties.getProperty(LAGINTERFACE_LINTERFACE_PNF_PATH);
- p_interface_linterface_pnf_path = configProperties.getProperty(P_INTERFACE_LINTERFACE_PNF_PATH);
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = null;
- String encoded_vnf = null;
- String hostname = null;
- String pnfname = null;
- String interfaceName = null;
-
- if(type == TYPE.L2_BRIDGE_SBG) {
- if(requestProperties.containsKey(PNF_PNF_NAME)) {
- request_url = target_uri + laginterface_linterface_pnf_path;
- } else {
- request_url = target_uri + laginterface_linterface_path;
- }
-
- if(requestProperties.containsKey(ROUTER_NAME)) {
- hostname = requestProperties.getProperty(ROUTER_NAME);
- encoded_vnf = encodeQuery(hostname);
- request_url = request_url.replace("{hostname}", encoded_vnf);
- }
-
- if(requestProperties.containsKey(HOSTNAME)) {
- hostname = requestProperties.getProperty(HOSTNAME);
- encoded_vnf = encodeQuery(hostname);
- request_url = request_url.replace("{hostname}", encoded_vnf);
- }
-
- if(requestProperties.containsKey(PNF_PNF_NAME)) {
- pnfname = requestProperties.getProperty(PNF_PNF_NAME);
- encoded_vnf = encodeQuery(pnfname);
- request_url = request_url.replace("{pnf-name}", encoded_vnf);
- }
-
- encoded_vnf = encodeQuery(requestProperties.getProperty(LAG_INTERFACE_INTERFACE_NAME));
- request_url = request_url.replace("{lag-interface.interface-name}", encoded_vnf) ;
-
-
- interfaceName = requestProperties.getProperty(INTERFACE_NAME);
- if(interfaceName == null || interfaceName.isEmpty()) {
- interfaceName = requestProperties.getProperty(LINTERFACE_INTERFACE_NAME);
- }
- encoded_vnf = encodeQuery(interfaceName);
- request_url = request_url.replace("{interface-name}", encoded_vnf) ;
-
- }
- if(type == TYPE.L2_BRIDGE_BGF) {
- if(requestProperties.containsKey(PNF_PNF_NAME)) {
- request_url = target_uri + p_interface_linterface_pnf_path;
- } else {
- request_url = target_uri + p_interface_linterface_path;
- }
-
-
- if(requestProperties.containsKey(ROUTER_NAME)) {
- hostname = requestProperties.getProperty(ROUTER_NAME);
- encoded_vnf = encodeQuery(hostname);
- request_url = request_url.replace("{hostname}", encoded_vnf);
- }
-
- if(requestProperties.containsKey(HOSTNAME)) {
- hostname = requestProperties.getProperty(HOSTNAME);
- encoded_vnf = encodeQuery(hostname);
- request_url = request_url.replace("{hostname}", encoded_vnf);
- }
-
- if(requestProperties.containsKey(PNF_PNF_NAME)) {
- pnfname = requestProperties.getProperty(PNF_PNF_NAME);
- encoded_vnf = encodeQuery(pnfname);
- request_url = request_url.replace("{pnf-name}", encoded_vnf);
- }
-
- encoded_vnf = encodeQuery(requestProperties.getProperty(P_INTERFACE_INTERFACE_NAME));
- request_url = request_url.replace("{p-interface.interface-name}", encoded_vnf) ;
-
-
- interfaceName = requestProperties.getProperty(INTERFACE_NAME);
- if(interfaceName == null || interfaceName.isEmpty()) {
- interfaceName = requestProperties.getProperty(LINTERFACE_INTERFACE_NAME);
- }
- encoded_vnf = encodeQuery(interfaceName);
- request_url = request_url.replace("{interface-name}", encoded_vnf) ;
- }
-
-
- 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());
- if(hostname != null)
- aaiService.LOGwriteDateTrace("hostname", hostname);
- if(pnfname != null)
- aaiService.LOGwriteDateTrace("pnf-name", pnfname);
- if(requestProperties.containsKey(LAG_INTERFACE_INTERFACE_NAME)) {
- aaiService.LOGwriteDateTrace("lag-interface.interface-name", requestProperties.getProperty(LAG_INTERFACE_INTERFACE_NAME));
- }
- if(requestProperties.containsKey(P_INTERFACE_INTERFACE_NAME)) {
- aaiService.LOGwriteDateTrace("p-interface.interface-name", requestProperties.getProperty(P_INTERFACE_INTERFACE_NAME));
- }
- aaiService.LOGwriteDateTrace("interface-name", interfaceName);
-
- 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();
- LInterface vnfc = (LInterface)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(vnfc);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
-
- @Override
- public String[] getArgsList() {
- String[] args = {};
- if(type == TYPE.L2_BRIDGE_SBG) {
- String[] tmpArray = {INTERFACE_NAME, LINTERFACE_INTERFACE_NAME, LAG_INTERFACE_INTERFACE_NAME, HOSTNAME, ROUTER_NAME, PNF_PNF_NAME};
- args = tmpArray;
- }
- if(type == TYPE.L2_BRIDGE_BGF) {
- String[] tmpArray = {INTERFACE_NAME, LINTERFACE_INTERFACE_NAME, P_INTERFACE_INTERFACE_NAME, HOSTNAME, ROUTER_NAME, PNF_PNF_NAME};
- args = tmpArray;
- }
-
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return LInterface.class;
- }
-
- @Override
- public String getPrimaryResourceName(String resource) {
- return "l-interface";
- }
-
- public static final String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
- String interfaceName = requestProperties.getProperty(INTERFACE_NAME);
- if(interfaceName == null || interfaceName.isEmpty()) {
- interfaceName = requestProperties.getProperty(LINTERFACE_INTERFACE_NAME);
- }
-
- request_url = request_url.replace("{interface-name}", encodeQuery(interfaceName)) ;
- return request_url;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java
deleted file mode 100644
index 5880b7c..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java
+++ /dev/null
@@ -1,144 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.apache.commons.lang.ArrayUtils;
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.LagInterface;
-
-public class LagInterfacePnfRequest extends AAIRequest {
-
- // tenant (1602)
- public static final String LAG_INTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface";
- public static final String LAG_INTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query";
- public static final String PNF_PATH = "org.openecomp.sdnc.sli.aai.path.pnf";
-
- private final String lag_interface_path;
- private final String lag_interface_query_path;
-
- public static final String INTERFACE_NAME = "interface-name";
- public static final String LAG_INTERFACE_INTERFACE_NAME = "lag-interface.interface-name";
- public static final String PNF_NAME = "pnf-name";
- public static final String PNF_PNF_NAME = "pnf.pnf-name";
-
-
- public LagInterfacePnfRequest() {
- lag_interface_path = configProperties.getProperty(PNF_PATH) + "/lag-interfaces/lag-interface/{interface-name}";
- lag_interface_query_path = configProperties.getProperty(LAG_INTERFACE_QUERY_PATH);
- LoggerFactory.getLogger(LagInterfacePnfRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface=\t" + lag_interface_path);
- LoggerFactory.getLogger(LagInterfacePnfRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query=\t" + lag_interface_query_path);
- if(lag_interface_path == null) {
- LoggerFactory.getLogger(LagInterfacePnfRequest.class).warn("org.openecomp.sdnc.sli.aai.path.pserver.pinterface PATH not found in aaiclient.properties");
- }
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri + lag_interface_path;
- String encoded_vnf = null;
-
- String interfaceName = null;
-
- if(requestProperties.containsKey(INTERFACE_NAME)) {
- interfaceName = requestProperties.getProperty(INTERFACE_NAME);
- } else
- if(requestProperties.containsKey(LAG_INTERFACE_INTERFACE_NAME)) {
- interfaceName = requestProperties.getProperty(LAG_INTERFACE_INTERFACE_NAME);
- }
-
- encoded_vnf = encodeQuery(interfaceName);
- request_url = request_url.replace("{interface-name}", encoded_vnf) ;
-
- request_url = processPnfRequestPathData(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());
- aaiService.LOGwriteDateTrace("interface-name", interfaceName);
-
- return http_req_url;
- }
-
- public static String processPnfRequestPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
-
- String key = PNF_NAME;
- if(requestProperties.containsKey(PNF_PNF_NAME)) {
- key = PNF_PNF_NAME;
- }
-
- if(!requestProperties.containsKey(key)) {
- aaiService.logKeyError(String.format("%s,%s", PNF_NAME, PNF_PNF_NAME));
- }
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{pnf-name}", encoded_vnf) ;
-
- return request_url;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return this.getRequestUrl(method, null);
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- LagInterface vnfc = (LagInterface)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(vnfc);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
- @Override
- public String[] getArgsList() {
- String[] args = {INTERFACE_NAME, LAG_INTERFACE_INTERFACE_NAME, PNF_PNF_NAME};
-
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return LagInterface.class;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java
deleted file mode 100644
index 4ee06a9..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java
+++ /dev/null
@@ -1,191 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.annotation.JsonInclude.Include;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.AnnotationIntrospector;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.fasterxml.jackson.databind.type.TypeFactory;
-import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
-
-import org.openecomp.aai.inventory.v11.InventoryResponseItems;
-
-public class NamedQueryRequest extends AAIRequest {
-
- public static final String NAMED_SEARCH_PATH = "org.openecomp.sdnc.sli.aai.query.named";
-
- private final String named_search_path;
-
- public static final String NAMED_QUERY_UUID = "named-query-uuid";
- public static final String PREFIX = "prefix";
-
-
- public NamedQueryRequest() {
- named_search_path = configProperties.getProperty(NAMED_SEARCH_PATH);
- }
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri+named_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 = AAIService.getObjectMapper();
- mapper.setSerializationInclusion(Include.NON_NULL);
- mapper.setSerializationInclusion(Include.NON_EMPTY);
- mapper.setSerializationInclusion(Include.NON_DEFAULT);
-
- AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(TypeFactory.defaultInstance());
- AnnotationIntrospector secondary = new JacksonAnnotationIntrospector();
- mapper.setAnnotationIntrospector(AnnotationIntrospector.pair(introspector, secondary));
- mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
-
- AAIDatum tenant = (AAIDatum)requestDatum;
- String json_text = null;
- try {
- ObjectNode node = mapper.valueToTree(tenant);
- Iterator<JsonNode> it = node.elements();
- while(it.hasNext()){
- JsonNode jn = it.next();
- JsonNode child = jn.get("instance-filter");
- if(child != null) {
- child = child.get(0);
- if(child.has("l3-network")) {
- JsonNode innerChild = child.get("l3-network");
- if(innerChild != null) {
- if(innerChild instanceof ObjectNode) {
- ObjectNode on = ObjectNode.class.cast(innerChild);
- List<String> namesToDelete = new ArrayList<String>();
- Iterator<String> names = on.fieldNames();
- while(names.hasNext()) {
- String name = names.next();
- if(name != null && name.startsWith("is-")) {
- namesToDelete.add(name);
- }
- }
- for(String nameToDelete : namesToDelete) {
- on.remove(nameToDelete);
- }
- }
- }
- } else if(child.has("pnf")) {
- JsonNode innerChild = child.get("pnf");
- if(innerChild != null) {
- if(innerChild instanceof ObjectNode) {
- ObjectNode on = ObjectNode.class.cast(innerChild);
- List<String> namesToDelete = new ArrayList<String>();
- Iterator<String> names = on.fieldNames();
- while(names.hasNext()) {
- String name = names.next();
- if(name != null && name.startsWith("in-maint")) {
- namesToDelete.add(name);
- }
- }
- for(String nameToDelete : namesToDelete) {
- on.remove(nameToDelete);
- }
- }
- }
- }
- }
- }
- json_text = node.toString();
- if(json_text == null)
- json_text = mapper.writeValueAsString(tenant);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
-
- @Override
- public String[] getArgsList() {
- String[] args = {NAMED_QUERY_UUID, PREFIX};
- return args;
- }
-
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return InventoryResponseItems.class;
- }
-
-
- public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
-
-
- String encoded_vnf ;
- String key = NAMED_QUERY_UUID;
-
- if(requestProperties.containsKey(key)) {
- encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{named-query-uuid}", encoded_vnf) ;
- aaiService.LOGwriteDateTrace("named-query-uuid", requestProperties.getProperty(key));
- }
-
- key = PREFIX;
-
- if(requestProperties.containsKey(key)) {
- encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{prefix}", encoded_vnf) ;
- aaiService.LOGwriteDateTrace("prefix", requestProperties.getProperty(key));
- }
-
- return request_url;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java
deleted file mode 100644
index 626165d..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java
+++ /dev/null
@@ -1,145 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.SearchResults;
-
-public class NodesQueryRequest extends AAIRequest {
-
- public static final String NODES_SEARCH_PATH = "org.openecomp.sdnc.sli.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 = target_uri+generic_search_path;
-// String key = START_NODE_TYPE;
-//
-// String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
-// request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
-//
-// 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 getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri+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/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java
deleted file mode 100644
index 1250891..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java
+++ /dev/null
@@ -1,144 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.apache.commons.lang.ArrayUtils;
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.PInterface;
-
-public class PInterfacePnfRequest extends AAIRequest {
-
- // tenant (1602)
- public static final String PINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface";
- public static final String PINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query";
- public static final String PNF_PATH = "org.openecomp.sdnc.sli.aai.path.pnf";
-
- private final String pinterface_path;
- private final String pinterface_query_path;
-
- public static final String INTERFACE_NAME = "interface-name";
- public static final String PINTERFACE_INTERFACE_NAME = "p-interface.interface-name";
- public static final String PNF_NAME = "pnf-name";
- public static final String PNF_PNF_NAME = "pnf.pnf-name";
-
-
- public PInterfacePnfRequest() {
- pinterface_path = configProperties.getProperty(PNF_PATH) + "/p-interfaces/p-interface/{interface-name}";
- pinterface_query_path = configProperties.getProperty(PINTERFACE_QUERY_PATH);
- LoggerFactory.getLogger(PInterfacePnfRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface=\t" + pinterface_path);
- LoggerFactory.getLogger(PInterfacePnfRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query=\t" + pinterface_query_path);
- if(pinterface_path == null) {
- LoggerFactory.getLogger(PInterfacePnfRequest.class).warn("org.openecomp.sdnc.sli.aai.path.pserver.pinterface PATH not found in aaiclient.properties");
- }
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri + pinterface_path;
- String encoded_vnf = null;
-
- String interfaceName = null;
-
- if(requestProperties.containsKey(INTERFACE_NAME)) {
- interfaceName = requestProperties.getProperty(INTERFACE_NAME);
- } else
- if(requestProperties.containsKey(PINTERFACE_INTERFACE_NAME)) {
- interfaceName = requestProperties.getProperty(PINTERFACE_INTERFACE_NAME);
- }
-
- encoded_vnf = encodeQuery(interfaceName);
- request_url = request_url.replace("{interface-name}", encoded_vnf) ;
-
- request_url = processPnfRequestPathData(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());
- aaiService.LOGwriteDateTrace("interface-name", interfaceName);
-
- return http_req_url;
- }
-
- public static String processPnfRequestPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
-
- String key = PNF_NAME;
- if(requestProperties.containsKey(PNF_PNF_NAME)) {
- key = PNF_PNF_NAME;
- }
-
- if(!requestProperties.containsKey(key)) {
- aaiService.logKeyError(String.format("%s,%s", PNF_NAME, PNF_PNF_NAME));
- }
-
- String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
- request_url = request_url.replace("{pnf-name}", encoded_vnf) ;
-
- return request_url;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return this.getRequestUrl(method, null);
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- PInterface vnfc = (PInterface)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(vnfc);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
- @Override
- public String[] getArgsList() {
- String[] args = {INTERFACE_NAME, PINTERFACE_INTERFACE_NAME, PNF_NAME, PNF_PNF_NAME};
-
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return PInterface.class;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java
deleted file mode 100644
index 41f2965..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java
+++ /dev/null
@@ -1,133 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.PInterface;
-
-public class PInterfaceRequest extends AAIRequest {
-
- // tenant (1602)
- public static final String PINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface";
- public static final String PINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query";
-
- private final String pinterface_path;
- private final String pinterface_query_path;
-
- public static final String HOSTNAME = "hostname";
- public static final String PSERVER_HOSTNAME = "pserver.hostname";
- public static final String INTERFACE_NAME = "interface-name";
- public static final String PINTERFACE_INTERFACE_NAME = "p-interface.interface-name";
-
-
- public PInterfaceRequest() {
- pinterface_path = configProperties.getProperty(PINTERFACE_PATH);
- pinterface_query_path = configProperties.getProperty(PINTERFACE_QUERY_PATH);
- LoggerFactory.getLogger(PInterfaceRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface=\t" + pinterface_path);
- LoggerFactory.getLogger(PInterfaceRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query=\t" + pinterface_query_path);
- if(pinterface_path == null) {
- LoggerFactory.getLogger(PInterfaceRequest.class).warn("org.openecomp.sdnc.sli.aai.path.pserver.pinterface PATH not found in aaiclient.properties");
- }
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri + pinterface_path;
- String encoded_vnf = null;
-
- String hostname = null;
- String interfaceName = null;
-
- if(requestProperties.containsKey(HOSTNAME)) {
- hostname = requestProperties.getProperty(HOSTNAME);
- }
- if(requestProperties.containsKey(PSERVER_HOSTNAME)) {
- hostname = requestProperties.getProperty(PSERVER_HOSTNAME);
- }
-
- if(requestProperties.containsKey(INTERFACE_NAME)) {
- interfaceName = requestProperties.getProperty(INTERFACE_NAME);
- }
- if(requestProperties.containsKey(PINTERFACE_INTERFACE_NAME)) {
- interfaceName = requestProperties.getProperty(PINTERFACE_INTERFACE_NAME);
- }
-
- encoded_vnf = encodeQuery(hostname);
- request_url = request_url.replace("{hostname}", encoded_vnf) ;
-
- encoded_vnf = encodeQuery(interfaceName);
- request_url = request_url.replace("{interface-name}", encoded_vnf) ;
-
- 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());
- aaiService.LOGwriteDateTrace("hostname", hostname);
- aaiService.LOGwriteDateTrace("interface-name", hostname);
-
- 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();
- PInterface vnfc = (PInterface)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(vnfc);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
- @Override
- public String[] getArgsList() {
- String[] args = {HOSTNAME, PSERVER_HOSTNAME, INTERFACE_NAME, PINTERFACE_INTERFACE_NAME};
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return PInterface.class;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java
deleted file mode 100644
index a8524a0..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java
+++ /dev/null
@@ -1,113 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.PhysicalLink;
-
-public class PhysicalLinkRequest extends AAIRequest {
-
- // physical link
- public static final String PHYSICAL_LINK_PATH = "org.openecomp.sdnc.sli.aai.path.physical.link";
- public static final String PHYSICAL_LINK_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.physical.link.query";
-
- private final String physical_link_path;
- private final String physical_link_query_path;
-
- public static final String LINK_NAME = "link-name";
- public static final String PHYSICAL_LINK_NAME = "physical-link.link-name";
-
-
- public PhysicalLinkRequest() {
- physical_link_path = configProperties.getProperty(PHYSICAL_LINK_PATH);
- physical_link_query_path = configProperties.getProperty(PHYSICAL_LINK_QUERY_PATH);
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
- return this.getRequestUrl(method, null);
- }
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri+physical_link_path;
-
- String linkName = null;
- if(requestProperties.containsKey(LINK_NAME)) {
- linkName = requestProperties.getProperty(LINK_NAME);
- }
-
- if(requestProperties.containsKey(PHYSICAL_LINK_NAME)) {
- linkName = requestProperties.getProperty(PHYSICAL_LINK_NAME);
- }
-
-
- String encoded_vnf = encodeQuery(linkName);
- request_url = request_url.replace("{link-name}", encoded_vnf) ;
-
- 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());
- aaiService.LOGwriteDateTrace("link-name", linkName);
-
- return http_req_url;
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- PhysicalLink vpe = (PhysicalLink)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(vpe);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
- @Override
- public String[] getArgsList() {
- String[] args = {LINK_NAME, PHYSICAL_LINK_NAME};
-
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return PhysicalLink.class;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java
deleted file mode 100644
index badb8ea..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java
+++ /dev/null
@@ -1,127 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.RelationshipList;
-
-public class RelationshipRequest extends AAIRequest {
-
- // tenant (1602)
- public static final String RELATIONSHIP_LIST_PATH = "org.openecomp.sdnc.sli.aai.path.relationship.list";
- public static final String RELATIONSHIP_LIST_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.relationship.list.query";
-
- private final String relationship_path;
- private final String relationship_query_path;
-
- public static final String RELATED_TO = "related-to";
- public static final String RELATIONSHIP_KEY = "relationship-key";
-
- public RelationshipRequest() {
- relationship_path = configProperties.getProperty(RELATIONSHIP_LIST_PATH, "/relationship-list/relationship");
- relationship_query_path = configProperties.getProperty(RELATIONSHIP_LIST_QUERY_PATH);
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- AAIRequest masterRequest = (AAIRequest)requestProperties.get(MASTER_REQUEST);
- URL masterURL = masterRequest.getRequestUrl(method, null);
-
- String request_url = masterURL.toString();
- request_url = request_url + relationship_path;
-
- if(request_url.contains("//")) {
- request_url = request_url.replaceAll("//", "/");
- }
-
- if(requestProperties.containsKey(RELATED_TO)) {
- String encoded_vnf = encodeQuery(requestProperties.getProperty(RELATED_TO));
- request_url = request_url.replace("{related-to}", encoded_vnf) ;
- }
-
-// 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());
- aaiService.LOGwriteDateTrace("related-to", requestProperties.getProperty(RELATED_TO));
-
- return http_req_url;
- }
-
- @Override
- public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = target_uri+relationship_query_path;
- String encoded_vnf = encodeQuery(requestProperties.getProperty(RELATIONSHIP_KEY));
- request_url = request_url.replace("{tenant-name}", encoded_vnf) ;
- URL http_req_url = new URL(request_url);
-
- aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
- aaiService.LOGwriteDateTrace("tenant_name", requestProperties.getProperty(RELATIONSHIP_KEY));
-
- return http_req_url;
- }
-
-
- @Override
- public String toJSONString() {
- ObjectMapper mapper = getObjectMapper();
- Object tenant = 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 = {RELATED_TO, RELATIONSHIP_KEY};
- return args;
- }
-
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return RelationshipList.class;
- }
-
- public boolean isDeleteDataRequired() {
- return true;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java
deleted file mode 100644
index 07defd3..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java
+++ /dev/null
@@ -1,106 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-
-import org.openecomp.sdnc.sli.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 = target_uri + 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/openecomp/sdnc/sli/aai/SubInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubInterfaceRequest.java
deleted file mode 100644
index 134a169..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubInterfaceRequest.java
+++ /dev/null
@@ -1,185 +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.openecomp.sdnc.sli.aai;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.openecomp.sdnc.sli.aai.data.AAIDatum;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.openecomp.aai.inventory.v11.LInterface;
-
-public class SubInterfaceRequest extends AAIRequest {
-
- // tenant (1602)
- public static final String PNF_LAGINTERFACE_SUBINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pnf.lag.interface.subinterface";
- public static final String PNF_LAGINTERFACE_SUBINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pnf.lag.interface.subinterface.query";
-
- public static final String PNF_P_INTERFACE_SUBINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pnf.p.interface.l.interface";
- public static final String PNF_P_INTERFACE_SUBINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pnf.p.interface.l.interface.query";
-
- private final String pnf_laginterface_subinterface_path;
- private final String pnf_laginterface_subinterface_query_path;
- private final String pnf_p_interface_subinterface_path;
- private final String pnf_p_interface_subinterface_query_path;
-
- public static final String SUBINTERFACE_INTERFACE_NAME = "l-interface.interface-name";
- public static final String LAG_INTERFACE_INTERFACE_NAME = "lag-interface.interface-name";
- public static final String PNF_PNF_NAME = "pnf.pnf-name";
- public static enum TYPE { L2_BRIDGE_BGF, L2_BRIDGE_SBG};
-
- private final TYPE type;
-
- public SubInterfaceRequest(TYPE type) {
- this.type = type;
-
- pnf_laginterface_subinterface_path = configProperties.getProperty(PNF_LAGINTERFACE_SUBINTERFACE_PATH);
- pnf_laginterface_subinterface_query_path = configProperties.getProperty(PNF_LAGINTERFACE_SUBINTERFACE_QUERY_PATH);
-
- pnf_p_interface_subinterface_path = configProperties.getProperty(PNF_P_INTERFACE_SUBINTERFACE_PATH);
- pnf_p_interface_subinterface_query_path = configProperties.getProperty(PNF_P_INTERFACE_SUBINTERFACE_QUERY_PATH);
- }
-
-
- @Override
- public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
-
- String request_url = null;
- String encoded_vnf = null;
-
- String pnfname = null;
- String interfaceName = null;
-
- if(type == TYPE.L2_BRIDGE_SBG) {
- request_url = target_uri + pnf_laginterface_subinterface_path;
-
- if(requestProperties.containsKey(PNF_PNF_NAME)) {
- pnfname = requestProperties.getProperty(PNF_PNF_NAME);
- encoded_vnf = encodeQuery(pnfname);
- request_url = request_url.replace("{pnf-name}", encoded_vnf);
- }
-
- encoded_vnf = encodeQuery(requestProperties.getProperty(LAG_INTERFACE_INTERFACE_NAME));
- request_url = request_url.replace("{lag-interface.interface-name}", encoded_vnf) ;
-
-
- interfaceName = requestProperties.getProperty(SUBINTERFACE_INTERFACE_NAME);
- encoded_vnf = encodeQuery(interfaceName);
- request_url = request_url.replace("{interface-name}", encoded_vnf) ;
-
- }
- if(type == TYPE.L2_BRIDGE_BGF) {
- request_url = target_uri + pnf_p_interface_subinterface_path;
-
- if(requestProperties.containsKey(PNF_PNF_NAME)) {
- pnfname = requestProperties.getProperty(PNF_PNF_NAME);
- encoded_vnf = encodeQuery(pnfname);
- request_url = request_url.replace("{pnf-name}", encoded_vnf);
- }
-
- encoded_vnf = encodeQuery(requestProperties.getProperty(PInterfaceRequest.PINTERFACE_INTERFACE_NAME));
- request_url = request_url.replace("{p-interface.interface-name}", encoded_vnf) ;
-
-
- interfaceName = requestProperties.getProperty(SUBINTERFACE_INTERFACE_NAME);
- encoded_vnf = encodeQuery(interfaceName);
- request_url = request_url.replace("{interface-name}", encoded_vnf) ;
- }
-
-
- 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());
-
- if(pnfname != null)
- aaiService.LOGwriteDateTrace("pnf-name", pnfname);
- if(requestProperties.containsKey(LAG_INTERFACE_INTERFACE_NAME)) {
- aaiService.LOGwriteDateTrace("lag-interface.interface-name", requestProperties.getProperty(LAG_INTERFACE_INTERFACE_NAME));
- }
- if(requestProperties.containsKey(PInterfaceRequest.PINTERFACE_INTERFACE_NAME)) {
- aaiService.LOGwriteDateTrace("p-interface.interface-name", requestProperties.getProperty(PInterfaceRequest.PINTERFACE_INTERFACE_NAME));
- }
- aaiService.LOGwriteDateTrace("interface-name", interfaceName);
-
- 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();
- LInterface vnfc = (LInterface)requestDatum;
- String json_text = null;
- try {
- json_text = mapper.writeValueAsString(vnfc);
- } catch (JsonProcessingException exc) {
- handleException(this, exc);
- return null;
- }
- return json_text;
- }
-
-
- @Override
- public String[] getArgsList() {
- String[] args = {};
- if(type == TYPE.L2_BRIDGE_SBG) {
- String[] tmpArray = {SUBINTERFACE_INTERFACE_NAME, LAG_INTERFACE_INTERFACE_NAME, PNF_PNF_NAME};
- args = tmpArray;
- }
- if(type == TYPE.L2_BRIDGE_BGF) {
- String[] tmpArray = {SUBINTERFACE_INTERFACE_NAME, PInterfaceRequest.PINTERFACE_INTERFACE_NAME, PNF_PNF_NAME};
- args = tmpArray;
- }
-
- return args;
- }
-
- @Override
- public Class<? extends AAIDatum> getModelClass() {
- return LInterface.class;
- }
-
- @Override
- public String getPrimaryResourceName(String resource) {
- return "sub-interface";
- }
-
- public static final String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
- String interfaceName = requestProperties.getProperty(SUBINTERFACE_INTERFACE_NAME);
- request_url = request_url.replace("{interface-name}", encodeQuery(interfaceName)) ;
- return request_url;
- }
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/SubInterface.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/SubInterface.java
deleted file mode 100644
index 585fdc1..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/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.openecomp.sdnc.sli.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.openecomp.aai.inventory.v11.RelationshipList;
-import org.openecomp.aai.inventory.v11.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/openecomp/sdnc/sli/aai/query/InstanceFilter.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilter.java
deleted file mode 100644
index 0dbd5ac..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilter.java
+++ /dev/null
@@ -1,133 +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.openecomp.sdnc.sli.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.openecomp.aai.inventory.v11.L3Network;
-import org.openecomp.aai.inventory.v11.Pnf;
-import org.openecomp.aai.inventory.v11.LogicalLink;
-import org.openecomp.aai.inventory.v11.ServiceInstance;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@Generated("org.jsonschema2pojo")
-@JsonPropertyOrder({
- "logical-link",
- "pnf",
- "l3-network",
- "service-instance"
-})
-public class InstanceFilter {
-
- @JsonProperty("logical-link")
- private LogicalLink logicalLink;
- @JsonProperty("pnf")
- private Pnf pnf;
- @JsonProperty("l3-network")
- private L3Network l3Network;
- @JsonProperty("service-instance")
- private ServiceInstance serviceInstance;
-
- @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;
- }
-
-}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/Results.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/Results.java
deleted file mode 100644
index d756d85..0000000
--- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/Results.java
+++ /dev/null
@@ -1,84 +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.openecomp.sdnc.sli.aai.query;
-
-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.openecomp.aai.inventory.v11.*;
-
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
- "genericVnf",
- "pserver",
- "complex"
-})
-@XmlRootElement(name = "results")
-public class Results {
-
- @XmlElement(name = "generic-vnf")
- private GenericVnf genericVnf;
-
- @XmlElement(name = "complex")
- private Complex complex;
-
- @XmlElement(name = "pserver")
- private Pserver pserver;
-
-
- @XmlElement(name = "generic-vnf")
- public GenericVnf getGenericVnf ()
- {
- return genericVnf;
- }
- @XmlElement(name = "generic-vnf")
- public void setGenericVnf (GenericVnf genericVnf)
- {
- this.genericVnf = genericVnf;
- }
-
- @Override
- public String toString()
- {
- return " [generic-vnf = "+genericVnf+"]";
- }
- @XmlElement(name = "complex")
- public Complex getComplex() {
- return complex;
- }
- @XmlElement(name = "complex")
- public void setComplex(Complex complex) {
- this.complex = complex;
- }
- @XmlElement(name = "pserver")
- public Pserver getPserver() {
- return pserver;
- }
- @XmlElement(name = "pserver")
- public void setPserver(Pserver pserver) {
- this.pserver = pserver;
- }
-}