* limitations under the License.\r
*/\r
var templateParameters = {\r
- changed : true,\r
- // the create params used for ui\r
- paramJsonObj : {}\r
+ changed : true,\r
+ // the create params used for ui\r
+ paramJsonObj : {}\r
};\r
\r
var lcmHandler = function() {\r
- this._addOwnEvents();\r
- jQuery.i18n.properties({\r
- language : 'en-US',\r
- name : 'lcm-template-parameters-i18n',\r
- path : 'i18n/',\r
- mode : 'map'\r
- });\r
+ this._addOwnEvents();\r
+ jQuery.i18n.properties({\r
+ language : 'en-US',\r
+ name : 'lcm-template-parameters-i18n',\r
+ path : 'i18n/',\r
+ mode : 'map'\r
+ });\r
};\r
\r
lcmHandler.prototype = {\r
- _addOwnEvents : function() {\r
- $('#createNS').click(this.okAction);\r
- },\r
- okAction : function() {\r
- if (!checkInputs('create', templateParameters.paramJsonObj)) {\r
- return;\r
- }\r
- var sengMsgObj = collectCreateParamfromUI('', 'create', templateParameters.paramJsonObj);\r
- var gatewayService = '/openoapi/servicegateway/v1/services';\r
- $.when(createServiceInstance(sengMsgObj))\r
- .then(function(response) {\r
- if (response.status === 'finished') {\r
- $.when(queryService()).then(function(serviceInstance){ \r
- $('#sai').bootstrapTable("append", serviceInstance);\r
- });\r
- $('#vmAppDialog').removeClass('in').css('display','none');\r
- } else {\r
- showErrorMessage('Create service failed',response);\r
- }\r
- });\r
- }\r
+ _addOwnEvents : function() {\r
+ $('#createNS').click(this.okAction);\r
+ },\r
+ okAction : function() {\r
+ if (!checkInputs('create', templateParameters.paramJsonObj)) {\r
+ return;\r
+ }\r
+ var sengMsgObj = collectCreateParamfromUI('', 'create', templateParameters.paramJsonObj);\r
+ var gatewayService = '/openoapi/servicegateway/v1/services';\r
+ $.when(createServiceInstance(sengMsgObj))\r
+ .then(function(response) {\r
+ if (response.status === 'finished') {\r
+ $.when(queryService()).then(function(serviceInstance){ \r
+ $('#sai').bootstrapTable("append", serviceInstance);\r
+ });\r
+ $('#vmAppDialog').removeClass('in').css('display','none');\r
+ } else {\r
+ showErrorMessage('Create service failed',response);\r
+ }\r
+ });\r
+ }\r
};\r
\r
/**\r
* @returns\r
*/\r
function initParameterTab() {\r
- // Service template was not changed. Do not re-initiate the parameter tab.\r
- if (!templateParameters.changed) {\r
- return;\r
- }\r
- var templateId = $("#svcTempl").val();\r
- if ('select' === templateId) {\r
- document.getElementById("templateParameterTab").innerHTML = '';\r
- return;\r
- }\r
- $.when(fetchCreateParameters(templateId))\r
- .then(function(createParam) {\r
- // set the create param object\r
- templateParameters.paramJsonObj = createParam.parameters;\r
- // convert the create param to UI.\r
- var components = convertCreateParamsToUI('create', createParam.parameters);\r
- document.getElementById("templateParameterTab").innerHTML = components;\r
- templateParameters.changed = false;\r
- });\r
+ // Service template was not changed. Do not re-initiate the parameter tab.\r
+ if (!templateParameters.changed) {\r
+ return;\r
+ }\r
+ var templateId = $("#svcTempl").val();\r
+ if ('select' === templateId) {\r
+ document.getElementById("templateParameterTab").innerHTML = '';\r
+ return;\r
+ }\r
+ $.when(fetchCreateParameters(templateId))\r
+ .then(function(createParam) {\r
+ // set the create param object\r
+ templateParameters.paramJsonObj = createParam.parameters;\r
+ // convert the create param to UI.\r
+ var components = convertCreateParamsToUI('create', createParam.parameters);\r
+ document.getElementById("templateParameterTab").innerHTML = components;\r
+ templateParameters.changed = false;\r
+ });\r
}\r
\r
/**\r
* @returns\r
*/\r
function fetchCreateParameters(templateId) {\r
- //return $.getJSON("./conf/queryCreateParams.json");\r
- var uri = '/openoapi/servicegateway/v1/createparameters/' + templateId;\r
- return $.ajax({\r
- type : "GET",\r
- url : uri\r
- });\r
+ //return $.getJSON("./conf/queryCreateParams.json");\r
+ var uri = '/openoapi/servicegateway/v1/createparameters/' + templateId;\r
+ return $.ajax({\r
+ type : "GET",\r
+ url : uri\r
+ });\r
}\r
\r
/**\r
* @return the html component string\r
*/\r
function convertCreateParamsToUI(identify, createParam) {\r
- var components = '';\r
- // convert host to UI\r
- if (undefined != createParam.domainHost && 'enum' === createParam.domainHost.type) {\r
- components = components\r
- + generateParamComponent(createParam.nodeType, identify,\r
- createParam.domainHost, false);\r
- }\r
- // convert own param to UI\r
- createParam.additionalParamForNs\r
- .forEach(function(param) {\r
- components = components\r
- + generateParamComponent(createParam.nodeType,\r
- identify, param, false);\r
- });\r
- // convert segments to UI\r
- createParam.segments.forEach(function(segment) {\r
- // each segment in a field set.\r
- components = components + '<fieldset style="margin-left:25px;"><legend>'\r
- + segment.nodeTemplateName + '</legend>';\r
- // the identify for segment\r
- var segmentIdentify = '' == identify ? segment.nodeTemplateName\r
- : identify + '_' + segment.nodeTemplateName;\r
- // convert segment to UI\r
- components = components\r
- + convertCreateParamsToUI(segmentIdentify, segment);\r
- components = components + '</fieldset>';\r
- });\r
- return components;\r
+ var components = '';\r
+ // convert host to UI\r
+ if (undefined != createParam.domainHost && 'enum' === createParam.domainHost.type) {\r
+ components = components\r
+ + generateParamComponent(createParam.nodeType, identify,\r
+ createParam.domainHost, false);\r
+ }\r
+ // convert own param to UI\r
+ createParam.additionalParamForNs\r
+ .forEach(function(param) {\r
+ components = components\r
+ + generateParamComponent(createParam.nodeType,\r
+ identify, param, false);\r
+ });\r
+ // convert segments to UI\r
+ createParam.segments.forEach(function(segment) {\r
+ // each segment in a field set.\r
+ components = components + '<fieldset style="margin-left:25px;"><legend>'\r
+ + segment.nodeTemplateName + '</legend>';\r
+ // the identify for segment\r
+ var segmentIdentify = '' == identify ? segment.nodeTemplateName\r
+ : identify + '_' + segment.nodeTemplateName;\r
+ // convert segment to UI\r
+ components = components\r
+ + convertCreateParamsToUI(segmentIdentify, segment);\r
+ components = components + '</fieldset>';\r
+ });\r
+ return components;\r
}\r
\r
\r
* @returns the check result\r
*/\r
function checkInputs(identify, createParam) {\r
- //check domain host\r
- if (undefined != createParam.domainHost && 'enum' === createParam.domainHost.type) {\r
- var value = collectParamValue(identify, createParam.domainHost);\r
- if ('select' == value) {\r
- var name = getParamLabel(createParam.nodeType, createParam.domainHost);\r
- alert( name + ' is required.')\r
- return false;\r
- }\r
- }\r
- // check parameters\r
- for(var i= 0; i < createParam.additionalParamForNs.length; i++){ \r
- var param = createParam.additionalParamForNs[i];\r
- var value = collectParamValue(identify, param);\r
- if(param.required && ('' === value || ('enum' == param.type && 'select' == value))){\r
- // the param resource key is nodeType.paramName\r
- var name = getParamLabel(createParam.nodeType, param);\r
- alert(name + ' is required.')\r
- return false;\r
- }\r
- }\r
- // get segments param value from UI\r
- var segmentcheckResult = true;\r
- for(var i= 0; i < createParam.segments.length; i++){\r
- var segment = createParam.segments[i];\r
- // the identify for segment\r
- var segmentIdentify = '' == identify ? segment.nodeTemplateName\r
- : identify + '_' + segment.nodeTemplateName;\r
- segmentcheckResult = checkInputs(segmentIdentify, segment);\r
- if (!segmentcheckResult) {\r
- break;\r
- }\r
- }\r
+ //check domain host\r
+ if (undefined != createParam.domainHost && 'enum' === createParam.domainHost.type) {\r
+ var value = collectParamValue(identify, createParam.domainHost);\r
+ if ('select' == value) {\r
+ var name = getParamLabel(createParam.nodeType, createParam.domainHost);\r
+ alert( name + ' is required.')\r
+ return false;\r
+ }\r
+ }\r
+ // check parameters\r
+ for(var i= 0; i < createParam.additionalParamForNs.length; i++){ \r
+ var param = createParam.additionalParamForNs[i];\r
+ var value = collectParamValue(identify, param);\r
+ if(param.required && ('' === value || ('enum' == param.type && 'select' == value))){\r
+ // the param resource key is nodeType.paramName\r
+ var name = getParamLabel(createParam.nodeType, param);\r
+ alert(name + ' is required.')\r
+ return false;\r
+ }\r
+ }\r
+ // get segments param value from UI\r
+ var segmentcheckResult = true;\r
+ for(var i= 0; i < createParam.segments.length; i++){\r
+ var segment = createParam.segments[i];\r
+ // the identify for segment\r
+ var segmentIdentify = '' == identify ? segment.nodeTemplateName\r
+ : identify + '_' + segment.nodeTemplateName;\r
+ segmentcheckResult = checkInputs(segmentIdentify, segment);\r
+ if (!segmentcheckResult) {\r
+ break;\r
+ }\r
+ }\r
return segmentcheckResult;\r
}\r
\r
* @return the html component string\r
*/\r
function collectCreateParamfromUI(parentHost,identify, createParam) {\r
- // the create params used for create msg\r
- var paramSentObj = {\r
- domainHost:'',\r
- nodeTemplateName:'',\r
- nodeType:'',\r
- segments:[],\r
- additionalParamForNs:{}\r
- }; \r
- // get the domain value\r
- if (undefined != createParam.domainHost && 'enum' === createParam.domainHost.type) {\r
- var domain = collectParamValue(identify, createParam.domainHost);\r
- paramSentObj.domainHost = collectParamValue(identify, createParam.domainHost)\r
- }\r
- //if parent domainHost is not '' and local domain host is'', it should be setted as parent\r
- if('' != parentHost && '' == paramSentObj.domainHost){\r
- paramSentObj.domainHost = parentHost;\r
- }\r
- paramSentObj.nodeTemplateName = createParam.nodeTemplateName;\r
- paramSentObj.nodeType = createParam.nodeType;\r
+ // the create params used for create msg\r
+ var paramSentObj = {\r
+ domainHost:'',\r
+ nodeTemplateName:'',\r
+ nodeType:'',\r
+ segments:[],\r
+ additionalParamForNs:{}\r
+ }; \r
+ // get the domain value\r
+ if (undefined != createParam.domainHost && 'enum' === createParam.domainHost.type) {\r
+ var domain = collectParamValue(identify, createParam.domainHost);\r
+ paramSentObj.domainHost = collectParamValue(identify, createParam.domainHost)\r
+ }\r
+ //if parent domainHost is not '' and local domain host is'', it should be setted as parent\r
+ if('' != parentHost && '' == paramSentObj.domainHost){\r
+ paramSentObj.domainHost = parentHost;\r
+ }\r
+ paramSentObj.nodeTemplateName = createParam.nodeTemplateName;\r
+ paramSentObj.nodeType = createParam.nodeType;\r
\r
- // get own param value from UI\r
- createParam.additionalParamForNs.forEach(function(param) {\r
- paramSentObj.additionalParamForNs[param.name] = collectParamValue(identify, param);\r
- });\r
- // get segments param value from UI\r
- createParam.segments.forEach(function(segment) {\r
- // the identify for segment\r
- var segmentIdentify = '' == identify ? segment.nodeTemplateName\r
- : identify + '_' + segment.nodeTemplateName;\r
- var segmentObj = collectCreateParamfromUI(paramSentObj.domainHost, segmentIdentify, segment);\r
- paramSentObj.segments.push(segmentObj);\r
- });\r
- return paramSentObj;\r
+ // get own param value from UI\r
+ createParam.additionalParamForNs.forEach(function(param) {\r
+ paramSentObj.additionalParamForNs[param.name] = collectParamValue(identify, param);\r
+ });\r
+ // get segments param value from UI\r
+ createParam.segments.forEach(function(segment) {\r
+ // the identify for segment\r
+ var segmentIdentify = '' == identify ? segment.nodeTemplateName\r
+ : identify + '_' + segment.nodeTemplateName;\r
+ var segmentObj = collectCreateParamfromUI(paramSentObj.domainHost, segmentIdentify, segment);\r
+ paramSentObj.segments.push(segmentObj);\r
+ });\r
+ return paramSentObj;\r
}\r
\r
/**\r
* @returns the value of the param\r
*/\r
function collectParamValue(identify, param) {\r
- var value = $('#' + getParamId(identify, param)).val();\r
- return value;\r
+ var value = $('#' + getParamId(identify, param)).val();\r
+ return value;\r
}\r
\r
/**\r
* @returns\r
*/\r
function getParamId(identify, param) {\r
- return '' ===identify ? param.name : identify + '_' + param.name;\r
+ return '' ===identify ? param.name : identify + '_' + param.name;\r
}\r
\r
/**\r
* @returns resource string\r
*/\r
function getParamLabel(nodeType, param) {\r
- var name = $.i18n.prop(nodeType + '.' + param.name);\r
- if (name.length === 0 || name.slice(0, 1) === '[') {\r
- name = param.name;\r
- }\r
- return name;\r
+ var name = $.i18n.prop(nodeType + '.' + param.name);\r
+ if (name.length === 0 || name.slice(0, 1) === '[') {\r
+ name = param.name;\r
+ }\r
+ return name;\r
}\r
/**\r
* convert combox component\r
* @returns\r
*/\r
function generateParamComponent(nodeType, identify, param, strReadOnly) {\r
- // the param resource key is nodeType.paramName\r
- var name = getParamLabel(nodeType, param);\r
- var id = getParamId(identify,param);\r
- var component = '';\r
- if (param.type === 'string') {\r
- component = '<div class="mT15 form-group" style="margin-left:0px;">'\r
- + '<label class="col-sm-5 control-label">'\r
- + '<span>' + name + '</span>' + generateRequiredLabel(param)\r
- + '</label>' \r
- + '<div class="col-sm-5"><input type="text" id="' + id \r
- + '" name="parameter description" class="form-control" placeholder="'\r
- + name + '" value="' + param.defaultValue;\r
- if(strReadOnly){\r
- component = component + '" readonly="' + strReadOnly + '"/>'+ '</div></div>';\r
- }else{\r
- component = component + '"/>'+ '</div></div>';\r
- }\r
- \r
- } else if (param.type === 'enum') {\r
- component = '<div class="form-group" style="margin-left:0px;margin-bottom:5px;">'\r
- + '<label class="col-sm-5 control-label">'\r
- + '<span>' + name + '</span>'\r
- + '<span class="required">*</span>'\r
- + '</label>'\r
- + '<div class="col-sm-5">'\r
- + '<select class="form-control" style ="padding-top: 0px;padding-bottom: 0px;"'\r
- + ' id="' + id + '" name="' + param.name + '" value="' + param.defaultValue \r
- + '">'\r
- + this.transformToOptions(param.range)\r
- + '</select></div></div>';\r
- }\r
- return component;\r
+ // the param resource key is nodeType.paramName\r
+ var name = getParamLabel(nodeType, param);\r
+ var id = getParamId(identify,param);\r
+ var component = '';\r
+ if (param.type === 'string') {\r
+ component = '<div class="mT15 form-group" style="margin-left:0px;">'\r
+ + '<label class="col-sm-5 control-label">'\r
+ + '<span>' + name + '</span>' + generateRequiredLabel(param)\r
+ + '</label>' \r
+ + '<div class="col-sm-5"><input type="text" id="' + id \r
+ + '" name="parameter description" class="form-control" placeholder="'\r
+ + name + '" value="' + param.defaultValue;\r
+ if(strReadOnly){\r
+ component = component + '" readonly="' + strReadOnly + '"/>'+ '</div></div>';\r
+ }else{\r
+ component = component + '"/>'+ '</div></div>';\r
+ }\r
+ \r
+ } else if (param.type === 'enum') {\r
+ component = '<div class="form-group" style="margin-left:0px;margin-bottom:5px;">'\r
+ + '<label class="col-sm-5 control-label">'\r
+ + '<span>' + name + '</span>'\r
+ + '<span class="required">*</span>'\r
+ + '</label>'\r
+ + '<div class="col-sm-5">'\r
+ + '<select class="form-control" style ="padding-top: 0px;padding-bottom: 0px;"'\r
+ + ' id="' + id + '" name="' + param.name + '" value="' + param.defaultValue \r
+ + '">'\r
+ + this.transformToOptions(param.range)\r
+ + '</select></div></div>';\r
+ }\r
+ return component;\r
}\r
\r
/**\r
* @returns the html string\r
*/\r
function transformToOptions(items) {\r
- var options = '<option value="select">--select--</option>';\r
- var i;\r
- for ( var key in items) {\r
- var option = '<option value="' + key + '">' + items[key] + '</option>';\r
- options = options + option;\r
- }\r
- return options;\r
+ var options = '<option value="select">--select--</option>';\r
+ var i;\r
+ for ( var key in items) {\r
+ var option = '<option value="' + key + '">' + items[key] + '</option>';\r
+ options = options + option;\r
+ }\r
+ return options;\r
}\r
\r
/**\r
* @returns the html string \r
*/\r
function generateRequiredLabel(parameter) {\r
- var requiredLabel = '';\r
- if (parameter.required === 'true') {\r
- requiredLabel = '<span class="required">*</span>';\r
- }\r
- return requiredLabel;\r
+ var requiredLabel = '';\r
+ if (parameter.required === 'true') {\r
+ requiredLabel = '<span class="required">*</span>';\r
+ }\r
+ return requiredLabel;\r
}\r
\r
/**\r
* @returns \r
*/\r
function createServiceInstance(sengMsgObj) {\r
- var defer = $.Deferred();\r
- var parameter = {\r
- 'service' : {\r
- 'name' : $('#svcName').val(),\r
- 'description' : $('#svcDesc').val(),\r
- 'serviceDefId' : '', //no need now, reserved\r
- 'templateId' : $("#svcTempl").val(),\r
- 'parameters' : sengMsgObj\r
- }\r
- };\r
- var serviceGatewayUri = '/openoapi/servicegateway/v1/services';\r
- $.when($.ajax({\r
- type : "POST",\r
- url : serviceGatewayUri,\r
- contentType : "application/json",\r
- dataType : "json",\r
- data : JSON.stringify(parameter)\r
- }))\r
- .then(function(response) {\r
- return queryProgress('create service', response.service.serviceId,response.service.operationId);\r
- }).then(function(result){\r
- defer.resolve(result);\r
- });\r
- return defer;\r
+ var defer = $.Deferred();\r
+ var parameter = {\r
+ 'service' : {\r
+ 'name' : $('#svcName').val(),\r
+ 'description' : $('#svcDesc').val(),\r
+ 'serviceDefId' : '', //no need now, reserved\r
+ 'templateId' : $("#svcTempl").val(),\r
+ 'parameters' : sengMsgObj\r
+ }\r
+ };\r
+ var serviceGatewayUri = '/openoapi/servicegateway/v1/services';\r
+ $.when($.ajax({\r
+ type : "POST",\r
+ url : serviceGatewayUri,\r
+ contentType : "application/json",\r
+ dataType : "json",\r
+ data : JSON.stringify(parameter)\r
+ }))\r
+ .then(function(response) {\r
+ return queryProgress('create service', response.service.serviceId,response.service.operationId);\r
+ }).then(function(result){\r
+ defer.resolve(result);\r
+ });\r
+ return defer;\r
}\r
\r
/**\r
* @returns\r
*/\r
function deleteService(rowId, row) {\r
- var deleteHandle = function(result) {\r
- if (result) {\r
- var serviceId = row.serviceId;\r
- var remove = function() {\r
- $('#sai').bootstrapTable('remove', {\r
- field : 'serviceId',\r
- values : [ serviceId ]\r
- });\r
- };\r
- var failFun = function(responseDesc) {\r
- $.isLoading("hide");\r
- showErrorMessage("Delete service failed", responseDesc);\r
- }\r
- $.when(deleteServiceInstance(serviceId))\r
- .then(function(response) {\r
- if (response.status === 'finished') {\r
- remove();\r
- } else {\r
- showErrorMessage('Create service failed',response);\r
- }\r
- });\r
- ;\r
- }\r
- };\r
- bootbox.confirm("Do you confirm to delete service?", deleteHandle);\r
+ var deleteHandle = function(result) {\r
+ if (result) {\r
+ var serviceId = row.serviceId;\r
+ var remove = function() {\r
+ $('#sai').bootstrapTable('remove', {\r
+ field : 'serviceId',\r
+ values : [ serviceId ]\r
+ });\r
+ };\r
+ var failFun = function(responseDesc) {\r
+ $.isLoading("hide");\r
+ showErrorMessage("Delete service failed", responseDesc);\r
+ }\r
+ $.when(deleteServiceInstance(serviceId))\r
+ .then(function(response) {\r
+ if (response.status === 'finished') {\r
+ remove();\r
+ } else {\r
+ showErrorMessage('Create service failed',response);\r
+ }\r
+ });\r
+ ;\r
+ }\r
+ };\r
+ bootbox.confirm("Do you confirm to delete service?", deleteHandle);\r
}\r
\r
/**\r
* @returns\r
*/\r
function deleteServiceInstance(serviceId) {\r
- var defer = $.Deferred();\r
- var deleteUrl = '/openoapi/servicegateway/v1/services/' + serviceId;\r
- $.when($.ajax({\r
- type : "DELETE",\r
- url : deleteUrl,\r
- contentType : "application/json",\r
- dataType : "json",\r
- data : JSON.stringify(parameter)\r
- }))\r
- .then(function(response) {\r
- return queryProgress('delete service', serviceId,response.operationId);\r
- }).then(function(result){\r
- defer.resolve(result);\r
- });\r
- return defer;\r
+ var defer = $.Deferred();\r
+ var deleteUrl = '/openoapi/servicegateway/v1/services/' + serviceId;\r
+ $.when($.ajax({\r
+ type : "DELETE",\r
+ url : deleteUrl,\r
+ contentType : "application/json",\r
+ dataType : "json",\r
+ data : JSON.stringify(parameter)\r
+ }))\r
+ .then(function(response) {\r
+ return queryProgress('delete service', serviceId,response.operationId);\r
+ }).then(function(result){\r
+ defer.resolve(result);\r
+ });\r
+ return defer;\r
}\r
\r
/**\r
* @returns\r
*/\r
function queryProgress(operation, serviceId, operationId) {\r
- //show the progress dialog\r
- $( "#idProgressTitle" ).text(operation);\r
- $( "#progressContent" ).text('status:'); \r
- $( "#progressbar" ).attr("style","width: 0%");\r
- $( "#progressDialog" ).modal({backdrop:'static', keyboard:false}); \r
- //set a timer for query operation\r
- var defer = $.Deferred();\r
- var queryProgressUril = '/openoapi/servicegateway/v1/services/' + serviceId + '/operations/' + operationId;\r
- var timerDefer = $.Deferred();\r
- var timeout = 3600000;\r
- var fun = function() {\r
- if (timeout === 0) {\r
- timerDefer.resolve({\r
- status : 'error',\r
- reason : operation + ' timeout!',\r
- });\r
- return;\r
- }\r
- timeout = timeout - 1000;\r
- $.when($.ajax({\r
- type : "GET",\r
- url : gsoServiceUri\r
- }))\r
- .then(function(response) {\r
- //update progress\r
- $( "#progressbar" ).attr("style","width: " + response.operation.progress.toString() + "%");\r
- $( "#progressValue" ).text(response.operation.progress.toString() + '%');\r
- $( "#progressContent" ).text('status: ' + response.operation.operationContent); \r
- if (response.operation.result == 'finished' || response.operation.result == 'error') {\r
- timerDefer.resolve({\r
- status : response.operation.result ,\r
- reason : response.operation.reason\r
- });\r
- }\r
- });\r
- };\r
- var timerId = setInterval(fun, 1000);\r
- $.when(timerDefer)\r
- .then(function(responseDesc) {\r
- clearInterval(timerId);\r
- $('#progressDialog').modal('hide');\r
- defer.resolve({\r
- status : responseDesc.status,\r
- reason : responseDesc.reason,\r
- serviceId:serviceId\r
- });\r
+ //show the progress dialog\r
+ $( "#idProgressTitle" ).text(operation);\r
+ $( "#progressContent" ).text('status:'); \r
+ $( "#progressbar" ).attr("style","width: 0%");\r
+ $( "#progressDialog" ).modal({backdrop:'static', keyboard:false}); \r
+ //set a timer for query operation\r
+ var defer = $.Deferred();\r
+ var queryProgressUril = '/openoapi/servicegateway/v1/services/' + serviceId + '/operations/' + operationId;\r
+ var timerDefer = $.Deferred();\r
+ var timeout = 3600000;\r
+ var fun = function() {\r
+ if (timeout === 0) {\r
+ timerDefer.resolve({\r
+ status : 'error',\r
+ reason : operation + ' timeout!',\r
+ });\r
+ return;\r
+ }\r
+ timeout = timeout - 1000;\r
+ $.when($.ajax({\r
+ type : "GET",\r
+ url : gsoServiceUri\r
+ }))\r
+ .then(function(response) {\r
+ //update progress\r
+ $( "#progressbar" ).attr("style","width: " + response.operation.progress.toString() + "%");\r
+ $( "#progressValue" ).text(response.operation.progress.toString() + '%');\r
+ $( "#progressContent" ).text('status: ' + response.operation.operationContent); \r
+ if (response.operation.result == 'finished' || response.operation.result == 'error') {\r
+ timerDefer.resolve({\r
+ status : response.operation.result ,\r
+ reason : response.operation.reason\r
+ });\r
+ }\r
+ });\r
+ };\r
+ var timerId = setInterval(fun, 1000);\r
+ $.when(timerDefer)\r
+ .then(function(responseDesc) {\r
+ clearInterval(timerId);\r
+ $('#progressDialog').modal('hide');\r
+ defer.resolve({\r
+ status : responseDesc.status,\r
+ reason : responseDesc.reason,\r
+ serviceId:serviceId\r
+ });\r
\r
- });\r
- return defer; \r
+ });\r
+ return defer; \r
}\r
\r
\r
* @returns the check result\r
*/\r
function convertInputsToUI(parentHost, identify, serviceParam) {\r
- var components = '';\r
- // convert host to UI\r
- if (undefined != serviceParam.domainHost && '' != serviceParam.domainHost && parentHost != serviceParam.domainHost) {\r
- var param ={\r
- name:'domainHost',\r
- type:'string',\r
- defaultValue:getShowVal('domainHost', serviceParam.domainHost),\r
- required:false \r
- }\r
- components = components + generateParamComponent(serviceParam.nodeType, identify,\r
- param, true);\r
- }\r
- // convert own param to UI\r
- for(var key in serviceParam.additionalParamForNs ){\r
- var param ={\r
- name: key,\r
- type:'string',\r
- defaultValue:getShowVal(key, serviceParam.additionalParamForNs[key]),\r
- required:false \r
- }\r
- components = components + generateParamComponent(serviceParam.nodeType,\r
- identify, param, true);\r
- }\r
- // convert segments to UI\r
- serviceParam.segments.forEach(function(segment) {\r
- // each segment in a field set.\r
- components = components + '<div class="mT15 form-group"><fieldset style="margin-left:25px;"><legend>'\r
- + segment.nodeTemplateName + '</legend>';\r
- // the identify for segment\r
- var segmentIdentify = '' == identify ? segment.nodeTemplateName\r
- : identify + '_' + segment.nodeTemplateName;\r
- // convert segment to UI\r
- components = components\r
- + convertInputsToUI(serviceParam.domainHost, segmentIdentify, segment);\r
- components = components + '</fieldset></div>';\r
- });\r
- return components;\r
+ var components = '';\r
+ // convert host to UI\r
+ if (undefined != serviceParam.domainHost && '' != serviceParam.domainHost && parentHost != serviceParam.domainHost) {\r
+ var param ={\r
+ name:'domainHost',\r
+ type:'string',\r
+ defaultValue:getShowVal('domainHost', serviceParam.domainHost),\r
+ required:false \r
+ }\r
+ components = components + generateParamComponent(serviceParam.nodeType, identify,\r
+ param, true);\r
+ }\r
+ // convert own param to UI\r
+ for(var key in serviceParam.additionalParamForNs ){\r
+ var param ={\r
+ name: key,\r
+ type:'string',\r
+ defaultValue:getShowVal(key, serviceParam.additionalParamForNs[key]),\r
+ required:false \r
+ }\r
+ components = components + generateParamComponent(serviceParam.nodeType,\r
+ identify, param, true);\r
+ }\r
+ // convert segments to UI\r
+ serviceParam.segments.forEach(function(segment) {\r
+ // each segment in a field set.\r
+ components = components + '<div class="mT15 form-group"><fieldset style="margin-left:25px;"><legend>'\r
+ + segment.nodeTemplateName + '</legend>';\r
+ // the identify for segment\r
+ var segmentIdentify = '' == identify ? segment.nodeTemplateName\r
+ : identify + '_' + segment.nodeTemplateName;\r
+ // convert segment to UI\r
+ components = components\r
+ + convertInputsToUI(serviceParam.domainHost, segmentIdentify, segment);\r
+ components = components + '</fieldset></div>';\r
+ });\r
+ return components;\r
}\r
\r
function getShowVal(paramName, paramValue){\r
- if(paramName == 'domainHost'){\r
- return getHostNameByVal(paramValue);\r
- }\r
- else if(paramName == 'location'){\r
- return getVimNameById(paramValue);\r
- }\r
- else if(paramName == 'sdncontroller'){\r
- return getSdnControllerNameById(paramValue);\r
- }\r
- else{\r
- return paramValue;\r
- }\r
+ if(paramName == 'domainHost'){\r
+ return getHostNameByVal(paramValue);\r
+ }\r
+ else if(paramName == 'location'){\r
+ return getVimNameById(paramValue);\r
+ }\r
+ else if(paramName == 'sdncontroller'){\r
+ return getSdnControllerNameById(paramValue);\r
+ }\r
+ else{\r
+ return paramValue;\r
+ }\r
}\r
\r
function getHostNameByVal(hostDomain){\r
var requestUrl ="/openoapi/servicegateway/v1/domains";\r
- var returnObj = '';\r
- $.ajax({\r
- type : "GET",\r
- async: false,\r
- url : requestUrl,\r
- contentType : "application/json",\r
- success : function(jsonobj) {\r
- jsonobj.forEach(function(host){\r
- if(host.host == hostDomain){\r
- returnObj = host.name;\r
- }\r
- });\r
- },\r
- error : function(xhr, ajaxOptions, thrownError) {\r
- alert("Error on getting link data : " + xhr.responseText);\r
- }\r
- });\r
- return returnObj;\r
+ var returnObj = '';\r
+ $.ajax({\r
+ type : "GET",\r
+ async: false,\r
+ url : requestUrl,\r
+ contentType : "application/json",\r
+ success : function(jsonobj) {\r
+ jsonobj.forEach(function(host){\r
+ if(host.host == hostDomain){\r
+ returnObj = host.name;\r
+ }\r
+ });\r
+ },\r
+ error : function(xhr, ajaxOptions, thrownError) {\r
+ alert("Error on getting link data : " + xhr.responseText);\r
+ }\r
+ });\r
+ return returnObj;\r
}\r
\r
//get the vim name by id.\r
contentType : "application/json",\r
success : function(jsonobj) {\r
// TODO return according to the json data received.\r
- returnObj = jsonobj;\r
+ returnObj = jsonobj;\r
},\r
error : function(xhr, ajaxOptions, thrownError) {\r
alert("Error on getting link data : " + xhr.responseText);\r
contentType : "application/json",\r
success : function(jsonobj) {\r
// TODO return according to the json data received.\r
- returnObj = jsonobj;\r
+ returnObj = jsonobj;\r
},\r
error : function(xhr, ajaxOptions, thrownError) {\r
alert("Error on getting link data : " + xhr.responseText);\r
* @returns\r
*/\r
function showErrorMessage(title, result) {\r
- //show the error dialog\r
- $( "#errorDialogTitle" ).text(title);\r
- $( "#errorDialogReason" ).text(result.reason); \r
- $( "#errorDialog" ).modal({backdrop:'static', keyboard:false}); \r
+ //show the error dialog\r
+ $( "#errorDialogTitle" ).text(title);\r
+ $( "#errorDialogReason" ).text(result.reason); \r
+ $( "#errorDialog" ).modal({backdrop:'static', keyboard:false}); \r
}\r
\r
/**\r
* @returns\r
*/\r
function queryService(serviceId) {\r
- var uri = '/openoapi/servicegateway/v1/services/' + serviceId;\r
- return $.ajax({\r
- type : "GET",\r
- url : uri\r
- });\r
+ var uri = '/openoapi/servicegateway/v1/services/' + serviceId;\r
+ return $.ajax({\r
+ type : "GET",\r
+ url : uri\r
+ });\r
}\r