aboutsummaryrefslogtreecommitdiffstats
path: root/generic-resource-api/client/pom.xml
AgeCommit message (Expand)AuthorFilesLines
2020-08-22Roll versions to next Guilin snapshotDan Timoney1-2/+2
2020-06-08Generate ODL compliant swagger models from yangDan Timoney1-59/+14
2020-03-17Roll to first Guilin snapshotDan Timoney1-2/+2
2020-03-06Use released Frankfurt M4 parent pomsDan Timoney1-1/+1
2020-02-24Update CCSDK parent pom version to 1.5.2-SNAPSHOTherbert1-1/+1
2020-02-03Update to use released CCSDK parent pomsDan Timoney1-1/+1
2019-12-06Update CCSDK parent pom version to 1.5.1-SNAPSHOTTimoney, Dan (dt5972)1-1/+1
2019-09-17Roll versions for FrankfurtTimoney, Dan (dt5972)1-2/+2
2019-09-13Roll versionTimoney, Dan (dt5972)1-2/+2
2019-09-11Roll versionsTimoney, Dan (dt5972)1-2/+2
2019-08-19Code changes for NeonTimoney, Dan (dt5972)1-3/+3
2019-08-09Test case addition for SONAR coverageprakash.e1-2/+2
2019-08-07Roll version to recreate artifactsTimoney, Dan (dt5972)1-2/+2
2019-08-05Use release version of parent pomsTimoney, Dan (dt5972)1-1/+1
2019-07-31Network concurrency supportBrandon, Bruce (bb2697)1-1/+1
2019-04-30Update master for El Alto versioningTimoney, Dan (dt5972)1-2/+2
2019-04-24Update to use released 1.2.2 parent1.5.1Timoney, Dan (dt5972)1-1/+1
2019-03-25Update to Fluorine SR2Timoney, Dan (dt5972)1-2/+2
2019-03-18Use released 1.2.1 CCSDK parentTimoney, Dan (dt5972)1-1/+1
2019-01-18Update sdnc/northbound to support FluorineTimoney, Dan (dt5972)1-4/+2
2018-11-15gr api northbound objects serializablebb34761-0/+1
2018-10-23Roll to initial Dublin snapshotTimoney, Dan (dt5972)1-2/+2
2018-10-12Prepare for RC0 release buildTimoney, Dan (dt5972)1-1/+1
2018-10-02Roll to next snapshot versionTimoney, Dan (dt5972)1-2/+2
2018-10-01Prepare for release1.4.0Timoney, Dan (dt5972)1-1/+1
2018-07-27Add client code to generic-resource-apiTimoney, Dan (dt5972)1-0/+110
/* Keyword */ .highlight .l { color: #ae81ff } /* Literal */ .highlight .n { color: #f8f8f2 } /* Name */ .highlight .o { color: #f92672 } /* Operator */ .highlight .p { color: #f8f8f2 } /* Punctuation */ .highlight .ch { color: #75715e } /* Comment.Hashbang */ .highlight .cm { color: #75715e } /* Comment.Multiline */ .highlight .cp { color: #75715e } /* Comment.Preproc */ .highlight .cpf { color: #75715e } /* Comment.PreprocFile */ .highlight .c1 { color: #75715e } /* Comment.Single */ .highlight .cs { color: #75715e } /* Comment.Special */ .highlight .gd { color: #f92672 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gi { color: #a6e22e } /* Generic.Inserted */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #75715e } /* Generic.Subheading */ .highlight .kc { color: #66d9ef } /* Keyword.Constant */ .highlight .kd { color: #66d9ef } /* Keyword.Declaration */ .highlight .kn { color: #f92672 } /* Keyword.Namespace */ .highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ .highlight .kr { color: #66d9ef } /* Keyword.Reserved */ .highlight .kt { color: #66d9ef } /* Keyword.Type */ .highlight .ld { color: #e6db74 } /* Literal.Date */ .highlight .m { color: #ae81ff } /* Literal.Number */ .highlight .s { color: #e6db74 } /* Literal.String */ .highlight .na { color: #a6e22e } /* Name.Attribute */ .highlight .nb { color: #f8f8f2 } /* Name.Builtin */ .highlight .nc { color: #a6e22e } /* Name.Class */ .highlight .no { color: #66d9ef } /* Name.Constant */ .highlight .nd { color: #a6e22e } /* Name.Decorator */ .highlight .ni { color: #f8f8f2 } /* Name.Entity */ .highlight .ne { color: #a6e22e } /* Name.Exception */ .highlight .nf { color: #a6e22e } /* Name.Function */ .highlight .nl { color: #f8f8f2 } /* Name.Label */ .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ .highlight .nx { color: #a6e22e } /* Name.Other */ .highlight .py { color: #f8f8f2 } /* Name.Property */ .highlight .nt { color: #f92672 } /* Name.Tag */ .highlight .nv { color: #f8f8f2 } /* Name.Variable */ .highlight .ow { color: #f92672 } /* Operator.Word */ .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ .highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ .highlight .mf { color: #ae81ff } /* Literal.Number.Float */ .highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ .highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ .highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ .highlight .sa { color: #e6db74 } /* Literal.String.Affix */ .highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
/*-
 * ============LICENSE_START=======================================================
 * VID
 * ================================================================================
 * Copyright (C) 2017 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";

var DeletionService = function($log, AaiService, AsdcService, DataService,
	ComponentService, COMPONENT, FIELD, UtilityService) {

    var _this = this;

    var getAsyncOperationList = function() {
    	if (DataService.getLoggedInUserId() == null)
			getLoggedInUserID();
		switch (_this.componentId) {
		case COMPONENT.SERVICE:
			return [ getSubscribers, getLcpCloudRegionTenantList ];
		case COMPONENT.NETWORK:
			return [ getLcpCloudRegionTenantList ];
		case COMPONENT.VNF:
			return [ getLcpCloudRegionTenantList ];
		case COMPONENT.VF_MODULE:
			return [ getLcpCloudRegionTenantList ];
		case COMPONENT.VOLUME_GROUP:
			return [ getLcpCloudRegionTenantList ];
		}
	};
	
	var getLcpCloudRegionTenantList = function() {
		//console.log ( "global customer id: " ); 
		//console.log ( JSON.stringify (DataService.getGlobalCustomerId()) );
		
		//console.log ( "service type: " ); 
		//console.log ( JSON.stringify (DataService.getServiceType()) );
		
		AaiService.getLcpCloudRegionTenantList(DataService
				.getGlobalCustomerId(), DataService.getServiceType(), function(
				response) {
			DataService.setCloudRegionTenantList(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 internalGetParametersHandler = function() {
		if (angular.isFunction(_this.getParametersHandler)) {
				if (_this.componentId == COMPONENT.SERVICE) {
					if ( DataService.getALaCarte() ) {
						_this.getParametersHandler({
							summaryList : getSummaryList(),
							userProvidedList : getUserProvidedList()
						}, true);
					}
					else {
						_this.getParametersHandler({
							summaryList : getSummaryList(),
							userProvidedList : getUserProvidedList()
						}, false);
					}
			}
			else {
				_this.getParametersHandler({
					summaryList : getSummaryList(),
					userProvidedList : getUserProvidedList()
				}, false);
			}
		}
	};
	
	var getSubscribersParameter = function() {
		var subscribers = DataService.getSubscribers();
		var parameter = FIELD.PARAMETER.SUBSCRIBER_NAME;
		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]
			})
		}
		return parameter;
	};
	
	var getServiceId = function() {
		var serviceIdList = DataService.getServiceIdList();
		var parameter = FIELD.PARAMETER.PRODUCT_FAMILY;
		parameter.optionList = new Array();
		for (var i = 0; i < serviceIdList.length; i++) {
			parameter.optionList.push({
				id : serviceIdList[i].id,
				name : serviceIdList[i].description
			});
		}
		return parameter;
	};
	
	var getUserProvidedList = function() {

		//var parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];

		var parameterList = [];
		
		switch (_this.componentId) {
		case COMPONENT.SERVICE:
			if ( DataService.getALaCarte() ) {
				parameterList = [];
			}
			else {
				parameterList = parameterList.concat ([getLcpRegion(),
				    FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
				    FIELD.PARAMETER.TENANT_DISABLED ]);
			}
			break;
		case COMPONENT.NETWORK:
		case COMPONENT.VNF:
			parameterList = parameterList.concat([ //getServiceId(),
					getLcpRegion(), FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
					FIELD.PARAMETER.TENANT_DISABLED ]);
			break;
		case COMPONENT.VF_MODULE:
			parameterList = parameterList.concat([
			        getLcpRegion(),
					FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
					FIELD.PARAMETER.TENANT_DISABLED
			]);
			
			break;
		case COMPONENT.VOLUME_GROUP:
			parameterList = parameterList.concat([ getLcpRegion(),
					FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
					FIELD.PARAMETER.TENANT_DISABLED ]);
		}

		//parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK);

		//addArbitraryParameters(parameterList);

		return parameterList;
	};
    var getSummaryList = function() {
	switch (_this.componentId) {
	case COMPONENT.NETWORK:
	case COMPONENT.SERVICE:
	case COMPONENT.VNF:
	case COMPONENT.VF_MODULE:
	case COMPONENT.VOLUME_GROUP:
	    var summaryList = [ {
		name : FIELD.NAME.SUBSCRIBER_NAME,
		value : DataService.getSubscriberName()
	    }, {
		name : FIELD.NAME.CUSTOMER_ID,
		value : DataService.getGlobalCustomerId()
	    }, {
		name : FIELD.NAME.SERVICE_UUID,
		value : DataService.getServiceUuid()
	    }, {
		name : FIELD.NAME.SERVICE_NAME,
		value : DataService.getServiceName()
	   /* }, {
		name : FIELD.NAME.USER_SERVICE_INSTANCE_NAME,
		value : DataService.getUserServiceInstanceName()*/
	    } ];

		_this.parameterList = new Array();
		
		addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());

		switch (_this.componentId) {
		case COMPONENT.SERVICE:
			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]);
			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]);
			break;
		case COMPONENT.NETWORK:
		case COMPONENT.VNF:
		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]);
			break;
		}
		
	    /*var additionalList = ComponentService.getInventoryParameterList(
		    _this.componentId, DataService.getInventoryItem());*/
		var additionalList = ComponentService.getDisplayNames(ComponentService
			    .getInventoryParameterList(_this.componentId, DataService
				    .getInventoryItem(), true ));

	    return summaryList.concat(ComponentService
		    .getDisplayNames(additionalList));
	}
    };

    var getMsoUrl = function() {
	switch (_this.componentId) {
	case COMPONENT.NETWORK:
	    return "mso_delete_nw_instance/"
		    + DataService.getServiceInstanceId() + "/networks/"
		    + DataService.getNetworkInstanceId();
	case COMPONENT.SERVICE:
	    return "mso_delete_svc_instance/"
		    + DataService.getServiceInstanceId();
	case COMPONENT.VNF:
	    return "mso_delete_vnf_instance/"
		    + DataService.getServiceInstanceId() + "/vnfs/"
		    + DataService.getVnfInstanceId();
	case COMPONENT.VF_MODULE:
	    return "mso_delete_vfmodule_instance/"
		    + DataService.getServiceInstanceId() + "/vnfs/"
		    + DataService.getVnfInstanceId() + "/vfModules/"
		    + DataService.getVfModuleInstanceId();
	case COMPONENT.VOLUME_GROUP:
	    return "mso_delete_volumegroup_instance/"
		    + DataService.getServiceInstanceId() + "/vnfs/"
		    + DataService.getVnfInstanceId() + "/volumeGroups/"
		    + DataService.getVolumeGroupInstanceId();
	}
    }

	var addToList = function(name, value) {
		_this.parameterList.push({
			name : name,
			value : value
		});
	};
	
    var getMsoRequestDetails = function(parameterList) {
    	console.log("getMsoRequestDetails invoked");
		var inventoryInfo = ComponentService.getInventoryInfo(
			_this.componentId, DataService.getInventoryItem());
		var modelInfo = DataService.getModelInfo(_this.componentId);
		var requestorloggedInId = DataService.getLoggedInUserId();
		if (requestorloggedInId ==  null)
			requestorloggedInId = "";
		var requestDetails = {
				modelInfo : {
					modelType : _this.componentId,
					modelInvariantId : modelInfo.modelInvariantId,
					modelVersionId : modelInfo.modelNameVersionId,
					modelName : modelInfo.modelName,
					modelCustomizationName : modelInfo.modelCustomizationName,
					modelCustomizationId : modelInfo.customizationUuid,
					modelVersion : modelInfo.modelVersion
				},
				requestInfo : {
					source : FIELD.ID.VID,
					requestorId: requestorloggedInId
				}
		};
		
		switch (_this.componentId) {
			case COMPONENT.SERVICE:
				requestDetails.requestParameters = {
					aLaCarte : DataService.getALaCarte()
				};
				if ( !(DataService.getALaCarte()) ) {
					// for macro delete include cloud config.
					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)
					};
				}
			    break;
			case COMPONENT.VNF:
			    console.log("getMsoRequestDetails COMPONENT.VNF");
				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)
				};
	
				break;
			case COMPONENT.VF_MODULE:
			case COMPONENT.NETWORK:
					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)
					};	
					break;
			case COMPONENT.VOLUME_GROUP:
				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)
				};	
				
				break;
			default:
				requestDetails.cloudConfiguration = {
					lcpCloudRegionId : DataService.getLcpRegion(),
					tenantId : DataService.getTenant()
				};
		}
		return requestDetails;
    }
    
    var getLcpRegion = function() {
		var cloudRegionTenantList = DataService.getCloudRegionTenantList();
		var parameter = "";
		if ( UtilityService.hasContents (cloudRegionTenantList) ) {
			parameter = FIELD.PARAMETER.LCP_REGION;
			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;
				}
				parameter.optionList.push({
					id : cloudRegionTenantList[i].cloudRegionId,
          isPermitted : cloudRegionTenantList[i].isPermitted

        });
			}
		}
		return parameter;
	};
	
	var getTenantList = function(cloudRegionId) {
		var parameter = "";
		var cloudRegionTenantList = DataService.getCloudRegionTenantList();
		if ( UtilityService.hasContents (cloudRegionTenantList) ) {
			var 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]
			});
		}
		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) {
		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
						});
					}
					parameterListControl.updateList([ serviceTypeParameters ]);
				});

			} else {
				parameterListControl
						.updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
			}
		}
	};

    return {
	initializeComponent : function(componentId) {
	    _this.componentId = ComponentService.initialize(componentId);
	},
	getComponentDisplayName : ComponentService.getComponentDisplayName,
	getSummaryList : getSummaryList,
	getParameters : function(getParametersHandler) {
		_this.getParametersHandler = getParametersHandler;
		UtilityService.setHttpErrorHandler(_this.httpErrorHandler);
		UtilityService.startAsyncOperations(getAsyncOperationList(),
				internalGetParametersHandler);
	},
	updateUserParameterList : updateUserParameterList,
	getMsoRequestDetails : getMsoRequestDetails,
	getMsoUrl : getMsoUrl,
	isMacro : DataService.getMacro()
    }
}

appDS2.factory("DeletionService", [ "$log", "AaiService", "AsdcService",
	"DataService", "ComponentService", "COMPONENT", "FIELD",
	"UtilityService", DeletionService ]);