summaryrefslogtreecommitdiffstats
path: root/applications/guard/src/main
diff options
context:
space:
mode:
authorPamela Dragosh <pdragosh@research.att.com>2019-03-27 06:40:18 -0400
committerJoshua Reich <jreich@research.att.com>2019-04-01 15:35:43 -0700
commitd2daf7ef5d003b5c5ae6a7083ccf676cc87a1d7b (patch)
tree99d83d3772181df83ca48138ca3e86ef757cb443 /applications/guard/src/main
parentd3438454879ec3f3c31ca8af2fc5903b7f8697ae (diff)
Adding guard PIP
Adding the PIP support into the translator to setup the count attribute as an attribute generated by PIP and not sent by calling application. Added JUnit for OperationsHistoryPipEngine. Issue-ID: POLICY-1471 Change-Id: I71773ee8ea0e6c02873506d973a604899383d4b5 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'applications/guard/src/main')
-rw-r--r--applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/LegacyGuardPolicyRequest.java4
-rw-r--r--applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/LegacyGuardTranslator.java39
-rw-r--r--applications/guard/src/main/resources/META-INF/persistence.xml33
3 files changed, 51 insertions, 25 deletions
diff --git a/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/LegacyGuardPolicyRequest.java b/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/LegacyGuardPolicyRequest.java
index 0b5b5675..7346dded 100644
--- a/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/LegacyGuardPolicyRequest.java
+++ b/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/LegacyGuardPolicyRequest.java
@@ -138,8 +138,8 @@ public class LegacyGuardPolicyRequest {
if (guard.containsKey("clname")) {
request.clnameId = guard.get("clname").toString();
}
- if (guard.containsKey("targets")) {
- request.targetId = guard.get("targets").toString();
+ if (guard.containsKey("target")) {
+ request.targetId = guard.get("target").toString();
}
if (guard.containsKey("vfCount")) {
request.vfCount = Integer.decode(guard.get("vfCount").toString());
diff --git a/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/LegacyGuardTranslator.java b/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/LegacyGuardTranslator.java
index 81340b4d..48861d86 100644
--- a/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/LegacyGuardTranslator.java
+++ b/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/LegacyGuardTranslator.java
@@ -398,23 +398,16 @@ public class LegacyGuardTranslator implements ToscaPolicyTranslator {
// Now combine into an And
//
ApplyType applyAnd = new ApplyType();
- applyAnd.setDescription("return true if all the apply's are true.");
+ applyAnd.setDescription("return true if time range and count checks are true.");
applyAnd.setFunctionId(XACML3.ID_FUNCTION_AND.stringValue());
applyAnd.getExpression().add(new ObjectFactory().createApply(timeRange));
applyAnd.getExpression().add(new ObjectFactory().createApply(countCheck));
- //
- // And create an outer negation of the And
- //
- ApplyType applyNot = new ApplyType();
- applyNot.setDescription("Negate the and");
- applyNot.setFunctionId(XACML3.ID_FUNCTION_NOT.stringValue());
- applyNot.getExpression().add(new ObjectFactory().createApply(applyAnd));
//
// Create our condition
//
final ConditionType condition = new ConditionType();
- condition.setExpression(new ObjectFactory().createApply(applyNot));
+ condition.setExpression(new ObjectFactory().createApply(applyAnd));
//
// Now we can create our rule
@@ -617,8 +610,8 @@ public class LegacyGuardTranslator implements ToscaPolicyTranslator {
//
// Right now I am faking the count value by re-using the request-id field
//
- //String issuer = "org:onap:xacml:guard:historydb:tw:" + timeWindow + ":" + timeUnits;
- //designator.setIssuer(issuer);
+ String issuer = ToscaDictionary.GUARD_ISSUER + ":tw:" + timeWindow + ":" + timeUnits;
+ designator.setIssuer(issuer);
AttributeValueType valueLimit = new AttributeValueType();
valueLimit.setDataType(XACML3.ID_DATATYPE_INTEGER.stringValue());
@@ -636,13 +629,13 @@ public class LegacyGuardTranslator implements ToscaPolicyTranslator {
applyOneAndOnly.setFunctionId(XACML3.ID_FUNCTION_INTEGER_ONE_AND_ONLY.stringValue());
applyOneAndOnly.getExpression().add(factory.createAttributeDesignator(designator));
- ApplyType applyGreaterThanEqual = new ApplyType();
- applyGreaterThanEqual.setDescription("return true if current count is greater than or equal.");
- applyGreaterThanEqual.setFunctionId(XACML3.ID_FUNCTION_INTEGER_GREATER_THAN_OR_EQUAL.stringValue());
- applyGreaterThanEqual.getExpression().add(factory.createApply(applyOneAndOnly));
- applyGreaterThanEqual.getExpression().add(factory.createAttributeValue(valueLimit));
+ ApplyType applyLessThan = new ApplyType();
+ applyLessThan.setDescription("return true if current count is less than.");
+ applyLessThan.setFunctionId(XACML3.ID_FUNCTION_INTEGER_LESS_THAN.stringValue());
+ applyLessThan.getExpression().add(factory.createApply(applyOneAndOnly));
+ applyLessThan.getExpression().add(factory.createAttributeValue(valueLimit));
- return applyGreaterThanEqual;
+ return applyLessThan;
}
private static ApplyType generateMinCheck(Integer min) {
@@ -706,13 +699,13 @@ public class LegacyGuardTranslator implements ToscaPolicyTranslator {
applyOneAndOnly.setFunctionId(XACML3.ID_FUNCTION_INTEGER_ONE_AND_ONLY.stringValue());
applyOneAndOnly.getExpression().add(factory.createAttributeDesignator(designator));
- ApplyType applyGreaterThanEqual = new ApplyType();
- applyGreaterThanEqual.setDescription("return true if current count is less than or equal.");
- applyGreaterThanEqual.setFunctionId(XACML3.ID_FUNCTION_INTEGER_LESS_THAN_OR_EQUAL.stringValue());
- applyGreaterThanEqual.getExpression().add(factory.createApply(applyOneAndOnly));
- applyGreaterThanEqual.getExpression().add(factory.createAttributeValue(valueLimit));
+ ApplyType applyLessThanEqual = new ApplyType();
+ applyLessThanEqual.setDescription("return true if current count is less than or equal.");
+ applyLessThanEqual.setFunctionId(XACML3.ID_FUNCTION_INTEGER_LESS_THAN_OR_EQUAL.stringValue());
+ applyLessThanEqual.getExpression().add(factory.createApply(applyOneAndOnly));
+ applyLessThanEqual.getExpression().add(factory.createAttributeValue(valueLimit));
- return applyGreaterThanEqual;
+ return applyLessThanEqual;
}
private static AdviceExpressionsType generateRequestIdAdvice() {
diff --git a/applications/guard/src/main/resources/META-INF/persistence.xml b/applications/guard/src/main/resources/META-INF/persistence.xml
new file mode 100644
index 00000000..8d481a59
--- /dev/null
+++ b/applications/guard/src/main/resources/META-INF/persistence.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ ONAP
+ ================================================================================
+ Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_1_0.xsd" version="1.0">
+
+ <persistence-unit name="OperationsHistoryPU" transaction-type="RESOURCE_LOCAL">
+ <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+ <properties>
+ <property name="eclipselink.ddl-generation" value="create-tables" />
+ <property name="eclipselink.logging.level" value="INFO" />
+ </properties>
+ </persistence-unit>
+
+</persistence>
+ \ No newline at end of file