diff options
Diffstat (limited to 'vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js')
-rwxr-xr-x | vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js | 2598 |
1 files changed, 1299 insertions, 1299 deletions
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js b/vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js index 739a17912..d5fd32001 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js @@ -1,1299 +1,1299 @@ -/*-
- * ============LICENSE_START=======================================================
- * VID
- * ================================================================================
- * Copyright (C) 2017 - 2019 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=========================================================
- */
-
-"use strict";
-
-/*
- * "CreationService" isolates the "component-specific" logic required by the
- * "CreationDialog" controller.
- *
- * "Components" are defined as the 5 element types managed by the dialogs: A)
- * Service B) VNF C) VF Module D) Volume Group and E) Network.
- *
- */
-
-var CreationService = function($log, AaiService, AsdcService, DataService,VIDCONFIGURATION,
- ComponentService, COMPONENT, FIELD, PARAMETER, UtilityService, OwningEntityService,featureFlags) {
-
- var _this = this;
- var getAsyncOperationList = function() {
- if (DataService.getLoggedInUserId() == null) {
- getLoggedInUserID();
- } else {
- UtilityService.startNextAsyncOperation();
- }
- switch (_this.componentId) {
- case COMPONENT.SERVICE:
- return [ getSubscribers, getServices, getAicZones, getOwningEntityProperties ];
- case COMPONENT.NETWORK:
- return [ getLcpCloudRegionTenantList, getOwningEntityProperties ];
- case COMPONENT.VNF:
- return [ getLcpCloudRegionTenantList, getOwningEntityProperties ];
- case COMPONENT.VF_MODULE:
- return [ getLcpCloudRegionTenantList ];
- case COMPONENT.VOLUME_GROUP:
- return [ getLcpCloudRegionTenantList ];
- }
- };
-
- /*
- * "getSummaryList" and "getUserProvidedList" return parameters that should
- * be displayed in the summary and user provided sections, respectively. The
- * functions are expected to return lists that are in the format needed by
- * the parameter-block directive.
- */
-
- var getSummaryList = function() {
-
- /*
- * These placeholders should be removed and their usage in
- * "getSummaryList" should be replaced by appropriate code as the
- * requirements and interfaces firm up.
- */
-
- var PLACEHOLDER_RESOURCE_DESCRIPTION = "Resource Description (PLACEHOLDER)";
- var PLACEHOLDER_SERVICE_CATEGORY = "Service Category (PLACEHOLDER)";
- var PLACEHOLDER_VF_MODULE_DESCRIPTION = "VF Module Description (PLACEHOLDER)";
- var PLACEHOLDER_VF_MODULE_LABEL = "VF Module Label (PLACEHOLDER)";
- var PLACEHOLDER_VF_MODULE_TYPE = "VF Module Type (PLACEHOLDER)";
-
- _this.parameterList = new Array();
-
- /*
- * Common fields displayed at the top of all create instance screens.
- */
- if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]==null
- || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==undefined
- || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==''){
- addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());
- }
-
- switch (_this.componentId) {
- case COMPONENT.SERVICE:
- if ( !DataService.getALaCarte() ) {
- // for macro instantiation need to add the resource names under the node template list
- // this field is called modelCustomizationName in the asdc client code
- var p;
- var rlist = DataService.getResources();
- var res;
- if ( rlist != null ) {
- for (var i = 0; i < rlist.length; i++) {
- res = rlist[i];
-
- p = FIELD.NAME.RESOURCE_NAME.concat(" " + (i+1));
- addToList(p, res.name );
- p = FIELD.NAME.RESOURCE_DESCRIPTION.concat(" " + (i+1));
- addToList(p, res.description );
- }
- }
- }
- if(DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=null && DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=''){
- addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
- .getModelInfo(_this.componentId)["createSubscriberName"]);
- }
- if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=null && DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=''){
- addToList(FIELD.NAME.SERVICE_TYPE, DataService
- .getModelInfo(_this.componentId)["serviceTypeName"]);
- addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());
- }
- addToList(FIELD.NAME.SERVICE_INVARIANT_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
- addToList(FIELD.NAME.SERVICE_VERSION, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
- addToList(FIELD.NAME.SERVICE_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
- addToList(FIELD.NAME.SERVICE_DESCRIPTION, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.DESCRIPTION]);
- addToList(FIELD.NAME.SERVICE_CATEGORY, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.CATEGORY]);
- if (DataService.getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE] != "null") {
- addToList(FIELD.NAME.SERVICE_TYPE, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE]);
- addToList(FIELD.NAME.SERVICE_ROLE, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_ROLE]);
- }
-
- break;
- case COMPONENT.VF_MODULE:
- addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
- .getSubscriberName());
- addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
- .getServiceInstanceName());
- addToList(FIELD.NAME.MODEL_NAME, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
- addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
- addToList(FIELD.NAME.MODEL_VERSION, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
- addToList(FIELD.NAME.MODEL_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
- addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);
- break;
- case COMPONENT.VNF:
- addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
- .getSubscriberName());
- addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
- .getServiceInstanceName());
- addToList(FIELD.NAME.MODEL_NAME, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
- addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
- addToList(FIELD.NAME.MODEL_VERSION, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
- addToList(FIELD.NAME.MODEL_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
- addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);
- addToList(FIELD.NAME.MODEL_CUSTOMIZATION_NAME, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_CUSTOMIZATION_NAME]);
- addToList(FIELD.NAME.MODEL_VNF_TYPE, DataService
- .getModelInfo(_this.componentId)[COMPONENT.VNF_TYPE]);
- addToList(FIELD.NAME.MODEL_VNF_ROLE, DataService
- .getModelInfo(_this.componentId)[COMPONENT.VNF_ROLE]);
- addToList(FIELD.NAME.MODEL_VNF_FUNCTION, DataService
- .getModelInfo(_this.componentId)[COMPONENT.VNF_FUNCTION]);
- addToList(FIELD.NAME.MODEL_VNF_CODE, DataService
- .getModelInfo(_this.componentId)[COMPONENT.VNF_CODE]);
- break;
- case COMPONENT.NETWORK:
- case COMPONENT.VOLUME_GROUP:
- addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
- .getSubscriberName());
- addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
- .getServiceInstanceName());
- addToList(FIELD.NAME.MODEL_NAME, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
- addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
- addToList(FIELD.NAME.MODEL_VERSION, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
- addToList(FIELD.NAME.MODEL_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
- addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService
- .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);
- break;
- }
-
- return _this.parameterList;
- };
-
- var getUserProvidedList = function() {
- var parameterList = [];
- var isUserProvidedNaming = false;
- if ( ((DataService.getModelInfo(_this.componentId).serviceEcompNaming != null)
- && (DataService.getModelInfo(_this.componentId).serviceEcompNaming === "false")) || DataService.getE2EService() ) {
- isUserProvidedNaming = true;
- }
-
- var isInTop = DataService.getHideServiceFields() || false;
- if (_this.componentId === COMPONENT.SERVICE) {
- if ( DataService.getALaCarte() ) {
- parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
- if(!isInTop){
- parameterList = parameterList.concat([ getSubscribersParameter(),
- FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
- }
- }
- else {
- // macro
-
- if(!isInTop){
- if (isUserProvidedNaming) {
- parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
-
- }
- parameterList = parameterList.concat([ getSubscribersParameter() ]);
- parameterList = parameterList.concat([ getServiceId(),
- FIELD.PARAMETER.SERVICE_TYPE,
- FIELD.PARAMETER.LCP_REGION,
- FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
- FIELD.PARAMETER.TENANT_DISABLED
- ]);
- if(!DataService.getE2EService()) {
- parameterList = parameterList.concat([getAicZonesParameter()]);
- }
-
- }else{
- parameterList = parameterList.concat([ getServiceId(),
- FIELD.PARAMETER.LCP_REGION,
- FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
- FIELD.PARAMETER.TENANT_DISABLED ]);
- }
- }
-
- if(!DataService.getE2EService()) {
- parameterList = parameterList.concat([getProjectParameter()]);
- parameterList = parameterList.concat([getOwningEntityParameter()]);
- }
-
- //if service model has a pnf, add a PNF ID parameter
- if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_PNP_INSTANTIATION) && DataService.getPnf()) {
- parameterList = parameterList.concat([ FIELD.PARAMETER.PNF_ID ]);
- }
- }
- else {
- parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
- switch (_this.componentId) {
- case COMPONENT.NETWORK:
- case COMPONENT.VNF:
- parameterList = parameterList.concat([ getServiceId(),
- getLcpRegionParameter(), FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
- FIELD.PARAMETER.TENANT_DISABLED ]);
- parameterList = parameterList.concat([ getLineOfBusinessParameter() ]);
- parameterList = parameterList.concat([ getPlatformParameter() ]);
-
- break;
- case COMPONENT.VF_MODULE:
- parameterList = parameterList.concat([
- getLcpRegionParameter(),
- FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
- FIELD.PARAMETER.TENANT_DISABLED
- ]);
-
- var availableVolumeGroupList = DataService.getAvailableVolumeGroupList();
-
- if (availableVolumeGroupList && availableVolumeGroupList.length > 0) {
- var availableVolumeGroupNames = [FIELD.STATUS.NONE];
-
- for (var i = 0; i < availableVolumeGroupList.length; i++) {
- availableVolumeGroupNames.push(availableVolumeGroupList[i].instance.name);
- }
-
- parameterList.push(addOptionList(
- FIELD.PARAMETER.AVAILABLE_VOLUME_GROUP,
- availableVolumeGroupNames));
- }
- break;
- case COMPONENT.VOLUME_GROUP:
- parameterList = parameterList.concat([ getLcpRegionParameter(),
- FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
- FIELD.PARAMETER.TENANT_DISABLED ]);
- }
- }
- parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK);
- if(_this.componentId === COMPONENT.VF_MODULE ){
- parameterList.push({name: FIELD.NAME.SDN_C_PRELOAD,
- id: FIELD.ID.SDN_C_PRELOAD,
- type: "checkbox",
- isEnabled: true,
- isRequired: false,
- hideFieldAndLabel: true
- }
- );
- parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,
- id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,
- type: "checkbox",
- isEnabled: true,
- isRequired: false,
- value:false
- }
- );
-
- parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE,
- id: FIELD.ID.SUPPLEMENTORY_DATA_FILE,
- type: "file",
- isRequired: false,
- isVisiblity: false
- }
- );
- }
-
- if( VIDCONFIGURATION.UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED && _this.componentId === COMPONENT.VOLUME_GROUP){
- parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,
- id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,
- type: "checkbox",
- isEnabled: true,
- isRequired: false
- }
- );
-
- parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE,
- id: FIELD.ID.SUPPLEMENTORY_DATA_FILE,
- type: "file",
- isRequired: false,
- isVisiblity: false
- }
- );
- }
-
- addArbitraryParameters(parameterList);
-
- return parameterList;
- };
-
- var addArbitraryParameters = function(parameterList) {
- if ( DataService.getModelInfo(_this.componentId).displayInputs != null ) {
- var inputs = DataService.getModelInfo(_this.componentId).displayInputs;
- for ( var key in inputs) {
- var parameter = {
- id : key,
- type : PARAMETER.STRING,
- name : ComponentService.getFieldDisplayName(key),
- value : inputs[key][PARAMETER.DEFAULT],
- isRequired : inputs[key][PARAMETER.REQUIRED],
- description : inputs[key][PARAMETER.DESCRIPTION]
- };
- if ( DataService.getALaCarte() ) {
- parameter.name = ComponentService.getFieldDisplayName(inputs[key][PARAMETER.DISPLAY_NAME]);
- }
- switch (inputs[key][PARAMETER.TYPE]) {
- case PARAMETER.INTEGER:
- parameter.type = PARAMETER.NUMBER;
- break;
- case PARAMETER.BOOLEAN:
- parameter.type = PARAMETER.BOOLEAN;
- break;
- case PARAMETER.RANGE:
- break;
- case PARAMETER.LIST:
- parameter.type = PARAMETER.LIST;
- break;
- case PARAMETER.MAP:
- parameter.type = PARAMETER.MAP;
- break;
- }
-
- if ( UtilityService.hasContents(inputs[key][PARAMETER.CONSTRAINTS])
- && ( inputs[key][PARAMETER.CONSTRAINTS].length > 0 ) ) {
- var constraintsArray = inputs[key][PARAMETER.CONSTRAINTS];
- //console.log ("Calling addConstraintParameters for input name=" + key);
- addConstraintParameters (parameterList, constraintsArray, key, inputs, parameter);
- }
- else {
-
- parameterList.push(parameter);
- }
- }
- DataService.setArbitraryParameters (parameterList);
- }
- };
-
- var addConstraintParameters = function(parameterList, constraintsArray, key, inputs, parameter) {
- // If there are constraints and the operator is "valid_values",
- // use a select parameter type.
- var i = constraintsArray.length;
- var parameterPushed = false;
- if ( i > 0 ) {
- while ( (i--) && (!parameterPushed) ) {
- var keys = Object.keys(constraintsArray[i]);
- //var keys_len = keys.length;
- for ( var operator in keys ) {
- //console.log ("keys[operator]=" + keys[operator]);
- switch (keys[operator]) {
- case PARAMETER.VALID_VALUES:
- var j = constraintsArray[i][PARAMETER.VALID_VALUES].length;
- if ( j > 0 ) {
- var oList = [];
- var option;
- while (j--) {
- option = {
- name: constraintsArray[i][PARAMETER.VALID_VALUES][j],
- isDefault: false
- }
- if ( ( UtilityService.hasContents (inputs[key][PARAMETER.DEFAULT]) )
- && (inputs[key][PARAMETER.DEFAULT] === constraintsArray[i][PARAMETER.VALID_VALUES][j] ) ) {
- option = {
- name: constraintsArray[i][PARAMETER.VALID_VALUES][j],
- isDefault: true
- }
- }
- oList.push(option);
- }
- parameter.type = PARAMETER.SELECT;
- parameter.optionList = oList;
- parameterList.push(parameter);
- parameterPushed = true;
- //console.log ("pushed param for valid values");
- }
- break;
-
- case PARAMETER.EQUAL:
- if ( constraintsArray[i][PARAMETER.EQUAL] != null ) {
- //override parameter type
- parameter.type = PARAMETER.STRING;
- parameter.isReadOnly = true;
- parameter.value = constraintsArray[i][PARAMETER.EQUAL];
- parameterList.push(parameter);
- parameterPushed = true;
- //console.log ("pushed param for equal");
- }
- break;
-
- case PARAMETER.LENGTH:
- if ( constraintsArray[i][PARAMETER.LENGTH] != null ) {
- parameter.minLength = constraintsArray[i][PARAMETER.LENGTH];
- parameter.maxLength = constraintsArray[i][PARAMETER.LENGTH];
- parameterList.push(parameter);
- parameterPushed = true;
- //console.log ("pushed param for length: ");
- //console.log (JSON.stringify (parameter, null, 4));
- }
- break;
- case PARAMETER.MAX_LENGTH:
- if ( constraintsArray[i][PARAMETER.MAX_LENGTH] != null ) {
- parameter.maxLength = constraintsArray[i][PARAMETER.MAX_LENGTH];
- parameterList.push(parameter);
- parameterPushed = true;
- //console.log ("pushed param for max length: ");
- //console.log (JSON.stringify (parameter, null, 4));
- }
- break;
- case PARAMETER.MIN_LENGTH:
- if ( constraintsArray[i][PARAMETER.MIN_LENGTH] != null ) {
- parameter.minLength = constraintsArray[i][PARAMETER.MIN_LENGTH];
- parameterList.push(parameter);
- parameterPushed = true;
- //console.log ("pushed param for min length: ");
- //console.log (JSON.stringify (parameter, null, 4));
- }
- break;
- case PARAMETER.IN_RANGE:
- if ( constraintsArray[i][PARAMETER.IN_RANGE] != null ) {
- if (constraintsArray[i][PARAMETER.IN_RANGE].length > 1 ) {
- parameter.min = constraintsArray[i][PARAMETER.IN_RANGE][0];
- parameter.max = constraintsArray[i][PARAMETER.IN_RANGE][1];
- parameter.type = PARAMETER.NUMBER;
- parameter.value = inputs[key][PARAMETER.DEFAULT]
- parameterList.push(parameter);
- parameterPushed = true;
- //console.log ("pushed param for in_range");
- }
- }
- break;
- case PARAMETER.GREATER_THAN:
- if ( constraintsArray[i][PARAMETER.GREATER_THAN] != null ) {
- parameter.type = PARAMETER.NUMBER;
- parameter.min = constraintsArray[i][PARAMETER.GREATER_THAN];
- parameter.value = inputs[key][PARAMETER.DEFAULT]
- parameterList.push(parameter);
- parameterPushed = true;
- //console.log ("pushed param for greater_than");
-
- }
- break;
- }//switch
- }//for
-
- }//while
- }//if
- };
- var addToList = function(name, value) {
- _this.parameterList.push({
- name : name,
- value : value
- });
- };
- var setInventoryInfo = function(){
- var inventoryItem = DataService.getInventoryItem();
- var inventoryInfo = ComponentService.getInventoryInfo(
- _this.componentId, inventoryItem);
- }
-
- /*
- * The "*Mso*" functions return URL and request details that can be passed
- * to the MSO controller. The request details defines the info passed as
- * part of the POST body.
- */
-
- var getMsoUrl = function() {
- switch (_this.componentId) {
- case COMPONENT.NETWORK:
- return "mso_create_nw_instance/"
- + DataService.getServiceInstanceId();
- case COMPONENT.SERVICE:
- if(DataService.getE2EService() === true)
- return "mso_create_e2e_svc_instance";
- else
- return "mso_create_svc_instance";
- case COMPONENT.VNF:
- return "mso_create_vnf_instance/"
- + DataService.getServiceInstanceId();
- case COMPONENT.VF_MODULE:
- return "mso_create_vfmodule_instance/"
- + DataService.getServiceInstanceId() + "/vnfs/"
- + DataService.getVnfInstanceId();
- case COMPONENT.VOLUME_GROUP:
- return "mso_create_volumegroup_instance/"
- + DataService.getServiceInstanceId() + "/vnfs/"
- + DataService.getVnfInstanceId();
- }
- };
-
- var getMsoE2ERequest = function(parameterList) {
- var modelInfo = DataService.getModelInfo(_this.componentId);
-
- //region id
- var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
- if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
- lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
- parameterList);
- }
- var cloudOwner = _.find(DataService.getCloudRegionTenantList(), function(region){
- return region.cloudRegionId === lcpRegion;
- }).cloudOwner;
-
- var params = [];
- var displayInputs = modelInfo.displayInputs;
- var groupBy = _.groupBy(displayInputs, "templateUUID");
-
- _.forEach(groupBy, function(nodeTemplateInputs, nodeTemplateUUID) {
- var reqParas = {};
- var vfLocations = [];
-
- nodeTemplateInputs.forEach(function(parameter){
- if(parameter.type === 'vf_location') {
- var loc = {
- vnfProfileId: parameter.displayName,
- locationConstraints : {
- vimId: cloudOwner + '_' + lcpRegion
- }
- };
- vfLocations.push(loc);
- } else if(parameter.type === 'sdn_controller') {
- if(parameter.value === undefined || parameter.value === null) {
- reqParas[parameter.name] = '';
- } else {
- reqParas[parameter.name] = parameter.value.value;
- }
- } else {
- var name;
- _.forEach(displayInputs, function(item, key){
- if(item === parameter) {
- name = key;
- }
- });
- var value = _.find(parameterList, function(item){
- return item.id === name;
- }).value;
- reqParas[parameter.displayName] = value;
- }
- });
-
- params.push({
- resourceName: nodeTemplateInputs[0].templateName,
- resourceInvariantUuid: nodeTemplateInputs[0].templateInvariantUUID,
- resourceUuid: nodeTemplateInputs[0].templateUUID,
- resourceCustomizationUuid: nodeTemplateInputs[0].templateCustomizationUUID,
- parameters: {
- locationConstraints: vfLocations,
- //TODO resources: [],
- requestInputs: reqParas
- }
- });
- });
-
- var requestBody = {
- service: {
- name: getValueFromList(FIELD.ID.INSTANCE_NAME, parameterList),
- description: modelInfo["description"],
- serviceInvariantUuid: modelInfo["modelInvariantId"],
- serviceUuid: modelInfo["modelNameVersionId"],
- globalSubscriberId: DataService.getGlobalCustomerId(),
- serviceType: getValueFromList(FIELD.ID.SERVICE_TYPE, parameterList) || modelInfo["serviceTypeName"],
- parameters: {
- locationConstraints: [],
- resources: params,
- requestInputs: {} //TODO
- }
- }
- };
-
- return requestBody;
- };
-
- var getMsoRequestDetails = function(parameterList) {
- console.log("getMsoRequestDetails invoked, parameterList="); console.log(JSON.stringify(parameterList,null,4));
- //console.log("getMsoRequestDetails invoked, DataService.getArbitraryParameters()=");
- //console.log(JSON.stringify(DataService.getArbitraryParameters(),null,4));
-
- //VoLTE logic goes here
- if(DataService.getE2EService() === true) {
- return getMsoE2ERequest(parameterList);
- }
-
- var modelInfo = DataService.getModelInfo(_this.componentId);
- var requestorloggedInId = DataService.getLoggedInUserId();
- var owningEntityId = getValueFromList(FIELD.ID.OWNING_ENTITY, parameterList);
- if (requestorloggedInId == null)
- requestorloggedInId = "";
- var isSupRollback = false;
- if (getValueFromList(FIELD.ID.SUPPRESS_ROLLBACK,parameterList) === "true") {
- isSupRollback = true;
- }
- var requestDetails = {
- requestInfo : {
- instanceName : getValueFromList(FIELD.ID.INSTANCE_NAME,
- parameterList) || DataService.getVfModuleInstanceName(),
- source : FIELD.ID.VID,
- suppressRollback : isSupRollback,
- requestorId: requestorloggedInId
- },
- modelInfo : {
- modelType : _this.componentId,
- modelInvariantId : modelInfo.modelInvariantId,
- modelVersionId : modelInfo.modelNameVersionId,
- modelName : modelInfo.modelName,
- modelVersion : modelInfo.modelVersion,
- modelCustomizationId: modelInfo.customizationUuid,
- modelCustomizationName : modelInfo.modelCustomizationName
- },
- requestParameters : {
- userParams : getArbitraryParameters(parameterList)
- }
- };
- if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ADD_MSO_TESTAPI_FIELD)) {
- if ((_this.componentId != COMPONENT.SERVICE) || ( DataService.getALaCarte() )) {
- requestDetails.requestParameters.testApi = DataService.getMsoRequestParametersTestApi();
- }
- }
- if ( (_this.componentId != COMPONENT.SERVICE) || ( !DataService.getALaCarte() ) ) {
- // include cloud region for everything but service create alacarte
- var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
- if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
- lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
- parameterList);
- }
- requestDetails.cloudConfiguration = {
- lcpCloudRegionId : lcpRegion,
- tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
- };
- }
- switch (_this.componentId) {
-
- case COMPONENT.SERVICE:
- requestDetails.subscriberInfo = {
- globalSubscriberId : DataService.getGlobalCustomerId(),
- subscriberName : DataService.getSubscriberName()
- };
- var isInTop = DataService.getHideServiceFields() || false;
- if(isInTop){
- requestDetails.requestParameters.subscriptionServiceType = DataService.getModelInfo(_this.componentId)["serviceTypeName"];
- }else{
- requestDetails.requestParameters.subscriptionServiceType = getValueFromList(
- FIELD.ID.SERVICE_TYPE, parameterList);
- }
- requestDetails.requestParameters.aLaCarte = DataService.getALaCarte();
- if ( !DataService.getALaCarte() ) {
- requestDetails.requestInfo.productFamilyId = getValueFromList(
- FIELD.ID.PRODUCT_FAMILY, parameterList);
- }
- var svcModelInfo = {
- modelType : _this.componentId,
- modelInvariantId : modelInfo.modelInvariantId,
- modelVersionId : modelInfo.modelNameVersionId,
- modelName : modelInfo.modelName,
- modelVersion : modelInfo.modelVersion
- };
- requestDetails.modelInfo = svcModelInfo;
-
- var selectedProject = getValueFromList(FIELD.ID.PROJECT, parameterList);
-
- if (selectedProject) {
- requestDetails.project = {
- projectName: getValueFromList(FIELD.ID.PROJECT, parameterList)
- };
- }
-
- requestDetails.owningEntity = {
- owningEntityId: owningEntityId,
- owningEntityName: getOwningEntityNameById(owningEntityId)
- };
-
- break;
- case COMPONENT.VNF:
-
- requestDetails.requestInfo.productFamilyId = getValueFromList(
- FIELD.ID.PRODUCT_FAMILY, parameterList);
-
- var lineOfBusiness = getValueFromList(FIELD.ID.LINE_OF_BUSINESS, parameterList);
-
- if(lineOfBusiness) {
- var lineOfBusinessNamesString = _.map(lineOfBusiness, "name").join(", ");
-
- requestDetails.lineOfBusiness = {
- lineOfBusinessName: lineOfBusinessNamesString
- }
- }
-
- requestDetails.platform = {
- platformName: getValueFromList(FIELD.ID.PLATFORM, parameterList)
- };
-
- break;
- case COMPONENT.NETWORK:
- requestDetails.requestInfo.productFamilyId = getValueFromList(
- FIELD.ID.PRODUCT_FAMILY, parameterList);
- var lineOfBusiness = getValueFromList(FIELD.ID.LINE_OF_BUSINESS, parameterList);
-
- if(lineOfBusiness) {
- var lineOfBusinessNamesString = _.map(lineOfBusiness, "name").join(", ");
-
- requestDetails.lineOfBusiness = {
- lineOfBusinessName: lineOfBusinessNamesString
- }
- }
-
- requestDetails.platform = {
- platformName: getValueFromList(FIELD.ID.PLATFORM, parameterList)
- };
- break;
- case COMPONENT.VF_MODULE:
- requestDetails.requestParameters.usePreload = getValueFromList(
- FIELD.ID.SDN_C_PRELOAD, parameterList);
- if(_this.componentId == COMPONENT.VF_MODULE &&(requestDetails.requestParameters.usePreload== null || requestDetails.requestParameters.usePreload === '')){
- requestDetails.requestParameters.usePreload = false;
- }
- break;
- case COMPONENT.VOLUME_GROUP:
- break;
- }
-
- var relatedInstanceList = getRelatedInstanceList(parameterList);
-
- if (relatedInstanceList !== undefined) {
- requestDetails.relatedInstanceList = relatedInstanceList;
- }
-
- return requestDetails;
- };
-
- var getRelatedInstanceList = function(parameterList) {
- var relatedInstanceList = new Array();
- switch (_this.componentId) {
- case COMPONENT.SERVICE:
- return undefined;
- case COMPONENT.NETWORK:
- case COMPONENT.VNF:
- addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,
- DataService.getServiceInstanceId());
- break;
- case COMPONENT.VF_MODULE:
- addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,
- DataService.getServiceInstanceId());
- addRelatedInstance(relatedInstanceList, COMPONENT.VNF, DataService
- .getVnfInstanceId());
-
- var availableVolumeGroup = getValueFromList(
- FIELD.ID.AVAILABLE_VOLUME_GROUP, parameterList);
-
- if (UtilityService.hasContents(availableVolumeGroup) && availableVolumeGroup !== "None") {
- var availableVolumeGroups = DataService.getAvailableVolumeGroupList();
-
- for (var i = 0; i < availableVolumeGroups.length; i++) {
- if (availableVolumeGroups[i].instance.name == availableVolumeGroup) {
- DataService.setModelInfo(COMPONENT.VOLUME_GROUP, DataService.getModelInfo(COMPONENT.VF_MODULE));
- DataService.setVolumeGroupInstanceId(availableVolumeGroups[i].instance.object["volume-group-id"]);
- break;
- }
- }
-
- addRelatedInstance(relatedInstanceList, COMPONENT.VOLUME_GROUP,
- DataService.getVolumeGroupInstanceId());
- }
- break;
- case COMPONENT.VOLUME_GROUP:
- addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,
- DataService.getServiceInstanceId());
- addRelatedInstance(relatedInstanceList, COMPONENT.VNF, DataService
- .getVnfInstanceId());
- break;
- }
-
- return relatedInstanceList;
- };
-
- var addRelatedInstance = function(relatedInstanceList, componentId,
- instanceId) {
- var modelInfo = DataService.getModelInfo(componentId);
- var relatedInstance;
- if (modelInfo !== undefined) {
- if (componentId === COMPONENT.SERVICE) {
- relatedInstance = {
- "instanceId" : instanceId,
- "modelInfo" : {
- "modelType" : componentId,
- "modelName" : modelInfo.modelName,
- "modelInvariantId" : modelInfo.modelInvariantId,
- "modelVersion" : modelInfo.modelVersion,
- "modelVersionId" : modelInfo.modelNameVersionId,
-
- }
- };
- }
- else {
- relatedInstance = {
- "instanceId" : instanceId,
- "modelInfo" : {
- "modelType" : componentId,
- "modelName" : modelInfo.modelName,
- "modelInvariantId" : modelInfo.modelInvariantId,
- "modelVersion" : modelInfo.modelVersion,
- "modelVersionId" : modelInfo.modelNameVersionId,
- "modelCustomizationId": modelInfo.customizationUuid,
- "modelCustomizationName": modelInfo.modelCustomizationName
- }
- }
- }
- relatedInstanceList.push({
- relatedInstance : relatedInstance
- });
- }
- };
-
- /*
- * var getArbitraryParameters = function(parameterList) { var
- * arbitraryParameters = new Object(); for (var i = 0; i <
- * parameterList.length; i++) { var parameter = parameterList[i]; switch
- * (parameter.id) { case FIELD.ID.INSTANCE_NAME: case
- * FIELD.ID.PRODUCT_FAMILY: case FIELD.ID.LCP_REGION: case
- * FIELD.ID.LCP_REGION_TEXT: case FIELD.ID.SERVICE_TYPE: case
- * FIELD.ID.TENANT: case FIELD.ID.SUPPRESS_ROLLBACK: break; default:
- * arbitraryParameters[parameter.id] = parameter.value; } } return
- * arbitraryParameters; }
- */
- var getArbitraryParameters = function(parameterList) {
- var arbitraryParameters = new Object();
- var arbitraryArray = new Array();
- for (var i = 0; i < parameterList.length; i++) {
- var parameter = parameterList[i];
- switch (parameter.id) {
- case FIELD.ID.AVAILABLE_VOLUME_GROUP:
- case FIELD.ID.INSTANCE_NAME:
- case FIELD.ID.PRODUCT_FAMILY:
- case FIELD.ID.LCP_REGION:
- case FIELD.ID.LCP_REGION_TEXT:
- case FIELD.ID.SERVICE_TYPE:
- case FIELD.ID.TENANT:
- case FIELD.ID.SUPPRESS_ROLLBACK:
- case FIELD.ID.SUBSCRIBER_NAME:
- case FIELD.ID.SDN_C_PRELOAD:
- case FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE:
- case FIELD.ID.OWNING_ENTITY:
- case FIELD.ID.PLATFORM:
- case FIELD.ID.LINE_OF_BUSINESS:
- case FIELD.ID.PROJECT:
- break;
- case FIELD.ID.SUPPLEMENTORY_DATA_FILE:
- arbitraryParameters = FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value'];
- arbitraryArray=arbitraryParameters;
- FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value']=[];
- break;
-
- default:
- if (parameter.value != '') {
- arbitraryParameters = {
- name: parameter.id,
- value: parameter.value
- }
- arbitraryArray.push(arbitraryParameters);
- }
- }
- }
- return (arbitraryArray);
- }
-
- var getModel = function() {
- AsdcService.getModel(DataService.getModelId(), function(response) {
- DataService.setModelInfo(_this.componentId, {
- modelInvariantId : response.data.invariantUUID,
- modelNameVersionId : response.data.uuid,
- modelName : response.data.name,
- modelVersion : response.data.version,
- inputs : response.data.inputs
- });
- UtilityService.startNextAsyncOperation();
- });
- };
-
- var getSubscriptionServiceTypeList = function() {
- AaiService.getSubscriptionServiceTypeList(DataService
- .getGlobalCustomerId(), function(response) {
- DataService.setSubscriptionServiceTypeList(response);
- UtilityService.startNextAsyncOperation();
- });
- };
-
- var getLoggedInUserID = function() {
- AaiService.getLoggedInUserID(function(response) {
- DataService.setLoggedInUserId(response.data);
- UtilityService.startNextAsyncOperation();
- });
- };
-
- var getSubscribers = function() {
- AaiService.getSubscribers(function(response) {
- DataService.setSubscribers(response);
- UtilityService.startNextAsyncOperation();
- });
- };
- var getServices = function() {
- AaiService.getServices(function(response) {
- var serviceIdList = [];
- angular.forEach(response.data, function(value, key) {
- angular.forEach(value, function(subVal, key) {
- var newVal = {
- "id" : subVal[FIELD.ID.SERVICE_ID],
- "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION],
- "isPermitted" : subVal[FIELD.ID.IS_PERMITTED],
- };
- serviceIdList.push(newVal);
- DataService.setServiceIdList(serviceIdList);
- });
- });
-
- UtilityService.startNextAsyncOperation();
- });
- };
- var getAicZones = function() {
- AaiService.getAicZones(function(response) {
- var serviceIdList = [];
- angular.forEach(response.data, function(value, key) {
- angular.forEach(value, function(subVal, key) {
- var newVal = {
- "id" : subVal[FIELD.ID.ZONE_ID],
- "name" : subVal[FIELD.ID.ZONE_NAME],
- };
- serviceIdList.push(newVal);
- DataService.setAicZones(serviceIdList);
- });
- });
-
- UtilityService.startNextAsyncOperation();
- });
- };
-
- var getOwningEntityProperties = function() {
- OwningEntityService.getOwningEntityProperties(function(owningEntityProperties) {
- DataService.setOwningEntityProperties(owningEntityProperties);
- UtilityService.startNextAsyncOperation();
- });
-
- };
-
- var getLcpCloudRegionTenantList = function() {
- AaiService.getLcpCloudRegionTenantList(DataService
- .getGlobalCustomerId(), DataService.getServiceType(), function(
- response) {
- DataService.setCloudRegionTenantList(response);
- UtilityService.startNextAsyncOperation();
- });
- };
-
- var internalGetParametersHandler = function() {
- if (angular.isFunction(_this.getParametersHandler)) {
- _this.getParametersHandler({
- summaryList : getSummaryList(),
- userProvidedList : getUserProvidedList()
- });
- }
- };
-
- var getSubscribersParameter = function() {
- var subscribers = DataService.getSubscribers();
- var parameter = FIELD.PARAMETER.SUBSCRIBER_NAME;
- if ( UtilityService.hasContents(subscribers)) {
- parameter.optionList = [];
-
- for (var i = 0; i < subscribers.length; i++) {
- parameter.optionList.push({
- id : subscribers[i][FIELD.ID.GLOBAL_CUSTOMER_ID],
- name : subscribers[i][FIELD.ID.SUBNAME],
- isPermitted : subscribers[i][FIELD.ID.IS_PERMITTED]
- })
- }
- }
- return parameter;
- };
-
- var getServiceId = function() {
- var serviceIdList = DataService.getServiceIdList();
- //var serviceTypeList = DataService.getSubscriptionServiceTypeList();
- var parameter = FIELD.PARAMETER.PRODUCT_FAMILY;
- parameter.optionList = new Array();
- if ( UtilityService.hasContents(serviceIdList) ) {
- // load them all
- for (var i = 0; i < serviceIdList.length; i++) {
- parameter.optionList.push({
- id : serviceIdList[i].id,
- name : serviceIdList[i].description,
- isPermitted : serviceIdList[i].isPermitted
- });
- }
- }
-
- return parameter;
- };
-
- var getAicZonesParameter = function() {
- var aicList = DataService.getAicZones();
- var parameter = FIELD.PARAMETER.AIC_ZONES;
- parameter.optionList = new Array();
- if ( UtilityService.hasContents(aicList) ) {
- // load them all
- for (var i = 0; i < aicList.length; i++) {
- parameter.optionList.push({
- id : aicList[i].id,
- name : aicList[i].name,
- isPermitted : true
-
- });
- }
- }
-
- return parameter;
- };
-
- var getProjectParameter = function() {
- return getOwningEntityParameterWithOptions(FIELD.PARAMETER.PROJECT);
- };
-
- var getOwningEntityParameter = function() {
- return getOwningEntityParameterWithOptions(FIELD.PARAMETER.OWNING_ENTITY);
- };
-
- var getLineOfBusinessParameter = function() {
- return getOwningEntityParameterWithOptions(FIELD.PARAMETER.LINE_OF_BUSINESS);
- };
-
- var getPlatformParameter = function() {
- return getOwningEntityParameterWithOptions(FIELD.PARAMETER.PLATFORM);
- };
-
- var getOwningEntityNameById = function (id) {
- var properties = DataService.getOwningEntityProperties();
- var parameter = _.find(properties[FIELD.ID.OWNING_ENTITY], {"id": id});
- return parameter && parameter.name;
- };
-
- var getOwningEntityParameterWithOptions = function(parameter) {
- var properties = DataService.getOwningEntityProperties();
- if (properties && properties[parameter.id]) {
- parameter.optionList = _.map(properties[parameter.id], function(parameter) {
- return {
- "id" : parameter.id,
- "name" : parameter.name,
- "isPermitted": true
- };
- });
- }
-
- return parameter;
- };
-
- var getLcpRegionParameter = function() {
- var cloudRegionTenantList = DataService.getCloudRegionTenantList();
- console.log ( "cloudRegionTenantList=");
- console.log ( JSON.stringify (cloudRegionTenantList, null, 4 ));
-
- var parameter = FIELD.PARAMETER.LCP_REGION;
- if ( UtilityService.hasContents (cloudRegionTenantList) ) {
- parameter.optionList = new Array();
- for (var i = 0; i < cloudRegionTenantList.length; i++) {
- for (var j = 0; j < parameter.optionList.length; j++) {
- if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) {
- parameter.optionList[j].isPermitted =
- parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted;
- break;
- }
- }
- if (j < parameter.optionList.length) {
- continue;
- }
-
- var optionName = featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) && cloudRegionTenantList[i].cloudOwner ?
- cloudRegionTenantList[i].cloudRegionId + " (" + cloudRegionTenantList[i].cloudOwner.trim().toLowerCase().replace(/^att-/, "").toUpperCase() + ")" :
- cloudRegionTenantList[i].cloudRegionId;
-
- parameter.optionList.push({
- id : cloudRegionTenantList[i].cloudRegionId,
- name: optionName,
- isPermitted : cloudRegionTenantList[i].isPermitted
- });
- }
- }
- return parameter;
- };
-
- var getTenantList = function(cloudRegionId) {
- var cloudRegionTenantList = DataService.getCloudRegionTenantList();
- var parameter = "";
- if ( UtilityService.hasContents (cloudRegionTenantList) ) {
- parameter = FIELD.PARAMETER.TENANT_ENABLED;
- parameter.optionList = new Array();
- for (var i = 0; i < cloudRegionTenantList.length; i++) {
- if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) {
- parameter.optionList.push({
- id : cloudRegionTenantList[i].tenantId,
- name : cloudRegionTenantList[i].tenantName,
- isPermitted : cloudRegionTenantList[i].isPermitted
-
- });
- }
- }
- }
- return parameter;
-
- };
-
- var addOptionList = function(parameter, optionSimpleArray) {
- var optionList = new Array();
- if (!angular.isArray(optionSimpleArray)) {
- return optionList;
- }
- for (var i = 0; i < optionSimpleArray.length; i++) {
- optionList.push({
- name : optionSimpleArray[i],
- isPermitted :true,
- });
- }
- parameter.optionList = optionList;
- return parameter;
- };
-
- var getValueFromList = function(id, parameterList) {
- for (var i = 0; i < parameterList.length; i++) {
- if (parameterList[i].id === id) {
- return parameterList[i].value;
- }
- }
- };
- var updateUserParameterList = function(updatedId, parameterListControl) {
- console.log ("updateUserParameterList() updatedId=" + updatedId);
- if (updatedId === FIELD.ID.PRODUCT_FAMILY && DataService.getHideServiceFields()) {
- var cloudRegionTenantList = new Array();
- AaiService.getLcpCloudRegionTenantList(DataService.getGlobalCustomerId(), DataService.getServiceType(), function(cloudRegionTenantList) {
- DataService.setCloudRegionTenantList(cloudRegionTenantList);
- parameterListControl.updateList([ getLcpRegionParameter() ]);
- });
- }else if (updatedId === FIELD.ID.SDN_C_PRELOAD) {
- var list = parameterListControl.getList(updatedId);
- if($('input[parameter-id="'+updatedId+'"]').is(':checked')){
- FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED.value=true;
- parameterListControl
- .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED ]);
- }else{
- parameterListControl
- .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_UNCHECKED ]);
- }
- }else if (updatedId === FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE) {
- if($('input[parameter-id="'+updatedId+'"]').is(':checked')){
- $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').show();
- FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=true;
- parameterListControl
- .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED ]);
- }else{
- $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').hide();
- FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=false;
- parameterListControl
- .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED ]);
- }
- } else if (updatedId === FIELD.ID.SUPPLEMENTORY_DATA_FILE) {
- var filePath = $('input[parameter-id="'+updatedId+'"]').val();
- var arr =filePath.split('.');
- var fileExt = arr[arr.length-1];
- if(fileExt!='' && fileExt.toLowerCase()!='json'){
- $('input[parameter-id="'+updatedId+'"]').val('');
- alert("Invalid file format. Please select *.json format file.");
- return false;
- }
- } else if (updatedId === FIELD.ID.LCP_REGION) {
- var list = parameterListControl.getList(updatedId);
- if (list[0].selectedIndex >= 0) {
- parameterListControl
- .updateList([ getTenantList(list[0].value) ]);
- } else {
- parameterListControl
- .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]);
- }
- if (list[0].value === FIELD.KEY.LCP_REGION_TEXT) {
- parameterListControl
- .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]);
- } else {
- parameterListControl
- .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN ]);
- }
- } else if (updatedId === FIELD.ID.SUBSCRIBER_NAME) {
- var list = parameterListControl.getList(updatedId);
- if (list[0].selectedIndex >= 0) {
- DataService.setGlobalCustomerId(list[0].value);
-
- AaiService.getSubscriptionServiceTypeList(DataService
- .getGlobalCustomerId(), function(response) {
- DataService.setSubscriptionServiceTypeList(response);
- var serviceTypeParameters = FIELD.PARAMETER.SERVICE_TYPE;
- serviceTypeParameters.optionList = [];
-
- for (var i = 0; i < response.length; i++) {
- serviceTypeParameters.optionList.push({
- "id" : response[i].name,
- "name" : response[i].name,
- "isPermitted" :response[i].isPermitted
-
- });
- }
- console.log ( "updateUserParameterList: service type parameters " );
- console.log ( JSON.stringify (serviceTypeParameters, null, 4));
- parameterListControl.updateList([ serviceTypeParameters ]);
- });
-
- }
- } else if ( updatedId === FIELD.ID.SERVICE_TYPE ) {
- var list = parameterListControl.getList(updatedId);
- if (list[0].selectedIndex >= 0) {
-
- DataService.setServiceType(list[0].value);
- var cloudRegionTenantList = new Array();
- AaiService.getLcpCloudRegionTenantList(DataService.getGlobalCustomerId(), DataService.getServiceType(), function(cloudRegionTenantList) {
- DataService.setCloudRegionTenantList(cloudRegionTenantList);
- parameterListControl.updateList([ getLcpRegionParameter() ]);
- });
- } else {
- parameterListControl
- .updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
- }
- }
-
- };
-
- return {
- initializeComponent : function(componentId) {
- _this.componentId = ComponentService.initialize(componentId);
- },
- setHttpErrorHandler : function(httpErrorHandler) {
- _this.httpErrorHandler = httpErrorHandler;
- },
- getComponentDisplayName : ComponentService.getComponentDisplayName,
- getParameters : function(getParametersHandler) {
- _this.getParametersHandler = getParametersHandler;
- UtilityService.setHttpErrorHandler(_this.httpErrorHandler);
- UtilityService.startAsyncOperations(getAsyncOperationList(),
- internalGetParametersHandler);
- },
- updateUserParameterList : updateUserParameterList,
- getMsoRequestDetails : getMsoRequestDetails,
- getMsoUrl : getMsoUrl,
- setInventoryInfo: setInventoryInfo
- }
-}
-
-appDS2.factory("CreationService", [ "$log", "AaiService", "AsdcService",
- "DataService","VIDCONFIGURATION", "ComponentService", "COMPONENT", "FIELD", "PARAMETER",
- "UtilityService", "OwningEntityService","featureFlags", CreationService ]);
+/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * Copyright (C) 2017 - 2019 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========================================================= + */ + +"use strict"; + +/* + * "CreationService" isolates the "component-specific" logic required by the + * "CreationDialog" controller. + * + * "Components" are defined as the 5 element types managed by the dialogs: A) + * Service B) VNF C) VF Module D) Volume Group and E) Network. + * + */ + +var CreationService = function($log, AaiService, AsdcService, DataService,VIDCONFIGURATION, + ComponentService, COMPONENT, FIELD, PARAMETER, UtilityService, OwningEntityService,featureFlags) { + + var _this = this; + var getAsyncOperationList = function() { + if (DataService.getLoggedInUserId() == null) { + getLoggedInUserID(); + } else { + UtilityService.startNextAsyncOperation(); + } + switch (_this.componentId) { + case COMPONENT.SERVICE: + return [ getSubscribers, getServices, getAicZones, getOwningEntityProperties ]; + case COMPONENT.NETWORK: + return [ getLcpCloudRegionTenantList, getOwningEntityProperties ]; + case COMPONENT.VNF: + return [ getLcpCloudRegionTenantList, getOwningEntityProperties ]; + case COMPONENT.VF_MODULE: + return [ getLcpCloudRegionTenantList ]; + case COMPONENT.VOLUME_GROUP: + return [ getLcpCloudRegionTenantList ]; + } + }; + + /* + * "getSummaryList" and "getUserProvidedList" return parameters that should + * be displayed in the summary and user provided sections, respectively. The + * functions are expected to return lists that are in the format needed by + * the parameter-block directive. + */ + + var getSummaryList = function() { + + /* + * These placeholders should be removed and their usage in + * "getSummaryList" should be replaced by appropriate code as the + * requirements and interfaces firm up. + */ + + var PLACEHOLDER_RESOURCE_DESCRIPTION = "Resource Description (PLACEHOLDER)"; + var PLACEHOLDER_SERVICE_CATEGORY = "Service Category (PLACEHOLDER)"; + var PLACEHOLDER_VF_MODULE_DESCRIPTION = "VF Module Description (PLACEHOLDER)"; + var PLACEHOLDER_VF_MODULE_LABEL = "VF Module Label (PLACEHOLDER)"; + var PLACEHOLDER_VF_MODULE_TYPE = "VF Module Type (PLACEHOLDER)"; + + _this.parameterList = new Array(); + + /* + * Common fields displayed at the top of all create instance screens. + */ + if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]==null + || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==undefined + || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==''){ + addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName()); + } + + switch (_this.componentId) { + case COMPONENT.SERVICE: + if ( !DataService.getALaCarte() ) { + // for macro instantiation need to add the resource names under the node template list + // this field is called modelCustomizationName in the asdc client code + var p; + var rlist = DataService.getResources(); + var res; + if ( rlist != null ) { + for (var i = 0; i < rlist.length; i++) { + res = rlist[i]; + + p = FIELD.NAME.RESOURCE_NAME.concat(" " + (i+1)); + addToList(p, res.name ); + p = FIELD.NAME.RESOURCE_DESCRIPTION.concat(" " + (i+1)); + addToList(p, res.description ); + } + } + } + if(DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=null && DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=''){ + addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService + .getModelInfo(_this.componentId)["createSubscriberName"]); + } + if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=null && DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=''){ + addToList(FIELD.NAME.SERVICE_TYPE, DataService + .getModelInfo(_this.componentId)["serviceTypeName"]); + addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName()); + } + addToList(FIELD.NAME.SERVICE_INVARIANT_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]); + addToList(FIELD.NAME.SERVICE_VERSION, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]); + addToList(FIELD.NAME.SERVICE_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]); + addToList(FIELD.NAME.SERVICE_DESCRIPTION, DataService + .getModelInfo(_this.componentId)[FIELD.ID.DESCRIPTION]); + addToList(FIELD.NAME.SERVICE_CATEGORY, DataService + .getModelInfo(_this.componentId)[FIELD.ID.CATEGORY]); + if (DataService.getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE] != "null") { + addToList(FIELD.NAME.SERVICE_TYPE, DataService + .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE]); + addToList(FIELD.NAME.SERVICE_ROLE, DataService + .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_ROLE]); + } + + break; + case COMPONENT.VF_MODULE: + addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService + .getSubscriberName()); + addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService + .getServiceInstanceName()); + addToList(FIELD.NAME.MODEL_NAME, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]); + addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]); + addToList(FIELD.NAME.MODEL_VERSION, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]); + addToList(FIELD.NAME.MODEL_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]); + addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]); + break; + case COMPONENT.VNF: + addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService + .getSubscriberName()); + addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService + .getServiceInstanceName()); + addToList(FIELD.NAME.MODEL_NAME, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]); + addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]); + addToList(FIELD.NAME.MODEL_VERSION, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]); + addToList(FIELD.NAME.MODEL_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]); + addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]); + addToList(FIELD.NAME.MODEL_CUSTOMIZATION_NAME, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_CUSTOMIZATION_NAME]); + addToList(FIELD.NAME.MODEL_VNF_TYPE, DataService + .getModelInfo(_this.componentId)[COMPONENT.VNF_TYPE]); + addToList(FIELD.NAME.MODEL_VNF_ROLE, DataService + .getModelInfo(_this.componentId)[COMPONENT.VNF_ROLE]); + addToList(FIELD.NAME.MODEL_VNF_FUNCTION, DataService + .getModelInfo(_this.componentId)[COMPONENT.VNF_FUNCTION]); + addToList(FIELD.NAME.MODEL_VNF_CODE, DataService + .getModelInfo(_this.componentId)[COMPONENT.VNF_CODE]); + break; + case COMPONENT.NETWORK: + case COMPONENT.VOLUME_GROUP: + addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService + .getSubscriberName()); + addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService + .getServiceInstanceName()); + addToList(FIELD.NAME.MODEL_NAME, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]); + addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]); + addToList(FIELD.NAME.MODEL_VERSION, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]); + addToList(FIELD.NAME.MODEL_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]); + addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService + .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]); + break; + } + + return _this.parameterList; + }; + + var getUserProvidedList = function() { + var parameterList = []; + var isUserProvidedNaming = false; + if ( ((DataService.getModelInfo(_this.componentId).serviceEcompNaming != null) + && (DataService.getModelInfo(_this.componentId).serviceEcompNaming === "false")) || DataService.getE2EService() ) { + isUserProvidedNaming = true; + } + + var isInTop = DataService.getHideServiceFields() || false; + if (_this.componentId === COMPONENT.SERVICE) { + if ( DataService.getALaCarte() ) { + parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ]; + if(!isInTop){ + parameterList = parameterList.concat([ getSubscribersParameter(), + FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]); + } + } + else { + // macro + + if(!isInTop){ + if (isUserProvidedNaming) { + parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ]; + + } + parameterList = parameterList.concat([ getSubscribersParameter() ]); + parameterList = parameterList.concat([ getServiceId(), + FIELD.PARAMETER.SERVICE_TYPE, + FIELD.PARAMETER.LCP_REGION, + FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN, + FIELD.PARAMETER.TENANT_DISABLED + ]); + if(!DataService.getE2EService()) { + parameterList = parameterList.concat([getAicZonesParameter()]); + } + + }else{ + parameterList = parameterList.concat([ getServiceId(), + FIELD.PARAMETER.LCP_REGION, + FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN, + FIELD.PARAMETER.TENANT_DISABLED ]); + } + } + + if(!DataService.getE2EService()) { + parameterList = parameterList.concat([getProjectParameter()]); + parameterList = parameterList.concat([getOwningEntityParameter()]); + } + + //if service model has a pnf, add a PNF ID parameter + if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_PNP_INSTANTIATION) && DataService.getPnf()) { + parameterList = parameterList.concat([ FIELD.PARAMETER.PNF_ID ]); + } + } + else { + parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ]; + switch (_this.componentId) { + case COMPONENT.NETWORK: + case COMPONENT.VNF: + parameterList = parameterList.concat([ getServiceId(), + getLcpRegionParameter(), FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN, + FIELD.PARAMETER.TENANT_DISABLED ]); + parameterList = parameterList.concat([ getLineOfBusinessParameter() ]); + parameterList = parameterList.concat([ getPlatformParameter() ]); + + break; + case COMPONENT.VF_MODULE: + parameterList = parameterList.concat([ + getLcpRegionParameter(), + FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN, + FIELD.PARAMETER.TENANT_DISABLED + ]); + + var availableVolumeGroupList = DataService.getAvailableVolumeGroupList(); + + if (availableVolumeGroupList && availableVolumeGroupList.length > 0) { + var availableVolumeGroupNames = [FIELD.STATUS.NONE]; + + for (var i = 0; i < availableVolumeGroupList.length; i++) { + availableVolumeGroupNames.push(availableVolumeGroupList[i].instance.name); + } + + parameterList.push(addOptionList( + FIELD.PARAMETER.AVAILABLE_VOLUME_GROUP, + availableVolumeGroupNames)); + } + break; + case COMPONENT.VOLUME_GROUP: + parameterList = parameterList.concat([ getLcpRegionParameter(), + FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN, + FIELD.PARAMETER.TENANT_DISABLED ]); + } + } + parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK); + if(_this.componentId === COMPONENT.VF_MODULE ){ + parameterList.push({name: FIELD.NAME.SDN_C_PRELOAD, + id: FIELD.ID.SDN_C_PRELOAD, + type: "checkbox", + isEnabled: true, + isRequired: false, + hideFieldAndLabel: true + } + ); + parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE, + id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE, + type: "checkbox", + isEnabled: true, + isRequired: false, + value:false + } + ); + + parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE, + id: FIELD.ID.SUPPLEMENTORY_DATA_FILE, + type: "file", + isRequired: false, + isVisiblity: false + } + ); + } + + if( VIDCONFIGURATION.UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED && _this.componentId === COMPONENT.VOLUME_GROUP){ + parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE, + id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE, + type: "checkbox", + isEnabled: true, + isRequired: false + } + ); + + parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE, + id: FIELD.ID.SUPPLEMENTORY_DATA_FILE, + type: "file", + isRequired: false, + isVisiblity: false + } + ); + } + + addArbitraryParameters(parameterList); + + return parameterList; + }; + + var addArbitraryParameters = function(parameterList) { + if ( DataService.getModelInfo(_this.componentId).displayInputs != null ) { + var inputs = DataService.getModelInfo(_this.componentId).displayInputs; + for ( var key in inputs) { + var parameter = { + id : key, + type : PARAMETER.STRING, + name : ComponentService.getFieldDisplayName(key), + value : inputs[key][PARAMETER.DEFAULT], + isRequired : inputs[key][PARAMETER.REQUIRED], + description : inputs[key][PARAMETER.DESCRIPTION] + }; + if ( DataService.getALaCarte() ) { + parameter.name = ComponentService.getFieldDisplayName(inputs[key][PARAMETER.DISPLAY_NAME]); + } + switch (inputs[key][PARAMETER.TYPE]) { + case PARAMETER.INTEGER: + parameter.type = PARAMETER.NUMBER; + break; + case PARAMETER.BOOLEAN: + parameter.type = PARAMETER.BOOLEAN; + break; + case PARAMETER.RANGE: + break; + case PARAMETER.LIST: + parameter.type = PARAMETER.LIST; + break; + case PARAMETER.MAP: + parameter.type = PARAMETER.MAP; + break; + } + + if ( UtilityService.hasContents(inputs[key][PARAMETER.CONSTRAINTS]) + && ( inputs[key][PARAMETER.CONSTRAINTS].length > 0 ) ) { + var constraintsArray = inputs[key][PARAMETER.CONSTRAINTS]; + //console.log ("Calling addConstraintParameters for input name=" + key); + addConstraintParameters (parameterList, constraintsArray, key, inputs, parameter); + } + else { + + parameterList.push(parameter); + } + } + DataService.setArbitraryParameters (parameterList); + } + }; + + var addConstraintParameters = function(parameterList, constraintsArray, key, inputs, parameter) { + // If there are constraints and the operator is "valid_values", + // use a select parameter type. + var i = constraintsArray.length; + var parameterPushed = false; + if ( i > 0 ) { + while ( (i--) && (!parameterPushed) ) { + var keys = Object.keys(constraintsArray[i]); + //var keys_len = keys.length; + for ( var operator in keys ) { + //console.log ("keys[operator]=" + keys[operator]); + switch (keys[operator]) { + case PARAMETER.VALID_VALUES: + var j = constraintsArray[i][PARAMETER.VALID_VALUES].length; + if ( j > 0 ) { + var oList = []; + var option; + while (j--) { + option = { + name: constraintsArray[i][PARAMETER.VALID_VALUES][j], + isDefault: false + } + if ( ( UtilityService.hasContents (inputs[key][PARAMETER.DEFAULT]) ) + && (inputs[key][PARAMETER.DEFAULT] === constraintsArray[i][PARAMETER.VALID_VALUES][j] ) ) { + option = { + name: constraintsArray[i][PARAMETER.VALID_VALUES][j], + isDefault: true + } + } + oList.push(option); + } + parameter.type = PARAMETER.SELECT; + parameter.optionList = oList; + parameterList.push(parameter); + parameterPushed = true; + //console.log ("pushed param for valid values"); + } + break; + + case PARAMETER.EQUAL: + if ( constraintsArray[i][PARAMETER.EQUAL] != null ) { + //override parameter type + parameter.type = PARAMETER.STRING; + parameter.isReadOnly = true; + parameter.value = constraintsArray[i][PARAMETER.EQUAL]; + parameterList.push(parameter); + parameterPushed = true; + //console.log ("pushed param for equal"); + } + break; + + case PARAMETER.LENGTH: + if ( constraintsArray[i][PARAMETER.LENGTH] != null ) { + parameter.minLength = constraintsArray[i][PARAMETER.LENGTH]; + parameter.maxLength = constraintsArray[i][PARAMETER.LENGTH]; + parameterList.push(parameter); + parameterPushed = true; + //console.log ("pushed param for length: "); + //console.log (JSON.stringify (parameter, null, 4)); + } + break; + case PARAMETER.MAX_LENGTH: + if ( constraintsArray[i][PARAMETER.MAX_LENGTH] != null ) { + parameter.maxLength = constraintsArray[i][PARAMETER.MAX_LENGTH]; + parameterList.push(parameter); + parameterPushed = true; + //console.log ("pushed param for max length: "); + //console.log (JSON.stringify (parameter, null, 4)); + } + break; + case PARAMETER.MIN_LENGTH: + if ( constraintsArray[i][PARAMETER.MIN_LENGTH] != null ) { + parameter.minLength = constraintsArray[i][PARAMETER.MIN_LENGTH]; + parameterList.push(parameter); + parameterPushed = true; + //console.log ("pushed param for min length: "); + //console.log (JSON.stringify (parameter, null, 4)); + } + break; + case PARAMETER.IN_RANGE: + if ( constraintsArray[i][PARAMETER.IN_RANGE] != null ) { + if (constraintsArray[i][PARAMETER.IN_RANGE].length > 1 ) { + parameter.min = constraintsArray[i][PARAMETER.IN_RANGE][0]; + parameter.max = constraintsArray[i][PARAMETER.IN_RANGE][1]; + parameter.type = PARAMETER.NUMBER; + parameter.value = inputs[key][PARAMETER.DEFAULT] + parameterList.push(parameter); + parameterPushed = true; + //console.log ("pushed param for in_range"); + } + } + break; + case PARAMETER.GREATER_THAN: + if ( constraintsArray[i][PARAMETER.GREATER_THAN] != null ) { + parameter.type = PARAMETER.NUMBER; + parameter.min = constraintsArray[i][PARAMETER.GREATER_THAN]; + parameter.value = inputs[key][PARAMETER.DEFAULT] + parameterList.push(parameter); + parameterPushed = true; + //console.log ("pushed param for greater_than"); + + } + break; + }//switch + }//for + + }//while + }//if + }; + var addToList = function(name, value) { + _this.parameterList.push({ + name : name, + value : value + }); + }; + var setInventoryInfo = function(){ + var inventoryItem = DataService.getInventoryItem(); + var inventoryInfo = ComponentService.getInventoryInfo( + _this.componentId, inventoryItem); + } + + /* + * The "*Mso*" functions return URL and request details that can be passed + * to the MSO controller. The request details defines the info passed as + * part of the POST body. + */ + + var getMsoUrl = function() { + switch (_this.componentId) { + case COMPONENT.NETWORK: + return "mso_create_nw_instance/" + + DataService.getServiceInstanceId(); + case COMPONENT.SERVICE: + if(DataService.getE2EService() === true) + return "mso_create_e2e_svc_instance"; + else + return "mso_create_svc_instance"; + case COMPONENT.VNF: + return "mso_create_vnf_instance/" + + DataService.getServiceInstanceId(); + case COMPONENT.VF_MODULE: + return "mso_create_vfmodule_instance/" + + DataService.getServiceInstanceId() + "/vnfs/" + + DataService.getVnfInstanceId(); + case COMPONENT.VOLUME_GROUP: + return "mso_create_volumegroup_instance/" + + DataService.getServiceInstanceId() + "/vnfs/" + + DataService.getVnfInstanceId(); + } + }; + + var getMsoE2ERequest = function(parameterList) { + var modelInfo = DataService.getModelInfo(_this.componentId); + + //region id + var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList); + if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) { + lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT, + parameterList); + } + var cloudOwner = _.find(DataService.getCloudRegionTenantList(), function(region){ + return region.cloudRegionId === lcpRegion; + }).cloudOwner; + + var params = []; + var displayInputs = modelInfo.displayInputs; + var groupBy = _.groupBy(displayInputs, "templateUUID"); + + _.forEach(groupBy, function(nodeTemplateInputs, nodeTemplateUUID) { + var reqParas = {}; + var vfLocations = []; + + nodeTemplateInputs.forEach(function(parameter){ + if(parameter.type === 'vf_location') { + var loc = { + vnfProfileId: parameter.displayName, + locationConstraints : { + vimId: cloudOwner + '_' + lcpRegion + } + }; + vfLocations.push(loc); + } else if(parameter.type === 'sdn_controller') { + if(parameter.value === undefined || parameter.value === null) { + reqParas[parameter.name] = ''; + } else { + reqParas[parameter.name] = parameter.value.value; + } + } else { + var name; + _.forEach(displayInputs, function(item, key){ + if(item === parameter) { + name = key; + } + }); + var value = _.find(parameterList, function(item){ + return item.id === name; + }).value; + reqParas[parameter.displayName] = value; + } + }); + + params.push({ + resourceName: nodeTemplateInputs[0].templateName, + resourceInvariantUuid: nodeTemplateInputs[0].templateInvariantUUID, + resourceUuid: nodeTemplateInputs[0].templateUUID, + resourceCustomizationUuid: nodeTemplateInputs[0].templateCustomizationUUID, + parameters: { + locationConstraints: vfLocations, + //TODO resources: [], + requestInputs: reqParas + } + }); + }); + + var requestBody = { + service: { + name: getValueFromList(FIELD.ID.INSTANCE_NAME, parameterList), + description: modelInfo["description"], + serviceInvariantUuid: modelInfo["modelInvariantId"], + serviceUuid: modelInfo["modelNameVersionId"], + globalSubscriberId: DataService.getGlobalCustomerId(), + serviceType: getValueFromList(FIELD.ID.SERVICE_TYPE, parameterList) || modelInfo["serviceTypeName"], + parameters: { + locationConstraints: [], + resources: params, + requestInputs: {} //TODO + } + } + }; + + return requestBody; + }; + + var getMsoRequestDetails = function(parameterList) { + console.log("getMsoRequestDetails invoked, parameterList="); console.log(JSON.stringify(parameterList,null,4)); + //console.log("getMsoRequestDetails invoked, DataService.getArbitraryParameters()="); + //console.log(JSON.stringify(DataService.getArbitraryParameters(),null,4)); + + //VoLTE logic goes here + if(DataService.getE2EService() === true) { + return getMsoE2ERequest(parameterList); + } + + var modelInfo = DataService.getModelInfo(_this.componentId); + var requestorloggedInId = DataService.getLoggedInUserId(); + var owningEntityId = getValueFromList(FIELD.ID.OWNING_ENTITY, parameterList); + if (requestorloggedInId == null) + requestorloggedInId = ""; + var isSupRollback = false; + if (getValueFromList(FIELD.ID.SUPPRESS_ROLLBACK,parameterList) === "true") { + isSupRollback = true; + } + var requestDetails = { + requestInfo : { + instanceName : getValueFromList(FIELD.ID.INSTANCE_NAME, + parameterList) || DataService.getVfModuleInstanceName(), + source : FIELD.ID.VID, + suppressRollback : isSupRollback, + requestorId: requestorloggedInId + }, + modelInfo : { + modelType : _this.componentId, + modelInvariantId : modelInfo.modelInvariantId, + modelVersionId : modelInfo.modelNameVersionId, + modelName : modelInfo.modelName, + modelVersion : modelInfo.modelVersion, + modelCustomizationId: modelInfo.customizationUuid, + modelCustomizationName : modelInfo.modelCustomizationName + }, + requestParameters : { + userParams : getArbitraryParameters(parameterList) + } + }; + if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ADD_MSO_TESTAPI_FIELD)) { + if ((_this.componentId != COMPONENT.SERVICE) || ( DataService.getALaCarte() )) { + requestDetails.requestParameters.testApi = DataService.getMsoRequestParametersTestApi(); + } + } + if ( (_this.componentId != COMPONENT.SERVICE) || ( !DataService.getALaCarte() ) ) { + // include cloud region for everything but service create alacarte + var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList); + if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) { + lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT, + parameterList); + } + requestDetails.cloudConfiguration = { + lcpCloudRegionId : lcpRegion, + tenantId : getValueFromList(FIELD.ID.TENANT, parameterList) + }; + } + switch (_this.componentId) { + + case COMPONENT.SERVICE: + requestDetails.subscriberInfo = { + globalSubscriberId : DataService.getGlobalCustomerId(), + subscriberName : DataService.getSubscriberName() + }; + var isInTop = DataService.getHideServiceFields() || false; + if(isInTop){ + requestDetails.requestParameters.subscriptionServiceType = DataService.getModelInfo(_this.componentId)["serviceTypeName"]; + }else{ + requestDetails.requestParameters.subscriptionServiceType = getValueFromList( + FIELD.ID.SERVICE_TYPE, parameterList); + } + requestDetails.requestParameters.aLaCarte = DataService.getALaCarte(); + if ( !DataService.getALaCarte() ) { + requestDetails.requestInfo.productFamilyId = getValueFromList( + FIELD.ID.PRODUCT_FAMILY, parameterList); + } + var svcModelInfo = { + modelType : _this.componentId, + modelInvariantId : modelInfo.modelInvariantId, + modelVersionId : modelInfo.modelNameVersionId, + modelName : modelInfo.modelName, + modelVersion : modelInfo.modelVersion + }; + requestDetails.modelInfo = svcModelInfo; + + var selectedProject = getValueFromList(FIELD.ID.PROJECT, parameterList); + + if (selectedProject) { + requestDetails.project = { + projectName: getValueFromList(FIELD.ID.PROJECT, parameterList) + }; + } + + requestDetails.owningEntity = { + owningEntityId: owningEntityId, + owningEntityName: getOwningEntityNameById(owningEntityId) + }; + + break; + case COMPONENT.VNF: + + requestDetails.requestInfo.productFamilyId = getValueFromList( + FIELD.ID.PRODUCT_FAMILY, parameterList); + + var lineOfBusiness = getValueFromList(FIELD.ID.LINE_OF_BUSINESS, parameterList); + + if(lineOfBusiness) { + var lineOfBusinessNamesString = _.map(lineOfBusiness, "name").join(", "); + + requestDetails.lineOfBusiness = { + lineOfBusinessName: lineOfBusinessNamesString + } + } + + requestDetails.platform = { + platformName: getValueFromList(FIELD.ID.PLATFORM, parameterList) + }; + + break; + case COMPONENT.NETWORK: + requestDetails.requestInfo.productFamilyId = getValueFromList( + FIELD.ID.PRODUCT_FAMILY, parameterList); + var lineOfBusiness = getValueFromList(FIELD.ID.LINE_OF_BUSINESS, parameterList); + + if(lineOfBusiness) { + var lineOfBusinessNamesString = _.map(lineOfBusiness, "name").join(", "); + + requestDetails.lineOfBusiness = { + lineOfBusinessName: lineOfBusinessNamesString + } + } + + requestDetails.platform = { + platformName: getValueFromList(FIELD.ID.PLATFORM, parameterList) + }; + break; + case COMPONENT.VF_MODULE: + requestDetails.requestParameters.usePreload = getValueFromList( + FIELD.ID.SDN_C_PRELOAD, parameterList); + if(_this.componentId == COMPONENT.VF_MODULE &&(requestDetails.requestParameters.usePreload== null || requestDetails.requestParameters.usePreload === '')){ + requestDetails.requestParameters.usePreload = false; + } + break; + case COMPONENT.VOLUME_GROUP: + break; + } + + var relatedInstanceList = getRelatedInstanceList(parameterList); + + if (relatedInstanceList !== undefined) { + requestDetails.relatedInstanceList = relatedInstanceList; + } + + return requestDetails; + }; + + var getRelatedInstanceList = function(parameterList) { + var relatedInstanceList = new Array(); + switch (_this.componentId) { + case COMPONENT.SERVICE: + return undefined; + case COMPONENT.NETWORK: + case COMPONENT.VNF: + addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE, + DataService.getServiceInstanceId()); + break; + case COMPONENT.VF_MODULE: + addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE, + DataService.getServiceInstanceId()); + addRelatedInstance(relatedInstanceList, COMPONENT.VNF, DataService + .getVnfInstanceId()); + + var availableVolumeGroup = getValueFromList( + FIELD.ID.AVAILABLE_VOLUME_GROUP, parameterList); + + if (UtilityService.hasContents(availableVolumeGroup) && availableVolumeGroup !== "None") { + var availableVolumeGroups = DataService.getAvailableVolumeGroupList(); + + for (var i = 0; i < availableVolumeGroups.length; i++) { + if (availableVolumeGroups[i].instance.name == availableVolumeGroup) { + DataService.setModelInfo(COMPONENT.VOLUME_GROUP, DataService.getModelInfo(COMPONENT.VF_MODULE)); + DataService.setVolumeGroupInstanceId(availableVolumeGroups[i].instance.object["volume-group-id"]); + break; + } + } + + addRelatedInstance(relatedInstanceList, COMPONENT.VOLUME_GROUP, + DataService.getVolumeGroupInstanceId()); + } + break; + case COMPONENT.VOLUME_GROUP: + addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE, + DataService.getServiceInstanceId()); + addRelatedInstance(relatedInstanceList, COMPONENT.VNF, DataService + .getVnfInstanceId()); + break; + } + + return relatedInstanceList; + }; + + var addRelatedInstance = function(relatedInstanceList, componentId, + instanceId) { + var modelInfo = DataService.getModelInfo(componentId); + var relatedInstance; + if (modelInfo !== undefined) { + if (componentId === COMPONENT.SERVICE) { + relatedInstance = { + "instanceId" : instanceId, + "modelInfo" : { + "modelType" : componentId, + "modelName" : modelInfo.modelName, + "modelInvariantId" : modelInfo.modelInvariantId, + "modelVersion" : modelInfo.modelVersion, + "modelVersionId" : modelInfo.modelNameVersionId, + + } + }; + } + else { + relatedInstance = { + "instanceId" : instanceId, + "modelInfo" : { + "modelType" : componentId, + "modelName" : modelInfo.modelName, + "modelInvariantId" : modelInfo.modelInvariantId, + "modelVersion" : modelInfo.modelVersion, + "modelVersionId" : modelInfo.modelNameVersionId, + "modelCustomizationId": modelInfo.customizationUuid, + "modelCustomizationName": modelInfo.modelCustomizationName + } + } + } + relatedInstanceList.push({ + relatedInstance : relatedInstance + }); + } + }; + + /* + * var getArbitraryParameters = function(parameterList) { var + * arbitraryParameters = new Object(); for (var i = 0; i < + * parameterList.length; i++) { var parameter = parameterList[i]; switch + * (parameter.id) { case FIELD.ID.INSTANCE_NAME: case + * FIELD.ID.PRODUCT_FAMILY: case FIELD.ID.LCP_REGION: case + * FIELD.ID.LCP_REGION_TEXT: case FIELD.ID.SERVICE_TYPE: case + * FIELD.ID.TENANT: case FIELD.ID.SUPPRESS_ROLLBACK: break; default: + * arbitraryParameters[parameter.id] = parameter.value; } } return + * arbitraryParameters; } + */ + var getArbitraryParameters = function(parameterList) { + var arbitraryParameters = new Object(); + var arbitraryArray = new Array(); + for (var i = 0; i < parameterList.length; i++) { + var parameter = parameterList[i]; + switch (parameter.id) { + case FIELD.ID.AVAILABLE_VOLUME_GROUP: + case FIELD.ID.INSTANCE_NAME: + case FIELD.ID.PRODUCT_FAMILY: + case FIELD.ID.LCP_REGION: + case FIELD.ID.LCP_REGION_TEXT: + case FIELD.ID.SERVICE_TYPE: + case FIELD.ID.TENANT: + case FIELD.ID.SUPPRESS_ROLLBACK: + case FIELD.ID.SUBSCRIBER_NAME: + case FIELD.ID.SDN_C_PRELOAD: + case FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE: + case FIELD.ID.OWNING_ENTITY: + case FIELD.ID.PLATFORM: + case FIELD.ID.LINE_OF_BUSINESS: + case FIELD.ID.PROJECT: + break; + case FIELD.ID.SUPPLEMENTORY_DATA_FILE: + arbitraryParameters = FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value']; + arbitraryArray=arbitraryParameters; + FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value']=[]; + break; + + default: + if (parameter.value != '') { + arbitraryParameters = { + name: parameter.id, + value: parameter.value + } + arbitraryArray.push(arbitraryParameters); + } + } + } + return (arbitraryArray); + } + + var getModel = function() { + AsdcService.getModel(DataService.getModelId(), function(response) { + DataService.setModelInfo(_this.componentId, { + modelInvariantId : response.data.invariantUUID, + modelNameVersionId : response.data.uuid, + modelName : response.data.name, + modelVersion : response.data.version, + inputs : response.data.inputs + }); + UtilityService.startNextAsyncOperation(); + }); + }; + + var getSubscriptionServiceTypeList = function() { + AaiService.getSubscriptionServiceTypeList(DataService + .getGlobalCustomerId(), function(response) { + DataService.setSubscriptionServiceTypeList(response); + UtilityService.startNextAsyncOperation(); + }); + }; + + var getLoggedInUserID = function() { + AaiService.getLoggedInUserID(function(response) { + DataService.setLoggedInUserId(response.data); + UtilityService.startNextAsyncOperation(); + }); + }; + + var getSubscribers = function() { + AaiService.getSubscribers(function(response) { + DataService.setSubscribers(response); + UtilityService.startNextAsyncOperation(); + }); + }; + var getServices = function() { + AaiService.getServices(function(response) { + var serviceIdList = []; + angular.forEach(response.data, function(value, key) { + angular.forEach(value, function(subVal, key) { + var newVal = { + "id" : subVal[FIELD.ID.SERVICE_ID], + "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION], + "isPermitted" : subVal[FIELD.ID.IS_PERMITTED], + }; + serviceIdList.push(newVal); + DataService.setServiceIdList(serviceIdList); + }); + }); + + UtilityService.startNextAsyncOperation(); + }); + }; + var getAicZones = function() { + AaiService.getAicZones(function(response) { + var serviceIdList = []; + angular.forEach(response.data, function(value, key) { + angular.forEach(value, function(subVal, key) { + var newVal = { + "id" : subVal[FIELD.ID.ZONE_ID], + "name" : subVal[FIELD.ID.ZONE_NAME], + }; + serviceIdList.push(newVal); + DataService.setAicZones(serviceIdList); + }); + }); + + UtilityService.startNextAsyncOperation(); + }); + }; + + var getOwningEntityProperties = function() { + OwningEntityService.getOwningEntityProperties(function(owningEntityProperties) { + DataService.setOwningEntityProperties(owningEntityProperties); + UtilityService.startNextAsyncOperation(); + }); + + }; + + var getLcpCloudRegionTenantList = function() { + AaiService.getLcpCloudRegionTenantList(DataService + .getGlobalCustomerId(), DataService.getServiceType(), function( + response) { + DataService.setCloudRegionTenantList(response); + UtilityService.startNextAsyncOperation(); + }); + }; + + var internalGetParametersHandler = function() { + if (angular.isFunction(_this.getParametersHandler)) { + _this.getParametersHandler({ + summaryList : getSummaryList(), + userProvidedList : getUserProvidedList() + }); + } + }; + + var getSubscribersParameter = function() { + var subscribers = DataService.getSubscribers(); + var parameter = FIELD.PARAMETER.SUBSCRIBER_NAME; + if ( UtilityService.hasContents(subscribers)) { + parameter.optionList = []; + + for (var i = 0; i < subscribers.length; i++) { + parameter.optionList.push({ + id : subscribers[i][FIELD.ID.GLOBAL_CUSTOMER_ID], + name : subscribers[i][FIELD.ID.SUBNAME], + isPermitted : subscribers[i][FIELD.ID.IS_PERMITTED] + }) + } + } + return parameter; + }; + + var getServiceId = function() { + var serviceIdList = DataService.getServiceIdList(); + //var serviceTypeList = DataService.getSubscriptionServiceTypeList(); + var parameter = FIELD.PARAMETER.PRODUCT_FAMILY; + parameter.optionList = new Array(); + if ( UtilityService.hasContents(serviceIdList) ) { + // load them all + for (var i = 0; i < serviceIdList.length; i++) { + parameter.optionList.push({ + id : serviceIdList[i].id, + name : serviceIdList[i].description, + isPermitted : serviceIdList[i].isPermitted + }); + } + } + + return parameter; + }; + + var getAicZonesParameter = function() { + var aicList = DataService.getAicZones(); + var parameter = FIELD.PARAMETER.AIC_ZONES; + parameter.optionList = new Array(); + if ( UtilityService.hasContents(aicList) ) { + // load them all + for (var i = 0; i < aicList.length; i++) { + parameter.optionList.push({ + id : aicList[i].id, + name : aicList[i].name, + isPermitted : true + + }); + } + } + + return parameter; + }; + + var getProjectParameter = function() { + return getOwningEntityParameterWithOptions(FIELD.PARAMETER.PROJECT); + }; + + var getOwningEntityParameter = function() { + return getOwningEntityParameterWithOptions(FIELD.PARAMETER.OWNING_ENTITY); + }; + + var getLineOfBusinessParameter = function() { + return getOwningEntityParameterWithOptions(FIELD.PARAMETER.LINE_OF_BUSINESS); + }; + + var getPlatformParameter = function() { + return getOwningEntityParameterWithOptions(FIELD.PARAMETER.PLATFORM); + }; + + var getOwningEntityNameById = function (id) { + var properties = DataService.getOwningEntityProperties(); + var parameter = _.find(properties[FIELD.ID.OWNING_ENTITY], {"id": id}); + return parameter && parameter.name; + }; + + var getOwningEntityParameterWithOptions = function(parameter) { + var properties = DataService.getOwningEntityProperties(); + if (properties && properties[parameter.id]) { + parameter.optionList = _.map(properties[parameter.id], function(parameter) { + return { + "id" : parameter.id, + "name" : parameter.name, + "isPermitted": true + }; + }); + } + + return parameter; + }; + + var getLcpRegionParameter = function() { + var cloudRegionTenantList = DataService.getCloudRegionTenantList(); + console.log ( "cloudRegionTenantList="); + console.log ( JSON.stringify (cloudRegionTenantList, null, 4 )); + + var parameter = FIELD.PARAMETER.LCP_REGION; + if ( UtilityService.hasContents (cloudRegionTenantList) ) { + parameter.optionList = new Array(); + for (var i = 0; i < cloudRegionTenantList.length; i++) { + for (var j = 0; j < parameter.optionList.length; j++) { + if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) { + parameter.optionList[j].isPermitted = + parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted; + break; + } + } + if (j < parameter.optionList.length) { + continue; + } + + var optionName = featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) && cloudRegionTenantList[i].cloudOwner ? + cloudRegionTenantList[i].cloudRegionId + " (" + AaiService.removeVendorFromCloudOwner(cloudRegionTenantList[i].cloudOwner).toUpperCase() + ")" : + cloudRegionTenantList[i].cloudRegionId; + + parameter.optionList.push({ + id : cloudRegionTenantList[i].cloudRegionId, + name: optionName, + isPermitted : cloudRegionTenantList[i].isPermitted + }); + } + } + return parameter; + }; + + var getTenantList = function(cloudRegionId) { + var cloudRegionTenantList = DataService.getCloudRegionTenantList(); + var parameter = ""; + if ( UtilityService.hasContents (cloudRegionTenantList) ) { + parameter = FIELD.PARAMETER.TENANT_ENABLED; + parameter.optionList = new Array(); + for (var i = 0; i < cloudRegionTenantList.length; i++) { + if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) { + parameter.optionList.push({ + id : cloudRegionTenantList[i].tenantId, + name : cloudRegionTenantList[i].tenantName, + isPermitted : cloudRegionTenantList[i].isPermitted + + }); + } + } + } + return parameter; + + }; + + var addOptionList = function(parameter, optionSimpleArray) { + var optionList = new Array(); + if (!angular.isArray(optionSimpleArray)) { + return optionList; + } + for (var i = 0; i < optionSimpleArray.length; i++) { + optionList.push({ + name : optionSimpleArray[i], + isPermitted :true, + }); + } + parameter.optionList = optionList; + return parameter; + }; + + var getValueFromList = function(id, parameterList) { + for (var i = 0; i < parameterList.length; i++) { + if (parameterList[i].id === id) { + return parameterList[i].value; + } + } + }; + var updateUserParameterList = function(updatedId, parameterListControl) { + console.log ("updateUserParameterList() updatedId=" + updatedId); + if (updatedId === FIELD.ID.PRODUCT_FAMILY && DataService.getHideServiceFields()) { + var cloudRegionTenantList = new Array(); + AaiService.getLcpCloudRegionTenantList(DataService.getGlobalCustomerId(), DataService.getServiceType(), function(cloudRegionTenantList) { + DataService.setCloudRegionTenantList(cloudRegionTenantList); + parameterListControl.updateList([ getLcpRegionParameter() ]); + }); + }else if (updatedId === FIELD.ID.SDN_C_PRELOAD) { + var list = parameterListControl.getList(updatedId); + if($('input[parameter-id="'+updatedId+'"]').is(':checked')){ + FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED.value=true; + parameterListControl + .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED ]); + }else{ + parameterListControl + .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_UNCHECKED ]); + } + }else if (updatedId === FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE) { + if($('input[parameter-id="'+updatedId+'"]').is(':checked')){ + $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').show(); + FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=true; + parameterListControl + .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED ]); + }else{ + $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').hide(); + FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=false; + parameterListControl + .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED ]); + } + } else if (updatedId === FIELD.ID.SUPPLEMENTORY_DATA_FILE) { + var filePath = $('input[parameter-id="'+updatedId+'"]').val(); + var arr =filePath.split('.'); + var fileExt = arr[arr.length-1]; + if(fileExt!='' && fileExt.toLowerCase()!='json'){ + $('input[parameter-id="'+updatedId+'"]').val(''); + alert("Invalid file format. Please select *.json format file."); + return false; + } + } else if (updatedId === FIELD.ID.LCP_REGION) { + var list = parameterListControl.getList(updatedId); + if (list[0].selectedIndex >= 0) { + parameterListControl + .updateList([ getTenantList(list[0].value) ]); + } else { + parameterListControl + .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]); + } + if (list[0].value === FIELD.KEY.LCP_REGION_TEXT) { + parameterListControl + .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]); + } else { + parameterListControl + .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN ]); + } + } else if (updatedId === FIELD.ID.SUBSCRIBER_NAME) { + var list = parameterListControl.getList(updatedId); + if (list[0].selectedIndex >= 0) { + DataService.setGlobalCustomerId(list[0].value); + + AaiService.getSubscriptionServiceTypeList(DataService + .getGlobalCustomerId(), function(response) { + DataService.setSubscriptionServiceTypeList(response); + var serviceTypeParameters = FIELD.PARAMETER.SERVICE_TYPE; + serviceTypeParameters.optionList = []; + + for (var i = 0; i < response.length; i++) { + serviceTypeParameters.optionList.push({ + "id" : response[i].name, + "name" : response[i].name, + "isPermitted" :response[i].isPermitted + + }); + } + console.log ( "updateUserParameterList: service type parameters " ); + console.log ( JSON.stringify (serviceTypeParameters, null, 4)); + parameterListControl.updateList([ serviceTypeParameters ]); + }); + + } + } else if ( updatedId === FIELD.ID.SERVICE_TYPE ) { + var list = parameterListControl.getList(updatedId); + if (list[0].selectedIndex >= 0) { + + DataService.setServiceType(list[0].value); + var cloudRegionTenantList = new Array(); + AaiService.getLcpCloudRegionTenantList(DataService.getGlobalCustomerId(), DataService.getServiceType(), function(cloudRegionTenantList) { + DataService.setCloudRegionTenantList(cloudRegionTenantList); + parameterListControl.updateList([ getLcpRegionParameter() ]); + }); + } else { + parameterListControl + .updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]); + } + } + + }; + + return { + initializeComponent : function(componentId) { + _this.componentId = ComponentService.initialize(componentId); + }, + setHttpErrorHandler : function(httpErrorHandler) { + _this.httpErrorHandler = httpErrorHandler; + }, + getComponentDisplayName : ComponentService.getComponentDisplayName, + getParameters : function(getParametersHandler) { + _this.getParametersHandler = getParametersHandler; + UtilityService.setHttpErrorHandler(_this.httpErrorHandler); + UtilityService.startAsyncOperations(getAsyncOperationList(), + internalGetParametersHandler); + }, + updateUserParameterList : updateUserParameterList, + getMsoRequestDetails : getMsoRequestDetails, + getMsoUrl : getMsoUrl, + setInventoryInfo: setInventoryInfo + } +} + +appDS2.factory("CreationService", [ "$log", "AaiService", "AsdcService", + "DataService","VIDCONFIGURATION", "ComponentService", "COMPONENT", "FIELD", "PARAMETER", + "UtilityService", "OwningEntityService","featureFlags", CreationService ]); |