diff options
-rw-r--r-- | openo-portal/portal-common/src/main/webapp/common/json/menu_list.json | 196 | ||||
-rw-r--r-- | openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js | 86 |
2 files changed, 177 insertions, 105 deletions
diff --git a/openo-portal/portal-common/src/main/webapp/common/json/menu_list.json b/openo-portal/portal-common/src/main/webapp/common/json/menu_list.json index 148b4bab..0f9cc3dd 100644 --- a/openo-portal/portal-common/src/main/webapp/common/json/menu_list.json +++ b/openo-portal/portal-common/src/main/webapp/common/json/menu_list.json @@ -1,102 +1,96 @@ -{ - "parentMenus":[ - { - "id":"openo_menu_service", - "url":"", - "iconClass":"fa fa-comments" - }, - { - "id":"openo_menu_resource_mgr", - "url":"", - "iconClass":"fa fa-folder-open-o" - }, - { - "id":"openo_menu_user", - "url":"", - "iconClass":"fa fa-puzzle-piece" - }, - { - "id":"openo_menu_orchestrator", - "url":"", - "iconClass":"fa fa-folder-open-o" - }, - { - "id":"openo_menu_manage_view", - "url":"", - "iconClass":"fa fa-coffee" - }, - { - "id":"openo_menu_performance", - "url":"", - "iconClass":"fa fa-bar-chart" - } - ], - "childMenus":[ - { - "parentId":"openo_menu_service", - "id":"openo_menu_service_service_management", - "url":"../lifecyclemgr/gsolcmmain.html", - "iconClass":"fa fa-comments" - }, - { - "parentId":"openo_menu_resource_mgr", - "id":"openo_menu_resource_mgr_sdno", - "url":"../resmgr-sdn/resource.html", - "iconClass":"fa fa-folder-open-o" - }, - { - "parentId":"openo_menu_resource_mgr", - "id":"openo_menu_resource_mgr_nfvo", - "url":"../resmgr-nfv/resource.html", - "iconClass":"fa fa-folder-open-o" - }, - { - "parentId":"openo_menu_user", - "id":"openo_menu_user_user_management", - "url":"../user/user.html", - "iconClass":"fa fa-puzzle-piece" - }, - { - "parentId":"openo_menu_orchestrator", - "id":"openo_menu_orchestrator_model_design", - "url":"/winery/servicetemplates.html", - "iconClass":"fa fa-folder-open-o" - }, - { - "parentId":"openo_menu_orchestrator", - "id":"openo_menu_orchestrator_package", - "url":"../catalog/csarPackage.html", - "iconClass":"fa fa-folder-open-o" - }, - { - "parentId":"openo_menu_orchestrator", - "id":"openo_menu_orchestrator_service_template", - "url":"../catalog/template.html", - "iconClass":"fa fa-list-alt" - }, - { - "parentId":"openo_menu_manage_view", - "id":"openo_menu_manage_view_vim_manage", - "url":"../extsys/vim/vimView.html", - "iconClass":"fa fa-coffee" - }, - { - "parentId":"openo_menu_manage_view", - "id":"openo_menu_manage_view_vnfm", - "url":"../extsys/vnfm/vnfmView.html", - "iconClass":"fa fa-coffee" - }, - { - "parentId":"openo_menu_performance", - "id":"openo_menu_performance_performance_query", - "url":"../performance/performance_view.html", - "iconClass":"fa fa-bar-chart" - }, - { - "parentId":"openo_menu_performance", - "id":"openo_menu_alarm_alarm_query", - "url":"../performance/alarm_view.html", - "iconClass":"fa fa-bell" - } - ] +{
+ "parentMenus":[
+ {
+ "id":"openo_menu_service",
+ "url":"",
+ "iconClass":"fa fa-comments"
+ },
+ {
+ "id":"openo_menu_resource_mgr",
+ "url":"",
+ "iconClass":"fa fa-folder-open-o"
+ },
+ {
+ "id":"openo_menu_user",
+ "url":"",
+ "iconClass":"fa fa-puzzle-piece"
+ },
+ {
+ "id":"openo_menu_orchestrator",
+ "url":"",
+ "iconClass":"fa fa-folder-open-o"
+ },
+ {
+ "id":"openo_menu_manage_view",
+ "url":"",
+ "iconClass":"fa fa-coffee"
+ },
+ {
+ "id":"openo_menu_performance",
+ "url":"",
+ "iconClass":"fa fa-bar-chart"
+ }
+ ],
+ "childMenus":[
+ {
+ "parentId":"openo_menu_service",
+ "id":"openo_menu_service_service_management",
+ "url":"../lifecyclemgr/gsolcmmain.html",
+ "iconClass":"fa fa-comments"
+ },
+ {
+ "parentId":"openo_menu_resource_mgr",
+ "id":"openo_menu_resource_mgr",
+ "url":"../resmgr-sdn/resource.html",
+ "iconClass":"fa fa-folder-open-o"
+ },
+ {
+ "parentId":"openo_menu_user",
+ "id":"openo_menu_user_user_management",
+ "url":"../user/user.html",
+ "iconClass":"fa fa-puzzle-piece"
+ },
+ {
+ "parentId":"openo_menu_orchestrator",
+ "id":"openo_menu_orchestrator_model_design",
+ "url":"/winery/servicetemplates.html",
+ "iconClass":"fa fa-folder-open-o"
+ },
+ {
+ "parentId":"openo_menu_orchestrator",
+ "id":"openo_menu_orchestrator_package",
+ "url":"../catalog/csarPackage.html",
+ "iconClass":"fa fa-folder-open-o"
+ },
+ {
+ "parentId":"openo_menu_orchestrator",
+ "id":"openo_menu_orchestrator_service_template",
+ "url":"../catalog/template.html",
+ "iconClass":"fa fa-list-alt"
+ },
+ {
+ "parentId":"openo_menu_manage_view",
+ "id":"openo_menu_manage_view_vim_manage",
+ "url":"../extsys/vim/vimView.html",
+ "iconClass":"fa fa-coffee"
+ },
+ {
+ "parentId":"openo_menu_manage_view",
+ "id":"openo_menu_manage_view_vnfm",
+ "url":"../extsys/vnfm/vnfmView.html",
+ "iconClass":"fa fa-coffee"
+ },
+ {
+ "parentId":"openo_menu_performance",
+ "id":"openo_menu_performance_performance_query",
+ "url":"../performance/performance_view.html",
+ "iconClass":"fa fa-bar-chart"
+ },
+ {
+ "parentId":"openo_menu_performance",
+ "id":"openo_menu_alarm_alarm_query",
+ "url":"../performance/alarm_view.html",
+ "iconClass":"fa fa-bell"
+ }
+ ]
}
\ No newline at end of file diff --git a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js index a9eba6f2..49b34e80 100644 --- a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js +++ b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js @@ -81,16 +81,94 @@ function initParameterTab() { function generateTemplateParametersComponent(templateId) { var defer = $.Deferred(); $.when( - fetchTemplateParameterDefinitions(templateId) + fetchTemplateParameterDefinitions(templateId), + fetchGsoNestingTemplateParameters(templateId) ).then( - function (templateParameterResponse) { - templateParameters = translateToTemplateParameters(templateParameterResponse.inputs); + function (templateParameterResponse, nestingTempatesParas) { + var inputParas = concat(templateParameterResponse[0].inputs, nestingTempatesParas); + templateParameters = translateToTemplateParameters(inputParas); defer.resolve(transformToComponents(templateParameters.parameters)); } ); return defer; } +function fetchGsoNestingTemplateParameters(templateId) { + var defer = $.Deferred(); + var nestingParams = []; + $.when( + fetchServiceTemplateBy(templateId) + ).then( + function(template) { + if(template.serviceType === 'GSO') { + return fetchNodeTemplates(templateId); + } + // There are no nesting template parameters for non GSO. + defer.reslove([]); + } + ).then( + function(nodeTemplates) { + var count = nodeTemplates.length; + if(count ===0) { + defer.resolve([]); + return; + } + var params = $.Deferred(); + params.progress(function(inputs) { + pushAll(nestingParams, inputs); + count--; + if(count === 0) { + defer.resolve(nestingParams); + } + }); + nodeTemplates.forEach(function(nodeTemplate) { + var nestingNodeUri = '/openoapi/catalog/v1/servicetemplate/nesting?nodeTypeIds=' + nodeTemplate.type; + $.when( + $.ajax({ + type: "GET", + url: nestingNodeUri + }) + ).then( + function(serviceTemplates) { + var oneNodeParameters = [] + serviceTemplates.forEach(function(serviceTemplate) { + pushAll(oneNodeParameters, serviceTemplate.inputs.map(function(input) { + input.name = nodeTemplate.type + '.' + input.name; + return input; + })); + }) + params.notify(oneNodeParameters); + } + ); + }); + } + ); + return defer; +} + +function fetchNodeTemplates(templateId) { + var nodeTemplateUri = '/openoapi/catalog/v1/servicetemplates/'+ templateId +'/nodetemplates'; + return $.ajax({ + type: "GET", + url: nodeTemplateUri + }); +} + +function concat(array1, array2) { + var result = []; + pushAll(result, array1); + pushAll(result, array2); + return result; +} + +function pushAll(acc, array) { + var result = acc; + array.forEach(function(element) { + result.push(element) + }) + return result; +} + function generateLocationComponent(templateId) { var defer = $.Deferred(); $.when( @@ -308,7 +386,7 @@ function createServiceInstance(gatewayService, nsUri, serviceInstance) { dataType: "json", data: JSON.stringify(sParameter) })).then(function(response) { - var nsInstanceId = response.nsInstanceId; + var nsInstanceId = response.serviceId; serviceInstance.serviceId = nsInstanceId; var initNsUrl = nsUri + '/' + nsInstanceId + '/Instantiate'; var parameter = { |