[jboss-svn-commits] JBL Code SVN: r12531 - in labs/jbossrules/trunk/drools-core/src: main/java/org/drools/audit and 17 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 12 22:58:31 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-06-12 22:58:31 -0400 (Tue, 12 Jun 2007)
New Revision: 12531

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/UpdateObject.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectInsertedEvent.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectUpdatedEvent.java
Removed:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/ModifyObject.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectAssertedEvent.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectModifiedEvent.java
Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/NoSuchFactHandleException.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/NoSuchFactObjectException.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ReteConcurrentStatelessSession.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatefulSession.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/LogEvent.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/ObjectLogEvent.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/WorkingMemoryLogEventFilter.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DelegateJavaFactHandler.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/MVELClassFieldExtractor.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryActions.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TruthMaintenanceSystem.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/AssertObject.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/AssertObjects.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/RetractObject.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/DebugWorkingMemoryEventListener.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/DefaultWorkingMemoryEventListener.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/WorkingMemoryEventListener.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/WorkingMemoryEventSupport.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Activation.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/TestWorkingMemoryEventListener.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/BaseClassFieldExtractorFactoryTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/ClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/BooleanClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ByteClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/CharClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/DoubleClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/FloatClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/IntClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/LongClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/MVELClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ObjectClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ShortClassFieldExtractorTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/common/QuadroupleBetaConstraintsTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/WorkingMemoryEventSupportTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ExistsNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FromNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LeftInputAdapterNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/DeclarationTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexEntryTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexHashTableTest.java
Log:
JBRULES-922 API change for assert and modify

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/NoSuchFactHandleException.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/NoSuchFactHandleException.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/NoSuchFactHandleException.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -17,7 +17,7 @@
  */
 
 /**
- * Indicates an attempt to retract, modify or retrieve a fact object that is no
+ * Indicates an attempt to retract, update or retrieve a fact object that is no
  * longer present.
  * 
  * @see FactHandle

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/NoSuchFactObjectException.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/NoSuchFactObjectException.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/NoSuchFactObjectException.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -17,7 +17,7 @@
  */
 
 /**
- * Indicates an attempt to retract, modify or retrieve a fact object that is no
+ * Indicates an attempt to retract, update or retrieve a fact object that is no
  * longer present.
  * 
  * @see FactHandle

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ReteConcurrentStatelessSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ReteConcurrentStatelessSession.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ReteConcurrentStatelessSession.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -41,16 +41,16 @@
                 try {
                     Object object = this.queue.take();
                     if ( object instanceof Object[] ) {
-                        this.workingMemory.assertObject( object );
+                        this.workingMemory.insert( object );
                     } else if ( object instanceof List ) {
                         List list = ( List ) object;
                         for ( Iterator it = list.iterator(); it.hasNext(); ) {
-                            this.workingMemory.assertObject( it.next() );
+                            this.workingMemory.insert( it.next() );
                         }
                     } else {
                         Object[] objects = ( Object[] ) object;
                         for ( int i = 0, length = objects.length; i < length; i++ ) {
-                            this.workingMemory.assertObject( objects[i] );
+                            this.workingMemory.insert( objects[i] );
                         }
                     }
                     Thread.sleep( 100 );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatefulSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatefulSession.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatefulSession.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -13,12 +13,12 @@
      */
     void dispose();    
     
-    Future asyncAssertObject(Object object);    
-    Future asyncRetractObject(FactHandle factHandle);   
-    Future asyncModifyObject(FactHandle factHandle, Object object);
+    Future asyncInsert(Object object);    
+    Future asyncRetract(FactHandle factHandle);   
+    Future asyncUpdate(FactHandle factHandle, Object object);
 
-    Future asyncAssertObjects(Object[] list);
-    Future asyncAssertObjects(List list);
+    Future asyncInsert(Object[] list);
+    Future asyncInsert(List list);
     
     Future asyncFireAllRules();
     Future asyncFireAllRules(AgendaFilter agendaFilter); 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -221,7 +221,7 @@
      * @throws FactException
      *             If an error occurs.
      */
-    FactHandle assertObject(Object object) throws FactException;
+    FactHandle insert(Object object) throws FactException;
 
     /**
      * Retrieve the QueryResults of the specified query.
@@ -241,7 +241,7 @@
 
     /**
      * Assert a fact registering JavaBean <code>PropertyChangeListeners</code>
-     * on the Object to automatically trigger <code>modifyObject</code> calls
+     * on the Object to automatically trigger <code>update</code> calls
      * if <code>dynamic</code> is <code>true</code>.
      * 
      * @param object
@@ -255,7 +255,7 @@
      * @throws FactException
      *             If an error occurs.
      */
-    FactHandle assertObject(Object object,
+    FactHandle insert(Object object,
                             boolean dynamic) throws FactException;
 
     /**
@@ -267,7 +267,7 @@
      * @throws FactException
      *             If an error occurs.
      */
-    void retractObject(FactHandle handle) throws FactException;
+    void retract(FactHandle handle) throws FactException;
 
     /**
      * Modify a fact.
@@ -280,14 +280,14 @@
      * @throws FactException
      *             If an error occurs.
      */
-    void modifyObject(FactHandle handle,
+    void update(FactHandle handle,
                       Object object) throws FactException;
     
     public void modifyRetract(final FactHandle factHandle,
                               final Rule rule,
                               final Activation activation);
     
-    public void modifyAssert(final FactHandle factHandle,
+    public void modifyInsert(final FactHandle factHandle,
                              final Object object,
                              final Rule rule,
                              final Activation activation);    

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -36,8 +36,8 @@
 import org.drools.event.AgendaGroupPoppedEvent;
 import org.drools.event.AgendaGroupPushedEvent;
 import org.drools.event.BeforeActivationFiredEvent;
-import org.drools.event.ObjectAssertedEvent;
-import org.drools.event.ObjectModifiedEvent;
+import org.drools.event.ObjectInsertedEvent;
+import org.drools.event.ObjectUpdatedEvent;
 import org.drools.event.ObjectRetractedEvent;
 import org.drools.event.RuleFlowCompletedEvent;
 import org.drools.event.RuleFlowEventListener;
@@ -148,8 +148,8 @@
     /**
      * @see org.drools.event.WorkingMemoryEventListener
      */
-    public void objectAsserted(final ObjectAssertedEvent event) {
-        filterLogEvent( new ObjectLogEvent( LogEvent.OBJECT_ASSERTED,
+    public void objectInserted(final ObjectInsertedEvent event) {
+        filterLogEvent( new ObjectLogEvent( LogEvent.INSERTED,
                                             ((InternalFactHandle) event.getFactHandle()).getId(),
                                             event.getObject().toString() ) );
     }
@@ -157,8 +157,8 @@
     /**
      * @see org.drools.event.WorkingMemoryEventListener
      */
-    public void objectModified(final ObjectModifiedEvent event) {
-        filterLogEvent( new ObjectLogEvent( LogEvent.OBJECT_MODIFIED,
+    public void objectUpdated(final ObjectUpdatedEvent event) {
+        filterLogEvent( new ObjectLogEvent( LogEvent.UPDATED,
                                             ((InternalFactHandle) event.getFactHandle()).getId(),
                                             event.getObject().toString() ) );
     }
@@ -167,7 +167,7 @@
      * @see org.drools.event.WorkingMemoryEventListener
      */
     public void objectRetracted(final ObjectRetractedEvent event) {
-        filterLogEvent( new ObjectLogEvent( LogEvent.OBJECT_RETRACTED,
+        filterLogEvent( new ObjectLogEvent( LogEvent.RETRACTED,
                                             ((InternalFactHandle) event.getFactHandle()).getId(),
                                             event.getOldObject().toString() ) );
     }
@@ -267,7 +267,7 @@
     /**
      * Returns a String that can be used as unique identifier for an
      * activation.  Since the activationId is the same for all assertions
-     * that are created during a single assert, modify or retract, the
+     * that are created during a single insert, update or retract, the
      * key of the tuple of the activation is added too (which is a set
      * of fact handle ids). 
      * 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/LogEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/LogEvent.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/LogEvent.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -24,9 +24,9 @@
  */
 public class LogEvent {
 
-    public static final int OBJECT_ASSERTED            = 1;
-    public static final int OBJECT_MODIFIED            = 2;
-    public static final int OBJECT_RETRACTED           = 3;
+    public static final int INSERTED            = 1;
+    public static final int UPDATED            = 2;
+    public static final int RETRACTED           = 3;
 
     public static final int ACTIVATION_CREATED         = 4;
     public static final int ACTIVATION_CANCELLED       = 5;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/ObjectLogEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/ObjectLogEvent.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/ObjectLogEvent.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -67,14 +67,14 @@
     public String toString() {
         String msg = null;
         switch ( this.getType() ) {
-            case OBJECT_ASSERTED :
+            case INSERTED :
                 msg = "OBJECT ASSERTED";
                 break;
-            case OBJECT_MODIFIED :
+            case UPDATED :
                 msg = "OBJECT MODIFIED";
                 break;
 
-            case OBJECT_RETRACTED :
+            case RETRACTED :
                 msg = "OBJECT RETRACTED";
                 break;
         }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/WorkingMemoryLogEventFilter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/WorkingMemoryLogEventFilter.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/event/WorkingMemoryLogEventFilter.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -28,15 +28,15 @@
     implements
     ILogEventFilter {
 
-    private boolean allowAssertEvents  = true;
-    private boolean allowModifyEvents  = true;
+    private boolean allowInsertEvents  = true;
+    private boolean allowUpdateEvents  = true;
     private boolean allowRetractEvents = true;
 
     public WorkingMemoryLogEventFilter(final boolean allowAssertEvents,
                                        final boolean allowModifyEvents,
                                        final boolean allowRetractEvents) {
-        setAllowAssertEvents( allowAssertEvents );
-        setAllowModifyEvents( allowModifyEvents );
+        setAllowInsertEvents( allowAssertEvents );
+        setAllowUpdateEvents( allowModifyEvents );
         setAllowRetractEvents( allowRetractEvents );
     }
 
@@ -45,23 +45,23 @@
      */
     public boolean acceptEvent(final LogEvent event) {
         switch ( event.getType() ) {
-            case LogEvent.OBJECT_ASSERTED :
-                return this.allowAssertEvents;
-            case LogEvent.OBJECT_MODIFIED :
-                return this.allowModifyEvents;
-            case LogEvent.OBJECT_RETRACTED :
+            case LogEvent.INSERTED :
+                return this.allowInsertEvents;
+            case LogEvent.UPDATED :
+                return this.allowUpdateEvents;
+            case LogEvent.RETRACTED :
                 return this.allowRetractEvents;
             default :
                 return true;
         }
     }
 
-    public void setAllowAssertEvents(final boolean allowAssertEvents) {
-        this.allowAssertEvents = allowAssertEvents;
+    public void setAllowInsertEvents(final boolean allowInsertEvents) {
+        this.allowInsertEvents = allowInsertEvents;
     }
 
-    public void setAllowModifyEvents(final boolean allowModifyEvents) {
-        this.allowModifyEvents = allowModifyEvents;
+    public void setAllowUpdateEvents(final boolean allowUpdateEvents) {
+        this.allowUpdateEvents = allowUpdateEvents;
     }
 
     public void setAllowRetractEvents(final boolean allowRetractEvents) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -47,13 +47,6 @@
         this.workingMemory = (InternalWorkingMemoryActions) workingMemory;
     }
 
-    public DefaultKnowledgeHelper(final Activation agendaItem,
-                                  final WorkingMemory workingMemory) {
-        this.rule = agendaItem.getRule();
-        this.activation = agendaItem;
-        this.tuple = agendaItem.getTuple();
-        this.workingMemory = (InternalWorkingMemoryActions) workingMemory;
-    }
 
     public void setActivation(final Activation agendaItem) {
         this.rule = agendaItem.getRule();
@@ -62,69 +55,69 @@
         this.tuple = agendaItem.getTuple();
     }
 
-    public void assertObject(final Object object) throws FactException {
-        assertObject( object,
+    public void insert(final Object object) throws FactException {
+        insert( object,
                       false );
     }
 
-    public void assertObject(final Object object,
+    public void insert(final Object object,
                              final boolean dynamic) throws FactException {
-        this.workingMemory.assertObject( object,
+        this.workingMemory.insert( object,
                                          dynamic,
                                          false,
                                          this.rule,
                                          this.activation );
     }
 
-    public void assertLogicalObject(final Object object) throws FactException {
-        assertLogicalObject( object,
+    public void insertLogical(final Object object) throws FactException {
+        insertLogical( object,
                              false );
     }
 
-    public void assertLogicalObject(final Object object,
+    public void insertLogical(final Object object,
                                     final boolean dynamic) throws FactException {
-        this.workingMemory.assertObject( object,
+        this.workingMemory.insert( object,
                                          dynamic,
                                          true,
                                          this.rule,
                                          this.activation );
     }
 
-    public void modifyObject(final FactHandle handle,
+    public void update(final FactHandle handle,
                              final Object newObject) throws FactException {
-        // only modify if this fact exists in the wm
-        this.workingMemory.modifyObject( handle,
+        // only update if this fact exists in the wm
+        this.workingMemory.update( handle,
                                          newObject,
                                          this.rule,
                                          this.activation );
     }
 
-    public void modifyObject( final Object object ) throws FactException {
+    public void update( final Object object ) throws FactException {
         FactHandle handle = this.workingMemory.getFactHandle( object );
         if( handle == null ) {
-            throw new FactException("Modify error: handle not found for object: "+object+". Is it in the working memory?");
+            throw new FactException("Update error: handle not found for object: "+object+". Is it in the working memory?");
         }
-        // only modify if this fact exists in the wm
-        this.workingMemory.modifyObject( handle,
+        // only update if this fact exists in the wm
+        this.workingMemory.update( handle,
                                          object,
                                          this.rule,
                                          this.activation );
     }
 
-    public void retractObject(final FactHandle handle) throws FactException {
-        this.workingMemory.retractObject( handle,
+    public void retract(final FactHandle handle) throws FactException {
+        this.workingMemory.retract( handle,
                                           true,
                                           true,
                                           this.rule,
                                           this.activation );
     }
 
-    public void retractObject(final Object object) throws FactException {
+    public void retract(final Object object) throws FactException {
         FactHandle handle = this.workingMemory.getFactHandle( object );
         if( handle == null ) {
             throw new FactException("Retract error: handle not found for object: "+object+". Is it in the working memory?");
         }
-        this.workingMemory.retractObject( handle,
+        this.workingMemory.retract( handle,
                                           true,
                                           true,
                                           this.rule,
@@ -135,22 +128,22 @@
         return this.rule;
     }
 
-    public List getObjects() {
-        return null; //this.workingMemory.getObjects();
-    }
+//    public List getObjects() {
+//        return null; //this.workingMemory.getObjects();
+//    }
+//
+//    public List getObjects(final Class objectClass) {
+//        return null; //this.workingMemory.getObjects( objectClass );
+//    }
+//
+//    public void clearAgenda() {
+//        this.workingMemory.clearAgenda();
+//    }
+//
+//    public void clearAgendaGroup(final String group) {
+//        this.workingMemory.clearAgendaGroup( group );
+//    }
 
-    public List getObjects(final Class objectClass) {
-        return null; //this.workingMemory.getObjects( objectClass );
-    }
-
-    public void clearAgenda() {
-        this.workingMemory.clearAgenda();
-    }
-
-    public void clearAgendaGroup(final String group) {
-        this.workingMemory.clearAgendaGroup( group );
-    }
-
     public Object get(final Declaration declaration) {
         return declaration.getValue( this.tuple.get( declaration ).getObject() );
     }
@@ -167,22 +160,22 @@
         return this.activation;
     }
 
-    public QueryResults getQueryResults(final String query) {
-        return this.workingMemory.getQueryResults( query );
-    }
-
-    public AgendaGroup getFocus() {
-        return this.workingMemory.getFocus();
-    }
-
+//    public QueryResults getQueryResults(final String query) {
+//        return this.workingMemory.getQueryResults( query );
+//    }
+//
+//    public AgendaGroup getFocus() {
+//        return this.workingMemory.getFocus();
+//    }
+//
     public void setFocus(final String focus) {
         this.workingMemory.setFocus( focus );
     }
+//
+//    public void setFocus(final AgendaGroup focus) {
+//        this.workingMemory.setFocus( focus );
+//    }
 
-    public void setFocus(final AgendaGroup focus) {
-        this.workingMemory.setFocus( focus );
-    }
-
     public Declaration getDeclaration(final String identifier) {
         return (Declaration) this.subrule.getOuterDeclarations().get( identifier );
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DelegateJavaFactHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DelegateJavaFactHandler.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DelegateJavaFactHandler.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -38,7 +38,7 @@
             position = this.entries.length;
         }
 
-        final FactHandle handle = workingMemory.assertObject( this );
+        final FactHandle handle = workingMemory.insert( this );
 
         newEntries[position] = new JavaFactRegistryEntry( workingMemory,
                                                           handle );
@@ -51,7 +51,7 @@
         for ( int i = 0, length = this.entries.length; i < length; i++ ) {
             final WorkingMemory workingMemory = this.entries[i].getWorkingMemory();
             final FactHandle handle = this.entries[i].getFactHandle();
-            workingMemory.retractObject( handle );
+            workingMemory.retract( handle );
         }
 
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/MVELClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/MVELClassFieldExtractor.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/MVELClassFieldExtractor.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -22,6 +22,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.ValueType;
 import org.drools.spi.Extractor;
@@ -59,7 +60,7 @@
         for( Iterator it = inputs.iterator(); it.hasNext(); ) {
             String basefield = (String) it.next();
             
-            Extractor extr = ClassFieldExtractorFactory.getClassFieldExtractor( clazz, basefield );
+            Extractor extr = ClassFieldExtractorCache.getExtractor(  clazz, basefield );
             this.extractors.put( basefield, extr );
         }
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -422,7 +422,7 @@
      * fact and allow any rules to fire to handle "otherwise" cases.
      */
     private void doOtherwise(final AgendaFilter agendaFilter) {
-        final FactHandle handle = this.assertObject( new Otherwise() );
+        final FactHandle handle = this.insert( new Otherwise() );
         if ( !this.actionQueue.isEmpty() ) {
             executeQueuedActions();
         }
@@ -431,7 +431,7 @@
             ;
         }
 
-        this.retractObject( handle );
+        this.retract( handle );
     }
 
     //
@@ -580,8 +580,8 @@
     /**
      * @see WorkingMemory
      */
-    public FactHandle assertObject(final Object object) throws FactException {
-        return assertObject( object, /* Not-Dynamic */
+    public FactHandle insert(final Object object) throws FactException {
+        return insert( object, /* Not-Dynamic */
                              false,
                              false,
                              null,
@@ -591,33 +591,33 @@
     /**
      * @see WorkingMemory
      */
-    public FactHandle assertLogicalObject(final Object object) throws FactException {
-        return assertObject( object, /* Not-Dynamic */
+    public FactHandle insertLogical(final Object object) throws FactException {
+        return insert( object, /* Not-Dynamic */
                              false,
                              true,
                              null,
                              null );
     }
 
-    public FactHandle assertObject(final Object object,
+    public FactHandle insert(final Object object,
                                    final boolean dynamic) throws FactException {
-        return assertObject( object,
+        return insert( object,
                              dynamic,
                              false,
                              null,
                              null );
     }
 
-    public FactHandle assertLogicalObject(final Object object,
+    public FactHandle insertLogical(final Object object,
                                           final boolean dynamic) throws FactException {
-        return assertObject( object,
+        return insert( object,
                              dynamic,
                              true,
                              null,
                              null );
     }
 
-    public FactHandle assertObject(final Object object,
+    public FactHandle insert(final Object object,
                                    final boolean dynamic,
                                    boolean logical,
                                    final Rule rule,
@@ -769,11 +769,11 @@
                                                                                       this.agenda.getActiveActivations(),
                                                                                       this.agenda.getDormantActivations() );
 
-            doAssertObject( handle,
+            doInsert( handle,
                             object,
                             propagationContext );
 
-            this.workingMemoryEventSupport.fireObjectAsserted( propagationContext,
+            this.workingMemoryEventSupport.fireObjectInserted( propagationContext,
                                                                handle,
                                                                object );
 
@@ -809,7 +809,7 @@
         }
     }
 
-    public abstract void doAssertObject(InternalFactHandle factHandle,
+    public abstract void doInsert(InternalFactHandle factHandle,
                                         Object object,
                                         PropagationContext propagationContext) throws FactException;
 
@@ -844,8 +844,8 @@
         }
     }
 
-    public void retractObject(final FactHandle handle) throws FactException {
-        retractObject( handle,
+    public void retract(final FactHandle handle) throws FactException {
+        retract( handle,
                        true,
                        true,
                        null,
@@ -858,7 +858,7 @@
     /**
      * @see WorkingMemory
      */
-    public void retractObject(final FactHandle factHandle,
+    public void retract(final FactHandle factHandle,
                               final boolean removeLogical,
                               final boolean updateEqualsMap,
                               final Rule rule,
@@ -960,7 +960,7 @@
         }
     }
 
-    public void modifyAssert(final FactHandle factHandle,
+    public void modifyInsert(final FactHandle factHandle,
                              final Object object,
                              final Rule rule,
                              final Activation activation) {
@@ -994,11 +994,11 @@
                                                                                       this.agenda.getActiveActivations(),
                                                                                       this.agenda.getDormantActivations() );
 
-            doAssertObject( handle,
+            doInsert( handle,
                             object,
                             propagationContext );
 
-            this.workingMemoryEventSupport.fireObjectModified( propagationContext,
+            this.workingMemoryEventSupport.fireObjectUpdated( propagationContext,
                                                                factHandle,
                                                                originalObject,
                                                                object );
@@ -1013,9 +1013,9 @@
         }
     }
 
-    public void modifyObject(final FactHandle handle,
+    public void update(final FactHandle handle,
                              final Object object) throws FactException {
-        modifyObject( handle,
+        update( handle,
                       object,
                       null,
                       null );
@@ -1027,7 +1027,7 @@
      * 
      * @see WorkingMemory
      */
-    public void modifyObject(final FactHandle factHandle,
+    public void update(final FactHandle factHandle,
                              final Object object,
                              final Rule rule,
                              final Activation activation) throws FactException {
@@ -1095,11 +1095,11 @@
 
             this.handleFactory.increaseFactHandleRecency( handle );
 
-            doAssertObject( handle,
+            doInsert( handle,
                             object,
                             propagationContext );
 
-            this.workingMemoryEventSupport.fireObjectModified( propagationContext,
+            this.workingMemoryEventSupport.fireObjectUpdated( propagationContext,
                                                                factHandle,
                                                                originalObject,
                                                                object );
@@ -1199,7 +1199,7 @@
         final Object object = event.getSource();
 
         try {
-            modifyObject( getFactHandle( object ),
+            update( getFactHandle( object ),
                           object );
         } catch ( final NoSuchFactHandleException e ) {
             // Not a fact so unable to process the chnage event

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -46,7 +46,7 @@
  * </p>
  * 
  * <p>
- * While processing a scheduled action, it may modify or retract objects in
+ * While processing a scheduled action, it may update or retract objects in
  * other scheduled actions, which must then be removed from the agenda.
  * Non-invalidated actions are left on the agenda, and are executed in turn.
  * </p>

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -35,7 +35,7 @@
                                           final PropagationContext context,
                                           final Rule rule) throws FactException;
     
-    void retractObject(final FactHandle factHandle,
+    void retract(final FactHandle factHandle,
                        final boolean removeLogical,
                        final boolean updateEqualsMap,
                        final Rule rule,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryActions.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryActions.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryActions.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -24,23 +24,23 @@
 public interface InternalWorkingMemoryActions
     extends
     InternalWorkingMemory {
-    public void modifyObject(FactHandle handle,
+    public void update(FactHandle handle,
                              Object object,
                              Rule rule,
                              Activation activation) throws FactException;
 
-    public void retractObject(FactHandle handle,
+    public void retract(FactHandle handle,
                               boolean removeLogical,
                               boolean updateEqualsMap,
                               Rule rule,
                               Activation activation) throws FactException;
 
-    FactHandle assertObject(Object object,
+    FactHandle insert(Object object,
                             boolean dynamic,
                             boolean logical,
                             Rule rule,
                             Activation activation) throws FactException;
 
-    public FactHandle assertLogicalObject(Object object,
+    public FactHandle insertLogical(Object object,
                                           boolean dynamic) throws FactException;
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TruthMaintenanceSystem.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TruthMaintenanceSystem.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TruthMaintenanceSystem.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -147,7 +147,7 @@
                     this.tms.getJustifiedMap().remove( handle.getId() );
                     // this needs to be scheduled so we don't upset the current
                     // working memory operation
-                    workingMemory.retractObject( this.handle,
+                    workingMemory.retract( this.handle,
                                                  false,
                                                  true,
                                                  context.getRuleOrigin(),
@@ -200,7 +200,7 @@
         Set set = (Set) this.justifiedMap.get( handle.getId() );
         if ( set == null ) {
             if ( context.getType() == PropagationContext.MODIFICATION ) {
-                // if this was a  modify, chances  are its trying  to retract a logical assertion
+                // if this was a  update, chances  are its trying  to retract a logical assertion
             }
             set = new HashSet();
             this.justifiedMap.put( handle.getId(),

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/AssertObject.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/AssertObject.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/AssertObject.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -17,7 +17,7 @@
     }
 
     public void execute(final WorkingMemory workingMemory) {
-        this.result = workingMemory.assertObject( this.object );
+        this.result = workingMemory.insert( this.object );
     }
 
     public Object getObject() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/AssertObjects.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/AssertObjects.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/AssertObjects.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -22,18 +22,18 @@
 
     public void execute(final WorkingMemory workingMemory) {
         if ( this.object instanceof Object[] ) {
-            workingMemory.assertObject( this.object );
+            workingMemory.insert( this.object );
         } else if ( this.object instanceof List ) {
             final List list = (List) this.object;
             this.results = new ArrayList( list.size() );
             for ( final Iterator it = list.iterator(); it.hasNext(); ) {
-                this.results.add( workingMemory.assertObject( it.next() ) );
+                this.results.add( workingMemory.insert( it.next() ) );
             }
         } else {
             final Object[] objects = (Object[]) this.object;
             this.results = new ArrayList( objects.length );
             for ( int i = 0, length = objects.length; i < length; i++ ) {
-                this.results.add( workingMemory.assertObject( objects[i] ) );
+                this.results.add( workingMemory.insert( objects[i] ) );
             }
         }
     }

Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/ModifyObject.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/ModifyObject.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/ModifyObject.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -1,36 +0,0 @@
-/**
- * 
- */
-package org.drools.concurrent;
-
-import org.drools.FactHandle;
-import org.drools.WorkingMemory;
-
-public class ModifyObject
-    implements
-    Command,
-    Future {
-    private FactHandle       factHandle;
-    private Object           object;
-    private volatile boolean done;
-
-    public ModifyObject(final FactHandle factHandle,
-                        final Object object) {
-        this.factHandle = factHandle;
-        this.object = object;
-    }
-
-    public void execute(final WorkingMemory workingMemory) {
-        workingMemory.modifyObject( this.factHandle,
-                                    this.object );
-        this.done = true;
-    }
-
-    public Object getObject() {
-        return null;
-    }
-
-    public boolean isDone() {
-        return this.done == true;
-    }
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/RetractObject.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/RetractObject.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/RetractObject.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -18,7 +18,7 @@
     }
 
     public void execute(final WorkingMemory workingMemory) {
-        workingMemory.retractObject( this.factHandle );
+        workingMemory.retract( this.factHandle );
         this.done = true;
 
     }

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/UpdateObject.java (from rev 12512, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/ModifyObject.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/UpdateObject.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/concurrent/UpdateObject.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -0,0 +1,36 @@
+/**
+ * 
+ */
+package org.drools.concurrent;
+
+import org.drools.FactHandle;
+import org.drools.WorkingMemory;
+
+public class UpdateObject
+    implements
+    Command,
+    Future {
+    private FactHandle       factHandle;
+    private Object           object;
+    private volatile boolean done;
+
+    public UpdateObject(final FactHandle factHandle,
+                        final Object object) {
+        this.factHandle = factHandle;
+        this.object = object;
+    }
+
+    public void execute(final WorkingMemory workingMemory) {
+        workingMemory.update( this.factHandle,
+                                    this.object );
+        this.done = true;
+    }
+
+    public Object getObject() {
+        return null;
+    }
+
+    public boolean isDone() {
+        return this.done == true;
+    }
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/DebugWorkingMemoryEventListener.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/DebugWorkingMemoryEventListener.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/DebugWorkingMemoryEventListener.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -23,11 +23,11 @@
         // intentionally left blank
     }
 
-    public void objectAsserted(final ObjectAssertedEvent event) {
+    public void objectInserted(final ObjectInsertedEvent event) {
         System.err.println( event );
     }
 
-    public void objectModified(final ObjectModifiedEvent event) {
+    public void objectUpdated(final ObjectUpdatedEvent event) {
         System.err.println( event );
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/DefaultWorkingMemoryEventListener.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/DefaultWorkingMemoryEventListener.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/DefaultWorkingMemoryEventListener.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -23,11 +23,11 @@
         // intentionally left blank
     }
 
-    public void objectAsserted(final ObjectAssertedEvent event) {
+    public void objectInserted(final ObjectInsertedEvent event) {
         // intentionally left blank
     }
 
-    public void objectModified(final ObjectModifiedEvent event) {
+    public void objectUpdated(final ObjectUpdatedEvent event) {
         // intentionally left blank
     }
 

Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectAssertedEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectAssertedEvent.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectAssertedEvent.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -1,54 +0,0 @@
-package org.drools.event;
-
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.drools.FactHandle;
-import org.drools.WorkingMemory;
-import org.drools.spi.PropagationContext;
-
-public class ObjectAssertedEvent extends WorkingMemoryEvent {
-    /**
-     * 
-     */
-    private static final long serialVersionUID = -4034827684101547060L;
-
-    private final FactHandle  handle;
-
-    private final Object      object;
-
-    public ObjectAssertedEvent(final WorkingMemory workingMemory,
-                               final PropagationContext propagationContext,
-                               final FactHandle handle,
-                               final Object object) {
-        super( workingMemory,
-               propagationContext );
-        this.handle = handle;
-        this.object = object;
-    }
-
-    public FactHandle getFactHandle() {
-        return this.handle;
-    }
-
-    public Object getObject() {
-        return this.object;
-    }
-
-    public String toString() {
-        return "[ObjectAsserted: handle=" + this.handle + "; object=" + this.object + "]";
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectInsertedEvent.java (from rev 12512, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectAssertedEvent.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectInsertedEvent.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectInsertedEvent.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -0,0 +1,54 @@
+package org.drools.event;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.drools.FactHandle;
+import org.drools.WorkingMemory;
+import org.drools.spi.PropagationContext;
+
+public class ObjectInsertedEvent extends WorkingMemoryEvent {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = -4034827684101547060L;
+
+    private final FactHandle  handle;
+
+    private final Object      object;
+
+    public ObjectInsertedEvent(final WorkingMemory workingMemory,
+                               final PropagationContext propagationContext,
+                               final FactHandle handle,
+                               final Object object) {
+        super( workingMemory,
+               propagationContext );
+        this.handle = handle;
+        this.object = object;
+    }
+
+    public FactHandle getFactHandle() {
+        return this.handle;
+    }
+
+    public Object getObject() {
+        return this.object;
+    }
+
+    public String toString() {
+        return "[ObjectInserted: handle=" + this.handle + "; object=" + this.object + "]";
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectModifiedEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectModifiedEvent.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectModifiedEvent.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -1,62 +0,0 @@
-package org.drools.event;
-
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.drools.FactHandle;
-import org.drools.WorkingMemory;
-import org.drools.spi.PropagationContext;
-
-public class ObjectModifiedEvent extends WorkingMemoryEvent {
-    /**
-     * 
-     */
-    private static final long serialVersionUID = -1114244534479330055L;
-
-    private final FactHandle  handle;
-
-    private final Object      oldObject;
-
-    private final Object      object;
-
-    public ObjectModifiedEvent(final WorkingMemory workingMemory,
-                               final PropagationContext propagationContext,
-                               final FactHandle handle,
-                               final Object oldObject,
-                               final Object object) {
-        super( workingMemory,
-               propagationContext );
-        this.handle = handle;
-        this.oldObject = oldObject;
-        this.object = object;
-    }
-
-    public FactHandle getFactHandle() {
-        return this.handle;
-    }
-
-    public Object getOldObject() {
-        return this.oldObject;
-    }
-
-    public Object getObject() {
-        return this.object;
-    }
-
-    public String toString() {
-        return "[ObjectModified: handle=" + this.handle + "; old_object=" + this.oldObject + "; new_object=" + this.object + "]";
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectUpdatedEvent.java (from rev 12512, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectModifiedEvent.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectUpdatedEvent.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ObjectUpdatedEvent.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -0,0 +1,62 @@
+package org.drools.event;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.drools.FactHandle;
+import org.drools.WorkingMemory;
+import org.drools.spi.PropagationContext;
+
+public class ObjectUpdatedEvent extends WorkingMemoryEvent {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = -1114244534479330055L;
+
+    private final FactHandle  handle;
+
+    private final Object      oldObject;
+
+    private final Object      object;
+
+    public ObjectUpdatedEvent(final WorkingMemory workingMemory,
+                               final PropagationContext propagationContext,
+                               final FactHandle handle,
+                               final Object oldObject,
+                               final Object object) {
+        super( workingMemory,
+               propagationContext );
+        this.handle = handle;
+        this.oldObject = oldObject;
+        this.object = object;
+    }
+
+    public FactHandle getFactHandle() {
+        return this.handle;
+    }
+
+    public Object getOldObject() {
+        return this.oldObject;
+    }
+
+    public Object getObject() {
+        return this.object;
+    }
+
+    public String toString() {
+        return "[ObjectUpdated: handle=" + this.handle + "; old_object=" + this.oldObject + "; new_object=" + this.object + "]";
+    }
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/WorkingMemoryEventListener.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/WorkingMemoryEventListener.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/WorkingMemoryEventListener.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -21,9 +21,9 @@
 public interface WorkingMemoryEventListener
     extends
     EventListener {
-    void objectAsserted(ObjectAssertedEvent event);
+    void objectInserted(ObjectInsertedEvent event);
 
-    void objectModified(ObjectModifiedEvent event);
+    void objectUpdated(ObjectUpdatedEvent event);
 
     void objectRetracted(ObjectRetractedEvent event);
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/WorkingMemoryEventSupport.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/WorkingMemoryEventSupport.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/WorkingMemoryEventSupport.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -64,24 +64,24 @@
         return this.listeners.isEmpty();
     }
 
-    public void fireObjectAsserted(final PropagationContext propagationContext,
+    public void fireObjectInserted(final PropagationContext propagationContext,
                                    final FactHandle handle,
                                    final Object object) {
         if ( this.listeners.isEmpty() ) {
             return;
         }
 
-        final ObjectAssertedEvent event = new ObjectAssertedEvent( this.workingMemory,
+        final ObjectInsertedEvent event = new ObjectInsertedEvent( this.workingMemory,
                                                                    propagationContext,
                                                                    handle,
                                                                    object );
 
         for ( int i = 0, size = this.listeners.size(); i < size; i++ ) {
-            ((WorkingMemoryEventListener) this.listeners.get( i )).objectAsserted( event );
+            ((WorkingMemoryEventListener) this.listeners.get( i )).objectInserted( event );
         }
     }
 
-    public void fireObjectModified(final PropagationContext propagationContext,
+    public void fireObjectUpdated(final PropagationContext propagationContext,
                                    final FactHandle handle,
                                    final Object oldObject,
                                    final Object object) {
@@ -89,14 +89,14 @@
             return;
         }
 
-        final ObjectModifiedEvent event = new ObjectModifiedEvent( this.workingMemory,
+        final ObjectUpdatedEvent event = new ObjectUpdatedEvent( this.workingMemory,
                                                                    propagationContext,
                                                                    handle,
                                                                    oldObject,
                                                                    object );
 
         for ( int i = 0, size = this.listeners.size(); i < size; i++ ) {
-            ((WorkingMemoryEventListener) this.listeners.get( i )).objectModified( event );
+            ((WorkingMemoryEventListener) this.listeners.get( i )).objectUpdated( event );
         }
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -10,7 +10,7 @@
 import org.drools.concurrent.ExecutorService;
 import org.drools.concurrent.FireAllRules;
 import org.drools.concurrent.Future;
-import org.drools.concurrent.ModifyObject;
+import org.drools.concurrent.UpdateObject;
 import org.drools.concurrent.RetractObject;
 import org.drools.spi.AgendaFilter;
 
@@ -27,29 +27,29 @@
         this.executor = executorService;
     }
 
-    public Future asyncAssertObject(final Object object) {
+    public Future asyncInsert(final Object object) {
         final AssertObject assertObject = new AssertObject( object );
         this.executor.submit( assertObject );
         return assertObject;
     }
 
-    public Future asyncRetractObject(final FactHandle factHandle) {
+    public Future asyncRetract(final FactHandle factHandle) {
         return this.executor.submit( new RetractObject( factHandle ) );
     }
 
-    public Future asyncModifyObject(final FactHandle factHandle,
+    public Future asyncUpdate(final FactHandle factHandle,
                                     final Object object) {
-        return this.executor.submit( new ModifyObject( factHandle,
+        return this.executor.submit( new UpdateObject( factHandle,
                                                        object ) );
     }
 
-    public Future asyncAssertObjects(final Object[] list) {
+    public Future asyncInsert(final Object[] list) {
         final AssertObjects assertObjects = new AssertObjects( list );
         this.executor.submit( assertObjects );
         return assertObjects;
     }
 
-    public Future asyncAssertObjects(final List list) {
+    public Future asyncInsert(final List list) {
         final AssertObjects assertObjects = new AssertObjects( list );
         this.executor.submit( assertObjects );
         return assertObjects;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -54,20 +54,20 @@
     }
 
     public void execute(Object object) {
-        this.workingMemory.assertObject( object );
+        this.workingMemory.insert( object );
         this.workingMemory.fireAllRules( this.agendaFilter );
     }
 
     public void execute(Object[] list) {
         for ( int i = 0, length = list.length; i < length; i++ ) {
-            this.workingMemory.assertObject( list[i] );
+            this.workingMemory.insert( list[i] );
         }
         this.workingMemory.fireAllRules( this.agendaFilter );
     }
 
     public void execute(List list) {
         for( Iterator it = list.iterator(); it.hasNext(); ) {
-            this.workingMemory.assertObject( it.next() );
+            this.workingMemory.insert( it.next() );
         }
         this.workingMemory.fireAllRules( this.agendaFilter );
     }
@@ -91,14 +91,14 @@
     }         
     
     public StatelessSessionResult executeWithResults(Object object) {
-        this.workingMemory.assertObject( object );
+        this.workingMemory.insert( object );
         this.workingMemory.fireAllRules( this.agendaFilter );
         return new ReteStatelessSessionResult( this.workingMemory );
     }
 
     public StatelessSessionResult executeWithResults(Object[] list) {
         for ( int i = 0, length = list.length; i < length; i++ ) {
-            this.workingMemory.assertObject( list[i] );
+            this.workingMemory.insert( list[i] );
         }
         this.workingMemory.fireAllRules( this.agendaFilter );
         return new ReteStatelessSessionResult( this.workingMemory );
@@ -106,7 +106,7 @@
 
     public StatelessSessionResult executeWithResults(List list) {
         for( Iterator it = list.iterator(); it.hasNext(); ) {
-            this.workingMemory.assertObject( it.next() );
+            this.workingMemory.insert( it.next() );
         }
         this.workingMemory.fireAllRules( this.agendaFilter );
         return new ReteStatelessSessionResult( this.workingMemory );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -64,7 +64,7 @@
         this.agenda = new DefaultAgenda( this );
     }
 
-    public void doAssertObject(final InternalFactHandle handle,
+    public void doInsert(final InternalFactHandle handle,
                                final Object object,
                                final PropagationContext propagationContext) throws FactException {
         this.ruleBase.assertObject( handle,
@@ -84,7 +84,7 @@
         return getQueryResults( query, null );
     }
     public QueryResults getQueryResults(final String query, final Object[] arguments) {
-        final FactHandle handle = assertObject( new DroolsQuery( query, arguments ) );
+        final FactHandle handle = insert( new DroolsQuery( query, arguments ) );
         final QueryTerminalNode node = (QueryTerminalNode) this.queryResults.remove( query );
         Query queryObj = null;
         List list = null;
@@ -99,7 +99,7 @@
                     break;
                 }
             }
-            retractObject( handle );
+            retract( handle );
             if ( queryObj == null ) {
                 throw new IllegalArgumentException( "Query '" + query + "' does not exist" );
             }
@@ -107,7 +107,7 @@
         } else {
             list = (List) this.nodeMemories.remove( node.getId() );
 
-            retractObject( handle );
+            retract( handle );
             if ( list == null ) {
                 list = Collections.EMPTY_LIST;
             }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Activation.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Activation.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Activation.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -29,7 +29,7 @@
  * When a <code>Tuple</code> fully matches a rule it is added to the <code>Agenda</code>
  * As an <code>Activation</code>. Each <code>Activation</code> is assigned a number, this 
  * number is determined by the <code>WorkingMemory</code> all <code>Activations</code> created 
- * from a single assert, modify, retract are assgigned the same Activation number.
+ * from a single insert, update, retract are assgigned the same Activation number.
  * 
  * @author <a href="mailto:mark.proctor at jboss.com">Mark Proctor</a>
  * @author <a href="mailto:bob at werken.com">Bob McWhirter</a>

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -31,7 +31,7 @@
  * instrumented at compile time and instances passed at runtime. It provides
  * convenience methods for users to interact with the WorkingMemory.
  * <p>
- * Of particular interest is the modifyObject method as it allows an object to
+ * Of particular interest is the update method as it allows an object to
  * be modified without having to specify the facthandle, because they are not
  * passed to the consequence at runtime. To achieve this the implementation will
  * need to lookup the fact handle of the object form the WorkingMemory.
@@ -51,7 +51,7 @@
      *             Exceptions can be thrown by conditions which are wrapped and
      *             returned as a FactException
      */
-    void assertObject(Object object) throws FactException;
+    void insert(Object object) throws FactException;
 
     /**
      * Asserts an object specifying that it implement the onPropertyChange
@@ -65,22 +65,22 @@
      *             Exceptions can be thrown by conditions which are wrapped and
      *             returned as a FactException
      */
-    void assertObject(Object object,
+    void insert(Object object,
                       boolean dynamic) throws FactException;
 
-    public void assertLogicalObject(Object object) throws FactException;
+    public void insertLogical(Object object) throws FactException;
 
-    public void assertLogicalObject(Object object,
+    public void insertLogical(Object object,
                                     boolean dynamic) throws FactException;
 
-    void modifyObject(FactHandle handle,
+    void update(FactHandle handle,
                       Object newObject) throws FactException;
 
-    void modifyObject( Object newObject ) throws FactException;
+    void update( Object newObject ) throws FactException;
 
-    void retractObject(FactHandle handle) throws FactException;
+    void retract(FactHandle handle) throws FactException;
 
-    void retractObject(Object object) throws FactException;
+    void retract(Object object) throws FactException;
     
     public Object get(Declaration declaration);
 
@@ -95,35 +95,35 @@
 
     WorkingMemory getWorkingMemory();
 
-    /** @return - A List of the objects in the WorkingMemory */
-    List getObjects();
-
-    /**
-     * Retruns a List of Objects that match the given Class in the paremeter.
-     * 
-     * @param objectClass -
-     *            The Class to filter by
-     * @return - All the Objects in the WorkingMemory that match the given Class
-     *         filter
-     */
-    List getObjects(Class objectClass);
-
-    QueryResults getQueryResults(String query);
-
-    /**
-     * Clears the agenda causing all existing Activations to fire
-     * ActivationCancelled events. <br>
-     */
-    void clearAgenda();
-
-    void clearAgendaGroup(String group);
-
-    public AgendaGroup getFocus();
-
+//    /** @return - A List of the objects in the WorkingMemory */
+//    List getObjects();
+//
+//    /**
+//     * Retruns a List of Objects that match the given Class in the paremeter.
+//     * 
+//     * @param objectClass -
+//     *            The Class to filter by
+//     * @return - All the Objects in the WorkingMemory that match the given Class
+//     *         filter
+//     */
+//    List getObjects(Class objectClass);
+//
+//    QueryResults getQueryResults(String query);
+//
+//    /**
+//     * Clears the agenda causing all existing Activations to fire
+//     * ActivationCancelled events. <br>
+//     */
+//    void clearAgenda();
+//
+//    void clearAgendaGroup(String group);
+//
+//    public AgendaGroup getFocus();
+//
     void setFocus(String focus);
+//
+//    void setFocus(AgendaGroup focus);
 
-    void setFocus(AgendaGroup focus);
-
     public Declaration getDeclaration(String identifier);
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/TestWorkingMemoryEventListener.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/TestWorkingMemoryEventListener.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/TestWorkingMemoryEventListener.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -21,8 +21,8 @@
 import org.drools.event.ActivationCancelledEvent;
 import org.drools.event.ActivationCreatedEvent;
 import org.drools.event.AfterActivationFiredEvent;
-import org.drools.event.ObjectAssertedEvent;
-import org.drools.event.ObjectModifiedEvent;
+import org.drools.event.ObjectInsertedEvent;
+import org.drools.event.ObjectUpdatedEvent;
 import org.drools.event.ObjectRetractedEvent;
 import org.drools.event.WorkingMemoryEventListener;
 
@@ -47,11 +47,11 @@
         // intentionally left blank
     }
 
-    public void objectAsserted(final ObjectAssertedEvent event) {
+    public void objectInserted(final ObjectInsertedEvent event) {
         this.asserted++;
     }
 
-    public void objectModified(final ObjectModifiedEvent event) {
+    public void objectUpdated(final ObjectUpdatedEvent event) {
         this.modified++;
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/BaseClassFieldExtractorFactoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/BaseClassFieldExtractorFactoryTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/BaseClassFieldExtractorFactoryTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -44,8 +44,8 @@
     }
 
     public void testInterface() throws Exception {
-        final FieldExtractor ex = ClassFieldExtractorFactory.getClassFieldExtractor( TestInterface.class,
-                                                                                     "something" );
+        final FieldExtractor ex = ClassFieldExtractorCache.getExtractor( TestInterface.class,
+                                                                         "something" );
         assertEquals( 0,
                       ex.getIndex() );
         assertEquals( "foo",
@@ -53,8 +53,8 @@
     }
 
     public void testAbstract() throws Exception {
-        final FieldExtractor ex = ClassFieldExtractorFactory.getClassFieldExtractor( TestAbstract.class,
-                                                                                     "something" );
+        final FieldExtractor ex = ClassFieldExtractorCache.getExtractor( TestAbstract.class,
+                                                                         "something" );
         assertEquals( 0,
                       ex.getIndex() );
         assertEquals( "foo",
@@ -62,15 +62,15 @@
     }
 
     public void testInherited() throws Exception {
-        final FieldExtractor ex = ClassFieldExtractorFactory.getClassFieldExtractor( BeanInherit.class,
-                                                                                     "text" );
+        final FieldExtractor ex = ClassFieldExtractorCache.getExtractor( BeanInherit.class,
+                                                                         "text" );
         assertEquals( "hola",
                       ex.getValue( new BeanInherit() ) );
     }
 
     public void testSelfReference() throws Exception {
-        final FieldExtractor ex = ClassFieldExtractorFactory.getClassFieldExtractor( BeanInherit.class,
-                                                                                     "this" );
+        final FieldExtractor ex = ClassFieldExtractorCache.getExtractor( BeanInherit.class,
+                                                                         "this" );
         final TestBean bean = new TestBean();
         assertEquals( bean,
                       ex.getValue( bean ) );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/ClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/ClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/ClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -36,18 +36,18 @@
         obj.setSomething( "no" );
         obj.setObjArray( objArray );
 
-        final ClassFieldExtractor ext = new ClassFieldExtractor( TestBean.class,
-                                                                 "blah" );
+        final ClassFieldExtractor ext = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                               "blah" );
         assertEquals( false,
                       ((Boolean) ext.getValue( obj )).booleanValue() );
 
-        final ClassFieldExtractor ext2 = new ClassFieldExtractor( TestBean.class,
-                                                                  "fooBar" );
+        final ClassFieldExtractor ext2 = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                                "fooBar" );
         assertEquals( "fooBar",
                       ext2.getValue( obj ) );
 
-        final ClassFieldExtractor ext3 = new ClassFieldExtractor( TestBean.class,
-                                                                  "objArray" );
+        final ClassFieldExtractor ext3 = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                                "objArray" );
         assertEquals( objArray,
                       ext3.getValue( obj ) );
 
@@ -56,8 +56,8 @@
     public void testInterface() throws Exception {
 
         final TestInterface obj = new TestInterfaceImpl();
-        final ClassFieldExtractor ext = new ClassFieldExtractor( TestInterface.class,
-                                                                 "something" );
+        final ClassFieldExtractor ext = ClassFieldExtractorCache.getExtractor( TestInterface.class,
+                                                                               "something" );
 
         assertEquals( "foo",
                       (String) ext.getValue( obj ) );
@@ -66,8 +66,8 @@
 
     public void testAbstract() throws Exception {
 
-        final ClassFieldExtractor ext = new ClassFieldExtractor( TestAbstract.class,
-                                                                 "something" );
+        final ClassFieldExtractor ext = ClassFieldExtractorCache.getExtractor( TestAbstract.class,
+                                                                               "something" );
         final TestAbstract obj = new TestAbstractImpl();
         assertEquals( "foo",
                       (String) ext.getValue( obj ) );
@@ -75,8 +75,8 @@
     }
 
     public void testInherited() throws Exception {
-        final ClassFieldExtractor ext = new ClassFieldExtractor( BeanInherit.class,
-                                                                 "text" );
+        final ClassFieldExtractor ext = ClassFieldExtractorCache.getExtractor( BeanInherit.class,
+                                                                               "text" );
         final BeanInherit obj = new BeanInherit();
         assertEquals( "hola",
                       (String) ext.getValue( obj ) );
@@ -85,15 +85,15 @@
 
     public void testMultipleInterfaces() throws Exception {
         final ConcreteChild obj = new ConcreteChild();
-        final ClassFieldExtractor ext = new ClassFieldExtractor( InterfaceChild.class,
-                                                                 "foo" );
+        final ClassFieldExtractor ext = ClassFieldExtractorCache.getExtractor( InterfaceChild.class,
+                                                                               "foo" );
         assertEquals( 42,
                       ((Number) ext.getValue( obj )).intValue() );
     }
 
     public void testLong() throws Exception {
-        final ClassFieldExtractor ext = new ClassFieldExtractor( TestBean.class,
-                                                                 "longField" );
+        final ClassFieldExtractor ext = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                               "longField" );
         final TestBean bean = new TestBean();
         assertEquals( 424242,
                       ((Number) ext.getValue( bean )).longValue() );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/BooleanClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/BooleanClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/BooleanClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -2,13 +2,14 @@
 
 import junit.framework.Assert;
 
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.TestBean;
 import org.drools.spi.Extractor;
 
 public class BooleanClassFieldExtractorTest extends BaseClassFieldExtractorsTest {
-    Extractor extractor = ClassFieldExtractorFactory.getClassFieldExtractor( TestBean.class,
-                                                                             "booleanAttr" );
+    Extractor extractor = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                 "booleanAttr" );
     TestBean  bean      = new TestBean();
 
     protected void setUp() throws Exception {

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ByteClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ByteClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ByteClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -2,13 +2,14 @@
 
 import junit.framework.Assert;
 
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.TestBean;
 import org.drools.spi.Extractor;
 
 public class ByteClassFieldExtractorTest extends BaseClassFieldExtractorsTest {
-    Extractor extractor = ClassFieldExtractorFactory.getClassFieldExtractor( TestBean.class,
-                                                                             "byteAttr" );
+    Extractor extractor = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                 "byteAttr" );
     TestBean  bean      = new TestBean();
 
     protected void setUp() throws Exception {

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/CharClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/CharClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/CharClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -2,13 +2,14 @@
 
 import junit.framework.Assert;
 
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.TestBean;
 import org.drools.spi.Extractor;
 
 public class CharClassFieldExtractorTest extends BaseClassFieldExtractorsTest {
-    Extractor extractor = ClassFieldExtractorFactory.getClassFieldExtractor( TestBean.class,
-                                                                             "charAttr" );
+    Extractor extractor = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                 "charAttr" );
     TestBean  bean      = new TestBean();
 
     protected void setUp() throws Exception {

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/DoubleClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/DoubleClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/DoubleClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -2,6 +2,7 @@
 
 import junit.framework.Assert;
 
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.TestBean;
 import org.drools.spi.Extractor;
@@ -9,8 +10,8 @@
 public class DoubleClassFieldExtractorTest extends BaseClassFieldExtractorsTest {
     private static final double VALUE     = 7;
 
-    Extractor                   extractor = ClassFieldExtractorFactory.getClassFieldExtractor( TestBean.class,
-                                                                                               "doubleAttr" );
+    Extractor                   extractor = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                                   "doubleAttr" );
     TestBean                    bean      = new TestBean();
 
     protected void setUp() throws Exception {

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/FloatClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/FloatClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/FloatClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -2,6 +2,7 @@
 
 import junit.framework.Assert;
 
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.TestBean;
 import org.drools.spi.Extractor;
@@ -9,8 +10,8 @@
 public class FloatClassFieldExtractorTest extends BaseClassFieldExtractorsTest {
     private static final float VALUE     = 6;
 
-    Extractor                  extractor = ClassFieldExtractorFactory.getClassFieldExtractor( TestBean.class,
-                                                                                              "floatAttr" );
+    Extractor                  extractor = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                                  "floatAttr" );
     TestBean                   bean      = new TestBean();
 
     protected void setUp() throws Exception {

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/IntClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/IntClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/IntClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -2,6 +2,7 @@
 
 import junit.framework.Assert;
 
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.TestBean;
 import org.drools.spi.Extractor;
@@ -9,8 +10,8 @@
 public class IntClassFieldExtractorTest extends BaseClassFieldExtractorsTest {
     private static final int VALUE     = 4;
 
-    Extractor                extractor = ClassFieldExtractorFactory.getClassFieldExtractor( TestBean.class,
-                                                                                            "intAttr" );
+    Extractor                extractor = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                                "intAttr" );
     TestBean                 bean      = new TestBean();
 
     protected void setUp() throws Exception {

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/LongClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/LongClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/LongClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -2,6 +2,7 @@
 
 import junit.framework.Assert;
 
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.TestBean;
 import org.drools.spi.Extractor;
@@ -9,8 +10,8 @@
 public class LongClassFieldExtractorTest extends BaseClassFieldExtractorsTest {
     private static final long VALUE     = 5;
 
-    Extractor                 extractor = ClassFieldExtractorFactory.getClassFieldExtractor( TestBean.class,
-                                                                                             "longAttr" );
+    Extractor                 extractor = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                                 "longAttr" );
     TestBean                  bean      = new TestBean();
 
     protected void setUp() throws Exception {

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/MVELClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/MVELClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/MVELClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -5,13 +5,14 @@
 
 import org.drools.Address;
 import org.drools.Person;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.spi.Extractor;
 
 public class MVELClassFieldExtractorTest extends TestCase {
 
-    Extractor extractor = ClassFieldExtractorFactory.getClassFieldExtractor( Person.class,
-                                                                             "addresses['home'].street" );
+    Extractor extractor = ClassFieldExtractorCache.getExtractor( Person.class,
+                                                                 "addresses['home'].street" );
     Person  person      = null;
 
     protected void setUp() throws Exception {
@@ -109,8 +110,8 @@
         try {
             Assert.assertFalse( this.extractor.isNullValue( this.person ) );
 
-            Extractor nullExtractor = ClassFieldExtractorFactory.getClassFieldExtractor( Person.class,
-                                                                                         "addresses['business'].phone" );
+            Extractor nullExtractor = ClassFieldExtractorCache.getExtractor( Person.class,
+                                                                             "addresses['business'].phone" );
             Assert.assertTrue( nullExtractor.isNullValue( this.person ) );
         } catch ( final Exception e ) {
             fail( "Should not throw an exception" );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ObjectClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ObjectClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ObjectClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -5,13 +5,15 @@
 
 import junit.framework.Assert;
 
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.TestBean;
 import org.drools.spi.Extractor;
 
 public class ObjectClassFieldExtractorTest extends BaseClassFieldExtractorsTest {
-    Extractor extractor = ClassFieldExtractorFactory.getClassFieldExtractor( TestBean.class,
-                                                                             "listAttr" );
+
+    Extractor extractor = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                 "listAttr" );
     TestBean  bean      = new TestBean();
 
     protected void setUp() throws Exception {
@@ -99,13 +101,13 @@
             fail( "Should not throw an exception" );
         }
     }
-    
+
     public void testIsNullValue() {
         try {
             Assert.assertFalse( this.extractor.isNullValue( this.bean ) );
-            
-            Extractor nullExtractor = ClassFieldExtractorFactory.getClassFieldExtractor( TestBean.class,
-                                                                                         "nullAttr" );
+
+            Extractor nullExtractor = ClassFieldExtractorCache.getExtractor(  TestBean.class,
+                                                                              "nullAttr" );
             Assert.assertTrue( nullExtractor.isNullValue( this.bean ) );
         } catch ( final Exception e ) {
             fail( "Should not throw an exception" );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ShortClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ShortClassFieldExtractorTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/extractors/ShortClassFieldExtractorTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -2,6 +2,7 @@
 
 import junit.framework.Assert;
 
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.TestBean;
 import org.drools.spi.Extractor;
@@ -9,8 +10,8 @@
 public class ShortClassFieldExtractorTest extends BaseClassFieldExtractorsTest {
     private static final short VALUE     = 3;
 
-    Extractor                  extractor = ClassFieldExtractorFactory.getClassFieldExtractor( TestBean.class,
-                                                                                              "shortAttr" );
+    Extractor                  extractor = ClassFieldExtractorCache.getExtractor( TestBean.class,
+                                                                                  "shortAttr" );
     TestBean                   bean      = new TestBean();
 
     protected void setUp() throws Exception {

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/common/QuadroupleBetaConstraintsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/common/QuadroupleBetaConstraintsTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/common/QuadroupleBetaConstraintsTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -5,6 +5,7 @@
 
 import org.drools.Person;
 import org.drools.RuleBaseConfiguration;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassFieldExtractorFactory;
 import org.drools.base.ClassObjectType;
 import org.drools.base.evaluators.Operator;
@@ -48,12 +49,12 @@
 
     private BetaNodeFieldConstraint getConstraint(String fieldName,
                                                   Class clazz) {
-        FieldExtractor extractor = ClassFieldExtractorFactory.getClassFieldExtractor( clazz,
-                                                                                      fieldName );
+        FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( clazz,
+                                                                          fieldName );
         Declaration declaration = new Declaration( fieldName,
                                                    extractor,
                                                    new Pattern( 0,
-                                                               new ClassObjectType( clazz ) ) );
+                                                                new ClassObjectType( clazz ) ) );
         Evaluator evaluator = StringFactory.getInstance().getEvaluator( Operator.EQUAL );
         return new VariableConstraint( extractor,
                                        declaration,
@@ -74,8 +75,8 @@
         try {
             QuadroupleBetaConstraints qbc = new QuadroupleBetaConstraints( constraints,
                                                                            conf );
-        } catch (Exception e) {
-            fail( "Should not raise any exception: "+e.getMessage());
+        } catch ( Exception e ) {
+            fail( "Should not raise any exception: " + e.getMessage() );
         }
 
     }

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -26,6 +26,7 @@
 import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassObjectType;
 import org.drools.base.FieldFactory;
 import org.drools.base.ShadowProxy;
@@ -61,8 +62,8 @@
         final Pattern pattern = new Pattern( 0,
                                     cheeseObjectType );
 
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                 "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
@@ -123,7 +124,7 @@
         // assert the cheese fact
         final Cheese cheddar = new Cheese( "cheddar",
                                      15 );
-        FactHandle cheddarHandle = wm.assertObject( cheddar );
+        FactHandle cheddarHandle = wm.insert( cheddar );
 
         // should be one ActivationCreatedEvent
         assertEquals( 1,
@@ -133,9 +134,9 @@
                     unwrapShadow( createdEvent.getActivation().getTuple().get( 0 ).getObject() ) );
         agendaList.clear();
 
-        // modify results in a ActivationCancelledEvent and an ActivationCreatedEvent, note the object is always resolvable        
+        // update results in a ActivationCancelledEvent and an ActivationCreatedEvent, note the object is always resolvable        
         cheddar.setPrice( 14 );
-        wm.modifyObject( cheddarHandle,
+        wm.update( cheddarHandle,
                          cheddar );
         assertEquals( 2,
                       agendaList.size() );
@@ -148,14 +149,14 @@
         agendaList.clear();
 
         // retract results in a ActivationCancelledEvent, noe the object is not resolveable now as it no longer exists
-        wm.retractObject( cheddarHandle );
+        wm.retract( cheddarHandle );
         assertEquals( 1,
                       agendaList.size() );
         cancelledEvent = (ActivationCancelledEvent) agendaList.get( 0 );
         assertNull( cancelledEvent.getActivation().getTuple().get( 0 ).getObject() );
 
         // re-assert the fact so we can test the agenda group events
-        cheddarHandle = wm.assertObject( cheddar );
+        cheddarHandle = wm.insert( cheddar );
         agendaList.clear();
 
         // setFocus results in an AgendaGroupPushedEvent

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/WorkingMemoryEventSupportTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/WorkingMemoryEventSupportTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/WorkingMemoryEventSupportTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -43,11 +43,11 @@
         final List wmList = new ArrayList();
         final WorkingMemoryEventListener workingMemoryListener = new WorkingMemoryEventListener() {
 
-            public void objectAsserted(ObjectAssertedEvent event) {
+            public void objectInserted(ObjectInsertedEvent event) {
                 wmList.add( event );
             }
 
-            public void objectModified(ObjectModifiedEvent event) {
+            public void objectUpdated(ObjectUpdatedEvent event) {
                 wmList.add( event );
             }
 
@@ -64,23 +64,23 @@
         final Cheese cheddar = new Cheese( "cheddar",
                                      17 );
 
-        final FactHandle stiltonHandle = wm.assertObject( stilton );
+        final FactHandle stiltonHandle = wm.insert( stilton );
 
-        final ObjectAssertedEvent oae = (ObjectAssertedEvent) wmList.get( 0 );
+        final ObjectInsertedEvent oae = (ObjectInsertedEvent) wmList.get( 0 );
         assertSame( stiltonHandle,
                     oae.getFactHandle() );
 
-        wm.modifyObject( stiltonHandle,
+        wm.update( stiltonHandle,
                          stilton );
-        final ObjectModifiedEvent ome = (ObjectModifiedEvent) wmList.get( 1 );
+        final ObjectUpdatedEvent ome = (ObjectUpdatedEvent) wmList.get( 1 );
         assertSame( stiltonHandle,
                     ome.getFactHandle() );
 
-        wm.retractObject( stiltonHandle );
+        wm.retract( stiltonHandle );
         final ObjectRetractedEvent ore = (ObjectRetractedEvent) wmList.get( 2 );
         assertSame( stiltonHandle,
                     ore.getFactHandle() );
 
-        wm.assertObject( cheddar );
+        wm.insert( cheddar );
     }
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -34,6 +34,7 @@
 
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassObjectType;
 import org.drools.base.ShadowProxyFactory;
 import org.drools.base.ValueType;
@@ -106,7 +107,7 @@
         this.countType = new ClassObjectType( Count.class );
 
         //shadow = ShadowProxyFactory.getProxy( Path.class );
-        this.pathType = new ClassObjectType( Path.class  );
+        this.pathType = new ClassObjectType( Path.class );
 
         //shadow = ShadowProxyFactory.getProxy( Chosen.class );
         this.chosenType = new ClassObjectType( Chosen.class );
@@ -165,13 +166,13 @@
         // context : Context( state == Context.START_UP )
         // -----------
         final Pattern contextPattern = new Pattern( 0,
-                                                 this.contextType,
-                                                 "context" );
+                                                    this.contextType,
+                                                    "context" );
 
         contextPattern.addConstraint( getLiteralConstraint( contextPattern,
-                                                           "state",
-                                                           Context.START_UP,
-                                                           this.integerEqualEvaluator ) );
+                                                            "state",
+                                                            Context.START_UP,
+                                                            this.integerEqualEvaluator ) );
 
         rule.addPattern( contextPattern );
 
@@ -181,8 +182,8 @@
         // guest: Guest()
         // -----------
         final Pattern guestPattern = new Pattern( 1,
-                                               this.guestType,
-                                               "guest" );
+                                                  this.guestType,
+                                                  "guest" );
 
         rule.addPattern( guestPattern );
 
@@ -192,8 +193,8 @@
         // count : Count()
         // ------------
         final Pattern countPattern = new Pattern( 2,
-                                               this.countType,
-                                               "count" );
+                                                  this.countType,
+                                                  "count" );
 
         rule.addPattern( countPattern );
 
@@ -221,21 +222,21 @@
                                                    1,
                                                    guestName );
 
-                    drools.assertObject( seating );
+                    drools.insert( seating );
 
                     Path path = new Path( count.getValue(),
                                           1,
                                           guestName );
 
-                    drools.assertObject( path );
+                    drools.insert( path );
 
                     count.setValue( count.getValue() );
-                    drools.modifyObject( tuple.get( countDeclaration ),
-                                         count );
+                    drools.update( tuple.get( countDeclaration ),
+                                   count );
 
                     context.setState( Context.ASSIGN_SEATS );
-                    drools.modifyObject( tuple.get( contextDeclaration ),
-                                         context );
+                    drools.update( tuple.get( contextDeclaration ),
+                                   context );
                     System.err.println( "assign first seat :  " + seating + " : " + path );
 
                 } catch ( Exception e ) {
@@ -298,13 +299,13 @@
         // context : Context( state == Context.ASSIGN_SEATS )
         // ---------------
         final Pattern contextPattern = new Pattern( 0,
-                                                 this.contextType,
-                                                 "context" );
+                                                    this.contextType,
+                                                    "context" );
 
         contextPattern.addConstraint( getLiteralConstraint( contextPattern,
-                                                           "state",
-                                                           Context.ASSIGN_SEATS,
-                                                           this.integerEqualEvaluator ) );
+                                                            "state",
+                                                            Context.ASSIGN_SEATS,
+                                                            this.integerEqualEvaluator ) );
 
         rule.addPattern( contextPattern );
 
@@ -315,7 +316,7 @@
         // seatingRightSeat:rightSeat seatingRightGuestName:rightGuestName )
         // -------------------------------
         final Pattern seatingPattern = new Pattern( 1,
-                                                 this.seatingType );
+                                                    this.seatingType );
 
         setFieldDeclaration( seatingPattern,
                              "id",
@@ -326,9 +327,9 @@
                              "seatingPid" );
 
         seatingPattern.addConstraint( getLiteralConstraint( seatingPattern,
-                                                           "pathDone",
-                                                           true,
-                                                           this.booleanEqualEvaluator ) );
+                                                            "pathDone",
+                                                            true,
+                                                            this.booleanEqualEvaluator ) );
 
         setFieldDeclaration( seatingPattern,
                              "rightSeat",
@@ -349,12 +350,12 @@
         // rightGuestHobby:hobby )
         // ---------------
         final Pattern rightGuestPattern = new Pattern( 2,
-                                                    this.guestType );
+                                                       this.guestType );
 
         rightGuestPattern.addConstraint( getBoundVariableConstraint( rightGuestPattern,
-                                                                    "name",
-                                                                    seatingRightGuestNameDeclaration,
-                                                                    this.objectEqualEvaluator ) );
+                                                                     "name",
+                                                                     seatingRightGuestNameDeclaration,
+                                                                     this.objectEqualEvaluator ) );
 
         setFieldDeclaration( rightGuestPattern,
                              "sex",
@@ -374,21 +375,21 @@
         // rightGuestHobby )
         // ----------------
         final Pattern leftGuestPattern = new Pattern( 3,
-                                                   this.guestType );
+                                                      this.guestType );
 
         setFieldDeclaration( leftGuestPattern,
                              "name",
                              "leftGuestName" );
 
         leftGuestPattern.addConstraint( getBoundVariableConstraint( rightGuestPattern,
-                                                                   "hobby",
-                                                                   rightGuestHobbyDeclaration,
-                                                                   this.objectEqualEvaluator ) );
+                                                                    "hobby",
+                                                                    rightGuestHobbyDeclaration,
+                                                                    this.objectEqualEvaluator ) );
 
         leftGuestPattern.addConstraint( getBoundVariableConstraint( leftGuestPattern,
-                                                                   "sex",
-                                                                   rightGuestSexDeclaration,
-                                                                   this.objectNotEqualEvaluator ) );
+                                                                    "sex",
+                                                                    rightGuestSexDeclaration,
+                                                                    this.objectNotEqualEvaluator ) );
 
         rule.addPattern( leftGuestPattern );
         final Declaration leftGuestNameDeclaration = rule.getDeclaration( "leftGuestName" );
@@ -397,8 +398,8 @@
         // count : Count()
         // ---------------
         final Pattern count = new Pattern( 4,
-                                         this.countType,
-                                         "count" );
+                                           this.countType,
+                                           "count" );
 
         rule.addPattern( count );
 
@@ -408,17 +409,17 @@
         // not ( Path( id == seatingId, guestName == leftGuestName) )
         // --------------
         final Pattern notPathPattern = new Pattern( 5,
-                                                 this.pathType );
+                                                    this.pathType );
 
         notPathPattern.addConstraint( getBoundVariableConstraint( notPathPattern,
-                                                                 "id",
-                                                                 seatingIdDeclaration,
-                                                                 this.integerEqualEvaluator ) );
+                                                                  "id",
+                                                                  seatingIdDeclaration,
+                                                                  this.integerEqualEvaluator ) );
 
         notPathPattern.addConstraint( getBoundVariableConstraint( notPathPattern,
-                                                                 "guestName",
-                                                                 leftGuestNameDeclaration,
-                                                                 this.objectEqualEvaluator ) );
+                                                                  "guestName",
+                                                                  leftGuestNameDeclaration,
+                                                                  this.objectEqualEvaluator ) );
         final GroupElement notPath = GroupElementFactory.newNotInstance();
         notPath.addChild( notPathPattern );
         rule.addPattern( notPath );
@@ -427,22 +428,22 @@
         // rightGuestHobby ) )
         // ------------
         final Pattern notChosenPattern = new Pattern( 6,
-                                                   this.chosenType );
+                                                      this.chosenType );
 
         notChosenPattern.addConstraint( getBoundVariableConstraint( notChosenPattern,
-                                                                   "id",
-                                                                   seatingIdDeclaration,
-                                                                   this.integerEqualEvaluator ) );
+                                                                    "id",
+                                                                    seatingIdDeclaration,
+                                                                    this.integerEqualEvaluator ) );
 
         notChosenPattern.addConstraint( getBoundVariableConstraint( notChosenPattern,
-                                                                   "guestName",
-                                                                   leftGuestNameDeclaration,
-                                                                   this.objectEqualEvaluator ) );
+                                                                    "guestName",
+                                                                    leftGuestNameDeclaration,
+                                                                    this.objectEqualEvaluator ) );
 
         notChosenPattern.addConstraint( getBoundVariableConstraint( notChosenPattern,
-                                                                   "hobby",
-                                                                   rightGuestHobbyDeclaration,
-                                                                   this.objectEqualEvaluator ) );
+                                                                    "hobby",
+                                                                    rightGuestHobbyDeclaration,
+                                                                    this.objectEqualEvaluator ) );
 
         final GroupElement notChosen = GroupElementFactory.newNotInstance();
         notChosen.addChild( notChosenPattern );
@@ -489,34 +490,34 @@
                                                    rightGuestName,
                                                    seatingRightSeat + 1,
                                                    leftGuestName );
-                    drools.assertObject( seating );
+                    drools.insert( seating );
 
                     Path path = new Path( count.getValue(),
                                           seatingRightSeat + 1,
                                           leftGuestName );
 
-                    drools.assertObject( path );
+                    drools.insert( path );
 
                     Chosen chosen = new Chosen( seatId,
                                                 leftGuestName,
                                                 rightGuestHobby );
 
-                    drools.assertObject( chosen );
+                    drools.insert( chosen );
                     count.setValue( count.getValue() + 1 );
 
                     //                    if ( count.getValue() == 5 ) {
                     //                        drools.retractObject( tuple.getFactHandleForDeclaration( countDeclaration ) );
                     //                    } else {
-                    //                        drools.modifyObject( tuple.getFactHandleForDeclaration( countDeclaration ),
+                    //                        drools.update( tuple.getFactHandleForDeclaration( countDeclaration ),
                     //                                             count );                        
                     //                    }
 
-                    drools.modifyObject( tuple.get( countDeclaration ),
-                                         count );
+                    drools.update( tuple.get( countDeclaration ),
+                                   count );
 
                     context.setState( Context.MAKE_PATH );
-                    drools.modifyObject( tuple.get( contextDeclaration ),
-                                         context );
+                    drools.update( tuple.get( contextDeclaration ),
+                                   context );
 
                     System.err.println( "find seating : " + seating + " : " + path + " : " + chosen );
 
@@ -563,12 +564,12 @@
         // context : Context( state == Context.MAKE_PATH )
         // -----------
         final Pattern contextPattern = new Pattern( 0,
-                                                 this.contextType );
+                                                    this.contextType );
 
         contextPattern.addConstraint( getLiteralConstraint( contextPattern,
-                                                           "state",
-                                                           Context.MAKE_PATH,
-                                                           this.integerEqualEvaluator ) );
+                                                            "state",
+                                                            Context.MAKE_PATH,
+                                                            this.integerEqualEvaluator ) );
 
         rule.addPattern( contextPattern );
 
@@ -576,7 +577,7 @@
         // Seating( seatingId:id, seatingPid:pid, pathDone == false )
         // ---------------
         final Pattern seatingPattern = new Pattern( 1,
-                                                 this.seatingType );
+                                                    this.seatingType );
 
         setFieldDeclaration( seatingPattern,
                              "id",
@@ -587,9 +588,9 @@
                              "seatingPid" );
 
         seatingPattern.addConstraint( getLiteralConstraint( seatingPattern,
-                                                           "pathDone",
-                                                           false,
-                                                           this.booleanEqualEvaluator ) );
+                                                            "pathDone",
+                                                            false,
+                                                            this.booleanEqualEvaluator ) );
 
         rule.addPattern( seatingPattern );
 
@@ -600,12 +601,12 @@
         // Path( id == seatingPid, pathGuestName:guestName, pathSeat:seat )
         // -----------
         final Pattern pathPattern = new Pattern( 2,
-                                              this.pathType );
+                                                 this.pathType );
 
         pathPattern.addConstraint( getBoundVariableConstraint( pathPattern,
-                                                              "id",
-                                                              seatingPidDeclaration,
-                                                              this.integerEqualEvaluator ) );
+                                                               "id",
+                                                               seatingPidDeclaration,
+                                                               this.integerEqualEvaluator ) );
 
         setFieldDeclaration( pathPattern,
                              "guestName",
@@ -623,16 +624,16 @@
         // (not Path( id == seatingId, guestName == pathGuestName )
         // -------------
         final Pattern notPathPattern = new Pattern( 3,
-                                                 this.pathType );
+                                                    this.pathType );
 
         notPathPattern.addConstraint( getBoundVariableConstraint( notPathPattern,
-                                                                 "id",
-                                                                 seatingIdDeclaration,
-                                                                 this.integerEqualEvaluator ) );
+                                                                  "id",
+                                                                  seatingIdDeclaration,
+                                                                  this.integerEqualEvaluator ) );
         notPathPattern.addConstraint( getBoundVariableConstraint( notPathPattern,
-                                                                 "guestName",
-                                                                 pathGuestNameDeclaration,
-                                                                 this.objectEqualEvaluator ) );
+                                                                  "guestName",
+                                                                  pathGuestNameDeclaration,
+                                                                  this.objectEqualEvaluator ) );
 
         final GroupElement not = GroupElementFactory.newNotInstance();
 
@@ -659,7 +660,7 @@
                                           seat,
                                           guestName );
 
-                    drools.assertObject( path );
+                    drools.insert( path );
 
                     //System.err.println( "make path : " + path );
                 } catch ( Exception e ) {
@@ -702,13 +703,13 @@
         // context : Context( state == Context.MAKE_PATH )
         // -----------
         final Pattern contextPattern = new Pattern( 0,
-                                                 this.contextType,
-                                                 "context" );
+                                                    this.contextType,
+                                                    "context" );
 
         contextPattern.addConstraint( getLiteralConstraint( contextPattern,
-                                                           "state",
-                                                           Context.MAKE_PATH,
-                                                           this.integerEqualEvaluator ) );
+                                                            "state",
+                                                            Context.MAKE_PATH,
+                                                            this.integerEqualEvaluator ) );
 
         rule.addPattern( contextPattern );
         final Declaration contextDeclaration = rule.getDeclaration( "context" );
@@ -717,13 +718,13 @@
         // seating : Seating( pathDone == false )
         // ---------------
         final Pattern seatingPattern = new Pattern( 1,
-                                                 this.seatingType,
-                                                 "seating" );
+                                                    this.seatingType,
+                                                    "seating" );
 
         seatingPattern.addConstraint( getLiteralConstraint( seatingPattern,
-                                                           "pathDone",
-                                                           false,
-                                                           this.booleanEqualEvaluator ) );
+                                                            "pathDone",
+                                                            false,
+                                                            this.booleanEqualEvaluator ) );
 
         rule.addPattern( seatingPattern );
 
@@ -749,12 +750,12 @@
                     //                    if ( seating.getId() == 6 ) {
                     //                        System.err.println( "pause" );
                     //                    }
-                    drools.modifyObject( tuple.get( seatingDeclaration ),
-                                         seating );
+                    drools.update( tuple.get( seatingDeclaration ),
+                                   seating );
 
                     context.setState( Context.CHECK_DONE );
-                    drools.modifyObject( tuple.get( contextDeclaration ),
-                                         context );
+                    drools.update( tuple.get( contextDeclaration ),
+                                   context );
                     //System.err.println( "path done" + seating );
                 } catch ( Exception e ) {
                     e.printStackTrace();
@@ -795,13 +796,13 @@
         // context : Context( state == Context.CHECK_DONE )
         // -----------
         final Pattern contextPattern = new Pattern( 0,
-                                                 this.contextType,
-                                                 "context" );
+                                                    this.contextType,
+                                                    "context" );
 
         contextPattern.addConstraint( getLiteralConstraint( contextPattern,
-                                                           "state",
-                                                           Context.CHECK_DONE,
-                                                           this.integerEqualEvaluator ) );
+                                                            "state",
+                                                            Context.CHECK_DONE,
+                                                            this.integerEqualEvaluator ) );
 
         rule.addPattern( contextPattern );
         final Declaration contextDeclaration = rule.getDeclaration( "context" );
@@ -810,7 +811,7 @@
         // LastSeat( lastSeat: seat )
         // ---------------
         final Pattern lastSeatPattern = new Pattern( 1,
-                                                  this.lastSeatType );
+                                                     this.lastSeatType );
 
         setFieldDeclaration( lastSeatPattern,
                              "seat",
@@ -822,13 +823,13 @@
         // Seating( rightSeat == lastSeat )
         // -------------
         final Pattern seatingPattern = new Pattern( 2,
-                                                 this.seatingType,
-                                                 null );
+                                                    this.seatingType,
+                                                    null );
 
         seatingPattern.addConstraint( getBoundVariableConstraint( seatingPattern,
-                                                                 "rightSeat",
-                                                                 lastSeatDeclaration,
-                                                                 this.integerEqualEvaluator ) );
+                                                                  "rightSeat",
+                                                                  lastSeatDeclaration,
+                                                                  this.integerEqualEvaluator ) );
 
         rule.addPattern( seatingPattern );
 
@@ -846,8 +847,8 @@
                     Context context = (Context) drools.get( contextDeclaration );
                     context.setState( Context.PRINT_RESULTS );
 
-                    drools.modifyObject( tuple.get( contextDeclaration ),
-                                         context );
+                    drools.update( tuple.get( contextDeclaration ),
+                                   context );
 
                     System.err.println( "We Are Done!!!" );
                 } catch ( Exception e ) {
@@ -885,13 +886,13 @@
         // context : Context( state == Context.CHECK_DONE )
         // -----------
         final Pattern contextPattern = new Pattern( 0,
-                                                 this.contextType,
-                                                 "context" );
+                                                    this.contextType,
+                                                    "context" );
 
         contextPattern.addConstraint( getLiteralConstraint( contextPattern,
-                                                           "state",
-                                                           Context.CHECK_DONE,
-                                                           this.integerEqualEvaluator ) );
+                                                            "state",
+                                                            Context.CHECK_DONE,
+                                                            this.integerEqualEvaluator ) );
 
         rule.addPattern( contextPattern );
         final Declaration contextDeclaration = rule.getDeclaration( "context" );
@@ -910,8 +911,8 @@
                     Context context = (Context) drools.get( contextDeclaration );
                     context.setState( Context.ASSIGN_SEATS );
 
-                    drools.modifyObject( tuple.get( contextDeclaration ),
-                                         context );
+                    drools.update( tuple.get( contextDeclaration ),
+                                   context );
 
                     //System.err.println( "continue processing" );
                 } catch ( Exception e ) {
@@ -950,12 +951,12 @@
         // context : Context( state == Context.PRINT_RESULTS )
         // -----------
         final Pattern contextPattern = new Pattern( 0,
-                                                 this.contextType );
+                                                    this.contextType );
 
         contextPattern.addConstraint( getLiteralConstraint( contextPattern,
-                                                           "state",
-                                                           Context.PRINT_RESULTS,
-                                                           this.integerEqualEvaluator ) );
+                                                            "state",
+                                                            Context.PRINT_RESULTS,
+                                                            this.integerEqualEvaluator ) );
 
         rule.addPattern( contextPattern );
         final Declaration contextDeclaration = rule.getDeclaration( "context" );
@@ -1107,8 +1108,8 @@
                                                           final Evaluator evaluator) throws IntrospectionException {
         final Class clazz = ((ClassObjectType) pattern.getObjectType()).getClassType();
 
-        final FieldExtractor extractor = new ClassFieldExtractor( clazz,
-                                                                  fieldName );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( clazz,
+                                                                                fieldName );
 
         final FieldValue field = new LongFieldImpl( fieldValue );
 
@@ -1123,8 +1124,8 @@
                                                           final Evaluator evaluator) throws IntrospectionException {
         final Class clazz = ((ClassObjectType) pattern.getObjectType()).getClassType();
 
-        final FieldExtractor extractor = new ClassFieldExtractor( clazz,
-                                                                  fieldName );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( clazz,
+                                                                                fieldName );
 
         final FieldValue field = new BooleanFieldImpl( fieldValue );
 
@@ -1138,11 +1139,11 @@
                                      final String identifier) throws IntrospectionException {
         final Class clazz = ((ClassObjectType) pattern.getObjectType()).getClassType();
 
-        final FieldExtractor extractor = new ClassFieldExtractor( clazz,
-                                                                  fieldName );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( clazz,
+                                                                                fieldName );
 
         pattern.addDeclaration( identifier,
-                               extractor );
+                                extractor );
     }
 
     private BetaNodeFieldConstraint getBoundVariableConstraint(final Pattern pattern,
@@ -1151,8 +1152,8 @@
                                                                final Evaluator evaluator) throws IntrospectionException {
         final Class clazz = ((ClassObjectType) pattern.getObjectType()).getClassType();
 
-        final FieldExtractor extractor = new ClassFieldExtractor( clazz,
-                                                                  fieldName );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( clazz,
+                                                                                fieldName );
 
         return new VariableConstraint( extractor,
                                        declaration,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -69,10 +69,10 @@
         final List list = getInputObjects( is );
         for ( final Iterator it = list.iterator(); it.hasNext(); ) {
             final Object object = it.next();
-            workingMemory.assertObject( object );
+            workingMemory.insert( object );
         }
 
-        workingMemory.assertObject( new Count( 1 ) );
+        workingMemory.insert( new Count( 1 ) );
 
         final long start = System.currentTimeMillis();
         workingMemory.fireAllRules();

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -23,6 +23,7 @@
 import org.drools.FactException;
 import org.drools.RuleBaseFactory;
 import org.drools.base.ClassFieldExtractor;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.FieldFactory;
 import org.drools.base.ValueType;
 import org.drools.base.evaluators.Operator;
@@ -62,8 +63,8 @@
 
         final MockObjectSource source = new MockObjectSource( 15 );
 
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
@@ -84,7 +85,7 @@
 
         final Cheese cheddar = new Cheese( "cheddar",
                                            5 );
-        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.assertObject( cheddar );
+        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.insert( cheddar );
 
         // check sink is empty
         assertLength( 0,
@@ -143,8 +144,8 @@
 
         final MockObjectSource source = new MockObjectSource( 15 );
 
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                      "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
@@ -165,7 +166,7 @@
 
         final Cheese cheddar = new Cheese( "cheddar",
                                            5 );
-        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.assertObject( cheddar );
+        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.insert( cheddar );
 
         // check sink is empty
         assertLength( 0,
@@ -229,8 +230,8 @@
 
         final MockObjectSource source = new MockObjectSource( 15 );
 
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
@@ -248,7 +249,7 @@
         final Cheese cheddar = new Cheese( "cheddar",
                                            5 );
 
-        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.assertObject( cheddar );
+        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.insert( cheddar );
 
         assertLength( 0,
                       sink.getAsserted() );
@@ -290,8 +291,8 @@
 
         final MockObjectSource source = new MockObjectSource( 15 );
 
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
@@ -368,8 +369,8 @@
 
         final MockObjectSource source = new MockObjectSource( 15 );
 
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                 "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
@@ -451,8 +452,8 @@
 
         final MockObjectSource source = new MockObjectSource( 1 );
 
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
@@ -518,8 +519,8 @@
 
         final MockObjectSource source = new MockObjectSource( 1 );
 
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor(Cheese.class,
+                                                                               "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -86,10 +86,10 @@
         ruleBase.addPackage( this.pkg );
 
         this.workingMemory = ruleBase.newStatefulSession();
-        this.workingMemory.assertObject( "F1" );
-        this.workingMemory.assertObject( "F2" );
-        this.workingMemory.assertObject( "F3" );
-        this.workingMemory.assertObject( "F4" );
+        this.workingMemory.insert( "F1" );
+        this.workingMemory.insert( "F2" );
+        this.workingMemory.insert( "F3" );
+        this.workingMemory.insert( "F4" );
 
         this.workingMemory.fireAllRules();
 
@@ -105,10 +105,10 @@
         ruleBase.addPackage( this.pkg );
 
         this.workingMemory = ruleBase.newStatefulSession();
-        this.workingMemory.assertObject( "F1" );
-        this.workingMemory.assertObject( "F2" );
-        this.workingMemory.assertObject( "F3" );
-        this.workingMemory.assertObject( "F4" );
+        this.workingMemory.insert( "F1" );
+        this.workingMemory.insert( "F2" );
+        this.workingMemory.insert( "F3" );
+        this.workingMemory.insert( "F4" );
 
         this.workingMemory.fireAllRules();
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ExistsNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ExistsNodeTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ExistsNodeTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -86,7 +86,7 @@
         // assert tuple
         final Cheese cheddar = new Cheese( "cheddar",
                                            10 );
-        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.assertObject( cheddar );
+        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.insert( cheddar );
 
         final ReteTuple tuple1 = new ReteTuple( f0 );
 
@@ -104,7 +104,7 @@
         // assert will match, so should propagate
         final Cheese brie = new Cheese( "brie",
                                         10 );
-        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.assertObject( brie );
+        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.insert( brie );
 
         this.node.assertObject( f1,
                                 this.context,
@@ -121,7 +121,7 @@
                       ((Object[]) this.sink.getAsserted().get( 0 ))[0] );
 
         // assert tuple, will have matches, so propagate
-        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory.assertObject( new Cheese( "gouda",
+        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory.insert( new Cheese( "gouda",
                                                                                                       10 ) );
         final ReteTuple tuple2 = new ReteTuple( f2 );
         this.node.assertTuple( tuple2,
@@ -165,7 +165,7 @@
         // assert tuple
         final Cheese cheddar = new Cheese( "cheddar",
                                            10 );
-        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.assertObject( cheddar );
+        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.insert( cheddar );
 
         final ReteTuple tuple1 = new ReteTuple( f0 );
 
@@ -183,7 +183,7 @@
         // assert will not match, so activation should stay propagated
         final Cheese brie = new Cheese( "brie",
                                         10 );
-        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.assertObject( brie );
+        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.insert( brie );
 
         this.node.assertObject( f1,
                                 this.context,
@@ -197,7 +197,7 @@
                       this.sink.getRetracted() );
 
         // assert tuple, will have matches, so do assert propagation
-        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory.assertObject( new Cheese( "gouda",
+        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory.insert( new Cheese( "gouda",
                                                                                                       10 ) );
         final ReteTuple tuple2 = new ReteTuple( f2 );
         this.node.assertTuple( tuple2,
@@ -212,7 +212,7 @@
     }
 
     /**
-     * Tests memory consistency after assert/modify/retract calls
+     * Tests memory consistency after insert/update/retract calls
      * 
      * @throws AssertionException
      */
@@ -221,7 +221,7 @@
             // assert tuple
             final Cheese cheddar = new Cheese( "cheddar",
                                                10 );
-            final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.assertObject( cheddar );
+            final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.insert( cheddar );
             final ReteTuple tuple1 = new ReteTuple( f0 );
 
             this.node.assertTuple( tuple1,
@@ -231,7 +231,7 @@
             // assert will match, so should propagate
             final Cheese brie = new Cheese( "brie",
                                             10 );
-            final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.assertObject( brie );
+            final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.insert( brie );
 
             // Initially, no objects in right memory
             assertEquals( 0,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FromNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FromNodeTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FromNodeTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -13,6 +13,7 @@
 import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassObjectType;
 import org.drools.base.FieldFactory;
 import org.drools.base.ValueType;
@@ -43,8 +44,8 @@
                                                                        null );
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
                                                                            (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "stilton" );
         final LiteralConstraint constraint = new LiteralConstraint( extractor,
@@ -70,7 +71,7 @@
 
         final Person person1 = new Person( "xxx1",
                                            30 );
-        final FactHandle person1Handle = workingMemory.assertObject( person1 );
+        final FactHandle person1Handle = workingMemory.insert( person1 );
         final ReteTuple tuple1 = new ReteTuple( (DefaultFactHandle) person1Handle );
         from.assertTuple( tuple1,
                           context,
@@ -84,7 +85,7 @@
         cheese1.setType( "stilton" );
         final Person person2 = new Person( "xxx2",
                                            30 );
-        final FactHandle person2Handle = workingMemory.assertObject( person2 );
+        final FactHandle person2Handle = workingMemory.insert( person2 );
         final ReteTuple tuple2 = new ReteTuple( (DefaultFactHandle) person2Handle );
         from.assertTuple( tuple2,
                           context,
@@ -102,7 +103,7 @@
         cheese2.setType( "stilton" );
         final Person person3 = new Person( "xxx2",
                                            30 );
-        final FactHandle person3Handle = workingMemory.assertObject( person3 );
+        final FactHandle person3Handle = workingMemory.insert( person3 );
         final ReteTuple tuple3 = new ReteTuple( (DefaultFactHandle) person3Handle );
         from.assertTuple( tuple3,
                           context,
@@ -134,14 +135,14 @@
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
                                                                            (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
 
-        final ClassFieldExtractor priceExtractor = new ClassFieldExtractor( Cheese.class,
-                                                                            "price" );
+        final ClassFieldExtractor priceExtractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                          "price" );
 
-        final ClassFieldExtractor ageExtractor = new ClassFieldExtractor( Person.class,
-                                                                          "age" );
+        final ClassFieldExtractor ageExtractor = ClassFieldExtractorCache.getExtractor( Person.class,
+                                                                                        "age" );
 
         final Pattern pattern = new Pattern( 0,
-                                          new ClassObjectType( Person.class ) );
+                                             new ClassObjectType( Person.class ) );
 
         final Declaration declaration = new Declaration( "age",
                                                          ageExtractor,
@@ -175,7 +176,7 @@
 
         final Person person1 = new Person( "xxx1",
                                            30 );
-        final FactHandle person1Handle = workingMemory.assertObject( person1 );
+        final FactHandle person1Handle = workingMemory.insert( person1 );
         final ReteTuple tuple1 = new ReteTuple( (DefaultFactHandle) person1Handle );
         from.assertTuple( tuple1,
                           context,
@@ -189,7 +190,7 @@
         cheese1.setPrice( 30 );
         final Person person2 = new Person( "xxx2",
                                            30 );
-        final FactHandle person2Handle = workingMemory.assertObject( person2 );
+        final FactHandle person2Handle = workingMemory.insert( person2 );
         final ReteTuple tuple2 = new ReteTuple( (DefaultFactHandle) person2Handle );
         from.assertTuple( tuple2,
                           context,
@@ -207,7 +208,7 @@
         cheese2.setPrice( 30 );
         final Person person3 = new Person( "xxx2",
                                            30 );
-        final FactHandle person3Handle = workingMemory.assertObject( person3 );
+        final FactHandle person3Handle = workingMemory.insert( person3 );
         final ReteTuple tuple3 = new ReteTuple( (DefaultFactHandle) person3Handle );
         from.assertTuple( tuple3,
                           context,
@@ -237,8 +238,8 @@
                                                                        null );
         final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
                                                                            (ReteooRuleBase) RuleBaseFactory.newRuleBase() );
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "stilton" );
         final LiteralConstraint constraint = new LiteralConstraint( extractor,
@@ -266,7 +267,7 @@
 
         final Person person1 = new Person( "xxx2",
                                            30 );
-        final FactHandle person1Handle = workingMemory.assertObject( person1 );
+        final FactHandle person1Handle = workingMemory.insert( person1 );
         final ReteTuple tuple = new ReteTuple( (DefaultFactHandle) person1Handle );
         from.assertTuple( tuple,
                           context,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -173,7 +173,7 @@
      * @throws Exception
      */
     public void testAssertObject() throws Exception {
-        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.assertObject( "test0" );
+        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.insert( "test0" );
 
         // assert object, should add one to right memory
         this.node.assertObject( f0,
@@ -185,7 +185,7 @@
                       this.memory.getFactHandleMemory().size() );
 
         // check new objects/handles still assert
-        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.assertObject( "test1" );
+        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.insert( "test1" );
         this.node.assertObject( f1,
                                 this.context,
                                 this.workingMemory );
@@ -210,7 +210,7 @@
      */
     public void testAssertPropagations() throws Exception {
         // assert first right object
-        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.assertObject( "test0" );
+        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.insert( "test0" );
         this.node.assertObject( f0,
                                 this.context,
                                 this.workingMemory );
@@ -243,7 +243,7 @@
                                      f0 ),
                       ((Object[]) this.sink.getAsserted().get( 1 ))[0] );
 
-        final DefaultFactHandle f3 = (DefaultFactHandle) this.workingMemory.assertObject( "test2" );
+        final DefaultFactHandle f3 = (DefaultFactHandle) this.workingMemory.insert( "test2" );
         this.node.assertObject( f3,
                                 this.context,
                                 this.workingMemory );
@@ -269,29 +269,29 @@
      */
     public void testRetractTuple() throws Exception {
         // setup 2 tuples 3 fact handles
-        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.assertObject( "test0" );
+        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.insert( "test0" );
         this.node.assertObject( f0,
                                 this.context,
                                 this.workingMemory );
 
-        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.assertObject( "test1" );
+        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.insert( "test1" );
         final ReteTuple tuple1 = new ReteTuple( f1 );
         this.node.assertTuple( tuple1,
                                this.context,
                                this.workingMemory );
 
-        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory.assertObject( "test2" );
+        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory.insert( "test2" );
         final ReteTuple tuple2 = new ReteTuple( f2 );
         this.node.assertTuple( tuple2,
                                this.context,
                                this.workingMemory );
 
-        final DefaultFactHandle f3 = (DefaultFactHandle) this.workingMemory.assertObject( "test3" );
+        final DefaultFactHandle f3 = (DefaultFactHandle) this.workingMemory.insert( "test3" );
         this.node.assertObject( f3,
                                 this.context,
                                 this.workingMemory );
 
-        final DefaultFactHandle f4 = (DefaultFactHandle) this.workingMemory.assertObject( "test4" );
+        final DefaultFactHandle f4 = (DefaultFactHandle) this.workingMemory.insert( "test4" );
         this.node.assertObject( f4,
                                 this.context,
                                 this.workingMemory );
@@ -341,7 +341,7 @@
     public void testConstraintPropagations() throws Exception {
         this.constraint.isAllowed = false;
         // assert first right object
-        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.assertObject( "test0" );
+        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.insert( "test0" );
         this.node.assertObject( f0,
                                 this.context,
                                 this.workingMemory );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LeftInputAdapterNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LeftInputAdapterNodeTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LeftInputAdapterNodeTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -94,7 +94,7 @@
         final Object string1 = "cheese";
 
         // assert object
-        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.assertObject( string1 );
+        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.insert( string1 );
         liaNode.assertObject( f0,
                               context,
                               workingMemory );
@@ -137,7 +137,7 @@
         final Object string1 = "cheese";
 
         // assert object
-        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.assertObject( string1 );
+        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.insert( string1 );
         liaNode.assertObject( f0,
                               context,
                               workingMemory );
@@ -156,7 +156,7 @@
         assertTrue( table.contains( f0 ) );
 
         // check memory works with multiple handles
-        final DefaultFactHandle f1 = (DefaultFactHandle) workingMemory.assertObject( "test1" );
+        final DefaultFactHandle f1 = (DefaultFactHandle) workingMemory.insert( "test1" );
         liaNode.assertObject( f1,
                               context,
                               workingMemory );
@@ -196,7 +196,7 @@
         final MockTupleSink sink = new MockTupleSink();
         liaNode.addTupleSink( sink );
 
-        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.assertObject( "f1" );
+        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.insert( "f1" );
 
         // assert object 
         liaNode.assertObject( f0,
@@ -238,7 +238,7 @@
         final MockTupleSink sink = new MockTupleSink();
         liaNode.addTupleSink( sink );
 
-        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.assertObject( "f1" );
+        final DefaultFactHandle f0 = (DefaultFactHandle) workingMemory.insert( "f1" );
 
         // assert object
         liaNode.assertObject( f0,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -75,7 +75,7 @@
 
         rule1.setConsequence( consequence );
 
-        final DefaultFactHandle handle1 = (DefaultFactHandle) workingMemory.assertObject( "o1" );
+        final DefaultFactHandle handle1 = (DefaultFactHandle) workingMemory.insert( "o1" );
         final ReteTuple tuple1 = new ReteTuple( handle1 );
 
         final PropagationContext context1 = new PropagationContextImpl( 0,
@@ -89,7 +89,7 @@
                           workingMemory );
 
         final String logicalString = new String( "logical" );
-        FactHandle logicalHandle = workingMemory.assertObject( logicalString,
+        FactHandle logicalHandle = workingMemory.insert( logicalString,
                                                                false,
                                                                true,
                                                                rule1,
@@ -115,7 +115,7 @@
         node.assertTuple( tuple1,
                           context1,
                           workingMemory );
-        logicalHandle = workingMemory.assertObject( logicalString,
+        logicalHandle = workingMemory.insert( logicalString,
                                                     false,
                                                     true,
                                                     rule1,
@@ -191,14 +191,14 @@
                           workingMemory );
 
         final String logicalString1 = new String( "logical" );
-        FactHandle logicalHandle1 = workingMemory.assertObject( logicalString1,
+        FactHandle logicalHandle1 = workingMemory.insert( logicalString1,
                                                                 false,
                                                                 true,
                                                                 rule1,
                                                                 tuple1.getActivation() );
 
         final String logicalString2 = new String( "logical" );
-        FactHandle logicalHandle2 = workingMemory.assertObject( logicalString2,
+        FactHandle logicalHandle2 = workingMemory.insert( logicalString2,
                                                                 false,
                                                                 true,
                                                                 rule1,
@@ -208,8 +208,8 @@
                     logicalHandle2 );
 
         // little sanity check using normal assert
-        logicalHandle1 = workingMemory.assertObject( logicalString1 );
-        logicalHandle2 = workingMemory.assertObject( logicalString2 );
+        logicalHandle1 = workingMemory.insert( logicalString1 );
+        logicalHandle2 = workingMemory.insert( logicalString2 );
 
         // If assert behavior in working memory is IDENTITY, 
         // returned handles must not be the same 
@@ -279,7 +279,7 @@
                           workingMemory );
 
         String logicalString1 = new String( "logical" );
-        FactHandle logicalHandle1 = workingMemory.assertObject( logicalString1,
+        FactHandle logicalHandle1 = workingMemory.insert( logicalString1,
                                                                 false,
                                                                 true,
                                                                 rule1,
@@ -288,7 +288,7 @@
         // This assertion is stated and should override any previous justified
         // "equals" objects.
         String logicalString2 = new String( "logical" );
-        FactHandle logicalHandle2 = workingMemory.assertObject( logicalString2 );
+        FactHandle logicalHandle2 = workingMemory.insert( logicalString2 );
 
         node.retractTuple( tuple1,
                            context1,
@@ -314,12 +314,12 @@
                           workingMemory );
 
         logicalString2 = new String( "logical" );
-        logicalHandle2 = workingMemory.assertObject( logicalString2 );
+        logicalHandle2 = workingMemory.insert( logicalString2 );
 
         // This logical assertion will be ignored as there is already
         // an equals STATED assertion.
         logicalString1 = new String( "logical" );
-        logicalHandle1 = workingMemory.assertObject( logicalString1,
+        logicalHandle1 = workingMemory.insert( logicalString1,
                                                      false,
                                                      true,
                                                      rule1,
@@ -328,7 +328,7 @@
         assertNull( logicalHandle1 );
 
         // Already identify same so return previously assigned handle
-        logicalHandle1 = workingMemory.assertObject( logicalString2,
+        logicalHandle1 = workingMemory.insert( logicalString2,
                                                      false,
                                                      false,
                                                      rule1,
@@ -415,7 +415,7 @@
                           workingMemory );
 
         final String logicalString1 = new String( "logical" );
-        final FactHandle logicalHandle1 = workingMemory.assertObject( logicalString1,
+        final FactHandle logicalHandle1 = workingMemory.insert( logicalString1,
                                                                       false,
                                                                       true,
                                                                       rule1,
@@ -424,7 +424,7 @@
         // This assertion is stated and should override any previous justified
         // "equals" objects.
         String logicalString2 = new String( "logical" );
-        FactHandle logicalHandle2 = workingMemory.assertObject( logicalString2 );
+        FactHandle logicalHandle2 = workingMemory.insert( logicalString2 );
 
         node.retractTuple( tuple1,
                            context1,
@@ -450,7 +450,7 @@
                           workingMemory );
 
         logicalString2 = new String( "logical" );
-        logicalHandle2 = workingMemory.assertObject( logicalString2 );
+        logicalHandle2 = workingMemory.insert( logicalString2 );
     }
 
     public void testRetract() throws Exception {
@@ -503,7 +503,7 @@
 
         // Assert the logical "logical" fact
         final String logicalString1 = new String( "logical" );
-        final FactHandle logicalHandle1 = workingMemory.assertObject( logicalString1,
+        final FactHandle logicalHandle1 = workingMemory.insert( logicalString1,
                                                                       false,
                                                                       true,
                                                                       rule1,
@@ -531,7 +531,7 @@
 
         // Assert the logical "logical" fact
         final String logicalString2 = new String( "logical" );
-        final FactHandle logicalHandle2 = workingMemory.assertObject( logicalString2,
+        final FactHandle logicalHandle2 = workingMemory.insert( logicalString2,
                                                                       false,
                                                                       true,
                                                                       rule2,
@@ -542,7 +542,7 @@
                       workingMemory.getTruthMaintenanceSystem().getJustifiedMap().values() );
 
         // retract the logical object
-        workingMemory.retractObject( logicalHandle2 );
+        workingMemory.retract( logicalHandle2 );
 
         // The logical object should never appear
         assertLength( 0,
@@ -624,7 +624,7 @@
 
         // Create the first justifieable relationship
         final String logicalString1 = new String( "logical" );
-        final FactHandle logicalHandle1 = workingMemory.assertObject( logicalString1,
+        final FactHandle logicalHandle1 = workingMemory.insert( logicalString1,
                                                                       false,
                                                                       true,
                                                                       rule1,
@@ -632,7 +632,7 @@
 
         // Create the second justifieable relationship
         final String logicalString2 = new String( "logical" );
-        final FactHandle logicalHandle2 = workingMemory.assertObject( logicalString2,
+        final FactHandle logicalHandle2 = workingMemory.insert( logicalString2,
                                                                       false,
                                                                       true,
                                                                       rule2,
@@ -729,14 +729,14 @@
                           workingMemory );
 
         final String statedString1 = new String( "logical" );
-        final FactHandle statedHandle1 = workingMemory.assertObject( statedString1 );
+        final FactHandle statedHandle1 = workingMemory.insert( statedString1 );
 
         final String statedString2 = new String( "logical" );
-        final FactHandle statedHandle2 = workingMemory.assertObject( statedString2 );
+        final FactHandle statedHandle2 = workingMemory.insert( statedString2 );
 
         // This assertion is logical should fail as there is previous stated objects
         final String logicalString3 = new String( "logical" );
-        FactHandle logicalHandle3 = workingMemory.assertObject( logicalString3,
+        FactHandle logicalHandle3 = workingMemory.insert( logicalString3,
                                                                 false,
                                                                 true,
                                                                 rule1,
@@ -750,9 +750,9 @@
         // succesfully logically assert a new fact
         if ( RuleBaseConfiguration.AssertBehaviour.IDENTITY == ((ReteooRuleBase) ruleBase).getConfiguration().getAssertBehaviour() ) {
 
-            workingMemory.retractObject( statedHandle2 );
+            workingMemory.retract( statedHandle2 );
 
-            logicalHandle3 = workingMemory.assertObject( logicalString3,
+            logicalHandle3 = workingMemory.insert( logicalString3,
                                                          false,
                                                          true,
                                                          rule1,
@@ -762,9 +762,9 @@
             assertNull( logicalHandle3 );
         }
 
-        workingMemory.retractObject( statedHandle1 );
+        workingMemory.retract( statedHandle1 );
 
-        logicalHandle3 = workingMemory.assertObject( logicalString3,
+        logicalHandle3 = workingMemory.insert( logicalString3,
                                                      false,
                                                      true,
                                                      rule1,
@@ -829,7 +829,7 @@
 
         final Cheese cheese = new Cheese( "brie",
                                           10 );
-        final FactHandle cheeseHandle = workingMemory.assertObject( cheese,
+        final FactHandle cheeseHandle = workingMemory.insert( cheese,
                                                                     false,
                                                                     true,
                                                                     rule1,
@@ -843,7 +843,7 @@
         assertEquals( 1,
                       workingMemory.getTruthMaintenanceSystem().getAssertMap().size() );
 
-        workingMemory.retractObject( cheeseHandle );
+        workingMemory.retract( cheeseHandle );
 
         assertEquals( 0,
                       workingMemory.getTruthMaintenanceSystem().getJustifiedMap().size() );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -92,7 +92,7 @@
         // assert tuple
         final Cheese cheddar = new Cheese( "cheddar",
                                            10 );
-        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.assertObject( cheddar );
+        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.insert( cheddar );
 
         final ReteTuple tuple1 = new ReteTuple( f0 );
 
@@ -113,7 +113,7 @@
         // assert will match, so propagated tuple should be retracted
         final Cheese brie = new Cheese( "brie",
                                         10 );
-        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.assertObject( brie );
+        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.insert( brie );
 
         this.node.assertObject( f1,
                                 this.context,
@@ -130,7 +130,7 @@
                       ((Object[]) this.sink.getRetracted().get( 0 ))[0] );
 
         // assert tuple, will have matches, so no propagation
-        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory.assertObject( new Cheese( "gouda",
+        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory.insert( new Cheese( "gouda",
                                                                                                       10 ) );
         final ReteTuple tuple2 = new ReteTuple( f2 );
         this.node.assertTuple( tuple2,
@@ -174,7 +174,7 @@
         // assert tuple
         final Cheese cheddar = new Cheese( "cheddar",
                                            10 );
-        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.assertObject( cheddar );
+        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.insert( cheddar );
 
         final ReteTuple tuple1 = new ReteTuple( f0 );
 
@@ -195,7 +195,7 @@
         // assert will not match, so activation should stay propagated
         final Cheese brie = new Cheese( "brie",
                                         10 );
-        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.assertObject( brie );
+        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.insert( brie );
 
         this.node.assertObject( f1,
                                 this.context,
@@ -209,7 +209,7 @@
                       this.sink.getRetracted() );
 
         // assert tuple, will have no matches, so do assert propagation
-        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory.assertObject( new Cheese( "gouda",
+        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory.insert( new Cheese( "gouda",
                                                                                                       10 ) );
         final ReteTuple tuple2 = new ReteTuple( f2 );
         this.node.assertTuple( tuple2,
@@ -225,7 +225,7 @@
     }
 
     /**
-     * Tests memory consistency after assert/modify/retract calls
+     * Tests memory consistency after insert/update/retract calls
      * 
      * @throws AssertionException
      */
@@ -234,7 +234,7 @@
             // assert tuple
             final Cheese cheddar = new Cheese( "cheddar",
                                                10 );
-            final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.assertObject( cheddar );
+            final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.insert( cheddar );
             final ReteTuple tuple1 = new ReteTuple( f0 );
 
             this.node.assertTuple( tuple1,
@@ -244,7 +244,7 @@
             // assert will match, so propagated tuple should be retracted
             final Cheese brie = new Cheese( "brie",
                                             10 );
-            final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.assertObject( brie );
+            final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.insert( brie );
 
             // Initially, no objects in right memory
             assertEquals( 0,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -91,7 +91,7 @@
 
         final Object string1 = "cheese";
 
-        final InternalFactHandle handle1 = (InternalFactHandle) workingMemory.assertObject( string1 );
+        final InternalFactHandle handle1 = (InternalFactHandle) workingMemory.insert( string1 );
 
         // should assert as ObjectType matches
         objectTypeNode.assertObject( handle1,
@@ -298,7 +298,7 @@
         final Object cheese = new Cheese( "muzzarela",
                                           5 );
 
-        final InternalFactHandle handle1 = (InternalFactHandle) workingMemory.assertObject( cheese );
+        final InternalFactHandle handle1 = (InternalFactHandle) workingMemory.insert( cheese );
 
         // should assert as ObjectType matches
         objectTypeNode.assertObject( handle1,
@@ -344,7 +344,7 @@
         final Object person = new Person( "bob",
                                           25 );
 
-        final InternalFactHandle handle1 = (InternalFactHandle) workingMemory.assertObject( person );
+        final InternalFactHandle handle1 = (InternalFactHandle) workingMemory.insert( person );
 
         // should assert as ObjectType matches
         objectTypeNode.assertObject( handle1,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -34,7 +34,7 @@
         ruleBase.addPackage( pkg );
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        workingMemory.assertObject( new TestBean() );
+        workingMemory.insert( new TestBean() );
         workingMemory.fireAllRules();
 
         assertTrue( ((MockConsequence) rule1.getConsequence()).fired );
@@ -57,7 +57,7 @@
         ruleBase.addPackage( pkg );
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        workingMemory.assertObject( new TestBean() );
+        workingMemory.insert( new TestBean() );
         workingMemory.fireAllRules();
 
         assertFalse( ((MockConsequence) ruleOtherwise.getConsequence()).fired );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -27,7 +27,7 @@
         objectTypeNode.addObjectSink( sink );
 
         final State a = new State( "go" );
-        workingMemory.assertObject( a,
+        workingMemory.insert( a,
                                     true );
 
         assertEquals( 1,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -29,6 +29,7 @@
 import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassObjectType;
 import org.drools.base.DroolsQuery;
 import org.drools.base.FieldFactory;
@@ -52,8 +53,8 @@
                                                                        3 );
         queryObjectTypeNode.attach();
 
-        ClassFieldExtractor extractor = new ClassFieldExtractor( DroolsQuery.class,
-                                                                 "name" );
+        ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( DroolsQuery.class,
+                                                                               "name" );
 
         FieldValue field = FieldFactory.getFieldValue( "query-1" );
 
@@ -78,8 +79,8 @@
                                                                         3 );
         cheeseObjectTypeNode.attach();
 
-        extractor = new ClassFieldExtractor( Cheese.class,
-                                             "type" );
+        extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                           "type" );
 
         field = FieldFactory.getFieldValue( "stilton" );
 
@@ -127,7 +128,7 @@
 
         final Cheese stilton1 = new Cheese( "stilton",
                                             100 );
-        final FactHandle handle1 = workingMemory.assertObject( stilton1 );
+        final FactHandle handle1 = workingMemory.insert( stilton1 );
 
         results = workingMemory.getQueryResults( "query-1" );
 
@@ -136,7 +137,7 @@
 
         final Cheese cheddar = new Cheese( "cheddar",
                                            55 );
-        workingMemory.assertObject( cheddar );
+        workingMemory.insert( cheddar );
 
         results = workingMemory.getQueryResults( "query-1" );
 
@@ -146,7 +147,7 @@
         final Cheese stilton2 = new Cheese( "stilton",
                                             5 );
 
-        final FactHandle handle2 = workingMemory.assertObject( stilton2 );
+        final FactHandle handle2 = workingMemory.insert( stilton2 );
 
         results = workingMemory.getQueryResults( "query-1" );
 
@@ -180,13 +181,13 @@
             i++;
         }
 
-        workingMemory.retractObject( handle1 );
+        workingMemory.retract( handle1 );
         results = workingMemory.getQueryResults( "query-1" );
 
         assertEquals( 1,
                       results.size() );
 
-        workingMemory.retractObject( handle2 );
+        workingMemory.retract( handle2 );
         results = workingMemory.getQueryResults( "query-1" );
 
         assertEquals( 0,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -20,7 +20,7 @@
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) RuleBaseFactory.newRuleBase().newStatefulSession();
         final TruthMaintenanceSystem tms = workingMemory.getTruthMaintenanceSystem();
         final String string = "test";
-        FactHandle fd = workingMemory.assertObject( string );
+        FactHandle fd = workingMemory.insert( string );
 
         assertEquals( 1,
                       tms.getAssertMap().size() );
@@ -29,7 +29,7 @@
                     key.getFactHandle() );
         assertNull( key.getOtherFactHandle() );
 
-        workingMemory.modifyObject( fd,
+        workingMemory.update( fd,
                                     string );
 
         assertEquals( 1,
@@ -39,14 +39,14 @@
                     key.getFactHandle() );
         assertNull( key.getOtherFactHandle() );
 
-        workingMemory.retractObject( fd );
+        workingMemory.retract( fd );
 
         assertEquals( 0,
                       tms.getAssertMap().size() );
         key = tms.get( string );
         assertNull( key );
 
-        fd = workingMemory.assertObject( string );
+        fd = workingMemory.insert( string );
 
         assertEquals( 1,
                       tms.getAssertMap().size() );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/DeclarationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/DeclarationTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/DeclarationTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -24,14 +24,15 @@
 
 import org.drools.Cheese;
 import org.drools.base.ClassFieldExtractor;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassObjectType;
 import org.drools.spi.FieldExtractor;
 
 public class DeclarationTest extends TestCase {
 
     public void testDeclaration() throws IntrospectionException {
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final Pattern pattern = new Pattern( 5,
                                           new ClassObjectType( Cheese.class ) );
@@ -57,8 +58,8 @@
     }
 
     public void testGetFieldValue() throws IntrospectionException {
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final Pattern pattern = new Pattern( 5,
                                           new ClassObjectType( Cheese.class ) );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -25,6 +25,7 @@
 import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassFieldExtractor;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassObjectType;
 import org.drools.base.FieldFactory;
 import org.drools.base.ShadowProxy;
@@ -66,8 +67,8 @@
         final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final InternalWorkingMemory workingMemory = (InternalWorkingMemory) ruleBase.newStatefulSession();
 
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
@@ -80,7 +81,7 @@
         final Cheese cheddar = new Cheese( "cheddar",
                                            5 );
 
-        final InternalFactHandle cheddarHandle = (InternalFactHandle) workingMemory.assertObject( cheddar );
+        final InternalFactHandle cheddarHandle = (InternalFactHandle) workingMemory.insert( cheddar );
 
         // check constraint
         assertTrue( constraint.isAllowed( cheddarHandle.getObject(),
@@ -89,7 +90,7 @@
         final Cheese stilton = new Cheese( "stilton",
                                            5 );
 
-        final InternalFactHandle stiltonHandle = (InternalFactHandle) workingMemory.assertObject( stilton );
+        final InternalFactHandle stiltonHandle = (InternalFactHandle) workingMemory.insert( stilton );
 
         // check constraint
         assertFalse( constraint.isAllowed( stiltonHandle.getObject(),
@@ -111,8 +112,8 @@
         final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final InternalWorkingMemory workingMemory = (InternalWorkingMemory) ruleBase.newStatefulSession();
 
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "price" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "price" );
 
         final FieldValue field = FieldFactory.getFieldValue( 5 );
 
@@ -125,7 +126,7 @@
         final Cheese cheddar = new Cheese( "cheddar",
                                            5 );
 
-        final InternalFactHandle cheddarHandle = (InternalFactHandle) workingMemory.assertObject( cheddar );
+        final InternalFactHandle cheddarHandle = (InternalFactHandle) workingMemory.insert( cheddar );
 
         // check constraint
         assertTrue( constraint.isAllowed( cheddarHandle.getObject(),
@@ -134,7 +135,7 @@
         final Cheese stilton = new Cheese( "stilton",
                                            10 );
 
-        final InternalFactHandle stiltonHandle = (InternalFactHandle) workingMemory.assertObject( stilton );
+        final InternalFactHandle stiltonHandle = (InternalFactHandle) workingMemory.insert( stilton );
 
         // check constraint
         assertFalse( constraint.isAllowed( stiltonHandle.getObject(),
@@ -157,8 +158,8 @@
         final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final InternalWorkingMemory workingMemory = (InternalWorkingMemory) ruleBase.newStatefulSession();
 
-        final FieldExtractor priceExtractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "price" );
+        final FieldExtractor priceExtractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "price" );
 
         Pattern pattern = new Pattern( 0,
                                        new ClassObjectType( Cheese.class ) );
@@ -205,12 +206,12 @@
 
         final Cheese cheddar0 = new Cheese( "cheddar",
                                             5 );
-        final FactHandle f0 = workingMemory.assertObject( cheddar0 );
+        final FactHandle f0 = workingMemory.insert( cheddar0 );
         InstrumentedReteTuple tuple = new InstrumentedReteTuple( f0 );
 
         final Cheese cheddar1 = new Cheese( "cheddar",
                                             10 );
-        final InternalFactHandle f1 = (InternalFactHandle) workingMemory.assertObject( cheddar1 );
+        final InternalFactHandle f1 = (InternalFactHandle) workingMemory.insert( cheddar1 );
 
         tuple = new InstrumentedReteTuple( tuple,
                                            f1 );
@@ -239,8 +240,8 @@
         final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final InternalWorkingMemory workingMemory = (InternalWorkingMemory) ruleBase.newStatefulSession();
 
-        final FieldExtractor priceExtractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "price" );
+        final FieldExtractor priceExtractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "price" );
 
         final Pattern pattern = new Pattern( 0,
                                              new ClassObjectType( Cheese.class ) );
@@ -290,13 +291,13 @@
 
         final Cheese cheddar0 = new Cheese( "cheddar",
                                             5 );
-        final FactHandle f0 = workingMemory.assertObject( cheddar0 );
+        final FactHandle f0 = workingMemory.insert( cheddar0 );
 
         InstrumentedReteTuple tuple = new InstrumentedReteTuple( f0 );
 
         final Cheese cheddar1 = new Cheese( "cheddar",
                                             10 );
-        final InternalFactHandle f1 = (InternalFactHandle) workingMemory.assertObject( cheddar1 );
+        final InternalFactHandle f1 = (InternalFactHandle) workingMemory.insert( cheddar1 );
         tuple = new InstrumentedReteTuple( tuple,
                                            f1 );
 
@@ -315,7 +316,7 @@
         final Cheese cheddar2 = new Cheese( "cheddar",
                                             11 );
 
-        final InternalFactHandle f2 = (InternalFactHandle) workingMemory.assertObject( cheddar2 );
+        final InternalFactHandle f2 = (InternalFactHandle) workingMemory.insert( cheddar2 );
 
         assertTrue( constraint2.isAllowedCachedLeft( context2,
                                                      f2.getObject() ) );
@@ -339,8 +340,8 @@
         final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final InternalWorkingMemory workingMemory = (InternalWorkingMemory) ruleBase.newStatefulSession();
 
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
@@ -350,8 +351,8 @@
                                                                      evaluator,
                                                                      field );
 
-        final ClassFieldExtractor priceExtractor = new ClassFieldExtractor( Cheese.class,
-                                                                            "price" );
+        final ClassFieldExtractor priceExtractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                          "price" );
 
         final FieldValue priceField = FieldFactory.getFieldValue( 10 );
 
@@ -368,7 +369,7 @@
         constraint.addAlphaConstraint( constraint1 );
         constraint.addAlphaConstraint( constraint2 );
 
-        final InternalFactHandle cheddarHandle = (InternalFactHandle) workingMemory.assertObject( cheddar );
+        final InternalFactHandle cheddarHandle = (InternalFactHandle) workingMemory.insert( cheddar );
 
         // check constraint
         assertTrue( constraint.isAllowed( cheddarHandle.getObject(),
@@ -378,12 +379,12 @@
         ((ShadowProxy) cheddarHandle.getObject()).updateProxy();
         assertFalse( constraint.isAllowed( cheddarHandle.getObject(),
                                            workingMemory ) );
-        
+
         cheddar.setType( "stilton" );
         ((ShadowProxy) cheddarHandle.getObject()).updateProxy();
         assertFalse( constraint.isAllowed( cheddarHandle.getObject(),
                                            workingMemory ) );
-        
+
         cheddar.setPrice( 15 );
         ((ShadowProxy) cheddarHandle.getObject()).updateProxy();
         assertFalse( constraint.isAllowed( cheddarHandle.getObject(),
@@ -407,8 +408,8 @@
         final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final InternalWorkingMemory workingMemory = (InternalWorkingMemory) ruleBase.newStatefulSession();
 
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "type" );
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
@@ -418,8 +419,8 @@
                                                                      evaluator,
                                                                      field );
 
-        final ClassFieldExtractor priceExtractor = new ClassFieldExtractor( Cheese.class,
-                                                                            "price" );
+        final ClassFieldExtractor priceExtractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                          "price" );
 
         final FieldValue priceField = FieldFactory.getFieldValue( 10 );
 
@@ -436,7 +437,7 @@
         constraint.addAlphaConstraint( constraint1 );
         constraint.addAlphaConstraint( constraint2 );
 
-        final InternalFactHandle cheddarHandle = (InternalFactHandle) workingMemory.assertObject( cheddar );
+        final InternalFactHandle cheddarHandle = (InternalFactHandle) workingMemory.insert( cheddar );
 
         // check constraint
         assertTrue( constraint.isAllowed( cheddarHandle.getObject(),
@@ -445,19 +446,19 @@
         cheddar.setPrice( 5 );
         ((ShadowProxy) cheddarHandle.getObject()).updateProxy();
         assertTrue( constraint.isAllowed( cheddarHandle.getObject(),
-                                           workingMemory ) );
-        
+                                          workingMemory ) );
+
         cheddar.setType( "stilton" );
         ((ShadowProxy) cheddarHandle.getObject()).updateProxy();
         assertFalse( constraint.isAllowed( cheddarHandle.getObject(),
                                            workingMemory ) );
-        
+
         cheddar.setPrice( 15 );
         ((ShadowProxy) cheddarHandle.getObject()).updateProxy();
         assertTrue( constraint.isAllowed( cheddarHandle.getObject(),
-                                           workingMemory ) );
+                                          workingMemory ) );
     }
-    
+
     /**
      * <pre>
      *        
@@ -475,8 +476,8 @@
         final ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         final InternalWorkingMemory workingMemory = (InternalWorkingMemory) ruleBase.newStatefulSession();
 
-        final ClassFieldExtractor typeExtractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor typeExtractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                         "type" );
 
         final FieldValue cheddarField = FieldFactory.getFieldValue( "cheddar" );
 
@@ -487,8 +488,8 @@
                                                                      stringEqual,
                                                                      cheddarField );
 
-        final ClassFieldExtractor priceExtractor = new ClassFieldExtractor( Cheese.class,
-                                                                            "price" );
+        final ClassFieldExtractor priceExtractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                          "price" );
 
         final FieldValue field10 = FieldFactory.getFieldValue( 10 );
 
@@ -504,7 +505,6 @@
         and1.addAlphaConstraint( constraint1 );
         and1.addAlphaConstraint( constraint2 );
 
-        
         final FieldValue stiltonField = FieldFactory.getFieldValue( "stilton" );
         // type == 'stilton'
         final LiteralConstraint constraint3 = new LiteralConstraint( typeExtractor,
@@ -518,7 +518,6 @@
                                                                      integerLess,
                                                                      field10 );
 
-
         // type == 'stilton' && price < 10
         final AndConstraint and2 = new AndConstraint();
         and2.addAlphaConstraint( constraint3 );
@@ -531,9 +530,9 @@
 
         final Cheese cheddar = new Cheese( "cheddar",
                                            15 );
-        
-        final InternalFactHandle cheddarHandle = (InternalFactHandle) workingMemory.assertObject( cheddar );
 
+        final InternalFactHandle cheddarHandle = (InternalFactHandle) workingMemory.insert( cheddar );
+
         // check constraint
         assertTrue( constraint.isAllowed( cheddarHandle.getObject(),
                                           workingMemory ) );
@@ -542,16 +541,16 @@
         ((ShadowProxy) cheddarHandle.getObject()).updateProxy();
         assertFalse( constraint.isAllowed( cheddarHandle.getObject(),
                                            workingMemory ) );
-        
+
         cheddar.setType( "stilton" );
         ((ShadowProxy) cheddarHandle.getObject()).updateProxy();
         assertTrue( constraint.isAllowed( cheddarHandle.getObject(),
-                                           workingMemory ) );
-        
+                                          workingMemory ) );
+
         cheddar.setPrice( 15 );
         ((ShadowProxy) cheddarHandle.getObject()).updateProxy();
         assertFalse( constraint.isAllowed( cheddarHandle.getObject(),
                                            workingMemory ) );
     }
-    
+
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexEntryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexEntryTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexEntryTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -4,6 +4,7 @@
 
 import org.drools.Cheese;
 import org.drools.base.ClassFieldExtractor;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.evaluators.Operator;
 import org.drools.base.evaluators.StringFactory;
 import org.drools.common.DefaultFactHandle;
@@ -16,8 +17,8 @@
 public class FieldIndexEntryTest extends TestCase {
 
     public void testSingleEntry() {
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "type" );
 
         final FieldIndex fieldIndex = new FieldIndex( extractor,
                                                       null,
@@ -59,8 +60,8 @@
     }
 
     public void testTwoEntries() {
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor(  Cheese.class,
+                                                                                      "type" );
         final FieldIndex fieldIndex = new FieldIndex( extractor,
                                                       null,
                                                       StringFactory.getInstance().getEvaluator( Operator.EQUAL ) );
@@ -110,8 +111,8 @@
     }
 
     public void testThreeEntries() {
-        final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                       "type" );
+        final ClassFieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                     "type" );
         final FieldIndex fieldIndex = new FieldIndex( extractor,
                                                       null,
                                                       StringFactory.getInstance().getEvaluator( Operator.EQUAL ) );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexHashTableTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexHashTableTest.java	2007-06-13 02:57:47 UTC (rev 12530)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexHashTableTest.java	2007-06-13 02:58:31 UTC (rev 12531)
@@ -8,6 +8,7 @@
 
 import org.drools.Cheese;
 import org.drools.base.ClassFieldExtractor;
+import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassObjectType;
 import org.drools.base.evaluators.ObjectFactory;
 import org.drools.base.evaluators.Operator;
@@ -26,11 +27,11 @@
 public class FieldIndexHashTableTest extends TestCase {
 
     public void testSingleEntry() throws Exception {
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final Pattern pattern = new Pattern( 0,
-                                          new ClassObjectType( Cheese.class ) );
+                                             new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
@@ -74,11 +75,11 @@
     }
 
     public void testTwoDifferentEntries() throws Exception {
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final Pattern pattern = new Pattern( 0,
-                                          new ClassObjectType( Cheese.class ) );
+                                             new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
@@ -130,11 +131,11 @@
     }
 
     public void testTwoEqualEntries() throws Exception {
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final Pattern pattern = new Pattern( 0,
-                                          new ClassObjectType( Cheese.class ) );
+                                             new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
@@ -186,11 +187,11 @@
     }
 
     public void testTwoDifferentEntriesSameHashCode() throws Exception {
-        final FieldExtractor extractor = new ClassFieldExtractor( TestClass.class,
-                                                                  "object" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor(  TestClass.class,
+                                                                                 "object" );
 
         final Pattern pattern = new Pattern( 0,
-                                          new ClassObjectType( TestClass.class ) );
+                                             new ClassObjectType( TestClass.class ) );
 
         final Declaration declaration = new Declaration( "theObject",
                                                          extractor,
@@ -232,11 +233,11 @@
     }
 
     public void testRemove() throws Exception {
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final Pattern pattern = new Pattern( 0,
-                                          new ClassObjectType( Cheese.class ) );
+                                             new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
@@ -298,11 +299,11 @@
     }
 
     public void testResize() throws Exception {
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final Pattern pattern = new Pattern( 0,
-                                          new ClassObjectType( Cheese.class ) );
+                                             new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
@@ -514,11 +515,11 @@
     }
 
     public void testEmptyIterator() {
-        final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
-                                                                  "type" );
+        final FieldExtractor extractor = ClassFieldExtractorCache.getExtractor( Cheese.class,
+                                                                                "type" );
 
         final Pattern pattern = new Pattern( 0,
-                                          new ClassObjectType( Cheese.class ) );
+                                             new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,




More information about the jboss-svn-commits mailing list