fix catalogdb cvfnc customization
[so.git] / bpmn / MSOCommonBPMN / src / main / java / org / onap / so / bpmn / servicedecomposition / tasks / BBInputSetupMapperLayer.java
index 0c7eb09..d8c80ce 100644 (file)
@@ -4,6 +4,8 @@
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
+ * Modifications Copyright (c) 2019 Samsung
+ * ================================================================================
  * 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
@@ -22,6 +24,7 @@ package org.onap.so.bpmn.servicedecomposition.tasks;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
@@ -50,7 +53,9 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.SegmentationAssignment;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Tenant;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
+import org.onap.so.bpmn.servicedecomposition.bbobjects.Vnfc;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
 import org.onap.so.bpmn.servicedecomposition.generalobjects.License;
@@ -69,6 +74,7 @@ import org.onap.so.db.catalog.beans.CollectionResource;
 import org.onap.so.db.catalog.beans.CollectionResourceCustomization;
 import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization;
 import org.onap.so.db.catalog.beans.ConfigurationResourceCustomization;
+import org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization;
 import org.onap.so.db.catalog.beans.InstanceGroup;
 import org.onap.so.db.catalog.beans.InstanceGroupType;
 import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
@@ -76,17 +82,18 @@ import org.onap.so.db.catalog.beans.OrchestrationStatus;
 import org.onap.so.db.catalog.beans.Service;
 import org.onap.so.db.catalog.beans.VfModuleCustomization;
 import org.onap.so.db.catalog.beans.VnfResourceCustomization;
-import org.onap.so.db.catalog.beans.VnfVfmoduleCvnfcConfigurationCustomization;
-import org.onap.so.logger.MsoLogger;
 import org.onap.so.serviceinstancebeans.CloudConfiguration;
 import org.onap.so.serviceinstancebeans.RequestDetails;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
 @Component("BBInputSetupMapperLayer")
 public class BBInputSetupMapperLayer {
+       private static final String USER_PARAM_NAME_KEY = "name";
+    private static final String USER_PARAM_VALUE_KEY = "value";
 
-       private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL,
-                       BBInputSetupMapperLayer.class);
+       private static final Logger logger = LoggerFactory.getLogger(BBInputSetupMapperLayer.class);
 
        private ModelMapper modelMapper = new ModelMapper();
 
@@ -332,6 +339,10 @@ public class BBInputSetupMapperLayer {
                if (null != requestParameters) {
                        context.setSubscriptionServiceType(requestParameters.getSubscriptionServiceType());
                        context.setRequestParameters(this.mapRequestParameters(requestDetails.getRequestParameters()));
+                       context.setUserParams(this.mapNameValueUserParams(requestDetails.getRequestParameters()));
+               }
+               if (requestDetails.getConfigurationParameters() != null) {
+                       context.setConfigurationParameters(requestDetails.getConfigurationParameters());
                }
                return context;
        }
@@ -339,28 +350,49 @@ public class BBInputSetupMapperLayer {
        protected RequestParameters mapRequestParameters(org.onap.so.serviceinstancebeans.RequestParameters requestParameters) {
                RequestParameters requestParams = new RequestParameters();
                requestParams.setaLaCarte(requestParameters.getALaCarte());
+               requestParams.setUsePreload(requestParameters.getUsePreload());
                requestParams.setSubscriptionServiceType(requestParameters.getSubscriptionServiceType());
                requestParams.setUserParams(requestParameters.getUserParams());
                requestParams.setPayload(requestParameters.getPayload());
                return requestParams;
        }
+       
+       protected Map<String,Object> mapNameValueUserParams(org.onap.so.serviceinstancebeans.RequestParameters requestParameters) {             
+               Map<String,Object> userParamsResult = new HashMap<String,Object>();
+               if (requestParameters.getUserParams() != null) {
+                       List<Map<String, Object>> userParams = requestParameters.getUserParams();
+                       for (Map<String, Object> userParamsMap : userParams) {
+                               if ( userParamsMap.containsKey(USER_PARAM_NAME_KEY) && (userParamsMap.get(USER_PARAM_NAME_KEY) instanceof String)
+                                               && userParamsMap.containsKey(USER_PARAM_VALUE_KEY)) {
+                                       userParamsResult.put((String) userParamsMap.get(USER_PARAM_NAME_KEY), userParamsMap.get(USER_PARAM_VALUE_KEY));
+                               }
+                       }
+               }
+               return userParamsResult;
+       }
 
        protected OrchestrationContext mapOrchestrationContext(RequestDetails requestDetails) {
                OrchestrationContext context = new OrchestrationContext();
-               context.setIsRollbackEnabled((requestDetails.getRequestInfo().getSuppressRollback()));
+               context.setIsRollbackEnabled(!(requestDetails.getRequestInfo().getSuppressRollback()));
                return context;
        }
 
-       protected CloudRegion mapCloudRegion(CloudConfiguration cloudConfiguration, org.onap.aai.domain.yang.CloudRegion aaiCloudRegion, String cloudOwner) {
+       protected CloudRegion mapCloudRegion(CloudConfiguration cloudConfiguration, org.onap.aai.domain.yang.CloudRegion aaiCloudRegion) {
                CloudRegion cloudRegion = new CloudRegion();
                if(cloudConfiguration != null)
                        cloudRegion = modelMapper.map(cloudConfiguration, CloudRegion.class);
                if(aaiCloudRegion != null)
                        modelMapper.map(aaiCloudRegion, cloudRegion);
-               if(cloudOwner != null)
-                       cloudRegion.setCloudOwner(cloudOwner);
                return cloudRegion;
        }
+       
+       protected Tenant mapTenant(org.onap.aai.domain.yang.Tenant aaiTenant) {
+               Tenant tenant = new Tenant();
+               if(aaiTenant != null) {
+                       modelMapper.map(aaiTenant, tenant);
+               }
+               return tenant;
+       }
 
        protected Collection mapAAICollectionIntoCollection(org.onap.aai.domain.yang.Collection aaiCollection) {
                Collection collection = new Collection();
@@ -457,12 +489,24 @@ public class BBInputSetupMapperLayer {
 
        protected ModelInfoConfiguration mapCatalogConfigurationToConfiguration(
                        ConfigurationResourceCustomization configurationResourceCustomization, 
-                       VnfVfmoduleCvnfcConfigurationCustomization vnfVfmoduleCvnfcConfigurationCustomization) {
+                       CvnfcConfigurationCustomization cvnfcConfigurationCustomization) {
                ModelInfoConfiguration modelInfoConfiguration = new ModelInfoConfiguration();
                modelInfoConfiguration.setModelVersionId(configurationResourceCustomization.getConfigurationResource().getModelUUID());
                modelInfoConfiguration.setModelCustomizationId(configurationResourceCustomization.getModelCustomizationUUID());
                modelInfoConfiguration.setModelInvariantId(configurationResourceCustomization.getConfigurationResource().getModelInvariantUUID());
-               modelInfoConfiguration.setPolicyName(vnfVfmoduleCvnfcConfigurationCustomization.getPolicyName());
+               modelInfoConfiguration.setPolicyName(cvnfcConfigurationCustomization.getPolicyName());
+               return modelInfoConfiguration;
+       }
+       
+       protected ModelInfoConfiguration mapCatalogConfigurationToConfiguration(
+                       CvnfcConfigurationCustomization cvnfcConfigurationCustomization) {
+               ModelInfoConfiguration modelInfoConfiguration = new ModelInfoConfiguration();
+               modelInfoConfiguration.setModelVersionId(cvnfcConfigurationCustomization.getConfigurationResource().getModelUUID());
+               modelInfoConfiguration.setModelCustomizationId(cvnfcConfigurationCustomization.getModelCustomizationUUID());
+               modelInfoConfiguration.setModelInvariantId(cvnfcConfigurationCustomization.getConfigurationResource().getModelInvariantUUID());
+               modelInfoConfiguration.setPolicyName(cvnfcConfigurationCustomization.getPolicyName());
+               modelInfoConfiguration.setConfigurationType(cvnfcConfigurationCustomization.getConfigurationType());
+               modelInfoConfiguration.setConfigurationRole(cvnfcConfigurationCustomization.getConfigurationRole());
                return modelInfoConfiguration;
        }
 
@@ -470,4 +514,8 @@ public class BBInputSetupMapperLayer {
                        CollectionNetworkResourceCustomization collectionNetworkResourceCust) {
                return modelMapper.map(collectionNetworkResourceCust, NetworkResourceCustomization.class);
        }
-}
\ No newline at end of file
+
+       public Vnfc mapAAIVnfc(org.onap.aai.domain.yang.Vnfc vnfcAAI) {
+               return modelMapper.map(vnfcAAI, Vnfc.class);
+       }
+}