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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jul 2 15:19:45 EDT 2007


Author: tirelli
Date: 2007-07-02 15:19:45 -0400 (Mon, 02 Jul 2007)
New Revision: 13016

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ShadowProxyFactory.java
Log:
JBRULES-960: not generating proxy for classes with final equals and hashcode

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ShadowProxyFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ShadowProxyFactory.java	2007-07-02 19:15:01 UTC (rev 13015)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ShadowProxyFactory.java	2007-07-02 19:19:45 UTC (rev 13016)
@@ -89,13 +89,21 @@
         if ( (clazz.getModifiers() & Modifier.FINAL) != 0 ) {
             return false;
         }
-        Method equals = clazz.getMethod( "equals", new Class[] { Object.class } );
-        if( Modifier.isFinal( equals.getModifiers() ) ) {
-            return false;
+        try {
+            Method equals = clazz.getMethod( "equals", new Class[] { Object.class } );
+            if( Modifier.isFinal( equals.getModifiers() ) ) {
+                return false;
+            }
+        } catch ( NoSuchMethodException e ) {
+            // that's fine
         }
-        Method hashcode = clazz.getMethod( "hashCode", new Class[0] );
-        if( Modifier.isFinal( hashcode.getModifiers() ) ) {
-            return false;
+        try {
+            Method hashcode = clazz.getMethod( "hashCode", new Class[0] );
+            if( Modifier.isFinal( hashcode.getModifiers() ) ) {
+                return false;
+            }
+        } catch ( NoSuchMethodException e ) {
+            // that's fine
         }
         return true;
     }
@@ -156,7 +164,6 @@
         for ( int i = 0; i < methods.length; i++ ) {
             if ( (!Modifier.isFinal( methods[i].getModifiers() )) && Modifier.isPublic( methods[i].getModifiers() ) && (!Modifier.isStatic( methods[i].getModifiers() )) ) {
                 if ( (!methods[i].getReturnType().equals( Void.TYPE )) && (methods[i].getParameterTypes().length == 0) && (!methods[i].getName().equals( "hashCode" )) && (!methods[i].getName().equals( "toString" )) ) {
-                    System.out.println("Caching: "+methods[i].toString());
 
                     final String fieldName = methods[i].getName();
 
@@ -177,7 +184,6 @@
                                     clazz,
                                     cw );
                 } else if ( (!methods[i].getName().equals( "hashCode" )) && (!methods[i].getName().equals( "equals" )) ) {
-                    System.out.println("Delegating: "+methods[i].toString());
                     buildDelegateMethod( methods[i],
                                          clazz,
                                          className,




More information about the jboss-svn-commits mailing list