[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