2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
24 * "CreationService" isolates the "component-specific" logic required by the
25 * "CreationDialog" controller.
27 * "Components" are defined as the 5 element types managed by the dialogs: A)
28 * Service B) VNF C) VF Module D) Volume Group and E) Network.
32 var CreationService = function($log, AaiService, AsdcService, DataService,VIDCONFIGURATION,
33 ComponentService, COMPONENT, FIELD, PARAMETER, UtilityService, OwningEntityService,featureFlags) {
36 var getAsyncOperationList = function() {
37 if (DataService.getLoggedInUserId() == null) {
40 UtilityService.startNextAsyncOperation();
42 switch (_this.componentId) {
43 case COMPONENT.SERVICE:
44 return [ getSubscribers, getServices, getAicZones, getOwningEntityProperties ];
45 case COMPONENT.NETWORK:
46 return [ getLcpCloudRegionTenantList, getOwningEntityProperties ];
48 return [ getLcpCloudRegionTenantList, getOwningEntityProperties ];
49 case COMPONENT.VF_MODULE:
50 return [ getLcpCloudRegionTenantList ];
51 case COMPONENT.VOLUME_GROUP:
52 return [ getLcpCloudRegionTenantList ];
57 * "getSummaryList" and "getUserProvidedList" return parameters that should
58 * be displayed in the summary and user provided sections, respectively. The
59 * functions are expected to return lists that are in the format needed by
60 * the parameter-block directive.
63 var getSummaryList = function() {
66 * These placeholders should be removed and their usage in
67 * "getSummaryList" should be replaced by appropriate code as the
68 * requirements and interfaces firm up.
71 var PLACEHOLDER_RESOURCE_DESCRIPTION = "Resource Description (PLACEHOLDER)";
72 var PLACEHOLDER_SERVICE_CATEGORY = "Service Category (PLACEHOLDER)";
73 var PLACEHOLDER_VF_MODULE_DESCRIPTION = "VF Module Description (PLACEHOLDER)";
74 var PLACEHOLDER_VF_MODULE_LABEL = "VF Module Label (PLACEHOLDER)";
75 var PLACEHOLDER_VF_MODULE_TYPE = "VF Module Type (PLACEHOLDER)";
77 _this.parameterList = new Array();
80 * Common fields displayed at the top of all create instance screens.
82 if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]==null
83 || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==undefined
84 || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==''){
85 addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());
88 switch (_this.componentId) {
89 case COMPONENT.SERVICE:
90 if ( !DataService.getALaCarte() ) {
91 // for macro instantiation need to add the resource names under the node template list
92 // this field is called modelCustomizationName in the asdc client code
94 var rlist = DataService.getResources();
96 if ( rlist != null ) {
97 for (var i = 0; i < rlist.length; i++) {
100 p = FIELD.NAME.RESOURCE_NAME.concat(" " + (i+1));
101 addToList(p, res.name );
102 p = FIELD.NAME.RESOURCE_DESCRIPTION.concat(" " + (i+1));
103 addToList(p, res.description );
107 if(DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=null && DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=''){
108 addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
109 .getModelInfo(_this.componentId)["createSubscriberName"]);
111 if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=null && DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=''){
112 addToList(FIELD.NAME.SERVICE_TYPE, DataService
113 .getModelInfo(_this.componentId)["serviceTypeName"]);
114 addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());
116 addToList(FIELD.NAME.SERVICE_INVARIANT_UUID, DataService
117 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
118 addToList(FIELD.NAME.SERVICE_VERSION, DataService
119 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
120 addToList(FIELD.NAME.SERVICE_UUID, DataService
121 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
122 addToList(FIELD.NAME.SERVICE_DESCRIPTION, DataService
123 .getModelInfo(_this.componentId)[FIELD.ID.DESCRIPTION]);
124 addToList(FIELD.NAME.SERVICE_CATEGORY, DataService
125 .getModelInfo(_this.componentId)[FIELD.ID.CATEGORY]);
126 if (DataService.getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE] != "null") {
127 addToList(FIELD.NAME.SERVICE_TYPE, DataService
128 .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE]);
129 addToList(FIELD.NAME.SERVICE_ROLE, DataService
130 .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_ROLE]);
134 case COMPONENT.VF_MODULE:
135 addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
136 .getSubscriberName());
137 addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
138 .getServiceInstanceName());
139 addToList(FIELD.NAME.MODEL_NAME, DataService
140 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
141 addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
142 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
143 addToList(FIELD.NAME.MODEL_VERSION, DataService
144 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
145 addToList(FIELD.NAME.MODEL_UUID, DataService
146 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
147 addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService
148 .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);
151 addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
152 .getSubscriberName());
153 addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
154 .getServiceInstanceName());
155 addToList(FIELD.NAME.MODEL_NAME, DataService
156 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
157 addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
158 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
159 addToList(FIELD.NAME.MODEL_VERSION, DataService
160 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
161 addToList(FIELD.NAME.MODEL_UUID, DataService
162 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
163 addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService
164 .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);
165 addToList(FIELD.NAME.MODEL_CUSTOMIZATION_NAME, DataService
166 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_CUSTOMIZATION_NAME]);
167 addToList(FIELD.NAME.MODEL_VNF_TYPE, DataService
168 .getModelInfo(_this.componentId)[COMPONENT.VNF_TYPE]);
169 addToList(FIELD.NAME.MODEL_VNF_ROLE, DataService
170 .getModelInfo(_this.componentId)[COMPONENT.VNF_ROLE]);
171 addToList(FIELD.NAME.MODEL_VNF_FUNCTION, DataService
172 .getModelInfo(_this.componentId)[COMPONENT.VNF_FUNCTION]);
173 addToList(FIELD.NAME.MODEL_VNF_CODE, DataService
174 .getModelInfo(_this.componentId)[COMPONENT.VNF_CODE]);
176 case COMPONENT.NETWORK:
177 case COMPONENT.VOLUME_GROUP:
178 addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
179 .getSubscriberName());
180 addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
181 .getServiceInstanceName());
182 addToList(FIELD.NAME.MODEL_NAME, DataService
183 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
184 addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
185 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
186 addToList(FIELD.NAME.MODEL_VERSION, DataService
187 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
188 addToList(FIELD.NAME.MODEL_UUID, DataService
189 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
190 addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService
191 .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);
195 return _this.parameterList;
198 var getUserProvidedList = function() {
199 var parameterList = [];
200 var isUserProvidedNaming = false;
201 if ( ((DataService.getModelInfo(_this.componentId).serviceEcompNaming != null)
202 && (DataService.getModelInfo(_this.componentId).serviceEcompNaming === "false")) || DataService.getE2EService() ) {
203 isUserProvidedNaming = true;
206 var isInTop = DataService.getHideServiceFields() || false;
207 if (_this.componentId === COMPONENT.SERVICE) {
208 if ( DataService.getALaCarte() ) {
209 parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
211 parameterList = parameterList.concat([ getSubscribersParameter(),
212 FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
219 if (isUserProvidedNaming) {
220 parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
223 parameterList = parameterList.concat([ getSubscribersParameter() ]);
224 parameterList = parameterList.concat([ getServiceId(),
225 FIELD.PARAMETER.SERVICE_TYPE,
226 FIELD.PARAMETER.LCP_REGION,
227 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
228 FIELD.PARAMETER.TENANT_DISABLED
230 if(!DataService.getE2EService()) {
231 parameterList = parameterList.concat([getAicZonesParameter()]);
235 parameterList = parameterList.concat([ getServiceId(),
236 FIELD.PARAMETER.LCP_REGION,
237 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
238 FIELD.PARAMETER.TENANT_DISABLED ]);
242 if(!DataService.getE2EService()) {
243 parameterList = parameterList.concat([getProjectParameter()]);
244 parameterList = parameterList.concat([getOwningEntityParameter()]);
247 //if service model has a pnf, add a PNF ID parameter
248 if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_PNP_INSTANTIATION) && DataService.getPnf()) {
249 parameterList = parameterList.concat([ FIELD.PARAMETER.PNF_ID ]);
253 parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
254 switch (_this.componentId) {
255 case COMPONENT.NETWORK:
257 parameterList = parameterList.concat([ getServiceId(),
258 getLcpRegionParameter(), FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
259 FIELD.PARAMETER.TENANT_DISABLED ]);
260 parameterList = parameterList.concat([ getLineOfBusinessParameter() ]);
263 if(_this.componentId === COMPONENT.VNF){
264 parameterList[parameterList.length -1].isRequired = true;
267 parameterList = parameterList.concat([ getPlatformParameter() ]);
269 if(_this.componentId === COMPONENT.NETWORK){
270 parameterList[parameterList.length -1].isRequired = false;
274 case COMPONENT.VF_MODULE:
275 parameterList = parameterList.concat([
276 getLcpRegionParameter(),
277 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
278 FIELD.PARAMETER.TENANT_DISABLED
281 var availableVolumeGroupList = DataService.getAvailableVolumeGroupList();
283 if (availableVolumeGroupList && availableVolumeGroupList.length > 0) {
284 var availableVolumeGroupNames = [FIELD.STATUS.NONE];
286 for (var i = 0; i < availableVolumeGroupList.length; i++) {
287 availableVolumeGroupNames.push(availableVolumeGroupList[i].instance.name);
290 parameterList.push(addOptionList(
291 FIELD.PARAMETER.AVAILABLE_VOLUME_GROUP,
292 availableVolumeGroupNames));
295 case COMPONENT.VOLUME_GROUP:
296 parameterList = parameterList.concat([ getLcpRegionParameter(),
297 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
298 FIELD.PARAMETER.TENANT_DISABLED ]);
301 parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK);
302 if(_this.componentId === COMPONENT.VF_MODULE ){
303 parameterList.push({name: FIELD.NAME.SDN_C_PRELOAD,
304 id: FIELD.ID.SDN_C_PRELOAD,
308 hideFieldAndLabel: true
311 parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,
312 id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,
320 parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE,
321 id: FIELD.ID.SUPPLEMENTORY_DATA_FILE,
329 if( VIDCONFIGURATION.UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED && _this.componentId === COMPONENT.VOLUME_GROUP){
330 parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,
331 id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,
338 parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE,
339 id: FIELD.ID.SUPPLEMENTORY_DATA_FILE,
347 addArbitraryParameters(parameterList);
349 return parameterList;
352 var addArbitraryParameters = function(parameterList) {
353 if ( DataService.getModelInfo(_this.componentId).displayInputs != null ) {
354 var inputs = DataService.getModelInfo(_this.componentId).displayInputs;
355 for ( var key in inputs) {
358 type : PARAMETER.STRING,
359 name : ComponentService.getFieldDisplayName(key),
360 value : inputs[key][PARAMETER.DEFAULT],
361 isRequired : inputs[key][PARAMETER.REQUIRED],
362 description : inputs[key][PARAMETER.DESCRIPTION]
364 if ( DataService.getALaCarte() ) {
365 parameter.name = ComponentService.getFieldDisplayName(inputs[key][PARAMETER.DISPLAY_NAME]);
367 switch (inputs[key][PARAMETER.TYPE]) {
368 case PARAMETER.INTEGER:
369 parameter.type = PARAMETER.NUMBER;
371 case PARAMETER.BOOLEAN:
372 parameter.type = PARAMETER.BOOLEAN;
374 case PARAMETER.RANGE:
377 parameter.type = PARAMETER.LIST;
380 parameter.type = PARAMETER.MAP;
384 if ( UtilityService.hasContents(inputs[key][PARAMETER.CONSTRAINTS])
385 && ( inputs[key][PARAMETER.CONSTRAINTS].length > 0 ) ) {
386 var constraintsArray = inputs[key][PARAMETER.CONSTRAINTS];
387 //console.log ("Calling addConstraintParameters for input name=" + key);
388 addConstraintParameters (parameterList, constraintsArray, key, inputs, parameter);
392 parameterList.push(parameter);
395 DataService.setArbitraryParameters (parameterList);
399 var addConstraintParameters = function(parameterList, constraintsArray, key, inputs, parameter) {
400 // If there are constraints and the operator is "valid_values",
401 // use a select parameter type.
402 var i = constraintsArray.length;
403 var parameterPushed = false;
405 while ( (i--) && (!parameterPushed) ) {
406 var keys = Object.keys(constraintsArray[i]);
407 //var keys_len = keys.length;
408 for ( var operator in keys ) {
409 //console.log ("keys[operator]=" + keys[operator]);
410 switch (keys[operator]) {
411 case PARAMETER.VALID_VALUES:
412 var j = constraintsArray[i][PARAMETER.VALID_VALUES].length;
418 name: constraintsArray[i][PARAMETER.VALID_VALUES][j],
421 if ( ( UtilityService.hasContents (inputs[key][PARAMETER.DEFAULT]) )
422 && (inputs[key][PARAMETER.DEFAULT] === constraintsArray[i][PARAMETER.VALID_VALUES][j] ) ) {
424 name: constraintsArray[i][PARAMETER.VALID_VALUES][j],
430 parameter.type = PARAMETER.SELECT;
431 parameter.optionList = oList;
432 parameterList.push(parameter);
433 parameterPushed = true;
434 //console.log ("pushed param for valid values");
438 case PARAMETER.EQUAL:
439 if ( constraintsArray[i][PARAMETER.EQUAL] != null ) {
440 //override parameter type
441 parameter.type = PARAMETER.STRING;
442 parameter.isReadOnly = true;
443 parameter.value = constraintsArray[i][PARAMETER.EQUAL];
444 parameterList.push(parameter);
445 parameterPushed = true;
446 //console.log ("pushed param for equal");
450 case PARAMETER.LENGTH:
451 if ( constraintsArray[i][PARAMETER.LENGTH] != null ) {
452 parameter.minLength = constraintsArray[i][PARAMETER.LENGTH];
453 parameter.maxLength = constraintsArray[i][PARAMETER.LENGTH];
454 parameterList.push(parameter);
455 parameterPushed = true;
456 //console.log ("pushed param for length: ");
457 //console.log (JSON.stringify (parameter, null, 4));
460 case PARAMETER.MAX_LENGTH:
461 if ( constraintsArray[i][PARAMETER.MAX_LENGTH] != null ) {
462 parameter.maxLength = constraintsArray[i][PARAMETER.MAX_LENGTH];
463 parameterList.push(parameter);
464 parameterPushed = true;
465 //console.log ("pushed param for max length: ");
466 //console.log (JSON.stringify (parameter, null, 4));
469 case PARAMETER.MIN_LENGTH:
470 if ( constraintsArray[i][PARAMETER.MIN_LENGTH] != null ) {
471 parameter.minLength = constraintsArray[i][PARAMETER.MIN_LENGTH];
472 parameterList.push(parameter);
473 parameterPushed = true;
474 //console.log ("pushed param for min length: ");
475 //console.log (JSON.stringify (parameter, null, 4));
478 case PARAMETER.IN_RANGE:
479 if ( constraintsArray[i][PARAMETER.IN_RANGE] != null ) {
480 if (constraintsArray[i][PARAMETER.IN_RANGE].length > 1 ) {
481 parameter.min = constraintsArray[i][PARAMETER.IN_RANGE][0];
482 parameter.max = constraintsArray[i][PARAMETER.IN_RANGE][1];
483 parameter.type = PARAMETER.NUMBER;
484 parameter.value = inputs[key][PARAMETER.DEFAULT]
485 parameterList.push(parameter);
486 parameterPushed = true;
487 //console.log ("pushed param for in_range");
491 case PARAMETER.GREATER_THAN:
492 if ( constraintsArray[i][PARAMETER.GREATER_THAN] != null ) {
493 parameter.type = PARAMETER.NUMBER;
494 parameter.min = constraintsArray[i][PARAMETER.GREATER_THAN];
495 parameter.value = inputs[key][PARAMETER.DEFAULT]
496 parameterList.push(parameter);
497 parameterPushed = true;
498 //console.log ("pushed param for greater_than");
508 var addToList = function(name, value) {
509 _this.parameterList.push({
514 var setInventoryInfo = function(){
515 var inventoryItem = DataService.getInventoryItem();
516 var inventoryInfo = ComponentService.getInventoryInfo(
517 _this.componentId, inventoryItem);
521 * The "*Mso*" functions return URL and request details that can be passed
522 * to the MSO controller. The request details defines the info passed as
523 * part of the POST body.
526 var getMsoUrl = function() {
527 switch (_this.componentId) {
528 case COMPONENT.NETWORK:
529 return "mso_create_nw_instance/"
530 + DataService.getServiceInstanceId();
531 case COMPONENT.SERVICE:
532 if(DataService.getE2EService() === true)
533 return "mso_create_e2e_svc_instance";
535 return "mso_create_svc_instance";
537 return "mso_create_vnf_instance/"
538 + DataService.getServiceInstanceId();
539 case COMPONENT.VF_MODULE:
540 return "mso_create_vfmodule_instance/"
541 + DataService.getServiceInstanceId() + "/vnfs/"
542 + DataService.getVnfInstanceId();
543 case COMPONENT.VOLUME_GROUP:
544 return "mso_create_volumegroup_instance/"
545 + DataService.getServiceInstanceId() + "/vnfs/"
546 + DataService.getVnfInstanceId();
550 var getMsoE2ERequest = function(parameterList) {
551 var modelInfo = DataService.getModelInfo(_this.componentId);
554 let cloudConfiguration = buildCloudConfiguration(parameterList);
555 var lcpRegion = cloudConfiguration.lcpCloudRegionId;
556 var cloudOwner = cloudConfiguration.cloudOwner;
559 var displayInputs = modelInfo.displayInputs;
560 var groupBy = _.groupBy(displayInputs, "templateUUID");
562 _.forEach(groupBy, function(nodeTemplateInputs, nodeTemplateUUID) {
564 var vfLocations = [];
566 nodeTemplateInputs.forEach(function(parameter){
567 if(parameter.type === 'vf_location') {
569 vnfProfileId: parameter.displayName,
570 locationConstraints : {
571 vimId: cloudOwner + '_' + lcpRegion
574 vfLocations.push(loc);
575 } else if(parameter.type === 'sdn_controller') {
576 if(parameter.value === undefined || parameter.value === null) {
577 reqParas[parameter.name] = '';
579 reqParas[parameter.name] = parameter.value.value;
583 _.forEach(displayInputs, function(item, key){
584 if(item === parameter) {
588 var value = _.find(parameterList, function(item){
589 return item.id === name;
591 reqParas[parameter.displayName] = value;
596 resourceName: nodeTemplateInputs[0].templateName,
597 resourceInvariantUuid: nodeTemplateInputs[0].templateInvariantUUID,
598 resourceUuid: nodeTemplateInputs[0].templateUUID,
599 resourceCustomizationUuid: nodeTemplateInputs[0].templateCustomizationUUID,
601 locationConstraints: vfLocations,
602 //TODO resources: [],
603 requestInputs: reqParas
610 name: getValueFromList(FIELD.ID.INSTANCE_NAME, parameterList),
611 description: modelInfo["description"],
612 serviceInvariantUuid: modelInfo["modelInvariantId"],
613 serviceUuid: modelInfo["modelNameVersionId"],
614 globalSubscriberId: DataService.getGlobalCustomerId(),
615 serviceType: getValueFromList(FIELD.ID.SERVICE_TYPE, parameterList) || modelInfo["serviceTypeName"],
617 locationConstraints: [],
619 requestInputs: {} //TODO
627 var getMsoRequestDetails = function(parameterList) {
628 console.log("getMsoRequestDetails invoked, parameterList="); console.log(JSON.stringify(parameterList,null,4));
630 //VoLTE logic goes here
631 if(DataService.getE2EService() === true) {
632 return getMsoE2ERequest(parameterList);
635 var modelInfo = DataService.getModelInfo(_this.componentId);
636 var requestorloggedInId = DataService.getLoggedInUserId();
637 var owningEntityId = getValueFromList(FIELD.ID.OWNING_ENTITY, parameterList);
638 if (requestorloggedInId == null)
639 requestorloggedInId = "";
640 var isSupRollback = false;
641 if (getValueFromList(FIELD.ID.SUPPRESS_ROLLBACK,parameterList) === "true") {
642 isSupRollback = true;
644 var requestDetails = {
646 instanceName : getValueFromList(FIELD.ID.INSTANCE_NAME,
647 parameterList) || DataService.getVfModuleInstanceName(),
648 source : FIELD.ID.VID,
649 suppressRollback : isSupRollback,
650 requestorId: requestorloggedInId
653 modelType : _this.componentId,
654 modelInvariantId : modelInfo.modelInvariantId,
655 modelVersionId : modelInfo.modelNameVersionId,
656 modelName : modelInfo.modelName,
657 modelVersion : modelInfo.modelVersion,
658 modelCustomizationId: modelInfo.customizationUuid,
659 modelCustomizationName : modelInfo.modelCustomizationName
661 requestParameters : {
662 userParams : getArbitraryParameters(parameterList)
665 if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ADD_MSO_TESTAPI_FIELD)) {
666 if ((_this.componentId != COMPONENT.SERVICE) || ( DataService.getALaCarte() )) {
667 requestDetails.requestParameters.testApi = DataService.getMsoRequestParametersTestApi();
670 if ( (_this.componentId != COMPONENT.SERVICE) || ( !DataService.getALaCarte() ) ) {
671 // include cloud region for everything but service create alacarte
672 requestDetails.cloudConfiguration = buildCloudConfiguration(parameterList);
674 switch (_this.componentId) {
676 case COMPONENT.SERVICE:
677 requestDetails.subscriberInfo = {
678 globalSubscriberId : DataService.getGlobalCustomerId(),
679 subscriberName : DataService.getSubscriberName()
681 var isInTop = DataService.getHideServiceFields() || false;
683 requestDetails.requestParameters.subscriptionServiceType = DataService.getModelInfo(_this.componentId)["serviceTypeName"];
685 requestDetails.requestParameters.subscriptionServiceType = getValueFromList(
686 FIELD.ID.SERVICE_TYPE, parameterList);
688 requestDetails.requestParameters.aLaCarte = DataService.getALaCarte();
689 if ( !DataService.getALaCarte() ) {
690 requestDetails.requestInfo.productFamilyId = getValueFromList(
691 FIELD.ID.PRODUCT_FAMILY, parameterList);
694 modelType : _this.componentId,
695 modelInvariantId : modelInfo.modelInvariantId,
696 modelVersionId : modelInfo.modelNameVersionId,
697 modelName : modelInfo.modelName,
698 modelVersion : modelInfo.modelVersion
700 requestDetails.modelInfo = svcModelInfo;
702 var selectedProject = getValueFromList(FIELD.ID.PROJECT, parameterList);
704 if (selectedProject) {
705 requestDetails.project = {
706 projectName: getValueFromList(FIELD.ID.PROJECT, parameterList)
710 requestDetails.owningEntity = {
711 owningEntityId: owningEntityId,
712 owningEntityName: getOwningEntityNameById(owningEntityId)
718 requestDetails.requestInfo.productFamilyId = getValueFromList(
719 FIELD.ID.PRODUCT_FAMILY, parameterList);
721 var lineOfBusiness = getValueFromList(FIELD.ID.LINE_OF_BUSINESS, parameterList);
724 requestDetails.lineOfBusiness = {
725 lineOfBusinessName: lineOfBusiness
729 requestDetails.platform = {
730 platformName: getValueFromList(FIELD.ID.PLATFORM, parameterList)
734 case COMPONENT.NETWORK:
735 requestDetails.requestInfo.productFamilyId = getValueFromList(
736 FIELD.ID.PRODUCT_FAMILY, parameterList);
737 var lineOfBusiness = getValueFromList(FIELD.ID.LINE_OF_BUSINESS, parameterList);
740 var lineOfBusinessNamesString = _.map(lineOfBusiness, "name").join(", ");
742 requestDetails.lineOfBusiness = {
743 lineOfBusinessName: lineOfBusinessNamesString
747 var platform = getValueFromList(FIELD.ID.PLATFORM, parameterList);
748 if(platform !== null && platform !== ""){
749 requestDetails.platform = {
750 platformName: platform
757 case COMPONENT.VF_MODULE:
758 requestDetails.requestParameters.usePreload = getValueFromList(
759 FIELD.ID.SDN_C_PRELOAD, parameterList);
760 if(_this.componentId == COMPONENT.VF_MODULE &&(requestDetails.requestParameters.usePreload== null || requestDetails.requestParameters.usePreload === '')){
761 requestDetails.requestParameters.usePreload = false;
764 case COMPONENT.VOLUME_GROUP:
768 var relatedInstanceList = getRelatedInstanceList(parameterList);
770 if (relatedInstanceList !== undefined) {
771 requestDetails.relatedInstanceList = relatedInstanceList;
774 return requestDetails;
777 var buildCloudConfiguration = function (parameterList) {
781 var lcpRegionOptionId = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
782 var cloudOwnerAndLcpCloudRegion = DataService.getCloudOwnerAndLcpCloudRegionFromOptionId(lcpRegionOptionId);
783 if (cloudOwnerAndLcpCloudRegion.cloudRegionId === FIELD.KEY.LCP_REGION_TEXT) {
784 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
786 cloudOwner = undefined;
788 var cloudOwnerAndLcpCloudRegion = DataService.getCloudOwnerAndLcpCloudRegionFromOptionId(lcpRegionOptionId);
789 lcpRegion = cloudOwnerAndLcpCloudRegion.cloudRegionId;
790 cloudOwner = cloudOwnerAndLcpCloudRegion.cloudOwner;
794 lcpCloudRegionId: lcpRegion,
795 cloudOwner: featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) ? cloudOwner : undefined,
796 tenantId: getValueFromList(FIELD.ID.TENANT, parameterList)
801 var getRelatedInstanceList = function(parameterList) {
802 var relatedInstanceList = new Array();
803 switch (_this.componentId) {
804 case COMPONENT.SERVICE:
806 case COMPONENT.NETWORK:
808 addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,
809 DataService.getServiceInstanceId());
811 case COMPONENT.VF_MODULE:
812 addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,
813 DataService.getServiceInstanceId());
814 addRelatedInstance(relatedInstanceList, COMPONENT.VNF, DataService
815 .getVnfInstanceId());
817 var availableVolumeGroup = getValueFromList(
818 FIELD.ID.AVAILABLE_VOLUME_GROUP, parameterList);
820 if (UtilityService.hasContents(availableVolumeGroup) && availableVolumeGroup !== "None") {
821 var availableVolumeGroups = DataService.getAvailableVolumeGroupList();
823 for (var i = 0; i < availableVolumeGroups.length; i++) {
824 if (availableVolumeGroups[i].instance.name == availableVolumeGroup) {
825 DataService.setModelInfo(COMPONENT.VOLUME_GROUP, DataService.getModelInfo(COMPONENT.VF_MODULE));
826 DataService.setVolumeGroupInstanceId(availableVolumeGroups[i].instance.object["volume-group-id"]);
831 addRelatedInstance(relatedInstanceList, COMPONENT.VOLUME_GROUP,
832 DataService.getVolumeGroupInstanceId());
835 case COMPONENT.VOLUME_GROUP:
836 addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,
837 DataService.getServiceInstanceId());
838 addRelatedInstance(relatedInstanceList, COMPONENT.VNF, DataService
839 .getVnfInstanceId());
843 return relatedInstanceList;
846 var addRelatedInstance = function(relatedInstanceList, componentId,
848 var modelInfo = DataService.getModelInfo(componentId);
850 if (modelInfo !== undefined) {
851 if (componentId === COMPONENT.SERVICE) {
853 "instanceId" : instanceId,
855 "modelType" : componentId,
856 "modelName" : modelInfo.modelName,
857 "modelInvariantId" : modelInfo.modelInvariantId,
858 "modelVersion" : modelInfo.modelVersion,
859 "modelVersionId" : modelInfo.modelNameVersionId,
866 "instanceId" : instanceId,
868 "modelType" : componentId,
869 "modelName" : modelInfo.modelName,
870 "modelInvariantId" : modelInfo.modelInvariantId,
871 "modelVersion" : modelInfo.modelVersion,
872 "modelVersionId" : modelInfo.modelNameVersionId,
873 "modelCustomizationId": modelInfo.customizationUuid,
874 "modelCustomizationName": modelInfo.modelCustomizationName
878 relatedInstanceList.push({
879 relatedInstance : relatedInstance
885 * var getArbitraryParameters = function(parameterList) { var
886 * arbitraryParameters = new Object(); for (var i = 0; i <
887 * parameterList.length; i++) { var parameter = parameterList[i]; switch
888 * (parameter.id) { case FIELD.ID.INSTANCE_NAME: case
889 * FIELD.ID.PRODUCT_FAMILY: case FIELD.ID.LCP_REGION: case
890 * FIELD.ID.LCP_REGION_TEXT: case FIELD.ID.SERVICE_TYPE: case
891 * FIELD.ID.TENANT: case FIELD.ID.SUPPRESS_ROLLBACK: break; default:
892 * arbitraryParameters[parameter.id] = parameter.value; } } return
893 * arbitraryParameters; }
895 var getArbitraryParameters = function(parameterList) {
896 var arbitraryParameters = new Object();
897 var arbitraryArray = new Array();
898 for (var i = 0; i < parameterList.length; i++) {
899 var parameter = parameterList[i];
900 switch (parameter.id) {
901 case FIELD.ID.AVAILABLE_VOLUME_GROUP:
902 case FIELD.ID.INSTANCE_NAME:
903 case FIELD.ID.PRODUCT_FAMILY:
904 case FIELD.ID.LCP_REGION:
905 case FIELD.ID.LCP_REGION_TEXT:
906 case FIELD.ID.SERVICE_TYPE:
907 case FIELD.ID.TENANT:
908 case FIELD.ID.SUPPRESS_ROLLBACK:
909 case FIELD.ID.SUBSCRIBER_NAME:
910 case FIELD.ID.SDN_C_PRELOAD:
911 case FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE:
912 case FIELD.ID.OWNING_ENTITY:
913 case FIELD.ID.PLATFORM:
914 case FIELD.ID.LINE_OF_BUSINESS:
915 case FIELD.ID.PROJECT:
917 case FIELD.ID.SUPPLEMENTORY_DATA_FILE:
918 arbitraryParameters = FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value'];
919 arbitraryArray=arbitraryParameters;
920 FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value']=[];
924 if (parameter.value != '') {
925 arbitraryParameters = {
927 value: parameter.value
929 arbitraryArray.push(arbitraryParameters);
933 return (arbitraryArray);
936 var getModel = function() {
937 AsdcService.getModel(DataService.getModelId(), function(response) {
938 DataService.setModelInfo(_this.componentId, {
939 modelInvariantId : response.data.invariantUUID,
940 modelNameVersionId : response.data.uuid,
941 modelName : response.data.name,
942 modelVersion : response.data.version,
943 inputs : response.data.inputs
945 UtilityService.startNextAsyncOperation();
949 var getSubscriptionServiceTypeList = function() {
950 AaiService.getSubscriptionServiceTypeList(DataService
951 .getGlobalCustomerId(), function(response) {
952 DataService.setSubscriptionServiceTypeList(response);
953 UtilityService.startNextAsyncOperation();
957 var getLoggedInUserID = function() {
958 AaiService.getLoggedInUserID(function(response) {
959 DataService.setLoggedInUserId(response.data);
960 UtilityService.startNextAsyncOperation();
964 var getSubscribers = function() {
965 AaiService.getSubscribers(function(response) {
966 DataService.setSubscribers(response);
967 UtilityService.startNextAsyncOperation();
970 var getServices = function() {
971 AaiService.getServices(function(response) {
972 var serviceIdList = [];
973 angular.forEach(response.data, function(value, key) {
974 angular.forEach(value, function(subVal, key) {
976 "id" : subVal[FIELD.ID.SERVICE_ID],
977 "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION],
978 "isPermitted" : subVal[FIELD.ID.IS_PERMITTED],
980 serviceIdList.push(newVal);
981 DataService.setServiceIdList(serviceIdList);
985 UtilityService.startNextAsyncOperation();
988 var getAicZones = function() {
989 AaiService.getAicZones(function(response) {
990 var serviceIdList = [];
991 angular.forEach(response.data, function(value, key) {
992 angular.forEach(value, function(subVal, key) {
994 "id" : subVal[FIELD.ID.ZONE_ID],
995 "name" : subVal[FIELD.ID.ZONE_NAME],
997 serviceIdList.push(newVal);
998 DataService.setAicZones(serviceIdList);
1002 UtilityService.startNextAsyncOperation();
1006 var getOwningEntityProperties = function() {
1007 OwningEntityService.getOwningEntityProperties(function(owningEntityProperties) {
1008 DataService.setOwningEntityProperties(owningEntityProperties);
1009 UtilityService.startNextAsyncOperation();
1014 var getLcpCloudRegionTenantList = function() {
1015 AaiService.getLcpCloudRegionTenantList(DataService
1016 .getGlobalCustomerId(), DataService.getServiceType(), function(
1018 DataService.setCloudRegionTenantList(response);
1019 UtilityService.startNextAsyncOperation();
1023 var internalGetParametersHandler = function() {
1024 if (angular.isFunction(_this.getParametersHandler)) {
1025 _this.getParametersHandler({
1026 summaryList : getSummaryList(),
1027 userProvidedList : getUserProvidedList()
1032 var getSubscribersParameter = function() {
1033 var subscribers = DataService.getSubscribers();
1034 var parameter = FIELD.PARAMETER.SUBSCRIBER_NAME;
1035 if ( UtilityService.hasContents(subscribers)) {
1036 parameter.optionList = [];
1038 for (var i = 0; i < subscribers.length; i++) {
1039 parameter.optionList.push({
1040 id : subscribers[i][FIELD.ID.GLOBAL_CUSTOMER_ID],
1041 name : subscribers[i][FIELD.ID.SUBNAME],
1042 isPermitted : subscribers[i][FIELD.ID.IS_PERMITTED]
1049 var getServiceId = function() {
1050 var serviceIdList = DataService.getServiceIdList();
1051 //var serviceTypeList = DataService.getSubscriptionServiceTypeList();
1052 var parameter = FIELD.PARAMETER.PRODUCT_FAMILY;
1053 parameter.optionList = new Array();
1054 if ( UtilityService.hasContents(serviceIdList) ) {
1056 for (var i = 0; i < serviceIdList.length; i++) {
1057 parameter.optionList.push({
1058 id : serviceIdList[i].id,
1059 name : serviceIdList[i].description,
1060 isPermitted : serviceIdList[i].isPermitted
1068 var getAicZonesParameter = function() {
1069 var aicList = DataService.getAicZones();
1070 var parameter = FIELD.PARAMETER.AIC_ZONES;
1071 parameter.optionList = new Array();
1072 if ( UtilityService.hasContents(aicList) ) {
1074 for (var i = 0; i < aicList.length; i++) {
1075 parameter.optionList.push({
1077 name : aicList[i].name,
1087 var getProjectParameter = function() {
1088 return getOwningEntityParameterWithOptions(FIELD.PARAMETER.PROJECT);
1091 var getOwningEntityParameter = function() {
1092 return getOwningEntityParameterWithOptions(FIELD.PARAMETER.OWNING_ENTITY);
1095 var getLineOfBusinessParameter = function() {
1096 return getOwningEntityParameterWithOptions(FIELD.PARAMETER.LINE_OF_BUSINESS);
1099 var getPlatformParameter = function() {
1100 return getOwningEntityParameterWithOptions(FIELD.PARAMETER.PLATFORM);
1103 var getOwningEntityNameById = function (id) {
1104 var properties = DataService.getOwningEntityProperties();
1105 var parameter = _.find(properties[FIELD.ID.OWNING_ENTITY], {"id": id});
1106 return parameter && parameter.name;
1109 var getOwningEntityParameterWithOptions = function(parameter) {
1110 var properties = DataService.getOwningEntityProperties();
1111 if (properties && properties[parameter.id]) {
1112 parameter.optionList = _.map(properties[parameter.id], function(parameter) {
1114 "id" : parameter.id,
1115 "name" : parameter.name,
1124 var getLcpRegionParameter = function() {
1125 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
1126 console.log ( "cloudRegionTenantList=");
1127 console.log ( JSON.stringify (cloudRegionTenantList, null, 4 ));
1129 var parameter = FIELD.PARAMETER.LCP_REGION;
1130 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
1131 parameter.optionList = new Array();
1132 for (var i = 0; i < cloudRegionTenantList.length; i++) {
1133 for (var j = 0; j < parameter.optionList.length; j++) {
1134 if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionOptionId) {
1135 parameter.optionList[j].isPermitted =
1136 parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted;
1140 if (j < parameter.optionList.length) {
1144 var optionName = featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) && cloudRegionTenantList[i].cloudOwner ?
1145 cloudRegionTenantList[i].cloudRegionId + " (" + AaiService.removeVendorFromCloudOwner(cloudRegionTenantList[i].cloudOwner).toUpperCase() + ")" :
1146 cloudRegionTenantList[i].cloudRegionId;
1148 parameter.optionList.push({
1149 id : cloudRegionTenantList[i].cloudRegionOptionId,
1151 isPermitted : cloudRegionTenantList[i].isPermitted
1158 var getTenantList = function(cloudRegionOptionId) {
1159 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
1161 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
1162 parameter = FIELD.PARAMETER.TENANT_ENABLED;
1163 parameter.optionList = new Array();
1164 for (var i = 0; i < cloudRegionTenantList.length; i++) {
1165 if (cloudRegionTenantList[i].cloudRegionOptionId === cloudRegionOptionId) {
1166 parameter.optionList.push({
1167 id : cloudRegionTenantList[i].tenantId,
1168 name : cloudRegionTenantList[i].tenantName,
1169 isPermitted : cloudRegionTenantList[i].isPermitted
1179 var addOptionList = function(parameter, optionSimpleArray) {
1180 var optionList = new Array();
1181 if (!angular.isArray(optionSimpleArray)) {
1184 for (var i = 0; i < optionSimpleArray.length; i++) {
1186 name : optionSimpleArray[i],
1190 parameter.optionList = optionList;
1194 var getValueFromList = function(id, parameterList) {
1195 for (var i = 0; i < parameterList.length; i++) {
1196 if (parameterList[i].id === id) {
1197 return parameterList[i].value;
1202 var updateUserParameterList = function(updatedId, parameterListControl) {
1203 console.log ("updateUserParameterList() updatedId=" + updatedId);
1204 if (updatedId === FIELD.ID.PRODUCT_FAMILY && DataService.getHideServiceFields()) {
1205 var cloudRegionTenantList = new Array();
1206 AaiService.getLcpCloudRegionTenantList(DataService.getGlobalCustomerId(), DataService.getServiceType(), function(cloudRegionTenantList) {
1207 DataService.setCloudRegionTenantList(cloudRegionTenantList);
1208 parameterListControl.updateList([ getLcpRegionParameter() ]);
1210 }else if (updatedId === FIELD.ID.SDN_C_PRELOAD) {
1211 var list = parameterListControl.getList(updatedId);
1212 if($('input[parameter-id="'+updatedId+'"]').is(':checked')){
1213 FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED.value=true;
1214 parameterListControl
1215 .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED ]);
1217 parameterListControl
1218 .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_UNCHECKED ]);
1220 }else if (updatedId === FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE) {
1221 if($('input[parameter-id="'+updatedId+'"]').is(':checked')){
1222 $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').show();
1223 FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=true;
1224 parameterListControl
1225 .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED ]);
1227 $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').hide();
1228 FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=false;
1229 parameterListControl
1230 .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED ]);
1232 } else if (updatedId === FIELD.ID.SUPPLEMENTORY_DATA_FILE) {
1233 var filePath = $('input[parameter-id="'+updatedId+'"]').val();
1234 var arr =filePath.split('.');
1235 var fileExt = arr[arr.length-1];
1236 if(fileExt!='' && fileExt.toLowerCase()!='json'){
1237 $('input[parameter-id="'+updatedId+'"]').val('');
1238 alert("Invalid file format. Please select *.json format file.");
1241 } else if (updatedId === FIELD.ID.LCP_REGION) {
1242 var list = parameterListControl.getList(updatedId);
1243 if (list[0].selectedIndex >= 0) {
1244 parameterListControl
1245 .updateList([ getTenantList(list[0].value) ]);
1247 parameterListControl
1248 .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]);
1251 var cloudOwnerAndLcpCloudRegion = DataService.getCloudOwnerAndLcpCloudRegionFromOptionId(list[0].value);
1252 if (cloudOwnerAndLcpCloudRegion.cloudRegionId === FIELD.KEY.LCP_REGION_TEXT) {
1253 parameterListControl
1254 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]);
1256 parameterListControl
1257 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN ]);
1259 } else if (updatedId === FIELD.ID.SUBSCRIBER_NAME) {
1260 var list = parameterListControl.getList(updatedId);
1261 if (list[0].selectedIndex >= 0) {
1262 DataService.setGlobalCustomerId(list[0].value);
1264 AaiService.getSubscriptionServiceTypeList(DataService
1265 .getGlobalCustomerId(), function(response) {
1266 DataService.setSubscriptionServiceTypeList(response);
1267 var serviceTypeParameters = FIELD.PARAMETER.SERVICE_TYPE;
1268 serviceTypeParameters.optionList = [];
1270 for (var i = 0; i < response.length; i++) {
1271 serviceTypeParameters.optionList.push({
1272 "id" : response[i].name,
1273 "name" : response[i].name,
1274 "isPermitted" :response[i].isPermitted
1278 console.log ( "updateUserParameterList: service type parameters " );
1279 console.log ( JSON.stringify (serviceTypeParameters, null, 4));
1280 parameterListControl.updateList([ serviceTypeParameters ]);
1284 } else if ( updatedId === FIELD.ID.SERVICE_TYPE ) {
1285 var list = parameterListControl.getList(updatedId);
1286 if (list[0].selectedIndex >= 0) {
1288 DataService.setServiceType(list[0].value);
1289 var cloudRegionTenantList = new Array();
1290 AaiService.getLcpCloudRegionTenantList(DataService.getGlobalCustomerId(), DataService.getServiceType(), function(cloudRegionTenantList) {
1291 DataService.setCloudRegionTenantList(cloudRegionTenantList);
1292 parameterListControl.updateList([ getLcpRegionParameter() ]);
1295 parameterListControl
1296 .updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
1303 initializeComponent : function(componentId) {
1304 _this.componentId = ComponentService.initialize(componentId);
1306 setHttpErrorHandler : function(httpErrorHandler) {
1307 _this.httpErrorHandler = httpErrorHandler;
1309 getComponentDisplayName : ComponentService.getComponentDisplayName,
1310 getParameters : function(getParametersHandler) {
1311 _this.getParametersHandler = getParametersHandler;
1312 UtilityService.setHttpErrorHandler(_this.httpErrorHandler);
1313 UtilityService.startAsyncOperations(getAsyncOperationList(),
1314 internalGetParametersHandler);
1316 updateUserParameterList : updateUserParameterList,
1317 getMsoRequestDetails : getMsoRequestDetails,
1318 getMsoUrl : getMsoUrl,
1319 setInventoryInfo: setInventoryInfo
1323 appDS2.factory("CreationService", [ "$log", "AaiService", "AsdcService",
1324 "DataService","VIDCONFIGURATION", "ComponentService", "COMPONENT", "FIELD", "PARAMETER",
1325 "UtilityService", "OwningEntityService","featureFlags", CreationService ]);