From b695d1743c34e4fb1087c8766b8c41eb3aae926e Mon Sep 17 00:00:00 2001 From: Jorge Hernandez Date: Mon, 4 Feb 2019 08:54:50 -0600 Subject: Report KieBase names in rules artifacts. The rule writer at design time can embed the domain base model(s) supported at design time. This information can be extracted at runtime to match a controller with the domain/model functionality that it can support. Change-Id: I7f7f1320d7d601d50949d0cd09bc48982c222333 Issue-ID: POLICY-1500 Signed-off-by: Jorge Hernandez --- .../org/onap/policy/drools/controller/DroolsController.java | 11 +++++++++-- .../drools/controller/internal/MavenDroolsController.java | 9 +++++++-- .../drools/controller/internal/NullDroolsController.java | 11 ++++++++--- 3 files changed, 24 insertions(+), 7 deletions(-) (limited to 'policy-management/src/main') diff --git a/policy-management/src/main/java/org/onap/policy/drools/controller/DroolsController.java b/policy-management/src/main/java/org/onap/policy/drools/controller/DroolsController.java index c582a1c0..1e7b8c79 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/controller/DroolsController.java +++ b/policy-management/src/main/java/org/onap/policy/drools/controller/DroolsController.java @@ -1,8 +1,8 @@ /* * ============LICENSE_START======================================================= - * policy-management + * ONAP * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-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. @@ -89,6 +89,13 @@ public interface DroolsController extends Startable, Lockable { */ public List getCanonicalSessionNames(); + /** + * get base domains. + * + * @return list of base domains. + */ + public List getBaseDomainNames(); + /** * offers an event to this controller for processing. * diff --git a/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java index c707c8fc..6e9f04ed 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java +++ b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java @@ -1,8 +1,8 @@ /* * ============LICENSE_START======================================================= - * policy-management + * ONAP * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-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. @@ -704,6 +704,11 @@ public class MavenDroolsController implements DroolsController { return getSessionNames(false); } + @Override + public List getBaseDomainNames() { + return new ArrayList<>(this.policyContainer.getKieContainer().getKieBaseNames()); + } + /** * provides the underlying core layer container sessions. * diff --git a/policy-management/src/main/java/org/onap/policy/drools/controller/internal/NullDroolsController.java b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/NullDroolsController.java index 2aaef916..45568678 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/controller/internal/NullDroolsController.java +++ b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/NullDroolsController.java @@ -1,8 +1,8 @@ /* * ============LICENSE_START======================================================= - * policy-management + * ONAP * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-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. @@ -21,10 +21,10 @@ package org.onap.policy.drools.controller.internal; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; - import org.onap.policy.common.endpoints.event.comm.TopicSink; import org.onap.policy.drools.controller.DroolsController; import org.onap.policy.drools.core.PolicyContainer; @@ -100,6 +100,11 @@ public class NullDroolsController implements DroolsController { return new ArrayList<>(); } + @Override + public List getBaseDomainNames() { + return Collections.emptyList(); + } + @Override public boolean offer(String topic, String event) { return false; -- cgit 1.2.3-korg