From: <hib...@li...> - 2006-07-31 20:27:54
|
Author: scottmarlownovell Date: 2006-07-31 16:27:50 -0400 (Mon, 31 Jul 2006) New Revision: 10182 Modified: trunk/Hibernate3/src/org/hibernate/tool/instrument/cglib/InstrumentTask.java Log: fix for HHH-1931, don't transform methods that accept classes that aren't instrumented. Modified: trunk/Hibernate3/src/org/hibernate/tool/instrument/cglib/InstrumentTask.java =================================================================== --- trunk/Hibernate3/src/org/hibernate/tool/instrument/cglib/InstrumentTask.java 2006-07-28 20:17:50 UTC (rev 10181) +++ trunk/Hibernate3/src/org/hibernate/tool/instrument/cglib/InstrumentTask.java 2006-07-31 20:27:50 UTC (rev 10182) @@ -43,21 +43,22 @@ * Override the {@link AbstractTransformTask#getClassTransformer} method * in order to define field access interception transformation should occur. */ - protected ClassTransformer getClassTransformer(String[] classInfo) { + protected ClassTransformer getClassTransformer(final String[] classInfo) { if ( Arrays.asList( classInfo ).contains( InterceptFieldEnabled.class.getName() ) ) { // The class is already instrumented, so skip this step return null; } else { + // Class was not yet enhanced, so apply the transformation return new InterceptFieldTransformer( new InterceptFieldFilter() { public boolean acceptRead(Type owner, String name) { - return true; + return (owner.getClassName().equals(classInfo[0])); } public boolean acceptWrite(Type owner, String name) { - return true; + return (owner.getClassName().equals(classInfo[0])); } } ); |