aboutsummaryrefslogtreecommitdiffstats
path: root/policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/MavenDroolsController.java
diff options
context:
space:
mode:
Diffstat (limited to 'policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/MavenDroolsController.java')
-rw-r--r--policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/MavenDroolsController.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/MavenDroolsController.java b/policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/MavenDroolsController.java
index 62ad6843..4396a0ce 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/MavenDroolsController.java
+++ b/policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/MavenDroolsController.java
@@ -780,7 +780,7 @@ public class MavenDroolsController implements DroolsController {
* {@inheritDoc}
*/
@Override
- public List<Object> facts(String sessionName, String className) {
+ public List<Object> facts(String sessionName, String className, boolean delete) {
if (sessionName == null || sessionName.isEmpty())
throw new IllegalArgumentException("Invalid Session Name: " + sessionName);
@@ -801,6 +801,8 @@ public class MavenDroolsController implements DroolsController {
for (FactHandle factHandle : factHandles) {
try {
factObjects.add(kieSession.getObject(factHandle));
+ if (delete)
+ kieSession.delete(factHandle);
} catch (Exception e) {
if (logger.isInfoEnabled())
logger.info("Object cannot be retrieved from fact: " + factHandle);
@@ -814,7 +816,7 @@ public class MavenDroolsController implements DroolsController {
* {@inheritDoc}
*/
@Override
- public List<Object> factQuery(String sessionName, String queryName, String queriedEntity) {
+ public List<Object> factQuery(String sessionName, String queryName, String queriedEntity, boolean delete, Object... queryParams) {
if (sessionName == null || sessionName.isEmpty())
throw new IllegalArgumentException("Invalid Session Name: " + sessionName);
@@ -829,10 +831,12 @@ public class MavenDroolsController implements DroolsController {
List<Object> factObjects = new ArrayList<>();
- QueryResults queryResults = kieSession.getQueryResults(queryName);
+ QueryResults queryResults = kieSession.getQueryResults(queryName, queryParams);
for (QueryResultsRow row : queryResults) {
try {
factObjects.add(row.get(queriedEntity));
+ if (delete)
+ kieSession.delete(row.getFactHandle(queriedEntity));
} catch (Exception e) {
if (logger.isInfoEnabled())
logger.info("Object cannot be retrieved from fact: " + row);