[jboss-svn-commits] JBL Code SVN: r19832 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu May 1 20:16:43 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-05-01 20:16:42 -0400 (Thu, 01 May 2008)
New Revision: 19832

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java
Log:
JBRULES-1443 retract of Fact Template leads to NPE

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java	2008-05-02 00:15:04 UTC (rev 19831)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectTypeConfigurationRegistry.java	2008-05-02 00:16:42 UTC (rev 19832)
@@ -36,28 +36,29 @@
     public ObjectTypeConf getObjectTypeConf(EntryPoint entrypoint,
                                             Object object) {
         
-        // first see if it's a ClassObjectTypeConf
+        // first see if it's a ClassObjectTypeConf        
+        ObjectTypeConf objectTypeConf = null;
         Class cls = null;
-        if ( object instanceof ShadowProxy ) {
-            cls = ((ShadowProxy) object).getShadowedObject().getClass();
+        if ( object instanceof Fact ) {
+            String key = ((Fact) object).getFactTemplate().getName();
+            objectTypeConf = (ObjectTypeConf) this.typeConfMap.get( key );            
         } else {
-            cls = object.getClass();
-        }        
-        ObjectTypeConf objectTypeConf = this.typeConfMap.get( cls );
+            if ( object instanceof ShadowProxy ) {
+                cls = ((ShadowProxy) object).getShadowedObject().getClass();
+            } else {
+                cls = object.getClass();
+            }        
+            objectTypeConf = this.typeConfMap.get( cls );            
+        }                       
         
-        // Now see if it's something else 
-        if ( objectTypeConf == null ) {
-            objectTypeConf = this.typeConfMap.get( object );
-        }
-        
-        
         // it doesn't exist, so create it.
         if ( objectTypeConf == null ) {
-            if ( object instanceof Fact ) {
+            if ( object instanceof Fact ) {;
                 objectTypeConf = new FactTemplateTypeConf( entrypoint,
                                                            ((Fact) object).getFactTemplate(),
                                                            this.ruleBase );           
-                this.typeConfMap.put( object, objectTypeConf );
+                this.typeConfMap.put( ((Fact) object).getFactTemplate().getName(), 
+                                      objectTypeConf );
             } else {
                 objectTypeConf = new ClassObjectTypeConf( entrypoint,
                                                           cls,




More information about the jboss-svn-commits mailing list