[jboss-svn-commits] JBL Code SVN: r34663 - in labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer: drools-timer-executor/src/test/java/org/drools/job/executor/timer and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Aug 12 03:22:09 EDT 2010
Author: diegoll
Date: 2010-08-12 03:22:08 -0400 (Thu, 12 Aug 2010)
New Revision: 34663
Modified:
labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-core/src/test/java/org/drools/timer/test/PersistentTimerProcessTest.java
labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-executor/src/test/java/org/drools/job/executor/timer/TimerExecutorServiceTest.java
Log:
[JBRULES-2616] styling tests
Modified: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-core/src/test/java/org/drools/timer/test/PersistentTimerProcessTest.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-core/src/test/java/org/drools/timer/test/PersistentTimerProcessTest.java 2010-08-12 06:56:51 UTC (rev 34662)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-core/src/test/java/org/drools/timer/test/PersistentTimerProcessTest.java 2010-08-12 07:22:08 UTC (rev 34663)
@@ -26,15 +26,19 @@
@Ignore
public void scheduleAndTriggerPersistentTimer() throws InterruptedException{
String sessionContextLocation = "classpath:/completedProcessSession.xml";
- String sessionConfiguratorBeanName = "sessionConfigurator";
- String knowledgeStoreServiceBeanName = "kstore";
- String knowledgeBaseBeanName = "kbase";
- String environmentBeanName = "env";
AbstractApplicationContext mainApplicationContext = createMainApplicationContext(sessionContextLocation);
AbstractApplicationContext executorApplicationContext = createExecutorApplicationContext(sessionContextLocation);
AbstractApplicationContext schedulerApplicationContext = createSchedulerApplicationContext();
+ StatefulKnowledgeSessionManager sessionManager = new StatefulKnowledgeSessionManager()
+ .setSessionConfiguratorBeanName("sessionConfigurator")
+ .setKnowledgeStoreServiceBeanName("kstore")
+ .setKnowledgeBaseBeanName("kbase")
+ .setEnvironmentBeanName("env")
+ .setDroolsApplicationContext(mainApplicationContext)
+ ;
+
//start services
@SuppressWarnings("unchecked")
JobExecutorService<TimerJob> timerJobExecutor = (JobExecutorService<TimerJob>) executorApplicationContext.getBean("timerJobExecutorService");
@@ -47,7 +51,7 @@
Assert.assertTrue(timerScheduler.isRunning());
//start process
- StatefulKnowledgeSession ksession = createSession(environmentBeanName, knowledgeBaseBeanName, knowledgeStoreServiceBeanName, sessionConfiguratorBeanName, mainApplicationContext);
+ StatefulKnowledgeSession ksession = sessionManager.createSession();
int sessionId = ksession.getId();
long processId = ksession.startProcess("timerProcess").getId();
ksession.dispose();
@@ -55,7 +59,7 @@
Thread.sleep(5000); // let the scheduler trigger the jobs
//check process ended
- ksession = loadSession(sessionId, environmentBeanName, knowledgeBaseBeanName, knowledgeStoreServiceBeanName, sessionConfiguratorBeanName, mainApplicationContext);
+ ksession = sessionManager.loadSession(sessionId);
Assert.assertNull(ksession.getProcessInstance(processId));
ksession.dispose();
@@ -68,26 +72,6 @@
}
- private StatefulKnowledgeSession createSession(String envName, String kbaseName, String kstoreName, String sessionConfiguratorBeanName, ApplicationContext sessionContext) {
- Environment env = (Environment) sessionContext.getBean(envName);
- KnowledgeStoreService kstore = (KnowledgeStoreService) sessionContext.getBean(kstoreName);
- KnowledgeBase kbase = (KnowledgeBase) sessionContext.getBean(kbaseName);
- StatefulKnowledgeSession ksession = kstore.newStatefulKnowledgeSession(kbase, null, env);
- KnowledgeSessionRuntimeConfigurator sessionConfigurator = (KnowledgeSessionRuntimeConfigurator) sessionContext.getBean(sessionConfiguratorBeanName);
- sessionConfigurator.configure(ksession);
- return ksession;
- }
-
- private StatefulKnowledgeSession loadSession(int sessionId, String envName, String kbaseName, String kstoreName, String sessionConfiguratorBeanName, ApplicationContext sessionContext) {
- Environment env = (Environment) sessionContext.getBean(envName);
- KnowledgeStoreService kstore = (KnowledgeStoreService) sessionContext.getBean(kstoreName);
- KnowledgeBase kbase = (KnowledgeBase) sessionContext.getBean(kbaseName);
- StatefulKnowledgeSession ksession = kstore.loadStatefulKnowledgeSession(sessionId, kbase, null, env);
- KnowledgeSessionRuntimeConfigurator sessionConfigurator = (KnowledgeSessionRuntimeConfigurator) sessionContext.getBean(sessionConfiguratorBeanName);
- sessionConfigurator.configure(ksession);
- return ksession;
- }
-
private AbstractApplicationContext createSchedulerApplicationContext() {
return new ClassPathXmlApplicationContext("classpath:/schedulerContext.xml");
}
@@ -111,4 +95,79 @@
return context;
}
+
+ private static class StatefulKnowledgeSessionManager {
+
+ private String sessionConfiguratorBeanName;
+ private String knowledgeStoreServiceBeanName;
+ private String knowledgeBaseBeanName;
+ private String environmentBeanName;
+ private ApplicationContext droolsApplicationContext;
+
+ public StatefulKnowledgeSession createSession() {
+ Environment env = (Environment) getDroolsApplicationContext().getBean(getEnvironmentBeanName());
+ KnowledgeStoreService kstore = (KnowledgeStoreService) getDroolsApplicationContext().getBean(getKnowledgeStoreServiceBeanName());
+ KnowledgeBase kbase = (KnowledgeBase) getDroolsApplicationContext().getBean(getKnowledgeBaseBeanName());
+ StatefulKnowledgeSession ksession = kstore.newStatefulKnowledgeSession(kbase, null, env);
+ KnowledgeSessionRuntimeConfigurator sessionConfigurator = (KnowledgeSessionRuntimeConfigurator) getDroolsApplicationContext().getBean(getSessionConfiguratorBeanName());
+ sessionConfigurator.configure(ksession);
+ return ksession;
+ }
+
+ public StatefulKnowledgeSession loadSession(int sessionId) {
+ Environment env = (Environment) getDroolsApplicationContext().getBean(getEnvironmentBeanName());
+ KnowledgeStoreService kstore = (KnowledgeStoreService) getDroolsApplicationContext().getBean(getKnowledgeStoreServiceBeanName());
+ KnowledgeBase kbase = (KnowledgeBase) getDroolsApplicationContext().getBean(getKnowledgeBaseBeanName());
+ StatefulKnowledgeSession ksession = kstore.loadStatefulKnowledgeSession(sessionId, kbase, null, env);
+ KnowledgeSessionRuntimeConfigurator sessionConfigurator = (KnowledgeSessionRuntimeConfigurator) getDroolsApplicationContext().getBean(getSessionConfiguratorBeanName());
+ sessionConfigurator.configure(ksession);
+ return ksession;
+ }
+
+ public String getSessionConfiguratorBeanName() {
+ return sessionConfiguratorBeanName;
+ }
+
+ public StatefulKnowledgeSessionManager setSessionConfiguratorBeanName(String sessionConfiguratorBeanName) {
+ this.sessionConfiguratorBeanName = sessionConfiguratorBeanName;
+ return this;
+ }
+
+ public String getKnowledgeStoreServiceBeanName() {
+ return knowledgeStoreServiceBeanName;
+ }
+
+ public StatefulKnowledgeSessionManager setKnowledgeStoreServiceBeanName(String knowledgeStoreServiceBeanName) {
+ this.knowledgeStoreServiceBeanName = knowledgeStoreServiceBeanName;
+ return this;
+ }
+
+ public String getKnowledgeBaseBeanName() {
+ return knowledgeBaseBeanName;
+ }
+
+ public StatefulKnowledgeSessionManager setKnowledgeBaseBeanName(String knowledgeBaseBeanName) {
+ this.knowledgeBaseBeanName = knowledgeBaseBeanName;
+ return this;
+ }
+
+ public String getEnvironmentBeanName() {
+ return environmentBeanName;
+ }
+
+ public StatefulKnowledgeSessionManager setEnvironmentBeanName(String environmentBeanName) {
+ this.environmentBeanName = environmentBeanName;
+ return this;
+ }
+
+ public ApplicationContext getDroolsApplicationContext() {
+ return droolsApplicationContext;
+ }
+
+ public StatefulKnowledgeSessionManager setDroolsApplicationContext(ApplicationContext droolsApplicationContext) {
+ this.droolsApplicationContext = droolsApplicationContext;
+ return this;
+ }
+
+ }
}
Modified: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-executor/src/test/java/org/drools/job/executor/timer/TimerExecutorServiceTest.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-executor/src/test/java/org/drools/job/executor/timer/TimerExecutorServiceTest.java 2010-08-12 06:56:51 UTC (rev 34662)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-executor/src/test/java/org/drools/job/executor/timer/TimerExecutorServiceTest.java 2010-08-12 07:22:08 UTC (rev 34663)
@@ -28,10 +28,6 @@
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.transaction.PlatformTransactionManager;
-import org.springframework.transaction.TransactionStatus;
-import org.springframework.transaction.support.TransactionCallback;
-import org.springframework.transaction.support.TransactionTemplate;
public class TimerExecutorServiceTest {
@@ -62,24 +58,24 @@
String knowledgeBaseBeanName = "kbase";
String environmentBeanName = "env";
+ StatefulKnowledgeSessionManager sessionManager = new StatefulKnowledgeSessionManager()
+ .setSessionConfiguratorBeanName(sessionConfiguratorBeanName)
+ .setKnowledgeStoreServiceBeanName(knowledgeStoreServiceBeanName)
+ .setKnowledgeBaseBeanName(knowledgeBaseBeanName)
+ .setEnvironmentBeanName(environmentBeanName)
+ .setDroolsApplicationContext(new ClassPathXmlApplicationContext(sessionContextLocation))
+ ;
+
//start the executor
AbstractApplicationContext executorContext = createExecutorContext(sessionContextLocation);
JobExecutorService<TimerJob> timerJobExecutorService = startJobExecutor(executorContext);
//start process
- AbstractApplicationContext sessionContext = new ClassPathXmlApplicationContext(sessionContextLocation);
- final StatefulKnowledgeSession ksession = createSession(environmentBeanName, knowledgeBaseBeanName, knowledgeStoreServiceBeanName, sessionConfiguratorBeanName, sessionContext);
+ final StatefulKnowledgeSession ksession = sessionManager.createSession();
int sessionId = ksession.getId();
- PlatformTransactionManager txManager = (PlatformTransactionManager) sessionContext.getBean("transactionManager");
- TransactionTemplate txTemplate = new TransactionTemplate(txManager);
- Long processId = (Long) txTemplate.execute(new TransactionCallback() {
- public Object doInTransaction(TransactionStatus status) {
- long processId = ksession.startProcess("shortProcess").getId();
- ksession.dispose();
- return processId;
- }
- });
+ long processId = ksession.startProcess("shortProcess").getId();
+ ksession.dispose();
ClientProducer producer = (ClientProducer)executorContext.getBean("timerMessageProducer");
@SuppressWarnings("unchecked")
@@ -101,7 +97,6 @@
//close everything
timerJobExecutorService.cancel();
producer.close();
- sessionContext.close();
executorContext.close();
}
@@ -128,14 +123,20 @@
String knowledgeBaseBeanName = "kbase";
String environmentBeanName = "env";
+ StatefulKnowledgeSessionManager sessionManager = new StatefulKnowledgeSessionManager()
+ .setSessionConfiguratorBeanName(sessionConfiguratorBeanName)
+ .setKnowledgeStoreServiceBeanName(knowledgeStoreServiceBeanName)
+ .setKnowledgeBaseBeanName(knowledgeBaseBeanName)
+ .setEnvironmentBeanName(environmentBeanName)
+ .setDroolsApplicationContext(new ClassPathXmlApplicationContext(sessionContextLocation))
+ ;
//start the executor
AbstractApplicationContext executorContext = createExecutorContext(sessionContextLocation);
JobExecutorService<TimerJob> timerJobExecutorService = startJobExecutor(executorContext);
//start process
- AbstractApplicationContext sessionContext = new ClassPathXmlApplicationContext(sessionContextLocation);
- StatefulKnowledgeSession ksession = createSession(environmentBeanName, knowledgeBaseBeanName, knowledgeStoreServiceBeanName, sessionConfiguratorBeanName, sessionContext);
+ StatefulKnowledgeSession ksession = sessionManager.createSession();
int sessionId = ksession.getId();
long processId = ksession.startProcess("timerProcess").getId();
@@ -159,7 +160,7 @@
scheduler.triggerTimerJob();
Thread.sleep(1000);
- ksession = loadSession(sessionId, environmentBeanName, knowledgeBaseBeanName, knowledgeStoreServiceBeanName, sessionConfiguratorBeanName, sessionContext);
+ ksession = sessionManager.loadSession(sessionId);
ProcessInstance processInstance = ksession.getProcessInstance(processId);
Assert.assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
ksession.dispose();
@@ -170,14 +171,13 @@
scheduler.triggerTimerJob();
Thread.sleep(4000);
- ksession = loadSession(sessionId, environmentBeanName, knowledgeBaseBeanName, knowledgeStoreServiceBeanName, sessionConfiguratorBeanName, sessionContext);
+ ksession = sessionManager.loadSession(sessionId);
processInstance = ksession.getProcessInstance(processId);
Assert.assertNull(processInstance); // this mean the process was completed elsewhere
//close everything
timerJobExecutorService.cancel();
producer.close();
- sessionContext.close();
executorContext.close();
}
@@ -208,26 +208,81 @@
return context;
}
- private StatefulKnowledgeSession createSession(String envName, String kbaseName, String kstoreName, String sessionConfiguratorBeanName, ApplicationContext sessionContext) {
- Environment env = (Environment) sessionContext.getBean(envName);
- KnowledgeStoreService kstore = (KnowledgeStoreService) sessionContext.getBean(kstoreName);
- KnowledgeBase kbase = (KnowledgeBase) sessionContext.getBean(kbaseName);
- StatefulKnowledgeSession ksession = kstore.newStatefulKnowledgeSession(kbase, null, env);
- KnowledgeSessionRuntimeConfigurator sessionConfigurator = (KnowledgeSessionRuntimeConfigurator) sessionContext.getBean(sessionConfiguratorBeanName);
- sessionConfigurator.configure(ksession);
- return ksession;
+ private static class StatefulKnowledgeSessionManager {
+
+ private String sessionConfiguratorBeanName;
+ private String knowledgeStoreServiceBeanName;
+ private String knowledgeBaseBeanName;
+ private String environmentBeanName;
+ private ApplicationContext droolsApplicationContext;
+
+ public StatefulKnowledgeSession createSession() {
+ Environment env = (Environment) getDroolsApplicationContext().getBean(getEnvironmentBeanName());
+ KnowledgeStoreService kstore = (KnowledgeStoreService) getDroolsApplicationContext().getBean(getKnowledgeStoreServiceBeanName());
+ KnowledgeBase kbase = (KnowledgeBase) getDroolsApplicationContext().getBean(getKnowledgeBaseBeanName());
+ StatefulKnowledgeSession ksession = kstore.newStatefulKnowledgeSession(kbase, null, env);
+ KnowledgeSessionRuntimeConfigurator sessionConfigurator = (KnowledgeSessionRuntimeConfigurator) getDroolsApplicationContext().getBean(getSessionConfiguratorBeanName());
+ sessionConfigurator.configure(ksession);
+ return ksession;
+ }
+
+ public StatefulKnowledgeSession loadSession(int sessionId) {
+ Environment env = (Environment) getDroolsApplicationContext().getBean(getEnvironmentBeanName());
+ KnowledgeStoreService kstore = (KnowledgeStoreService) getDroolsApplicationContext().getBean(getKnowledgeStoreServiceBeanName());
+ KnowledgeBase kbase = (KnowledgeBase) getDroolsApplicationContext().getBean(getKnowledgeBaseBeanName());
+ StatefulKnowledgeSession ksession = kstore.loadStatefulKnowledgeSession(sessionId, kbase, null, env);
+ KnowledgeSessionRuntimeConfigurator sessionConfigurator = (KnowledgeSessionRuntimeConfigurator) getDroolsApplicationContext().getBean(getSessionConfiguratorBeanName());
+ sessionConfigurator.configure(ksession);
+ return ksession;
+ }
+
+ public String getSessionConfiguratorBeanName() {
+ return sessionConfiguratorBeanName;
+ }
+
+ public StatefulKnowledgeSessionManager setSessionConfiguratorBeanName(String sessionConfiguratorBeanName) {
+ this.sessionConfiguratorBeanName = sessionConfiguratorBeanName;
+ return this;
+ }
+
+ public String getKnowledgeStoreServiceBeanName() {
+ return knowledgeStoreServiceBeanName;
+ }
+
+ public StatefulKnowledgeSessionManager setKnowledgeStoreServiceBeanName(String knowledgeStoreServiceBeanName) {
+ this.knowledgeStoreServiceBeanName = knowledgeStoreServiceBeanName;
+ return this;
+ }
+
+ public String getKnowledgeBaseBeanName() {
+ return knowledgeBaseBeanName;
+ }
+
+ public StatefulKnowledgeSessionManager setKnowledgeBaseBeanName(String knowledgeBaseBeanName) {
+ this.knowledgeBaseBeanName = knowledgeBaseBeanName;
+ return this;
+ }
+
+ public String getEnvironmentBeanName() {
+ return environmentBeanName;
+ }
+
+ public StatefulKnowledgeSessionManager setEnvironmentBeanName(String environmentBeanName) {
+ this.environmentBeanName = environmentBeanName;
+ return this;
+ }
+
+ public ApplicationContext getDroolsApplicationContext() {
+ return droolsApplicationContext;
+ }
+
+ public StatefulKnowledgeSessionManager setDroolsApplicationContext(ApplicationContext droolsApplicationContext) {
+ this.droolsApplicationContext = droolsApplicationContext;
+ return this;
+ }
+
}
- private StatefulKnowledgeSession loadSession(int sessionId, String envName, String kbaseName, String kstoreName, String sessionConfiguratorBeanName, ApplicationContext sessionContext) {
- Environment env = (Environment) sessionContext.getBean(envName);
- KnowledgeStoreService kstore = (KnowledgeStoreService) sessionContext.getBean(kstoreName);
- KnowledgeBase kbase = (KnowledgeBase) sessionContext.getBean(kbaseName);
- StatefulKnowledgeSession ksession = kstore.loadStatefulKnowledgeSession(sessionId, kbase, null, env);
- KnowledgeSessionRuntimeConfigurator sessionConfigurator = (KnowledgeSessionRuntimeConfigurator) sessionContext.getBean(sessionConfiguratorBeanName);
- sessionConfigurator.configure(ksession);
- return ksession;
- }
-
private static class TimerSchedulerSimulator {
private HornetQMessageTranslator<TimerJob> translator;
More information about the jboss-svn-commits
mailing list