[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