diff options
Diffstat (limited to 'mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java')
-rw-r--r-- | mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java | 232 |
1 files changed, 69 insertions, 163 deletions
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java index c077558301..5c81f4e6a5 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java @@ -7,12 +7,14 @@ * ================================================================================ * Modifications Copyright (c) 2019 Samsung * ================================================================================ + * Modifications Copyright (c) 2020 Nokia + * ================================================================================ * 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. @@ -30,7 +32,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Map.Entry; +import java.util.Optional; import java.util.StringTokenizer; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; @@ -69,7 +71,6 @@ import org.onap.so.db.request.client.RequestsDbClient; import org.onap.so.exceptions.ValidationException; import org.onap.so.logger.LogConstants; import org.onap.so.serviceinstancebeans.CloudConfiguration; -import org.onap.so.serviceinstancebeans.InstanceDirection; import org.onap.so.serviceinstancebeans.ModelInfo; import org.onap.so.serviceinstancebeans.ModelType; import org.onap.so.serviceinstancebeans.PolicyException; @@ -148,7 +149,6 @@ public class MsoRequest { } - // Parse request JSON public void parse(ServiceInstancesRequest sir, HashMap<String, String> instanceIdMap, Actions action, String version, String originalRequestJSON, int reqVersion, Boolean aLaCarteFlag) @@ -222,44 +222,31 @@ public class MsoRequest { } } - public Map<String, List<String>> getOrchestrationFilters(MultivaluedMap<String, String> queryParams) - throws ValidationException { - - String queryParam = null; + public Map<String, List<String>> getOrchestrationFilters(MultivaluedMap<String, String> queryParams) { + final String FILTER_KEY = "filter"; Map<String, List<String>> orchestrationFilterParams = new HashMap<>(); + Optional.ofNullable(queryParams.get(FILTER_KEY)).ifPresent(listValues -> listValues + .forEach(value -> addValueToOrchestrationFilterParamsMap(orchestrationFilterParams, value))); - for (Entry<String, List<String>> entry : queryParams.entrySet()) { - queryParam = entry.getKey(); - - try { - if ("filter".equalsIgnoreCase(queryParam)) { - for (String value : entry.getValue()) { - StringTokenizer st = new StringTokenizer(value, ":"); - - int counter = 0; - String mapKey = null; - List<String> orchestrationList = new ArrayList<>(); - while (st.hasMoreElements()) { - if (counter == 0) { - mapKey = st.nextElement() + ""; - } else { - orchestrationList.add(st.nextElement() + ""); - } - counter++; - } - orchestrationFilterParams.put(mapKey, orchestrationList); - } - } + return orchestrationFilterParams; + } - } catch (Exception e) { - throw new ValidationException("QueryParam ServiceInfo", e); - } + private void addValueToOrchestrationFilterParamsMap(Map<String, List<String>> orchestrationFilterParams, + String value) { + final String TOKEN_DELIMITER = ":"; + StringTokenizer stringTokenizer = new StringTokenizer(value, TOKEN_DELIMITER); + if (!stringTokenizer.hasMoreTokens()) { + return; + } + String mapKey = stringTokenizer.nextToken(); + List<String> orchestrationList = new ArrayList<>(); + while (stringTokenizer.hasMoreTokens()) { + orchestrationList.add(stringTokenizer.nextToken()); } - - return orchestrationFilterParams; + orchestrationFilterParams.put(mapKey, orchestrationList); } public InfraActiveRequests createRequestObject(ServiceInstancesRequest servInsReq, Actions action, String requestId, @@ -465,7 +452,6 @@ public class MsoRequest { } - public Response buildResponse(int httpResponseCode, String errorCode, InfraActiveRequests inProgress) { return buildResponseWithError(httpResponseCode, errorCode, inProgress, null); } @@ -474,7 +460,6 @@ public class MsoRequest { String errorString) { - // Log the failed request into the MSO Requests database return Response.status(httpResponseCode).entity(null).build(); @@ -487,7 +472,6 @@ public class MsoRequest { } - public String getServiceType(VnfInputs vnfInputs) { if (vnfInputs.getServiceType() != null) return vnfInputs.getServiceType(); @@ -625,156 +609,78 @@ public class MsoRequest { } - public String getVfModuleType(ServiceInstancesRequest sir, String requestScope, Actions action, int reqVersion) { + public String getVfModuleType(ServiceInstancesRequest sir, String requestScope) { - String serviceInstanceType = null; - - String vnfType = null; + String vnfType; String vfModuleType = null; - String vfModuleModelName = null; + String vfModuleModelName; ModelInfo modelInfo = sir.getRequestDetails().getModelInfo(); RelatedInstanceList[] instanceList = sir.getRequestDetails().getRelatedInstanceList(); String serviceModelName = null; String vnfModelName = null; - String asdcServiceModelVersion = null; String volumeGroupId = null; - boolean isRelatedServiceInstancePresent = false; - boolean isRelatedVnfInstancePresent = false; - boolean isSourceVnfPresent = false; - boolean isDestinationVnfPresent = false; - boolean isConnectionPointPresent = false; - - if (instanceList != null) { - for (RelatedInstanceList relatedInstanceList : instanceList) { - RelatedInstance relatedInstance = relatedInstanceList.getRelatedInstance(); - ModelInfo relatedInstanceModelInfo = relatedInstance.getModelInfo(); - - if (action != Action.deleteInstance) { - - if (ModelType.configuration.name().equalsIgnoreCase(requestScope)) { - if (InstanceDirection.source.equals(relatedInstance.getInstanceDirection()) - && relatedInstanceModelInfo.getModelType().equals(ModelType.vnf)) { - isSourceVnfPresent = true; - } else if (InstanceDirection.destination.equals(relatedInstance.getInstanceDirection()) - && (relatedInstanceModelInfo.getModelType().equals(ModelType.vnf) - || (relatedInstanceModelInfo.getModelType().equals(ModelType.pnf) - && reqVersion == 6))) { - isDestinationVnfPresent = true; - } - } - if (ModelType.connectionPoint.equals(relatedInstanceModelInfo.getModelType()) - && ModelType.configuration.name().equalsIgnoreCase(requestScope)) { - isConnectionPointPresent = true; - } - } - - - if (relatedInstanceModelInfo.getModelType().equals(ModelType.service)) { - isRelatedServiceInstancePresent = true; - serviceModelName = relatedInstanceModelInfo.getModelName(); - asdcServiceModelVersion = relatedInstanceModelInfo.getModelVersion(); - } else if (relatedInstanceModelInfo.getModelType().equals(ModelType.vnf) - && !(ModelType.configuration.name().equalsIgnoreCase(requestScope))) { - isRelatedVnfInstancePresent = true; - vnfModelName = relatedInstanceModelInfo.getModelCustomizationName(); - } else if (relatedInstanceModelInfo.getModelType().equals(ModelType.volumeGroup)) { - volumeGroupId = relatedInstance.getInstanceId(); - } + if (instanceList == null) { + return null; + } + for (RelatedInstanceList relatedInstanceList : instanceList) { + RelatedInstance relatedInstance = relatedInstanceList.getRelatedInstance(); + ModelInfo relatedInstanceModelInfo = relatedInstance.getModelInfo(); + + if (relatedInstanceModelInfo.getModelType().equals(ModelType.service)) { + serviceModelName = relatedInstanceModelInfo.getModelName(); + } else if (relatedInstanceModelInfo.getModelType().equals(ModelType.vnf) + && !(ModelType.configuration.name().equalsIgnoreCase(requestScope))) { + vnfModelName = relatedInstanceModelInfo.getModelCustomizationName(); + } else if (relatedInstanceModelInfo.getModelType().equals(ModelType.volumeGroup)) { + volumeGroupId = relatedInstance.getInstanceId(); } - - if (requestScope.equalsIgnoreCase(ModelType.volumeGroup.name())) { - serviceInstanceType = serviceModelName; - vnfType = serviceModelName + "/" + vnfModelName; - } else if (requestScope.equalsIgnoreCase(ModelType.vfModule.name())) { - vfModuleModelName = modelInfo.getModelName(); - serviceInstanceType = serviceModelName; - vnfType = serviceModelName + "/" + vnfModelName; - vfModuleType = vnfType + "::" + vfModuleModelName; - sir.setVolumeGroupInstanceId(volumeGroupId); - } else if (requestScope.equalsIgnoreCase(ModelType.vnf.name())) - vnfType = serviceModelName + "/" + sir.getRequestDetails().getModelInfo().getModelCustomizationName(); - + } + if (requestScope.equalsIgnoreCase(ModelType.vfModule.name())) { + vfModuleModelName = modelInfo.getModelName(); + vnfType = serviceModelName + "/" + vnfModelName; + vfModuleType = vnfType + "::" + vfModuleModelName; + sir.setVolumeGroupInstanceId(volumeGroupId); } return vfModuleType; } - public String getVnfType(ServiceInstancesRequest sir, String requestScope, Actions action, int reqVersion) { + public String getVnfType(ServiceInstancesRequest sir, String requestScope) { - String serviceInstanceType = null; - String networkType = null; String vnfType = null; - String vfModuleType = null; - String vfModuleModelName = null; - ModelInfo modelInfo = sir.getRequestDetails().getModelInfo(); RelatedInstanceList[] instanceList = sir.getRequestDetails().getRelatedInstanceList(); String serviceModelName = null; String vnfModelName = null; - String asdcServiceModelVersion = null; String volumeGroupId = null; - boolean isRelatedServiceInstancePresent = false; - boolean isRelatedVnfInstancePresent = false; - boolean isSourceVnfPresent = false; - boolean isDestinationVnfPresent = false; - boolean isConnectionPointPresent = false; - - if (instanceList != null) { - for (RelatedInstanceList relatedInstanceList : instanceList) { - RelatedInstance relatedInstance = relatedInstanceList.getRelatedInstance(); - ModelInfo relatedInstanceModelInfo = relatedInstance.getModelInfo(); - - if (action != Action.deleteInstance) { - - if (ModelType.configuration.name().equalsIgnoreCase(requestScope)) { - if (InstanceDirection.source.equals(relatedInstance.getInstanceDirection()) - && relatedInstanceModelInfo.getModelType().equals(ModelType.vnf)) { - isSourceVnfPresent = true; - } else if (InstanceDirection.destination.equals(relatedInstance.getInstanceDirection()) - && (relatedInstanceModelInfo.getModelType().equals(ModelType.vnf) - || (relatedInstanceModelInfo.getModelType().equals(ModelType.pnf) - && reqVersion == 6))) { - isDestinationVnfPresent = true; - } - } - if (ModelType.connectionPoint.equals(relatedInstanceModelInfo.getModelType()) - && ModelType.configuration.name().equalsIgnoreCase(requestScope)) { - isConnectionPointPresent = true; - } - } - - - if (relatedInstanceModelInfo.getModelType().equals(ModelType.service)) { - isRelatedServiceInstancePresent = true; - serviceModelName = relatedInstanceModelInfo.getModelName(); - asdcServiceModelVersion = relatedInstanceModelInfo.getModelVersion(); - } else if (relatedInstanceModelInfo.getModelType().equals(ModelType.vnf) - && !(ModelType.configuration.name().equalsIgnoreCase(requestScope))) { - isRelatedVnfInstancePresent = true; - vnfModelName = relatedInstanceModelInfo.getModelCustomizationName(); - } else if (relatedInstanceModelInfo.getModelType().equals(ModelType.volumeGroup)) { - volumeGroupId = relatedInstance.getInstanceId(); - } + if (instanceList == null) { + return null; + } + for (RelatedInstanceList relatedInstanceList : instanceList) { + RelatedInstance relatedInstance = relatedInstanceList.getRelatedInstance(); + ModelInfo relatedInstanceModelInfo = relatedInstance.getModelInfo(); + + if (relatedInstanceModelInfo.getModelType().equals(ModelType.service)) { + serviceModelName = relatedInstanceModelInfo.getModelName(); + } else if (relatedInstanceModelInfo.getModelType().equals(ModelType.vnf) + && !(ModelType.configuration.name().equalsIgnoreCase(requestScope))) { + vnfModelName = relatedInstanceModelInfo.getModelCustomizationName(); + } else if (relatedInstanceModelInfo.getModelType().equals(ModelType.volumeGroup)) { + volumeGroupId = relatedInstance.getInstanceId(); } - - if (requestScope.equalsIgnoreCase(ModelType.volumeGroup.name())) { - serviceInstanceType = serviceModelName; - vnfType = serviceModelName + "/" + vnfModelName; - } else if (requestScope.equalsIgnoreCase(ModelType.vfModule.name())) { - vfModuleModelName = modelInfo.getModelName(); - serviceInstanceType = serviceModelName; - vnfType = serviceModelName + "/" + vnfModelName; - vfModuleType = vnfType + "::" + vfModuleModelName; - sir.setVolumeGroupInstanceId(volumeGroupId); - } else if (requestScope.equalsIgnoreCase(ModelType.vnf.name())) - vnfType = serviceModelName + "/" + sir.getRequestDetails().getModelInfo().getModelCustomizationName(); - } - return vnfType; + if (requestScope.equalsIgnoreCase(ModelType.volumeGroup.name())) { + vnfType = serviceModelName + "/" + vnfModelName; + } else if (requestScope.equalsIgnoreCase(ModelType.vfModule.name())) { + vnfType = serviceModelName + "/" + vnfModelName; + sir.setVolumeGroupInstanceId(volumeGroupId); + } else if (requestScope.equalsIgnoreCase(ModelType.vnf.name())) + vnfType = serviceModelName + "/" + sir.getRequestDetails().getModelInfo().getModelCustomizationName(); + return vnfType; } } |