[jboss-svn-commits] JBL Code SVN: r7058 - in labs/jbossrules/trunk/drools-core/src: main/java/org/drools/base main/java/org/drools/spi test/java/org/drools/base
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Oct 23 21:20:16 EDT 2006
Author: tirelli
Date: 2006-10-23 21:19:58 -0400 (Mon, 23 Oct 2006)
New Revision: 7058
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ShadowProxy.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ShadowProxyFactory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/ShadowProxyFactoryTest.java
Log:
Fixing integration tests
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ShadowProxy.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ShadowProxy.java 2006-10-24 01:02:26 UTC (rev 7057)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ShadowProxy.java 2006-10-24 01:19:58 UTC (rev 7058)
@@ -22,5 +22,7 @@
public interface ShadowProxy {
public void updateProxy();
+
+ public Object getShadowedObject();
}
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 2006-10-24 01:02:26 UTC (rev 7057)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ShadowProxyFactory.java 2006-10-24 01:19:58 UTC (rev 7058)
@@ -42,7 +42,7 @@
private static final String FIELD_SET_FLAG = "IsSet";
- private static final String DELEGATE_FIELD_NAME = "__delegate";
+ private static final String DELEGATE_FIELD_NAME = "delegate";
public static Class getProxy(final Class clazz) {
try {
@@ -101,6 +101,15 @@
Type.getDescriptor( clazz ),
cw );
+ Method getShadowed = ShadowProxy.class.getDeclaredMethod( "getShadowedObject",
+ new Class[]{} );
+ buildSimpleGetMethod( ShadowProxyFactory.DELEGATE_FIELD_NAME,
+ clazz,
+ getShadowed,
+ className,
+ clazz,
+ cw );
+
final Map fieldTypes = new HashMap();
final Method[] methods = clazz.getMethods();
for ( int i = 0; i < methods.length; i++ ) {
@@ -176,7 +185,6 @@
buildSimpleGetMethod( /*FIELD_NAME_PREFIX +*/fieldName,
methods[i].getReturnType(),
- /*FIELD_NAME_PREFIX +*/fieldName + ShadowProxyFactory.FIELD_SET_FLAG,
methods[i],
className,
clazz,
@@ -445,10 +453,10 @@
final Class[] exceptionTypes = method.getExceptionTypes();
final String[] exceptions = getExceptionArrayAsString( exceptionTypes );
final MethodVisitor mv = cw.visitMethod( Opcodes.ACC_PUBLIC,
- method.getName(),
- Type.getMethodDescriptor( method ),
- null,
- exceptions );
+ method.getName(),
+ Type.getMethodDescriptor( method ),
+ null,
+ exceptions );
mv.visitCode();
// if ( ! _fieldIsSet ) {
@@ -537,19 +545,19 @@
*/
protected static void buildSimpleGetMethod(final String fieldName,
final Class fieldType,
- final String fieldFlag,
final Method method,
final String className,
final Class clazz,
final ClassWriter cw) {
+
+ final Class[] exceptionTypes = method.getExceptionTypes();
+ String[] exceptions = getExceptionArrayAsString( exceptionTypes );
// method signature
- final Class[] exceptionTypes = method.getExceptionTypes();
- final String[] exceptions = getExceptionArrayAsString( exceptionTypes );
final MethodVisitor mv = cw.visitMethod( Opcodes.ACC_PUBLIC,
- method.getName(),
- Type.getMethodDescriptor( method ),
- null,
- exceptions );
+ method.getName(),
+ Type.getMethodDescriptor( method ),
+ null,
+ exceptions );
mv.visitCode();
// return __field;
@@ -583,11 +591,11 @@
final String className,
final ClassWriter cw) {
final MethodVisitor mv = cw.visitMethod( Opcodes.ACC_PUBLIC,
- ShadowProxyFactory.UPDATE_PROXY,
- Type.getMethodDescriptor( Type.VOID_TYPE,
- new Type[]{} ),
- null,
- null );
+ ShadowProxyFactory.UPDATE_PROXY,
+ Type.getMethodDescriptor( Type.VOID_TYPE,
+ new Type[]{} ),
+ null,
+ null );
mv.visitCode();
final Label l0 = new Label();
mv.visitLabel( l0 );
@@ -645,11 +653,11 @@
final String className,
final ClassWriter cw) {
final MethodVisitor mv = cw.visitMethod( Opcodes.ACC_PUBLIC,
- ShadowProxyFactory.UPDATE_PROXY,
- Type.getMethodDescriptor( Type.VOID_TYPE,
- new Type[]{} ),
- null,
- null );
+ ShadowProxyFactory.UPDATE_PROXY,
+ Type.getMethodDescriptor( Type.VOID_TYPE,
+ new Type[]{} ),
+ null,
+ null );
mv.visitCode();
final Label l0 = new Label();
mv.visitLabel( l0 );
@@ -713,10 +721,10 @@
// creating method visitor
final String[] exceptions = getExceptionArrayAsString( method.getExceptionTypes() );
final MethodVisitor mv = cw.visitMethod( Opcodes.ACC_PUBLIC,
- method.getName(),
- Type.getMethodDescriptor( method ),
- null,
- exceptions );
+ method.getName(),
+ Type.getMethodDescriptor( method ),
+ null,
+ exceptions );
mv.visitCode();
// return this.delegate.method(...);
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java 2006-10-24 01:02:26 UTC (rev 7057)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java 2006-10-24 01:19:58 UTC (rev 7058)
@@ -4,6 +4,7 @@
import org.drools.RuntimeDroolsException;
import org.drools.base.ClassObjectType;
+import org.drools.base.ShadowProxy;
import org.drools.base.ValueType;
import org.drools.facttemplates.Fact;
@@ -38,7 +39,7 @@
}
public Object getValue(final Object object) {
- return object;
+ return ( object instanceof ShadowProxy ) ? ((ShadowProxy)object).getShadowedObject() : object;
}
public ObjectType getObjectType() {
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/ShadowProxyFactoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/ShadowProxyFactoryTest.java 2006-10-24 01:02:26 UTC (rev 7057)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/ShadowProxyFactoryTest.java 2006-10-24 01:19:58 UTC (rev 7058)
@@ -36,6 +36,7 @@
cheeseProxy.getType() );
Assert.assertEquals( originalPrice,
cheeseProxy.getPrice() );
+ Assert.assertSame( cheese, ((ShadowProxy)cheeseProxy).getShadowedObject() );
// changing original values
final String actualType = "rotten stilton";
@@ -92,6 +93,7 @@
cheeseProxy.getType() );
Assert.assertEquals( originalPrice,
cheeseProxy.getPrice() );
+ Assert.assertSame( cheese, ((ShadowProxy)cheeseProxy).getShadowedObject() );
// changing original values
final String actualType = "rotten stilton";
@@ -143,6 +145,7 @@
// proxy is proxying the values
Assert.assertEquals( list,
listProxy );
+ Assert.assertSame( list, ((ShadowProxy)listProxy).getShadowedObject() );
} catch ( final Exception e ) {
fail( "Error: " + e.getMessage() );
More information about the jboss-svn-commits
mailing list