summaryrefslogtreecommitdiffstats
path: root/usecaseui-lcm
diff options
context:
space:
mode:
Diffstat (limited to 'usecaseui-lcm')
-rw-r--r--usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js68
-rw-r--r--usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/lcmController.js22
-rw-r--r--usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/view-models/create-service-dialog.html40
3 files changed, 91 insertions, 39 deletions
diff --git a/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js b/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js
index 141c012f..908113a2 100644
--- a/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js
+++ b/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js
@@ -126,44 +126,78 @@
});
},
+ getAllSdnControllers: function (processFun) {
+ return $http({
+ url: url+'/sdnc-controllers/',
+ method: 'GET',
+ data: null,
+ headers: uuiHeaders
+ }).then(function(response){
+ var sdnControllers = response.data;
+ var result = sdnControllers.map(function (sdn) {
+ return {
+ name: sdn['thirdparty-sdnc-id'],
+ value: sdn['thirdparty-sdnc-id']
+ };
+ });
+ processFun(result);
+ });
+ },
+
createService: function (customer, serviceType, service, template) {
- function translateInputs(t, customer,serviceType, c) {
+ function translateInputs(t, customer,serviceType, c, isE2E) {
var reqParas = {
- subscriptionServiceType: serviceType.value
+ subscriptionServiceType: serviceType.id
};
+ var vfLocations = [];
c[t.name].parameters.forEach(function (parameter) {
- reqParas[parameter.name] = parameter.value;// todo
+ if(parameter.type === 'vf_location') {
+ var loc = {};
+ loc[parameter.name] = parameter.value.value;
+ vfLocations.push(loc);
+ } else if(parameter.type === 'sdn_controller') {
+ if(parameter.value === undefined || parameter.value === null) {
+ reqParas[parameter.name] = '';
+ } else {
+ reqParas[parameter.name] = parameter.value.value;
+ }
+ } else {
+ reqParas[parameter.name] = parameter.value;
+ }
});
+ if(t.type === 'VF') {
+ reqParas.vnfProfileId = vfLocations;
+ }
var nestedSegments = t.nestedTemplates.map(function (nestedTemplate) {
- return translateInputs(nestedTemplate,customer,serviceType, c);
+ return translateInputs(nestedTemplate,customer,serviceType, c, false);
});
- return {
- domainHost: c[t.name].location.value,// ???
- nodeTemplateName: t.name+':'+t.version,
- nodeType: 'service',
- 'GLOBALSUBSCIBERID': customer.id,
- 'SUBSCIBERNAME': customer.name,
- requestParameters: reqParas,
- segments: nestedSegments
- };
- }
+ var request = {};
+ if(isE2E) {
+ request.domainHost = 'localhost';
+ }
+ request.nodeTemplateName = t.name+':'+t.version;
+ request.nodeType = 'service';
+ request['GLOBALSUBSCIBERID'] = customer.id;
+ request['SUBSCIBERNAME'] = customer.name;
+ request.requestParameters = reqParas;
+ request.segments = nestedSegments;
+ return request;
+ }
var cache = {};
cache[template.name] = {
- location: service.location.value,
parameters: service.parameters
};
service.segments.forEach(function (segment) {
cache[segment.nodeTemplateName] = {
- location: segment.location.value,
parameters: segment.parameters
}
});
console.log('cache ----');
console.log(cache);
- var reqPara = translateInputs(template,customer, serviceType, cache);
+ var reqPara = translateInputs(template,customer, serviceType, cache, true);
var requestBody = {
service: {
name: service.serviceName,
diff --git a/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/lcmController.js b/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/lcmController.js
index 3f67584d..498f93e0 100644
--- a/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/lcmController.js
+++ b/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/lcmController.js
@@ -110,7 +110,7 @@ app.controller('lcmCtrl', ['$scope', '$uibModal', '$log', '$http', '$timeout', '
function($scope, $uibModalInstance, ServiceTemplateService, customer, serviceType) {
var ctrl = this;
- ctrl.templates = ServiceTemplateService.getAllServiceTemplates(function (t) {
+ ServiceTemplateService.getAllServiceTemplates(function (t) {
ctrl.templates = t;
});
@@ -118,6 +118,7 @@ app.controller('lcmCtrl', ['$scope', '$uibModal', '$log', '$http', '$timeout', '
var paras = serviceTemplate.inputs.map(function (input) {
return {
name: input.name,
+ type: input.type,
description: input.description,
defaultValue: input.defaultValue,
isRequired: input.isRequired,
@@ -129,6 +130,7 @@ app.controller('lcmCtrl', ['$scope', '$uibModal', '$log', '$http', '$timeout', '
var nestedParas = nestedTemplate.inputs.map(function (input) {
return {
name: input.name,
+ type: input.type,
description: input.description,
defaultValue: input.defaultValue,
isRequired: input.isRequired,
@@ -137,9 +139,6 @@ app.controller('lcmCtrl', ['$scope', '$uibModal', '$log', '$http', '$timeout', '
});
return {
nodeTemplateName: nestedTemplate.name,
- location: {
- name: nestedTemplate.name + " location",// ???
- },
parameters: nestedParas
};
});
@@ -147,14 +146,19 @@ app.controller('lcmCtrl', ['$scope', '$uibModal', '$log', '$http', '$timeout', '
var service = {
serviceName: ctrl.service.serviceName,
serviceDescription: ctrl.service.serviceDescription,
- location: {
- name: "local host" // ???
- },
parameters: paras,
segments: segmentsPara
};
ctrl.service = service;
};
+ ctrl.service = {
+ serviceName: '',
+ serviceDescription: '',
+ parameters: [],
+ segments: []
+ };
+ ctrl.sdnControllers = [];
+ ctrl.locations = [];
ctrl.serviceTemplateChanged = function (template) {
console.log('serviceTemplateChanged invoked... ' + template);
@@ -190,6 +194,10 @@ app.controller('lcmCtrl', ['$scope', '$uibModal', '$log', '$http', '$timeout', '
ServiceTemplateService.getAllVimInfo(function (vims) {
ctrl.locations = vims;
});
+
+ ServiceTemplateService.getAllSdnControllers(function (sdnControllers) {
+ ctrl.sdnControllers = sdnControllers;
+ });
}]
).controller('packageOnboardCtrl',['$scope', '$uibModalInstance', 'ServiceTemplateService','onboardPackage',
function($scope, $uibModalInstance, ServiceTemplateService, onboardPackage) {
diff --git a/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/view-models/create-service-dialog.html b/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/view-models/create-service-dialog.html
index 760a067f..295bcfd0 100644
--- a/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/view-models/create-service-dialog.html
+++ b/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/view-models/create-service-dialog.html
@@ -60,43 +60,53 @@
</uib-tab>
<uib-tab heading="Template Parameters">
<div id='templateParasTab' style="margin-top:20px;">
- <div ng-if="ctrl.service !== undefined" class="form-group" style="margin-left:0px;margin-bottom:5px;">
- <label class="col-sm-5 control-label">
- <span>{{ctrl.service.location.name}}</span><span class="required">*</span>
- </label>
- <div class="col-sm-5">
- <select class="form-control" style ="padding-top: 0px;padding-bottom: 0px;" ng-model="ctrl.service.location.value" ng-options="option.value for option in ctrl.locations">
- <option value="">--select--</option>
- </select>
- </div>
- </div>
<div ng-repeat="parameter in ctrl.service.parameters" class="mT15 form-group" style="margin-left:0px;">
<label class="col-sm-5 control-label">
<span>{{parameter.name}}</span><span ng-if="parameter.isRequired" class="required">*</span>
</label>
- <div class="col-sm-5">
+ <div ng-if="parameter.type === 'string' || parameter.type === 'boolean' || parameter.type === 'integer'" class="col-sm-5">
<input type="text" name="{{parameter.description}}" class="form-control" ng-model="parameter.value" placeholder="{{parameter.name}}" value="{{parameter.defaultValue}}" ng-readonly="{{parameter.readonly}}"/>
</div>
+ <div ng-if="parameter.type === 'vf_location'" class="col-sm-5">
+ <select class="form-control" style ="padding-top: 0px;padding-bottom: 0px;" ng-model="parameter.value" ng-options="option.value for option in ctrl.locations">
+ <option value="">--select--</option>
+ </select>
+ </div>
+ <div ng-if="parameter.type === 'sdn_controller'" class="col-sm-5">
+ <select class="form-control" style ="padding-top: 0px;padding-bottom: 0px;" ng-model="parameter.value" ng-options="option.value for option in ctrl.sdnControllers">
+ <option value="">--select--</option>
+ </select>
+ </div>
</div>
<fieldset ng-repeat="segment in ctrl.service.segments" style="margin-left:25px;">
<legend>{{segment.nodeTemplateName}}</legend>
- <div class="form-group" style="margin-left:0px;margin-bottom:5px;">
+ <!-- <div class="form-group" style="margin-left:0px;margin-bottom:5px;">
<label class="col-sm-5 control-label">
<span>{{segment.location.name}}</span><span class="required">*</span>
</label>
<div class="col-sm-5">
<select class="form-control" style ="padding-top: 0px;padding-bottom: 0px;" ng-model="segment.location.value" ng-options="option.value for option in ctrl.locations">
- <option value="">--select--</option>
+ <option value="">select</option>
</select>
</div>
- </div>
+ </div> -->
<div ng-repeat="segment_parameter in segment.parameters" class="mT15 form-group" style="margin-left:0px;">
<label class="col-sm-5 control-label">
<span>{{segment_parameter.name}}</span><span ng-if="segment_parameter.isRequired" class="required">*</span>
</label>
- <div class="col-sm-5">
+ <div ng-if="segment_parameter.type === 'string' || segment_parameter.type === 'boolean' || segment_parameter.type === 'integer'" class="col-sm-5">
<input type="text" name="{{segment_parameter.description}}" class="form-control" ng-model="segment_parameter.value" placeholder="{{segment_parameter.name}}" value="{{segment_parameter.defaultValue}}" ng-readonly="{{segment_parameter.readonly}}"/>
</div>
+ <div ng-if="segment_parameter.type === 'vf_location'" class="col-sm-5">
+ <select class="form-control" style ="padding-top: 0px;padding-bottom: 0px;" ng-model="segment_parameter.value" ng-options="option.value for option in ctrl.locations">
+ <option value="">--select--</option>
+ </select>
+ </div>
+ <div ng-if="segment_parameter.type === 'sdn_controller'" class="col-sm-5">
+ <select class="form-control" style ="padding-top: 0px;padding-bottom: 0px;" ng-model="segment_parameter.value" ng-options="option.value for option in ctrl.sdnControllers">
+ <option value="">--select--</option>
+ </select>
+ </div>
</div>
</fieldset>
</div>