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