From: Ittay Stern Date: Mon, 25 Feb 2019 13:31:33 +0000 (+0000) Subject: Merge "Upgrade c3p0 to 0.9.5.3" X-Git-Tag: 4.0.0~74 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=4e00dd2c4f513709e0cda7400e97a82a916dc6c9;hp=2687d319c9eec09d0069cb3428ef1d2612a56841;p=vid.git Merge "Upgrade c3p0 to 0.9.5.3" --- diff --git a/deliveries/src/main/docker/docker-files/docker-compose.yml b/deliveries/src/main/docker/docker-files/docker-compose.yml index e4bab263b..8d321cfb5 100755 --- a/deliveries/src/main/docker/docker-files/docker-compose.yml +++ b/deliveries/src/main/docker/docker-files/docker-compose.yml @@ -1,37 +1,37 @@ -version: '3.2' - -# Please note this configuration is provided for local development. Do not use it on production. - -services: - vid-server: - image: onap/vid:latest - ports: - - "8080:8080" - environment: - VID_MYSQL_DBNAME: vid_openecomp_epsdk - VID_MYSQL_PASS: YOUR_PASSWORD - VID_MYSQL_HOST: vid-mariadb - ASDC_CLIENT_REST_PROTOCOL: http - ASDC_CLIENT_REST_HOST: vid-simulator - ASDC_CLIENT_REST_PORT: 1080 - VID_AAI_URL: http://vid-simulator:1080 - VID_MSO_SERVER_URL: http://vid-simulator:1080 - - vid-mariadb: - image: mariadb:10 - ports: - - "3306:3306" - volumes: - - ../../../../../lf_config/vid-my.cnf:/etc/mysql/my.cnf - - /var/lib/mysql - environment: - MYSQL_DATABASE: vid_openecomp_epsdk - MYSQL_USER: vidadmin - MYSQL_PASSWORD: YOUR_PASSWORD - MYSQL_ROOT_PASSWORD: ROOT_PASSWORD - - vid-simulator: - image: onap/vid-simulator:latest - ports: - - "9080:8080" - - "1080:1080" +version: '3.2' + +# Please note this configuration is provided for local development. Do not use it on production. + +services: + vid-server: + image: onap/vid:latest + ports: + - "8080:8080" + environment: + VID_MYSQL_DBNAME: vid_openecomp_epsdk + VID_MYSQL_PASS: YOUR_PASSWORD + VID_MYSQL_HOST: vid-mariadb + ASDC_CLIENT_REST_PROTOCOL: http + ASDC_CLIENT_REST_HOST: vid-simulator + ASDC_CLIENT_REST_PORT: 1080 + VID_AAI_URL: http://vid-simulator:1080 + VID_MSO_SERVER_URL: http://vid-simulator:1080 + + vid-mariadb: + image: mariadb:10 + ports: + - "3306:3306" + volumes: + - ../../../../../lf_config/vid-my.cnf:/etc/mysql/my.cnf + - /var/lib/mysql + environment: + MYSQL_DATABASE: vid_openecomp_epsdk + MYSQL_USER: vidadmin + MYSQL_PASSWORD: YOUR_PASSWORD + MYSQL_ROOT_PASSWORD: ROOT_PASSWORD + + vid-simulator: + image: onap/vid-simulator:latest + ports: + - "9080:8080" + - "1080:1080" diff --git a/vid-app-common/src/main/java/org/onap/vid/controller/WebConfig.java b/vid-app-common/src/main/java/org/onap/vid/controller/WebConfig.java index 8fe7c1fa1..2456ebd0f 100644 --- a/vid-app-common/src/main/java/org/onap/vid/controller/WebConfig.java +++ b/vid-app-common/src/main/java/org/onap/vid/controller/WebConfig.java @@ -22,6 +22,7 @@ package org.onap.vid.controller; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.module.kotlin.KotlinModule; import io.joshworks.restclient.http.mapper.ObjectMapper; import org.onap.vid.aai.*; import org.onap.vid.aai.model.PortDetailsTranslator; @@ -55,7 +56,7 @@ public class WebConfig { */ @Bean public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper() { - return new com.fasterxml.jackson.databind.ObjectMapper(); + return new com.fasterxml.jackson.databind.ObjectMapper().registerModule(new KotlinModule()); } diff --git a/vid-app-common/src/main/java/org/onap/vid/model/SOWorkflows.kt b/vid-app-common/src/main/java/org/onap/vid/model/SOWorkflows.kt index 25125cea6..82c720eed 100644 --- a/vid-app-common/src/main/java/org/onap/vid/model/SOWorkflows.kt +++ b/vid-app-common/src/main/java/org/onap/vid/model/SOWorkflows.kt @@ -1,21 +1,26 @@ package org.onap.vid.model -data class SOWorkflow @JvmOverloads constructor(var id: Long? = null, var name: String? = null) { +data class SOWorkflow constructor(val id: Long, val name: String) { fun clone(): SOWorkflow { return copy() } } -data class SOWorkflows @JvmOverloads constructor(var workflows: List? = emptyList()) { +data class SOWorkflows @JvmOverloads constructor(val workflows: List = emptyList()) { fun clone(): SOWorkflows { - return copy(workflows?.toMutableList()) + return copy(workflows.toMutableList()) } } - -enum class SOWorkflowType(var type: String? = "STRING") { +enum class SOWorkflowType(val type: String) { STRING("STRING") } -data class SOWorkflowParameterDefinition(var id: Long? = null, var name: String? = null, var pattern: String? = null, var type: SOWorkflowType? = null, val required: Boolean? = null) -data class SOWorkflowParameterDefinitions(var parameterDefinitions: List? = null) \ No newline at end of file +data class SOWorkflowParameterDefinition constructor(val id: Long, val name: String, val pattern: String, + val type: SOWorkflowType, val required: Boolean) + +data class SOWorkflowParameterDefinitions constructor(val parameterDefinitions: List = emptyList()) { + fun clone(): SOWorkflowParameterDefinitions { + return copy(parameterDefinitions.toMutableList()) + } +} \ No newline at end of file diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js b/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js index 8ee2d062c..dff51ee2b 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js @@ -116,6 +116,7 @@ appDS2 CHANGE_MANAGEMENT_OPERATION_NO_SCHEDULER: "change-management/workflow/@vnfName", GET_WORKFLOW: "change-management/get_vnf_workflow_relation", GET_SO_WORKFLOWS: "workflows-management/workflows", + GET_SO_WORKFLOW_PARAMETER: "workflows-management/workflow-parameters/@workflowID", GET_MSO_WORKFLOWS: "change-management/mso", GET_SCHEDULER_CHANGE_MANAGEMENTS: "change-management/scheduler", CANCEL_SCHEDULE_REQUEST: "change-management/scheduler/schedules", diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.controller.js b/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.controller.js index 11f5cd6e5..c85f0fc55 100644 --- a/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.controller.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.controller.js @@ -43,6 +43,7 @@ var init = function () { vm.changeManagement = {}; + vm.changeManagement.workflowParameters = new Map(); loadServicesCatalog(); fetchAttUid().then(registerVNFNamesWatcher); @@ -619,11 +620,13 @@ vm.loadWorkFlows = function () { // Should be corrected when VID-397 will be closed. At the moment there is a need // to merge local and remote workflows not to broke current functionality. - return vm.loadLocalWorkFlows() - .then(vm.loadRemoteWorkFlows) - .then(function () { - vm.workflows = vm.localWorkflows.concat(vm.remoteWorkflows.map(item => item.name)); - }); + return vm.loadLocalWorkFlows() + .then(vm.loadRemoteWorkFlows) + .then(function () { + vm.workflows = vm.localWorkflows.concat(vm.remoteWorkflows.map(item => item.name)); + }).then(function () { + vm.loadRemoteWorkFlowsParameters(); + }); }; vm.loadLocalWorkFlows = function () { @@ -645,6 +648,30 @@ }); }; + vm.loadRemoteWorkFlowsParameters = function () { + vm.remoteWorkflowsParameters = new Map(); + vm.remoteWorkflows.forEach(function(workflow) { + vm.loadRemoteWorkFlowParameters(workflow); + }); + }; + + vm.loadRemoteWorkFlowParameters = function (workflow) { + changeManagementService.getSOWorkflowParameter(workflow.id) + .then(function (response) { + vm.remoteWorkflowsParameters.set(workflow.name, response.data.parameterDefinitions); + }) + .catch(function (error) { + $log.error(error); + }); + }; + + vm.getRemoteWorkFlowParameters = function (workflow) { + if (workflow && vm.remoteWorkflowsParameters.has(workflow)) { + return vm.remoteWorkflowsParameters.get(workflow) + } + return []; + }; + //Must be $scope because we bind to the onchange of the html (cannot attached to vm variable). $scope.selectFileForVNFName = function (fileInput) { if (fileInput && fileInput.id) { @@ -669,11 +696,11 @@ vm.isConfigUpdate = function () { return vm.changeManagement.workflow === COMPONENT.WORKFLOWS.vnfConfigUpdate; - } + }; vm.isScaleOut = function () { return vm.changeManagement.workflow === COMPONENT.WORKFLOWS.vnfScaleOut; - } + }; vm.shouldShowVnfInPlaceFields = function () { return vm.changeManagement.workflow === COMPONENT.WORKFLOWS.vnfInPlace; diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.controller.test.js b/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.controller.test.js index c4b940641..7f21ddaf5 100644 --- a/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.controller.test.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.controller.test.js @@ -50,7 +50,7 @@ describe('Testing workFlows from SO', () => { // when return $controller.loadRemoteWorkFlows() .then(() => { - remoteWorkflows = $controller.remoteWorkflows.map(item => item.name) + remoteWorkflows = $controller.remoteWorkflows.map(item => item.name); expect(remoteWorkflows).toContain('workflow 1'); expect(remoteWorkflows).toContain('workflow 2'); } @@ -61,10 +61,12 @@ describe('Testing workFlows from SO', () => { // given let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["workflow 0"]}}); let getSOWorkflowsPromiseStub = Promise.resolve({"data": [{"id": "1", "name": "workflow 1"}, {"id": "2", "name": "workflow 2"}]}); + let getSOWorkflowsParametersPromiseStub = Promise.resolve({"data":{"parameterDefinitions": []}}); $controller.changeManagement.vnfNames = [{name: 'test1'}, {name: "test2"}]; $changeManagementService.getWorkflows = () => getWorkflowsStub; $changeManagementService.getSOWorkflows = () => getSOWorkflowsPromiseStub; + $changeManagementService.getSOWorkflowParameter = () => getSOWorkflowsParametersPromiseStub; // when return $controller.loadWorkFlows().then(() => { expect($controller.workflows).toContain('workflow 0'); @@ -73,6 +75,29 @@ describe('Testing workFlows from SO', () => { }); }); + test('Verify load workflows will call load workflows parameters from SO', () => { + // given + let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["workflow 0"]}}); + let getSOWorkflowsPromiseStub = Promise.resolve({"data": [{"id": "1", "name": "workflow 0"}]}); + let getSOWorkflowsParametersPromiseStub = Promise.resolve({"data":{"parameterDefinitions": [ + {"id": 1, "name": "parameter 1", "required": true, "type": "STRING", "pattern": "[0-9]*"}, + {"id": 2, "name": "parameter 2", "required": true, "type": "STRING", "pattern": ".*"}, + {"id": 3, "name": "parameter 3", "required": false, "type": "STRING", "pattern": "[0-9]*"}]}}); + + $controller.changeManagement.vnfNames = [{name: 'test1'}, {name: "test2"}]; + $changeManagementService.getWorkflows = () => getWorkflowsStub; + $changeManagementService.getSOWorkflows = () => getSOWorkflowsPromiseStub; + $changeManagementService.getSOWorkflowParameter = () => getSOWorkflowsParametersPromiseStub; + // when + return $controller.loadWorkFlows() + .then(() => { + expect($controller.remoteWorkflowsParameters).toEqual(new Map([["workflow 0", + [{"id": 1, "name": "parameter 1", "pattern": "[0-9]*", "required": true, "type": "STRING"}, + {"id": 2, "name": "parameter 2", "pattern": ".*", "required": true, "type": "STRING"}, + {"id": 3, "name": "parameter 3", "pattern": "[0-9]*", "required": false, "type": "STRING"}]]])); + }); + }); + test('Verify broken SO workflows wont change content of local workflows', () => { // given let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["workflow 0"]}}); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.html b/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.html index 21f9c5d3f..f83a267dc 100644 --- a/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.html +++ b/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.html @@ -86,7 +86,10 @@ - + +
+ +
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/services/change-management.service.js b/vid-app-common/src/main/webapp/app/vid/scripts/services/change-management.service.js index 699868477..38b85f973 100644 --- a/vid-app-common/src/main/webapp/app/vid/scripts/services/change-management.service.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/services/change-management.service.js @@ -30,6 +30,13 @@ }); }; + this.getSOWorkflowParameter = function (workflowID){ + return $http.get(COMPONENT.GET_SO_WORKFLOW_PARAMETER.replace('@workflowID', workflowID)) + .success(function (response) { + return {data: response.parameterDefinitions} + }); + }; + this.getMSOChangeManagements = function() { var deferred = $q.defer();