summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openo-portal/portal-common/src/main/webapp/common/json/menu_list.json196
-rw-r--r--openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js86
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 = {