You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by jc...@apache.org on 2005/08/25 16:54:57 UTC
svn commit: r240084 - in /jakarta/commons/sandbox/proxy/trunk/src:
java/org/apache/commons/proxy/factory/javassist/
test/org/apache/commons/proxy/factory/ test/org/apache/commons/proxy/util/
Author: jcarman
Date: Thu Aug 25 07:54:53 2005
New Revision: 240084
URL: http://svn.apache.org/viewcvs?rev=240084&view=rev
Log:
Completed JavassistProxyFactory.
Modified:
jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistProxyFactory.java
jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/factory/AbstractProxyFactoryTestCase.java
jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/util/Echo.java
jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/util/EchoImpl.java
Modified: jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistProxyFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistProxyFactory.java?rev=240084&r1=240083&r2=240084&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistProxyFactory.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/factory/javassist/JavassistProxyFactory.java Thu Aug 25 07:54:53 2005
@@ -43,7 +43,6 @@
public class JavassistProxyFactory extends AbstractProxyFactory
{
private static final Log log = LogFactory.getLog( JavassistProxyFactory.class );
-
private static int classNumber = 0;
private static final ClassPool classPool = ClassPool.getDefault();
@@ -51,7 +50,7 @@
{
try
{
- enclosingClass.addField( new CtField( resolve( fieldType ), fieldName, enclosingClass ) );
+ enclosingClass.addField( new CtField( resolve( fieldType ), fieldName, enclosingClass ) );
}
catch( CannotCompileException e )
{
@@ -88,15 +87,15 @@
}
catch( CannotCompileException e )
{
- throw new ObjectProviderException( "Could not compile class.", e );
+ throw new ProxyFactoryException( "Could not compile class.", e );
}
catch( NoSuchMethodException e )
{
- throw new ObjectProviderException( "Could not find constructor in generated proxy class.", e );
+ throw new ProxyFactoryException( "Could not find constructor in generated proxy class.", e );
}
catch( Exception e )
{
- throw new ObjectProviderException( "Unable to instantiate proxy from generated proxy class.", e );
+ throw new ProxyFactoryException( "Unable to instantiate proxy from generated proxy class.", e );
}
}
@@ -139,7 +138,7 @@
}
catch( CannotCompileException e )
{
- throw new RuntimeException( "Oops!", e );
+ throw new ProxyFactoryException( "Could not compile Javassist generated class.", e );
}
}
@@ -148,7 +147,11 @@
final StringBuffer proceedBody = new StringBuffer( "{\n" );
if( !Void.TYPE.equals( method.getReturnType() ) )
{
- proceedBody.append( "\treturn ( $r )" );
+ proceedBody.append( "\treturn " );
+ }
+ else
+ {
+ proceedBody.append( "\t" );
}
proceedBody.append( "target." + method.getName() + "(" );
for( int i = 0; i < argumentTypes.length; ++i )
@@ -160,6 +163,10 @@
}
}
proceedBody.append( ");\n" );
+ if( Void.TYPE.equals( method.getReturnType() ) )
+ {
+ proceedBody.append( "return null;" );
+ }
proceedBody.append( "}" );
return proceedBody.toString();
}
@@ -190,15 +197,15 @@
}
catch( CannotCompileException e )
{
- throw new ObjectProviderException( "Could not compile class.", e );
+ throw new ProxyFactoryException( "Could not compile class.", e );
}
catch( NoSuchMethodException e )
{
- throw new ObjectProviderException( "Could not find constructor in generated proxy class.", e );
+ throw new ProxyFactoryException( "Could not find constructor in generated proxy class.", e );
}
catch( Exception e )
{
- throw new ObjectProviderException( "Unable to instantiate proxy from generated proxy class.", e );
+ throw new ProxyFactoryException( "Unable to instantiate proxy from generated proxy class.", e );
}
}
Modified: jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/factory/AbstractProxyFactoryTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/factory/AbstractProxyFactoryTestCase.java?rev=240084&r1=240083&r2=240084&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/factory/AbstractProxyFactoryTestCase.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/factory/AbstractProxyFactoryTestCase.java Thu Aug 25 07:54:53 2005
@@ -39,6 +39,7 @@
public void testCreateProxy()
{
final Echo echo = ( Echo )factory.createProxy( new SingletonProvider<Echo>( new BeanProvider<Echo>( EchoImpl.class ) ), Echo.class );
+ echo.echo();
assertEquals( "message", echo.echoBack( "message" ) );
}
@@ -46,6 +47,7 @@
{
final Echo target = ( Echo )factory.createProxy( new SingletonProvider<Echo>( new BeanProvider<Echo>( EchoImpl.class ) ), Echo.class );
final Echo proxy = ( Echo )factory.createInterceptorProxy( target, new SuffixMethodInterceptor( " suffix" ), Echo.class );
+ proxy.echo();
assertEquals( "message suffix", proxy.echoBack( "message" ) );
}
}
Modified: jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/util/Echo.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/util/Echo.java?rev=240084&r1=240083&r2=240084&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/util/Echo.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/util/Echo.java Thu Aug 25 07:54:53 2005
@@ -22,4 +22,5 @@
public interface Echo
{
public String echoBack( String message );
+ public void echo();
}
Modified: jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/util/EchoImpl.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/util/EchoImpl.java?rev=240084&r1=240083&r2=240084&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/util/EchoImpl.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/util/EchoImpl.java Thu Aug 25 07:54:53 2005
@@ -25,4 +25,8 @@
{
return message;
}
+
+ public void echo()
+ {
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org