aboutsummaryrefslogtreecommitdiffstats
path: root/policy-management/src/main/java/org/onap/policy/drools/controller/DroolsController.java
diff options
context:
space:
mode:
Diffstat (limited to 'policy-management/src/main/java/org/onap/policy/drools/controller/DroolsController.java')
-rw-r--r--policy-management/src/main/java/org/onap/policy/drools/controller/DroolsController.java371
1 files changed, 186 insertions, 185 deletions
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 bdb95e77..7f68930e 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
@@ -23,194 +23,195 @@ package org.onap.policy.drools.controller;
import java.util.List;
import java.util.Map;
+import org.onap.policy.common.capabilities.Lockable;
+import org.onap.policy.common.capabilities.Startable;
+import org.onap.policy.common.endpoints.event.comm.TopicSink;
import org.onap.policy.drools.core.PolicyContainer;
-import org.onap.policy.drools.event.comm.TopicSink;
-import org.onap.policy.drools.properties.Lockable;
-import org.onap.policy.drools.properties.Startable;
import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration;
/**
- * Drools Controller is the abstractions that wraps the
- * drools layer (policy-core)
+ * Drools Controller is the abstractions that wraps the drools layer (policy-core)
*/
-public interface DroolsController extends Startable, Lockable {
-
- /**
- * No Group ID identifier
- */
- public static final String NO_GROUP_ID = "NO-GROUP-ID";
-
- /**
- * No Artifact ID identifier
- */
- public static final String NO_ARTIFACT_ID = "NO-ARTIFACT-ID";
-
- /**
- * No version identifier
- */
- public static final String NO_VERSION = "NO-VERSION";
-
- /**
- * Factory to track and manage drools controllers
- */
- public static final DroolsControllerFactory factory =
- new IndexedDroolsControllerFactory();
-
- /**
- * get group id
- * @return group id
- */
- public String getGroupId();
-
- /**
- * get artifact id
- * @return artifact id
- */
- public String getArtifactId();
-
- /**
- * get version
- * @return version
- */
- public String getVersion();
-
- /**
- * return the policy session names
- *
- * @return policy session
- */
- public List<String> getSessionNames();
-
- /**
- * return the policy full session names
- *
- * @return policy session
- */
- public List<String> getCanonicalSessionNames();
-
- /**
- * offers an event to this controller for processing
- *
- * @param topic topic associated with the event
- * @param event the event
- *
- * @return true if the operation was successful
- */
- public boolean offer(String topic, String event);
-
- /**
- * delivers "event" to "sink"
- *
- * @param sink destination
- * @param event
- * @return true if successful, false if a failure has occurred.
- * @throws IllegalArgumentException when invalid or insufficient
- * properties are provided
- * @throws IllegalStateException when the engine is in a state where
- * this operation is not permitted (ie. locked or stopped).
- * @throws UnsupportedOperationException when the engine cannot deliver due
- * to the functionality missing (ie. communication infrastructure
- * not supported.
- */
- public boolean deliver(TopicSink sink, Object event);
-
- /**
- *
- * @return the most recent received events
- */
- public Object[] getRecentSourceEvents();
-
- /**
- *
- * @return the most recent delivered events
- */
- public String[] getRecentSinkEvents();
-
- /**
- * @return the underlying policy container
- */
- public PolicyContainer getContainer();
-
- /**
- * Supports this encoder?
- *
- * @param encodedObject
- * @return
- */
- public boolean ownsCoder(Class<? extends Object> coderClass, int modelHash);
-
- /**
- * fetches a class from the model
- *
- * @param className the class to fetch
- * @return the actual class object, or null if not found
- */
- public Class<?> fetchModelClass(String className);
-
- /**
- * is this controller Smart?
- */
- public boolean isBrained();
-
- /**
- * update the new version of the maven jar rules file
- *
- * @param newGroupId - new group id
- * @param newArtifactId - new artifact id
- * @param newVersion - new version
- * @param decoderConfigurations - decoder configurations
- * @param encoderConfigurations - encoder configurations
- *
- * @throws Exception from within drools libraries
- * @throws LinkageError from within drools libraries
- * @throws ArgumentException bad parameter passed in
- */
- public void updateToVersion(String newGroupId, String newArtifactId, String newVersion,
- List<TopicCoderFilterConfiguration> decoderConfigurations,
- List<TopicCoderFilterConfiguration> encoderConfigurations)
- throws LinkageError;
-
- /**
- * gets the classnames of facts as well as the current count
- * @param sessionName the session name
- * @return map of class to count
- */
- public Map<String,Integer> factClassNames(String sessionName);
-
- /**
- * gets the count of facts for a given session
- * @param sessionName the session name
- * @return the fact count
- * @throws IllegalArgumentException
- */
- public long factCount(String sessionName);
-
- /**
- * gets all the facts of a given class for a given session
- *
- * @param sessionName the session identifier
- * @param className the class type
- * @param delete retract from drools the results of the query?
- * @return the list of facts returned by the query
- */
- public List<Object> facts(String sessionName, String className, boolean delete);
-
- /**
- * gets the facts associated with a query for a give session for a given queried entity
- *
- * @param sessionName the session
- * @param queryName the query identifier
- * @param queriedEntity the queried entity
- * @param delete retract from drools the results of the query?
- * @param queryParams query parameters
- * @return list of facts returned by the query
- */
- public List<Object> factQuery(String sessionName, String queryName, String queriedEntity,
- boolean delete, Object... queryParams);
-
- /**
- * halts and permanently releases all resources
- * @throws IllegalStateException
- */
- public void halt();
+public interface DroolsController extends Startable, Lockable {
+
+ /**
+ * No Group ID identifier
+ */
+ public static final String NO_GROUP_ID = "NO-GROUP-ID";
+
+ /**
+ * No Artifact ID identifier
+ */
+ public static final String NO_ARTIFACT_ID = "NO-ARTIFACT-ID";
+
+ /**
+ * No version identifier
+ */
+ public static final String NO_VERSION = "NO-VERSION";
+
+ /**
+ * Factory to track and manage drools controllers
+ */
+ public static final DroolsControllerFactory factory = new IndexedDroolsControllerFactory();
+
+ /**
+ * get group id
+ *
+ * @return group id
+ */
+ public String getGroupId();
+
+ /**
+ * get artifact id
+ *
+ * @return artifact id
+ */
+ public String getArtifactId();
+
+ /**
+ * get version
+ *
+ * @return version
+ */
+ public String getVersion();
+
+ /**
+ * return the policy session names
+ *
+ * @return policy session
+ */
+ public List<String> getSessionNames();
+
+ /**
+ * return the policy full session names
+ *
+ * @return policy session
+ */
+ public List<String> getCanonicalSessionNames();
+
+ /**
+ * offers an event to this controller for processing
+ *
+ * @param topic topic associated with the event
+ * @param event the event
+ *
+ * @return true if the operation was successful
+ */
+ public boolean offer(String topic, String event);
+
+ /**
+ * delivers "event" to "sink"
+ *
+ * @param sink destination
+ * @param event
+ * @return true if successful, false if a failure has occurred.
+ * @throws IllegalArgumentException when invalid or insufficient properties are provided
+ * @throws IllegalStateException when the engine is in a state where this operation is not
+ * permitted (ie. locked or stopped).
+ * @throws UnsupportedOperationException when the engine cannot deliver due to the functionality
+ * missing (ie. communication infrastructure not supported.
+ */
+ public boolean deliver(TopicSink sink, Object event);
+
+ /**
+ *
+ * @return the most recent received events
+ */
+ public Object[] getRecentSourceEvents();
+
+ /**
+ *
+ * @return the most recent delivered events
+ */
+ public String[] getRecentSinkEvents();
+
+ /**
+ * @return the underlying policy container
+ */
+ public PolicyContainer getContainer();
+
+ /**
+ * Supports this encoder?
+ *
+ * @param encodedObject
+ * @return
+ */
+ public boolean ownsCoder(Class<? extends Object> coderClass, int modelHash);
+
+ /**
+ * fetches a class from the model
+ *
+ * @param className the class to fetch
+ * @return the actual class object, or null if not found
+ */
+ public Class<?> fetchModelClass(String className);
+
+ /**
+ * is this controller Smart?
+ */
+ public boolean isBrained();
+
+ /**
+ * update the new version of the maven jar rules file
+ *
+ * @param newGroupId - new group id
+ * @param newArtifactId - new artifact id
+ * @param newVersion - new version
+ * @param decoderConfigurations - decoder configurations
+ * @param encoderConfigurations - encoder configurations
+ *
+ * @throws Exception from within drools libraries
+ * @throws LinkageError from within drools libraries
+ * @throws ArgumentException bad parameter passed in
+ */
+ public void updateToVersion(String newGroupId, String newArtifactId, String newVersion,
+ List<TopicCoderFilterConfiguration> decoderConfigurations,
+ List<TopicCoderFilterConfiguration> encoderConfigurations) throws LinkageError;
+
+ /**
+ * gets the classnames of facts as well as the current count
+ *
+ * @param sessionName the session name
+ * @return map of class to count
+ */
+ public Map<String, Integer> factClassNames(String sessionName);
+
+ /**
+ * gets the count of facts for a given session
+ *
+ * @param sessionName the session name
+ * @return the fact count
+ * @throws IllegalArgumentException
+ */
+ public long factCount(String sessionName);
+
+ /**
+ * gets all the facts of a given class for a given session
+ *
+ * @param sessionName the session identifier
+ * @param className the class type
+ * @param delete retract from drools the results of the query?
+ * @return the list of facts returned by the query
+ */
+ public List<Object> facts(String sessionName, String className, boolean delete);
+
+ /**
+ * gets the facts associated with a query for a give session for a given queried entity
+ *
+ * @param sessionName the session
+ * @param queryName the query identifier
+ * @param queriedEntity the queried entity
+ * @param delete retract from drools the results of the query?
+ * @param queryParams query parameters
+ * @return list of facts returned by the query
+ */
+ public List<Object> factQuery(String sessionName, String queryName, String queriedEntity, boolean delete,
+ Object... queryParams);
+
+ /**
+ * halts and permanently releases all resources
+ *
+ * @throws IllegalStateException
+ */
+ public void halt();
}