summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--policy-core/src/main/java/org/onap/policy/drools/core/PolicyContainer.java26
-rw-r--r--policy-core/src/main/java/org/onap/policy/drools/core/PolicySession.java6
-rw-r--r--policy-core/src/main/java/org/onap/policy/drools/core/PolicySessionFeatureAPI.java14
-rw-r--r--policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedServiceImpl.java16
-rw-r--r--policy-utils/src/main/java/org/onap/policy/drools/utils/PropertyUtil.java43
-rw-r--r--policy-utils/src/main/java/org/onap/policy/drools/utils/ReflectionUtil.java7
6 files changed, 59 insertions, 53 deletions
diff --git a/policy-core/src/main/java/org/onap/policy/drools/core/PolicyContainer.java b/policy-core/src/main/java/org/onap/policy/drools/core/PolicyContainer.java
index 2da53468..7dc53ce2 100644
--- a/policy-core/src/main/java/org/onap/policy/drools/core/PolicyContainer.java
+++ b/policy-core/src/main/java/org/onap/policy/drools/core/PolicyContainer.java
@@ -47,10 +47,10 @@ public class PolicyContainer implements Startable
// get an instance of logger
private static Logger logger = LoggerFactory.getLogger(PolicyContainer.class);
// 'KieServices' singleton
- static private KieServices kieServices = KieServices.Factory.get();
+ private static KieServices kieServices = KieServices.Factory.get();
// set of all 'PolicyContainer' instances
- static private HashSet<PolicyContainer> containers =
+ private static HashSet<PolicyContainer> containers =
new HashSet<>();
// maps feature objects to per-PolicyContainer data
@@ -74,6 +74,8 @@ public class PolicyContainer implements Startable
// indicates whether the scanner has been started
// (it can block for a long time)
private boolean scannerStarted = false;
+
+ private static final String ERROR_STRING = "ERROR: Feature API: ";
/**
* uses 'groupId', 'artifactId' and 'version', and fetches the associated
@@ -288,7 +290,7 @@ public class PolicyContainer implements Startable
}
catch (Exception e)
{
- logger.error("ERROR: Feature API: "
+ logger.error(ERROR_STRING
+ feature.getClass().getName(), e);
}
}
@@ -316,7 +318,7 @@ public class PolicyContainer implements Startable
}
catch (Exception e)
{
- logger.error("ERROR: Feature API: "
+ logger.error(ERROR_STRING
+ feature.getClass().getName(), e);
}
}
@@ -412,7 +414,7 @@ public class PolicyContainer implements Startable
}
catch (Exception e)
{
- logger.error("ERROR: Feature API: "
+ logger.error(ERROR_STRING
+ feature.getClass().getName(), e);
}
}
@@ -518,7 +520,7 @@ public class PolicyContainer implements Startable
public synchronized void startScanner(ReleaseId releaseId)
{
String version = releaseId.getVersion();
- if (scannerStarted == false && scanner == null && version != null
+ if (!scannerStarted && scanner == null && version != null
&& ("LATEST".equals(version) || "RELEASE".equals(version)
|| version.endsWith("-SNAPSHOT")))
{
@@ -661,7 +663,7 @@ public class PolicyContainer implements Startable
}
catch (Exception e)
{
- logger.error("ERROR: Feature API: "
+ logger.error(ERROR_STRING
+ feature.getClass().getName(), e);
}
}
@@ -739,7 +741,7 @@ public class PolicyContainer implements Startable
}
catch (Exception e)
{
- logger.error("ERROR: Feature API: "
+ logger.error(ERROR_STRING
+ feature.getClass().getName(), e);
}
}
@@ -758,7 +760,7 @@ public class PolicyContainer implements Startable
/**
* This method is called when the host goes from the 'standby->active' state.
*/
- static public void activate()
+ public static void activate()
{
// start all of the 'PolicyContainer' instances
for (PolicyContainer container : containers)
@@ -777,7 +779,7 @@ public class PolicyContainer implements Startable
/**
* This method is called when the host goes from the 'active->standby' state.
*/
- static public void deactivate()
+ public static void deactivate()
{
// deactivate all of the 'PolicyContainer' instances
for (PolicyContainer container : containers)
@@ -805,7 +807,7 @@ public class PolicyContainer implements Startable
*
* @param args standard 'main' arguments, which are currently ignored
*/
- public static void globalInit(String args[])
+ public static void globalInit(String[] args)
{
String configDir = "config";
logger.info("PolicyContainer.main: configDir=" + configDir);
@@ -820,7 +822,7 @@ public class PolicyContainer implements Startable
}
catch (Exception e)
{
- logger.error("ERROR: Feature API: "
+ logger.error(ERROR_STRING
+ feature.getClass().getName(), e);
}
}
diff --git a/policy-core/src/main/java/org/onap/policy/drools/core/PolicySession.java b/policy-core/src/main/java/org/onap/policy/drools/core/PolicySession.java
index 2a949c0b..984ff47f 100644
--- a/policy-core/src/main/java/org/onap/policy/drools/core/PolicySession.java
+++ b/policy-core/src/main/java/org/onap/policy/drools/core/PolicySession.java
@@ -71,7 +71,7 @@ public class PolicySession
private ThreadModel threadModel = null;
// supports 'getCurrentSession()' method
- static private ThreadLocal<PolicySession> policySession =
+ private static ThreadLocal<PolicySession> policySession =
new ThreadLocal<>();
/**
@@ -453,7 +453,7 @@ public class PolicySession
* 'KieContainer.updateToVersion(...)' has been called (meaning the
* full name of this session has changed).
*/
- default public void updated() {}
+ public default void updated() {}
}
/* ============================================================ */
@@ -488,7 +488,7 @@ public class PolicySession
*/
private String getThreadName()
{
- return("Session " + session.getFullName());
+ return "Session " + session.getFullName();
}
/***************************/
diff --git a/policy-core/src/main/java/org/onap/policy/drools/core/PolicySessionFeatureAPI.java b/policy-core/src/main/java/org/onap/policy/drools/core/PolicySessionFeatureAPI.java
index 39377ab7..867325cd 100644
--- a/policy-core/src/main/java/org/onap/policy/drools/core/PolicySessionFeatureAPI.java
+++ b/policy-core/src/main/java/org/onap/policy/drools/core/PolicySessionFeatureAPI.java
@@ -38,7 +38,7 @@ public interface PolicySessionFeatureAPI extends OrderedService
* 'FeatureAPI.impl.getList()' returns an ordered list of objects
* implementing the 'FeatureAPI' interface.
*/
- static public OrderedServiceImpl<PolicySessionFeatureAPI> impl =
+ public static OrderedServiceImpl<PolicySessionFeatureAPI> impl =
new OrderedServiceImpl<>(PolicySessionFeatureAPI.class);
/**
@@ -48,7 +48,7 @@ public interface PolicySessionFeatureAPI extends OrderedService
* @param args standard 'main' arguments, which are currently ignored
* @param configDir the relative directory containing configuration files
*/
- default public void globalInit(String args[], String configDir) {}
+ public default void globalInit(String[] args, String configDir) {}
/**
* This method is used to create a 'KieSession' as part of a
@@ -65,7 +65,7 @@ public interface PolicySessionFeatureAPI extends OrderedService
* (this depends on the capabilities and state of the object implementing
* this interface)
*/
- default public KieSession activatePolicySession
+ public default KieSession activatePolicySession
(PolicyContainer policyContainer, String name, String kieBaseName)
{
return null;
@@ -77,13 +77,13 @@ public interface PolicySessionFeatureAPI extends OrderedService
*
* @param policySession the new 'PolicySession' instance
*/
- default public void newPolicySession(PolicySession policySession) {}
+ public default void newPolicySession(PolicySession policySession) {}
/**
* This method is called to select the 'ThreadModel' instance associated
* with a 'PolicySession' instance.
*/
- default public PolicySession.ThreadModel selectThreadModel
+ public default PolicySession.ThreadModel selectThreadModel
(PolicySession session)
{
return null;
@@ -95,7 +95,7 @@ public interface PolicySessionFeatureAPI extends OrderedService
* @param policySession the 'PolicySession' object that wrapped the
* 'KieSession'
*/
- default public void disposeKieSession(PolicySession policySession) {}
+ public default void disposeKieSession(PolicySession policySession) {}
/**
* This method is called after 'KieSession.destroy()' is called
@@ -103,5 +103,5 @@ public interface PolicySessionFeatureAPI extends OrderedService
* @param policySession the 'PolicySession' object that wrapped the
* 'KieSession'
*/
- default public void destroyKieSession(PolicySession policySession) {}
+ public default void destroyKieSession(PolicySession policySession) {}
}
diff --git a/policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedServiceImpl.java b/policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedServiceImpl.java
index ee70a4b5..99c4566a 100644
--- a/policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedServiceImpl.java
+++ b/policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedServiceImpl.java
@@ -43,7 +43,12 @@ public class OrderedServiceImpl<T extends OrderedService>
private List<T> implementers = null;
// 'ServiceLoader' that is used to discover and create the services
- private ServiceLoader<T> serviceLoader = null; //ServiceLoader.load(T.class);
+ private ServiceLoader<T> serviceLoader = null;
+
+ // use this to ensure that we only use one unique instance of each class
+ @SuppressWarnings("rawtypes")
+ private static HashMap<Class,OrderedService> classToSingleton =
+ new HashMap<>();
/**
* Constructor - create the 'ServiceLoader' instance
@@ -114,7 +119,7 @@ public class OrderedServiceImpl<T extends OrderedService>
rval = o1.getClass().getName().compareTo
(o2.getClass().getName());
}
- return(rval);
+ return rval;
}
});
@@ -124,11 +129,6 @@ public class OrderedServiceImpl<T extends OrderedService>
return implementers;
}
- // use this to ensure that we only use one unique instance of each class
- @SuppressWarnings("rawtypes")
- static private HashMap<Class,OrderedService> classToSingleton =
- new HashMap<>();
-
/**
* If a service implements multiple APIs managed by 'ServiceLoader', a
* separate instance is created for each API. This method ensures that
@@ -140,7 +140,7 @@ public class OrderedServiceImpl<T extends OrderedService>
* the object of this class that was initially created is returned
* instead.
*/
- static private synchronized OrderedService
+ private static synchronized OrderedService
getSingleton(OrderedService service)
{
// see if we already have an instance of this class
diff --git a/policy-utils/src/main/java/org/onap/policy/drools/utils/PropertyUtil.java b/policy-utils/src/main/java/org/onap/policy/drools/utils/PropertyUtil.java
index d69ea339..4e00a6db 100644
--- a/policy-utils/src/main/java/org/onap/policy/drools/utils/PropertyUtil.java
+++ b/policy-utils/src/main/java/org/onap/policy/drools/utils/PropertyUtil.java
@@ -31,12 +31,25 @@ import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* This class provides utilities to read properties from a properties
* file, and optionally get notifications of future changes
*/
public class PropertyUtil
{
+
+ // timer thread used for polling for property file changes
+ private static Timer timer = null;
+
+ // this table maps canonical file into a 'ListenerRegistration' instance
+ private static HashMap<File, ListenerRegistration> registrations =
+ new HashMap<>();
+
+ private static final Logger logger = LoggerFactory.getLogger(PropertyUtil.class.getName());
+
/**
* Read in a properties file
* @param file the properties file
@@ -45,7 +58,7 @@ public class PropertyUtil
* does not exist or can't be opened, and 'IOException' if there is
* a problem loading the properties file.
*/
- static public Properties getProperties(File file) throws IOException
+ public static Properties getProperties(File file) throws IOException
{
// create an InputStream (may throw a FileNotFoundException)
FileInputStream fis = new FileInputStream(file);
@@ -73,16 +86,13 @@ public class PropertyUtil
* does not exist or can't be opened, and 'IOException' if there is
* a problem loading the properties file.
*/
- static public Properties getProperties(String fileName) throws IOException
+ public static Properties getProperties(String fileName) throws IOException
{
return getProperties(new File(fileName));
}
/* ============================================================ */
- // timer thread used for polling for property file changes
- private static Timer timer = null;
-
/**
* This is the callback interface, used for sending notifications of
* changes in the properties file.
@@ -99,10 +109,6 @@ public class PropertyUtil
void propertiesChanged(Properties properties, Set<String> changedKeys);
}
- // this table maps canonical file into a 'ListenerRegistration' instance
- static private HashMap<File, ListenerRegistration> registrations =
- new HashMap<>();
-
/**
* This is an internal class - one instance of this exists for each
* property file that is being monitored. Note that multiple listeners
@@ -170,7 +176,7 @@ public class PropertyUtil
}
catch (Exception e)
{
- System.err.println(e);
+ logger.warn("Polling for property changes", e);
}
}
};
@@ -303,29 +309,30 @@ public class PropertyUtil
* does not exist or can't be opened, and 'IOException' if there is
* a problem loading the properties file.
*/
- static public Properties getProperties(File file, Listener listener)
+ public static Properties getProperties(File file, Listener listener)
throws IOException
{
+ File propFile = file;
if (listener == null)
{
// no listener specified -- just fetch the properties
- return getProperties(file);
+ return getProperties(propFile);
}
// Convert the file to a canonical form in order to avoid the situation
// where different names refer to the same file.
- file = file.getCanonicalFile();
+ propFile = propFile.getCanonicalFile();
// See if there is an existing registration. The 'synchronized' block
// is needed to handle the case where a new listener is added at about
// the same time that another one is being removed.
synchronized(registrations)
{
- ListenerRegistration reg = registrations.get(file);
+ ListenerRegistration reg = registrations.get(propFile);
if (reg == null)
{
// a new registration is needed
- reg = new ListenerRegistration(file);
+ reg = new ListenerRegistration(propFile);
}
return reg.addListener(listener);
}
@@ -347,7 +354,7 @@ public class PropertyUtil
* does not exist or can't be opened, and 'IOException' if there is
* a problem loading the properties file.
*/
- static public Properties getProperties(String fileName, Listener listener)
+ public static Properties getProperties(String fileName, Listener listener)
throws IOException
{
return getProperties(new File(fileName), listener);
@@ -359,7 +366,7 @@ public class PropertyUtil
* @param notify if not null, this is a callback interface that was used for
* notifications of changes
*/
- static public void stopListening(File file, Listener listener)
+ public static void stopListening(File file, Listener listener)
{
if (listener != null)
{
@@ -377,7 +384,7 @@ public class PropertyUtil
* @param notify if not null, this is a callback interface that was used for
* notifications of changes
*/
- static public void stopListening(String fileName, Listener listener)
+ public static void stopListening(String fileName, Listener listener)
{
stopListening(new File(fileName), listener);
}
diff --git a/policy-utils/src/main/java/org/onap/policy/drools/utils/ReflectionUtil.java b/policy-utils/src/main/java/org/onap/policy/drools/utils/ReflectionUtil.java
index d300058f..50135e84 100644
--- a/policy-utils/src/main/java/org/onap/policy/drools/utils/ReflectionUtil.java
+++ b/policy-utils/src/main/java/org/onap/policy/drools/utils/ReflectionUtil.java
@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
*/
public class ReflectionUtil {
- protected final static Logger logger = LoggerFactory.getLogger(ReflectionUtil.class);
+ protected static final Logger logger = LoggerFactory.getLogger(ReflectionUtil.class);
private ReflectionUtil(){
}
@@ -55,10 +55,7 @@ public class ReflectionUtil {
classLoader + " must be provided");
try {
- Class<?> aClass = Class.forName(className,
- true,
- classLoader);
- return aClass;
+ return Class.forName(className, true, classLoader);
} catch (Exception e) {
logger.error("class {} fetched in {} does not exist", className, classLoader, e);
}