[jboss-svn-commits] JBL Code SVN: r31331 - in labs/jbossrules/trunk/drools-persistence-jpa: src/main/java/org/drools/persistence/session and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jan 29 19:38:29 EST 2010
Author: mark.proctor at jboss.com
Date: 2010-01-29 19:38:29 -0500 (Fri, 29 Jan 2010)
New Revision: 31331
Modified:
labs/jbossrules/trunk/drools-persistence-jpa/.classpath
labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SessionInfo.java
labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java
labs/jbossrules/trunk/drools-persistence-jpa/src/test/java/org/drools/persistence/session/PersistentStatefulSessionTest.java
Log:
-persistence cleanup, remove need for shadowing.
Modified: labs/jbossrules/trunk/drools-persistence-jpa/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-persistence-jpa/.classpath 2010-01-29 23:19:28 UTC (rev 31330)
+++ labs/jbossrules/trunk/drools-persistence-jpa/.classpath 2010-01-30 00:38:29 UTC (rev 31331)
@@ -1,39 +1,42 @@
-<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
- <classpathentry excluding="**/*.java" including="**" kind="src" output="target/test-classes" path="src/test/resources"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/antlr/com.springsource.org.antlr.runtime/3.1.3/com.springsource.org.antlr.runtime-3.1.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/codehaus/btm/btm/1.3.2/btm-1.3.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/jasper/springsource/com.springsource.org.apache.jasper.org.eclipse.jdt.springsource/6.0.20.S2-r5956/com.springsource.org.apache.jasper.org.eclipse.jdt.springsource-6.0.20.S2-r5956.jar"/>
- <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
- <classpathentry kind="src" path="/drools-api"/>
- <classpathentry kind="src" path="/drools-compiler"/>
- <classpathentry kind="src" path="/drools-core"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.1.117/h2-1.1.117.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.1.0.GA/hibernate-commons-annotations-3.1.0.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.0.SP1/hibernate-core-3.3.0.SP1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.1/jmock-2.5.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jmock/jmock-legacy/2.5.1/jmock-legacy-2.5.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/4.6/junit-4.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.12/mvel2-2.0.12.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.2/slf4j-api-1.5.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-jdk14/1.5.2/slf4j-jdk14-1.5.2.jar"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
+ <classpathentry kind="src" path="src/test/resources" output="target/test-classes" including="**" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.1.3/antlr-runtime-3.1.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/btm/btm/1.3.2/btm-1.3.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/jasper/springsource/com.springsource.org.apache.jasper.org.eclipse.jdt.springsource/6.0.20.S2-r5956/com.springsource.org.apache.jasper.org.eclipse.jdt.springsource-6.0.20.S2-r5956.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
+ <classpathentry kind="src" path="/drools-api"/>
+ <classpathentry kind="src" path="/drools-compiler"/>
+ <classpathentry kind="src" path="/drools-core"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/gunit/3.1.3/gunit-3.1.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.1.117/h2-1.1.117.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.1.0.GA/hibernate-commons-annotations-3.1.0.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.0.SP1/hibernate-core-3.3.0.SP1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.15/janino-2.5.15.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.1/jmock-2.5.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jmock/jmock-legacy/2.5.1/jmock-legacy-2.5.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/4.6/junit-4.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.16-SNAPSHOT/mvel2-2.0.16-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.2/slf4j-api-1.5.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-jdk14/1.5.2/slf4j-jdk14-1.5.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/stringtemplate/3.2/stringtemplate-3.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.jar"/>
+</classpath>
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SessionInfo.java
===================================================================
--- labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SessionInfo.java 2010-01-29 23:19:28 UTC (rev 31330)
+++ labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SessionInfo.java 2010-01-30 00:38:29 UTC (rev 31331)
@@ -34,13 +34,6 @@
private byte[] rulesByteArray;
@Transient
- private int versionShadow;
- @Transient
- private Date lastModificationDateShadow;
- @Transient
- private byte[] rulesByteArrayShadow;
-
- @Transient
JPASessionMarshallingHelper helper;
public SessionInfo() {
@@ -51,9 +44,9 @@
return this.id;
}
-// public int getVersion() {
-// return this.version;
-// }
+ public int getVersion() {
+ return this.version;
+ }
public void setJPASessionMashallingHelper(JPASessionMarshallingHelper helper) {
this.helper = helper;
@@ -79,26 +72,11 @@
this.lastModificationDate = date;
}
- @PostLoad
- public void postLoad() {
- this.lastModificationDateShadow = this.lastModificationDate;
- this.rulesByteArrayShadow = this.rulesByteArray;
-// this.versionShadow = this.version;
- }
-
+
@PrePersist
@PreUpdate
public void update() {
- // this would not be called unless we had an last modification date change
this.rulesByteArray = this.helper.getSnapshot();
-// this.lastModificationDateShadow = this.lastModificationDate;
-// this.rulesByteArrayShadow = this.rulesByteArray;
}
-
-// public void rollback() {
-// this.lastModificationDate = this.lastModificationDateShadow;
-// this.rulesByteArray = this.rulesByteArrayShadow;
-//// this.version = this.versionShadow;
-// }
}
Modified: labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java
===================================================================
--- labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java 2010-01-29 23:19:28 UTC (rev 31330)
+++ labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java 2010-01-30 00:38:29 UTC (rev 31331)
@@ -84,7 +84,6 @@
this.info = info;
}
- @Override
public void endOperation(ReteooWorkingMemory wm) {
this.info.setLastModificationDate( new Date( wm.getLastIdleTimestamp() ) );
}
@@ -104,8 +103,6 @@
this.env );
this.ksession = new StatefulKnowledgeSessionImpl( session, kbase );
- //this.ksession = kbase.newStatefulKnowledgeSession( conf, this.env );
-
this.kContext = new KnowledgeCommandContext(new ContextImpl( "ksession", null), null, null, this.ksession, null );
((JPASignalManager) ((StatefulKnowledgeSessionImpl)ksession).session.getSignalManager()).setCommandService( this );
@@ -116,12 +113,10 @@
this.sessionInfo.setJPASessionMashallingHelper( this.marshallingHelper );
((ReteooWorkingMemory)((StatefulKnowledgeSessionImpl) this.ksession).session).setEndOperationListener( new EndOperationListenerImpl( this.sessionInfo ) );
-
- //this.sessionInfo.setReteooWorkingMemory( ((ReteooWorkingMemory)((StatefulKnowledgeSessionImpl) this.ksession).session) );
this.emf = (EntityManagerFactory) env.get( EnvironmentName.ENTITY_MANAGER_FACTORY );
this.em = emf.createEntityManager(); // how can I ensure this is an extended entity?
- // System.out.println( ((EntityManagerImpl) this.em).getFlushMode() );
+
boolean localTransaction = false;
UserTransaction ut = null;
try {
@@ -156,11 +151,6 @@
// update the session id to be the same as the session info id
((StatefulKnowledgeSessionImpl)ksession).session.setId( this.sessionInfo.getId() );
-// new Thread( new Runnable() {
-// public void run() {
-// ksession.fireUntilHalt();
-// }
-// } );
}
public SingleSessionCommandService(int sessionId,
@@ -225,12 +215,6 @@
// update the session id to be the same as the session info id
((StatefulKnowledgeSessionImpl)ksession).session.setId( this.sessionInfo.getId() );
-
-// new Thread( new Runnable() {
-// public void run() {
-// ksession.fireUntilHalt();
-// }
-// } );
}
public Context getContext() {
@@ -309,12 +293,6 @@
throw new RuntimeException( "Could not execute command",
t1 );
}
-// } finally {
-// new Thread( new Runnable() {
-// public void run() {
-// ksession.fireUntilHalt();
-// }
-// } );
}
}
@@ -349,13 +327,6 @@
this );
}
- // // lazy registration that ensures we registration the rollback just once
- // if ( !rollbackRegistered.get() ) {
- // TransactionManagerServices.getTransactionManager().getTransaction().registerSynchronization( new SynchronizationImpl( rollbackRegistered,
- // ks ) );
- // rollbackRegistered.set( true );
- // System.out.println( "registered rollback sychronisation" );
- // }
}
private class SynchronizationImpl
@@ -395,37 +366,6 @@
}
- // public static class SynchronizationImpl
- // implements
- // Synchronization {
- // KnowledgeStore ks;
- // ThreadLocal<Boolean> rollbackRegistered;
- //
- // SynchronizationImpl(ThreadLocal<Boolean> rollbackRegistered,
- // KnowledgeStore ks) {
- // this.ks = ks;
- // this.rollbackRegistered = rollbackRegistered;
- // }
- //
- // public void afterCompletion(int status) {
- // if ( status == Status.STATUS_COMMITTED) {
- // ks.commit();
- // System.out.println( "after with local commit: " + status );
- // } else {
- // ks.rollback();
- // System.out.println( "after with local rollacbk: " + status );
- // }
- //
- // // always cleanup thread local whatever the result
- // rollbackRegistered.remove();
- // System.out.println( "cleanedup rollback sychronisation" );
- // }
- //
- // public void beforeCompletion() {
- // System.out.println( "before " );
- // }
- //}
-
private void rollback() {
// with em null, if someone tries to use this session it'll first restore it's state
this.em.close();
Modified: labs/jbossrules/trunk/drools-persistence-jpa/src/test/java/org/drools/persistence/session/PersistentStatefulSessionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-persistence-jpa/src/test/java/org/drools/persistence/session/PersistentStatefulSessionTest.java 2010-01-29 23:19:28 UTC (rev 31330)
+++ labs/jbossrules/trunk/drools-persistence-jpa/src/test/java/org/drools/persistence/session/PersistentStatefulSessionTest.java 2010-01-30 00:38:29 UTC (rev 31331)
@@ -164,19 +164,20 @@
list );
ksession.insert( 1 );
ksession.insert( 2 );
-// ut.commit();
+ ut.commit();
//
-// // insert and rollback
-// ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
-// ut.begin();
+ // insert and rollback
+ ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
+ ut.begin();
ksession.insert( 3 );
- // ut.rollback();
+ ut.rollback();
// check we rolled back the state changes from the 3rd insert
+ ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
+ ut.begin();
ksession.fireAllRules();
ut.commit();
- System.out.println( list );
- assertEquals( 3,
+ assertEquals( 2,
list.size() );
// insert and commit
More information about the jboss-svn-commits
mailing list