summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ONAP-REST/src/test/java/org/onap/policy/rest/util/MSModelUtilsTest.java87
-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.java10
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js12
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js2
-rw-r--r--POLICY-SDK-APP/src/test/java/org/onap/policy/controller/CreateOptimizationControllerTest.java8
-rw-r--r--POLICY-SDK-APP/src/test/resources/policy_tosca_tca-v1707.yml65
-rw-r--r--docs/platform/modAmsterTemplate.rst28
-rwxr-xr-xpackages/base/pom.xml4
-rw-r--r--packages/base/src/files/install/mysql/data/180601_upgrade_script.sql3
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]\"');
+