correlationId is now read from userParams 63/70063/7
authorbiniek <lukasz.biniek@nokia.com>
Tue, 9 Oct 2018 13:05:08 +0000 (15:05 +0200)
committerbiniek <lukasz.biniek@nokia.com>
Mon, 15 Oct 2018 08:24:37 +0000 (10:24 +0200)
Change-Id: I92c6caad1370fde7daf067addbf39e45469e08aa
Issue-ID: SO-1116
Signed-off-by: biniek <lukasz.biniek@nokia.com>
common/src/main/java/org/onap/so/serviceinstancebeans/RequestParameters.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java

index e89c5c7..87cb481 100644 (file)
@@ -120,7 +120,7 @@ public class RequestParameters implements Serializable {
        public String getUserParamValue(String name){
                if(userParams!=null){
                        for(Map<String, Object> param:userParams){
-                               if(param.get("name").equals(name)){
+                               if(param.containsKey("name") && param.get("name").equals(name) && param.containsKey("value")){
                                        return param.get("value").toString();
                                }
                        }
index fb6076e..8047893 100644 (file)
@@ -111,7 +111,7 @@ public class ServiceInstances {
        private static String NAME = "name";
        private static String VALUE = "value";
        private static final String SAVE_TO_DB = "save instance to db";
-       
+
        @Autowired
        private Environment env;
        
@@ -738,17 +738,16 @@ public class ServiceInstances {
                if(sir.getNetworkInstanceId () != null){
                        networkId = sir.getNetworkInstanceId ();
                }
-               
-               if (sir.getCorrelationId() != null) {
-                       correlationId = sir.getCorrelationId();
-               }
-               try{
-                       infraActiveRequestsClient.save(currentActiveReq);
-               }catch(Exception e){
-                       ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_DB_ACCESS_EXC, MsoLogger.ErrorCode.DataError).errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build();
+
+        correlationId = getCorrelationId(sir);
+
+        try{
+            infraActiveRequestsClient.save(currentActiveReq);
+        }catch(Exception e){
+            ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_DB_ACCESS_EXC, MsoLogger.ErrorCode.DataError).errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build();
             throw new RequestDbFailureException.Builder(SAVE_TO_DB, e.toString(), HttpStatus.SC_INTERNAL_SERVER_ERROR, ErrorNumbers.SVC_DETAILED_SERVICE_ERROR).cause(e)
                     .errorInfo(errorLoggerInfo).build();
-               }
+        }
                
                if(!requestScope.equalsIgnoreCase(ModelType.service.name())){
                        aLaCarte = true;
@@ -761,6 +760,14 @@ public class ServiceInstances {
                                                                serviceInstanceType,vnfType, vfModuleType,networkType, apiVersion, aLaCarte, requestUri, null, requestScope, sir);
        }
 
+       private String getCorrelationId(ServiceInstancesRequest sir) {
+               return Optional.of(sir)
+                               .map(ServiceInstancesRequest::getRequestDetails)
+                               .map(RequestDetails::getRequestParameters)
+                               .map(parameters -> parameters.getUserParamValue("pnfId"))
+                               .orElse("");
+       }
+
        private String deriveRequestScope(Actions action, ServiceInstancesRequest sir, String requestUri) {
                if(action == Action.inPlaceSoftwareUpdate || action == Action.applyUpdatedConfig){
                        return (ModelType.vnf.name());
@@ -1641,9 +1648,9 @@ public class ServiceInstances {
                if(sir.getConfigurationId() != null){
             configurationId = sir.getConfigurationId();
         }
-               if (sir.getCorrelationId() != null) {
-                       correlationId = sir.getCorrelationId();
-               }
+
+        correlationId = getCorrelationId(sir);
+
                try{
                        infraActiveRequestsClient.save(currentActiveReq);
                }catch(Exception e){