Index: C:/Naidu/Projects/eclipse/june_policy_workspace/apache/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/impl/PolicyEvaluatorImpl.java =================================================================== --- C:/Naidu/Projects/eclipse/june_policy_workspace/apache/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/impl/PolicyEvaluatorImpl.java (revision 669804) +++ C:/Naidu/Projects/eclipse/june_policy_workspace/apache/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/impl/PolicyEvaluatorImpl.java (working copy) @@ -44,34 +44,41 @@ public class PolicyEvaluatorImpl implements PolicyEvaluator { - - private static final String sourceClass="PolicyEvaluatorImpl"; + private static final String sourceClass = "PolicyEvaluatorImpl"; private static Logger logger = SPLLogger.getSPLLogger().getLogger(); - private static Logger auditLogger = SPLLogger.getSPLLogger().getAuditLogger(); - + private static Logger auditLogger = SPLLogger.getSPLLogger() + .getAuditLogger(); private DataCollector _dataCollector; private Actuator _actuator; - public static final int SUCCESS = 1; public static final int FAILURE = -1; public static final int NOT_EVALUATED = 0; + private static PolicyEvaluatorImpl singletonObj = null; - public PolicyEvaluatorImpl() + private PolicyEvaluatorImpl() { init(); } public void init() { - logger.entering(sourceClass,Thread.currentThread().getName()+" "+ "init"); + logger.entering(sourceClass, Thread.currentThread().getName() + " " + + "init"); + _dataCollector = DataCollectorFactory.getDataCollector(); - _actuator = ActuatorFactory.getActuator(); - logger.exiting(sourceClass,Thread.currentThread().getName()+" "+ "init"); + logger.exiting(sourceClass, Thread.currentThread().getName() + " " + + "init"); + } + public static synchronized PolicyEvaluatorImpl getInstance() + { + if (singletonObj == null) + singletonObj = new PolicyEvaluatorImpl(); + return singletonObj; } - + public void shutdown() { logger.entering(sourceClass,Thread.currentThread().getName()+" "+ "shutdown");