summaryrefslogtreecommitdiffstats
path: root/ONAP-PAP-REST
diff options
context:
space:
mode:
Diffstat (limited to 'ONAP-PAP-REST')
-rw-r--r--ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/DecisionPolicy.java16
-rw-r--r--ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDao.java48
-rw-r--r--ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/policycontroller/PolicyCreation.java12
-rw-r--r--ONAP-PAP-REST/src/main/resources/Decision_GuardBLPolicyTemplate.xml2
-rw-r--r--ONAP-PAP-REST/src/main/resources/Decision_GuardPolicyTemplate.xml2
5 files changed, 51 insertions, 29 deletions
diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/DecisionPolicy.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/DecisionPolicy.java
index 56c23ac2c..c8c540c34 100644
--- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/DecisionPolicy.java
+++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/DecisionPolicy.java
@@ -167,7 +167,9 @@ public class DecisionPolicy extends Policy {
if(policyAdapter.getRuleProvider().equals(GUARD_YAML) || policyAdapter.getRuleProvider().equals(GUARD_BL_YAML)){
Map<String, String> yamlParams = new HashMap<>();
- yamlParams.put(DESCRIPTION, (policyAdapter.getPolicyDescription()!=null)? policyAdapter.getPolicyDescription(): "YAML Guard Policy");
+ String blackListEntryType = policyAdapter.getBlackListEntryType() !=null ? policyAdapter.getBlackListEntryType(): "Use Manual Entry";
+ String description = policyAdapter.getPolicyDescription() != null? policyAdapter.getPolicyDescription(): "YAML Guard Policy";
+ yamlParams.put(DESCRIPTION, description + "@blEntry@" + blackListEntryType + "@blEntry@");
String fileName = policyAdapter.getNewFileName();
String name = fileName.substring(fileName.lastIndexOf('\\') + 1, fileName.length());
if ((name == null) || ("".equals(name))) {
@@ -295,6 +297,16 @@ public class DecisionPolicy extends Policy {
blackList.add(blackListString);
}
}
+ if(yamlParams.containsKey("appendBlackList")){
+ String appendBlackListString = yamlParams.get("appendBlackList");
+ List<String> appendBlackList = null;
+ if(appendBlackListString!=null && !appendBlackListString.trim().isEmpty()){
+ appendBlackList = Arrays.asList(appendBlackListString.split(","));
+ for(int i=0; i<appendBlackList.size();i++){
+ blackList.remove(appendBlackList.get(i));
+ }
+ }
+ }
File templateFile;
Path xacmlTemplatePath;
ClassLoader classLoader = getClass().getClassLoader();
@@ -781,7 +793,7 @@ public class DecisionPolicy extends Policy {
}
public String getFunctionDefinitionId(String key){
- FunctionDefinition object = (FunctionDefinition) commonClassDao.getDataById(FunctionDefinition.class, "short_name", key);
+ FunctionDefinition object = (FunctionDefinition) commonClassDao.getDataById(FunctionDefinition.class, "shortname", key);
if(object != null){
return object.getXacmlid();
}
diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDao.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDao.java
index 6b980b98d..1b786ed6a 100644
--- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDao.java
+++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDao.java
@@ -424,30 +424,6 @@ public class PolicyDBDao {
return true;
}
- private void notifyOthers(long entityId,String entityType){
- notifyOthers(entityId,entityType,null);
- }
-
- private void notifyOthers(long entityId, String entityType, String newGroupId){
- logger.debug("notifyOthers(long entityId, String entityType, long newGroupId) as notifyOthers("+entityId+","+entityType+","+newGroupId+") called");
- LinkedList<Thread> notifyThreads = new LinkedList<>();
-
- //we're going to run notifications in parallel threads to speed things up
- for(Object obj : otherServers){
- Thread newNotifyThread = new Thread(new NotifyOtherThread(obj, entityId, entityType, newGroupId));
- newNotifyThread.start();
- notifyThreads.add(newNotifyThread);
- }
- //we want to wait for all notifications to complete or timeout before we unlock the interface and allow more changes
- for(Thread t : notifyThreads){
- try {
- t.join();
- } catch (Exception e) {
- logger.warn("Could not join a notifcation thread" + e);
- }
- }
- }
-
private class NotifyOtherThread implements Runnable {
public NotifyOtherThread(Object obj, long entityId, String entityType, String newGroupId){
this.obj = obj;
@@ -2645,6 +2621,30 @@ public class PolicyDBDao {
this.pdpId = pdp.getPdpKey();
}
}
+
+ private void notifyOthers(long entityId,String entityType){
+ notifyOthers(entityId,entityType,null);
+ }
+
+ private void notifyOthers(long entityId, String entityType, String newGroupId){
+ logger.debug("notifyOthers(long entityId, String entityType, long newGroupId) as notifyOthers("+entityId+","+entityType+","+newGroupId+") called");
+ LinkedList<Thread> notifyThreads = new LinkedList<>();
+
+ //we're going to run notifications in parallel threads to speed things up
+ for(Object obj : otherServers){
+ Thread newNotifyThread = new Thread(new NotifyOtherThread(obj, entityId, entityType, newGroupId));
+ newNotifyThread.start();
+ notifyThreads.add(newNotifyThread);
+ }
+ //we want to wait for all notifications to complete or timeout before we unlock the interface and allow more changes
+ for(Thread t : notifyThreads){
+ try {
+ t.join();
+ } catch (Exception e) {
+ logger.warn("Could not join a notifcation thread" + e);
+ }
+ }
+ }
}
private PolicyDBDao(){
diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/policycontroller/PolicyCreation.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/policycontroller/PolicyCreation.java
index f7ef1a097..a6cda5e68 100644
--- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/policycontroller/PolicyCreation.java
+++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/policycontroller/PolicyCreation.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP-PAP-REST
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 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.
@@ -416,6 +416,16 @@ public class PolicyCreation extends AbstractPolicyCreation{
String blackList = StringUtils.join(policyData.getYamlparams().getBlackList(), ",");
attributeMap.put("blackList", blackList);
}
+ if(DecisionPolicy.GUARD_BL_YAML.equals(policyData.getRuleProvider()) && "Use File Upload".equals(policyData.getBlackListEntryType())){
+ if(policyData.getBlackListEntries() != null && !policyData.getBlackListEntries().isEmpty()){
+ String blackList = StringUtils.join(policyData.getBlackListEntries(), ",");
+ attributeMap.put("blackList", blackList);
+ }
+ if(policyData.getAppendBlackListEntries() != null && !policyData.getAppendBlackListEntries().isEmpty()){
+ String blackList = StringUtils.join(policyData.getAppendBlackListEntries(), ",");
+ attributeMap.put("appendBlackList", blackList);
+ }
+ }
if(policyData.getYamlparams().getTargets()!=null){
String targets = StringUtils.join(policyData.getYamlparams().getTargets(),",");
attributeMap.put("targets", targets);
diff --git a/ONAP-PAP-REST/src/main/resources/Decision_GuardBLPolicyTemplate.xml b/ONAP-PAP-REST/src/main/resources/Decision_GuardBLPolicyTemplate.xml
index 1ac292c3f..43d7a2349 100644
--- a/ONAP-PAP-REST/src/main/resources/Decision_GuardBLPolicyTemplate.xml
+++ b/ONAP-PAP-REST/src/main/resources/Decision_GuardBLPolicyTemplate.xml
@@ -122,7 +122,7 @@
<AdviceExpressions>
<AdviceExpression AdviceId="GUARD_BL_YAML" AppliesTo="Deny">
<AttributeAssignmentExpression AttributeId="guard.response" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource">
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Denied!</AttributeValue>
+ <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Denied By Blacklist</AttributeValue>
</AttributeAssignmentExpression>
</AdviceExpression>
</AdviceExpressions>
diff --git a/ONAP-PAP-REST/src/main/resources/Decision_GuardPolicyTemplate.xml b/ONAP-PAP-REST/src/main/resources/Decision_GuardPolicyTemplate.xml
index 15465f3c0..809dc99fb 100644
--- a/ONAP-PAP-REST/src/main/resources/Decision_GuardPolicyTemplate.xml
+++ b/ONAP-PAP-REST/src/main/resources/Decision_GuardPolicyTemplate.xml
@@ -118,7 +118,7 @@
<AdviceExpressions>
<AdviceExpression AdviceId="GUARD_YAML" AppliesTo="Deny">
<AttributeAssignmentExpression AttributeId="guard.response" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource">
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Denied!</AttributeValue>
+ <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Denied By Guard</AttributeValue>
</AttributeAssignmentExpression>
</AdviceExpression>
</AdviceExpressions>