diff options
-rw-r--r-- | ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java | 87 | ||||
-rw-r--r-- | ONAP-REST/src/test/resources/policy_tosca_tca-v1707.yml (renamed from POLICY-SDK-APP/src/test/resources/policy_tosca_tca_v1707.yml) | 0 | ||||
-rw-r--r-- | POLICY-SDK-APP/src/main/java/org/onap/policy/controller/CreateOptimizationController.java | 10 | ||||
-rw-r--r-- | POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js | 12 | ||||
-rw-r--r-- | POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js | 2 | ||||
-rw-r--r-- | POLICY-SDK-APP/src/test/java/org/onap/policy/controller/CreateOptimizationControllerTest.java | 8 | ||||
-rw-r--r-- | POLICY-SDK-APP/src/test/resources/policy_tosca_tca-v1707.yml | 65 | ||||
-rw-r--r-- | docs/platform/modAmsterTemplate.rst | 28 | ||||
-rwxr-xr-x | packages/base/pom.xml | 4 | ||||
-rw-r--r-- | packages/base/src/files/install/mysql/data/180601_upgrade_script.sql | 3 |
10 files changed, 188 insertions, 31 deletions
diff --git a/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java b/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java index 83a82f9cd..aa41429b9 100644 --- a/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java +++ b/ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java @@ -22,6 +22,7 @@ package org.onap.policy.rest.util; import static org.junit.Assert.*; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -30,10 +31,12 @@ import java.util.Map; import org.apache.commons.lang.StringUtils; import org.junit.Test; +import org.onap.policy.common.logging.flexlogger.FlexLogger; +import org.onap.policy.common.logging.flexlogger.Logger; import org.onap.policy.rest.util.MSModelUtils.MODEL_TYPE; public class MSModelUtilsTest { - + private static Logger logger = FlexLogger.getLogger(MSModelUtilsTest.class); @Test public void testMSModelUtils(){ HashMap<String, MSAttributeObject> classMap = new HashMap<>(); @@ -49,4 +52,84 @@ public class MSModelUtilsTest { String subAttribute = utils.createSubAttributes(dependency, classMap, "StandardDeviationThreshold"); assertTrue(subAttribute != null); } -} + + + /** + * Run the void stringBetweenDots(String, String) method test + */ + + @Test + public void testStringBetweenDots() { + + //expect: uniqueKeys should contain a string value + MSModelUtils controllerA = new MSModelUtils(); + String str = "testing\\.byCorrectWay\\.OfDATA"; + assertEquals(1, controllerA.stringBetweenDots(str)); + + //expect: uniqueKeys should not contain a string value + str = "testing\byWrongtWay.\\OfDATA"; + MSModelUtils controllerB = new MSModelUtils(); + assertEquals(0, controllerB.stringBetweenDots(str)); + } + + /** + * Run the Map<String,String> load(String) method test + */ + + @Test + public void testLoad() { + + boolean isLocalTesting = true; + MSModelUtils controller = new MSModelUtils(); + String fileName = null; + Map<String,String> result = null; + try { + ClassLoader classLoader = getClass().getClassLoader(); + fileName = new File(classLoader.getResource("policy_tosca_tca-v1707.yml").getFile()).getAbsolutePath(); + } catch (Exception e1) { + logger.error("Exception Occured while loading file"+e1); + } + if(isLocalTesting){ + try { + result = controller.load(fileName); + } catch (IOException e) { + logger.error("testLoad", e); + result = null; + } + + assertTrue(result != null && !result.isEmpty()); + logger.debug("result : " + result); + } + + logger.debug("testLoad: exit"); + } + + /** + * Run the void parseTosca(String) method test + */ + + @Test + public void testParseTosca() { + + logger.debug("testParseTosca: enter"); + boolean isLocalTesting = true; + String fileName = null; + try { + ClassLoader classLoader = getClass().getClassLoader(); + fileName = new File(classLoader.getResource("policy_tosca_tca-v1707.yml").getFile()).getAbsolutePath(); + } catch (Exception e1) { + logger.error("Exception Occured while loading file"+e1); + } + + MSModelUtils controller = new MSModelUtils(); + if(isLocalTesting){ + try { + controller.parseTosca(fileName); + }catch (Exception e) { + fail("parseTosca caused error: " + e); + } + } + logger.debug("testParseTosca: exit"); + } + +}
\ No newline at end of file diff --git a/POLICY-SDK-APP/src/test/resources/policy_tosca_tca_v1707.yml b/ONAP-REST/src/test/resources/policy_tosca_tca-v1707.yml index 0c30ceea0..0c30ceea0 100644 --- a/POLICY-SDK-APP/src/test/resources/policy_tosca_tca_v1707.yml +++ b/ONAP-REST/src/test/resources/policy_tosca_tca-v1707.yml diff --git a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/CreateOptimizationController.java b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/CreateOptimizationController.java index 4ae13443d..a45bfed57 100644 --- a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/CreateOptimizationController.java +++ b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/CreateOptimizationController.java @@ -97,10 +97,6 @@ public class CreateOptimizationController extends RestrictedBaseController { return commonClassDao; } - public static void setCommonClassDao(CommonClassDao commonClassDao) { - CreateOptimizationController.commonClassDao = commonClassDao; - } - private OptimizationModels newModel; private String newFile; private String directory; @@ -130,6 +126,10 @@ public class CreateOptimizationController extends RestrictedBaseController { @Autowired private CreateOptimizationController(CommonClassDao commonClassDao){ + setCommonClassDao(commonClassDao); + } + + public static void setCommonClassDao(CommonClassDao commonClassDao) { CreateOptimizationController.commonClassDao = commonClassDao; } @@ -595,7 +595,7 @@ public class CreateOptimizationController extends RestrictedBaseController { } @RequestMapping(value={"/oof_dictionary/set_ModelData"}, method={org.springframework.web.bind.annotation.RequestMethod.POST}) - public void SetModelData(HttpServletRequest request, HttpServletResponse response) throws IOException, FileUploadException{ + public void setModelData(HttpServletRequest request, HttpServletResponse response) throws IOException, FileUploadException{ modelList = new ArrayList<>(); dirDependencyList = new ArrayList<>(); classMap = new LinkedHashMap<>(); diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js index 79f8fddaa..1b4337033 100644 --- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js +++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js @@ -1115,11 +1115,13 @@ angular.module('abs').controller('dcaeMicroServiceController', ['$scope', '$wind var star = ""; var required = null; if(lablInfo){ - if(lablInfo.includes("required-true")){ - star = " *"; - required = true; - }else if (lablInfo.includes("required-false")){ - required = false + if(typeof lablInfo === 'string' ){ + if(lablInfo.includes("required-true")){ + star = " *"; + required = true; + }else if (lablInfo.includes("required-false")){ + required = false + } } } diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js index e499c9ff5..cbd011f2e 100644 --- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js +++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js @@ -73,7 +73,7 @@ angular.module('abs').controller('optimizationController', ['$scope', '$window', console.log("failed"); }); - PolicyAppService.getData('get_PriorityValues').then(function (data) { + PolicyAppService.getData('get_DCAEPriorityValues').then(function (data) { var j = data; $scope.data = JSON.parse(j.data); console.log($scope.data); diff --git a/POLICY-SDK-APP/src/test/java/org/onap/policy/controller/CreateOptimizationControllerTest.java b/POLICY-SDK-APP/src/test/java/org/onap/policy/controller/CreateOptimizationControllerTest.java index af573c616..35395a859 100644 --- a/POLICY-SDK-APP/src/test/java/org/onap/policy/controller/CreateOptimizationControllerTest.java +++ b/POLICY-SDK-APP/src/test/java/org/onap/policy/controller/CreateOptimizationControllerTest.java @@ -386,8 +386,10 @@ public class CreateOptimizationControllerTest { public void testSetModelData() { logger.debug("testSetModelData: enter"); - + + CreateOptimizationController controller = new CreateOptimizationController(); HttpServletRequest request = createMock(HttpServletRequest.class); + MockHttpServletResponse response = new MockHttpServletResponse(); expect(request.getContentType()).andReturn("multipart/form-data; boundary=----WebKitFormBoundaryWcRUaIbC8kXgjr3p"); expect(request.getMethod()).andReturn("post"); expect(request.getHeader("Content-length")).andReturn("7809"); @@ -407,12 +409,14 @@ public class CreateOptimizationControllerTest { expect(request.getCharacterEncoding()).andReturn("UTF-8"); expect(request.getContentLength()).andReturn(1024); replay(request); - + controller.setModelData(request, response); + } catch (Exception e) { logger.error("testSetModelData" + e); e.printStackTrace(); } + logger.debug("testSetModelData: exit"); } diff --git a/POLICY-SDK-APP/src/test/resources/policy_tosca_tca-v1707.yml b/POLICY-SDK-APP/src/test/resources/policy_tosca_tca-v1707.yml new file mode 100644 index 000000000..0c30ceea0 --- /dev/null +++ b/POLICY-SDK-APP/src/test/resources/policy_tosca_tca-v1707.yml @@ -0,0 +1,65 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 + +node_types: + # policy root node + policy.nodes.Root: + derived_from: tosca.nodes.Root + properties: + policyName: + type: string + required: true + policyVersion: + type: string + required: true + policyScope: + type: string + required: true + policyDescription: + type: string + required: false + + # virtual policy node for string matcher + policy.nodes.tca: + derived_from: policy.nodes.Root + properties: + functionalRole: + type: string + required: true + default: "ClosedLoop_F5-d925ed73-8231-4d02-9545-db4e101f88f8" + policyName: + type: string + required: true + default: "configuration.dcae.microservice.tca.xml" + policyVersion: + type: string + required: true + default: "v0.0.1" + threshholds: + type: list + entry_schema: + - type:policy.data.Threshold + +data_types: + policy.data.Threshold: + derived_from: tosca.nodes.Root + properties: + closedLoopControlName: + type: string + required: true + version: + type: string + required: true + default: "1.0.2" + fieldPath: + type: string + required: true + thresholdValue: + type: integer + required: true + direction: + type: string + required: true + severity: + type: string + required: true + diff --git a/docs/platform/modAmsterTemplate.rst b/docs/platform/modAmsterTemplate.rst index 67892ebb1..4456f2921 100644 --- a/docs/platform/modAmsterTemplate.rst +++ b/docs/platform/modAmsterTemplate.rst @@ -33,33 +33,33 @@ Installing the Archetype Project in Eclipse **STEP 5:** Add a Remote and/or a Local catalog -**STEP 5.1:** Add a Remote Catalog to find the ONAP staged drools-applications + **STEP 5.1:** Add a Remote Catalog to find the ONAP staged drools-applications -**STEP 5.1.1:** Click "Add Remote Catalog..." + **STEP 5.1.1:** Click "Add Remote Catalog..." - .. image:: mat_add_local_catalog.JPG + .. image:: mat_add_local_catalog.JPG -**STEP 5.1.2:** Add the ONAP Staging repository archetype-catalog.xml with a description if desired. Click "OK" then "Apply", then "OK". + **STEP 5.1.2:** Add the ONAP Staging repository archetype-catalog.xml with a description if desired. Click "OK" then "Apply", then "OK". - .. image:: mat_nexus_catalog.JPG + .. image:: mat_nexus_catalog.JPG -**STEP 5.1.3:** The ONAP staging archetypes are now an option: + **STEP 5.1.3:** The ONAP staging archetypes are now an option: - .. image:: mat_archetypes.JPG + .. image:: mat_archetypes.JPG -**STEP 5.2:** Add a Local Catalog to find a local drools-applications in your .m2 local repository + **STEP 5.2:** Add a Local Catalog to find a local drools-applications in your .m2 local repository -**STEP 5.2.1:** Click "Add Local Catalog..." + **STEP 5.2.1:** Click "Add Local Catalog..." - .. image:: mat_add_local_catalog.JPG + .. image:: mat_add_local_catalog.JPG -**STEP 5.2.2:** Browse to or type in the path to your .m2 repository, give it a name and click "OK" + **STEP 5.2.2:** Browse to or type in the path to your .m2 repository, give it a name and click "OK" - .. image:: mat_nexus_local_catalog.png + .. image:: mat_nexus_local_catalog.png -**STEP 5.2.3:** The new local repository appears on the catalog list, click "Apply and Close" + **STEP 5.2.3:** The new local repository appears on the catalog list, click "Apply and Close" - .. image:: mat_local_archetypes.png + .. image:: mat_local_archetypes.png **STEP 6:** If you wish to use a snapshot version of drools-applications, make sure to check the "Include snapshot archetypes" box. Highlight the option with the Artifact Id "archetype-cl-amsterdam" and click next. diff --git a/packages/base/pom.xml b/packages/base/pom.xml index 3b753b2ac..a08307daf 100755 --- a/packages/base/pom.xml +++ b/packages/base/pom.xml @@ -118,9 +118,9 @@ <artifactItem> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat</artifactId> - <version>8.0.23</version> + <version>8.0.50</version> <type>tar.gz</type> - <destFileName>apache-tomcat-8.0.23.tar.gz</destFileName> + <destFileName>apache-tomcat-8.0.50.tar.gz</destFileName> </artifactItem> </artifactItems> </configuration> diff --git a/packages/base/src/files/install/mysql/data/180601_upgrade_script.sql b/packages/base/src/files/install/mysql/data/180601_upgrade_script.sql index 070feeefc..1b1fb76a3 100644 --- a/packages/base/src/files/install/mysql/data/180601_upgrade_script.sql +++ b/packages/base/src/files/install/mysql/data/180601_upgrade_script.sql @@ -51,3 +51,6 @@ CREATE TABLE `onap_sdk`.`MicroServiceHeaderDefaults` ( ALTER TABLE `onap_sdk`.`microservicemodels` ADD COLUMN `dataOrderInfo` VARCHAR(2000) NULL DEFAULT 'Null' AFTER `enumValues`; + +INSERT INTO `onap_sdk`.`optimizationmodels` (`modelname`, `description`, `dependency`, `imported_by`, `attributes`, `ref_attributes`, `sub_attributes`, `version`, `annotation`, `enumValues`, `dataOrderInfo`) VALUES ('hpaPolicy', 'CSIT Tests Model', '[]', 'demo', 'identity=string:defaultValue-null:required-true:MANY-false,resources=string:defaultValue-null:required-true:MANY-false', 'policyScope=MANY-true,policyType=POLICYTYPE:MANY-false,flavorFeatures=flavorFeatures-properties:MANY-true', '{\"flavorProperties-properties\":{\"score\":\"string:defaultValue-null:required-true:MANY-false\",\"featureAttributes\":\"featureAttributes-properties:required-false:MANY-true\",\"mandatory\":\"string:defaultValue-null:required-true:MANY-false\",\"hpaFeature\":\"string:defaultValue-null:required-true:MANY-false\",\"architecture\":\"string:defaultValue-null:required-true:MANY-false\"},\"flavorFeatures-properties\":{\"flavorProperties\":\"flavorProperties-properties:required-false:MANY-true\",\"flavorLabel\":\"string:defaultValue-null:required-true:MANY-false\"},\"featureAttributes-properties\":{\"unit\":\"string:defaultValue-null:required-true:MANY-false\",\"attribute\":\"string:defaultValue-null:required-true:MANY-false\",\"value\":\"string:defaultValue-null:required-true:MANY-false\",\"operator\":\"OPERATOR:required-true:MANY-false\"}}\n', 'CSIT', 'policyScope=matching-true', 'OPERATOR=[<,<equal-sign,>,>equal-sign,equal-sign,!equal-sign,any,all,subset,], POLICYTYPE=[hpaPolicy,]', '\"[resources,identity,policyScope,policyType,flavorFeatures,flavorLabel,flavorProperties,architecture,hpaFeature,mandatory,score,featureAttributes,attribute,operator,unit,value]\"'); + |