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/11/19 19:38:02 UTC
svn commit: r345665 - in /jakarta/commons/sandbox/proxy/trunk/src:
java/org/apache/commons/proxy/ test/org/apache/commons/proxy/
test/org/apache/commons/proxy/interceptor/
test/org/apache/commons/proxy/invoker/
test/org/apache/commons/proxy/provider/
Author: jcarman
Date: Sat Nov 19 10:37:57 2005
New Revision: 345665
URL: http://svn.apache.org/viewcvs?rev=345665&view=rev
Log:
Removed ProxyUtils.getProxyFactory() method.
Modified:
jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/ProxyUtils.java
jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/TestProxyUtils.java
jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/interceptor/TestMethodInterceptorAdapter.java
jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/invoker/TestInvocationHandlerAdapter.java
jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/provider/TestJaxRpcProvider.java
jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/provider/TestPooledProvider.java
Modified: jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/ProxyUtils.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/ProxyUtils.java?rev=345665&r1=345664&r2=345665&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/ProxyUtils.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/java/org/apache/commons/proxy/ProxyUtils.java Sat Nov 19 10:37:57 2005
@@ -16,7 +16,6 @@
*/
package org.apache.commons.proxy;
-import org.apache.commons.proxy.exception.ProxyFactoryException;
import org.apache.commons.proxy.invoker.NullInvoker;
import java.util.LinkedList;
@@ -125,81 +124,6 @@
return getJavaClassName( clazz.getComponentType() ) + "[]";
}
return clazz.getName();
- }
-
- /**
- * Returns an appropriate {@link ProxyFactory} implementation for the current environment. The implementation class
- * search order is as follows: <ul> <li>Try to use the type indicated by the system property
- * "commons-proxy.factory"</li> <li>Try to use
- * {@link org.apache.commons.proxy.factory.javassist.JavassistProxyFactory}</li>
- * <li>Try to use {@link org.apache.commons.proxy.factory.cglib.CglibProxyFactory}</li> <li>Default to {@link
- * org.apache.commons.proxy.factory.reflect.ReflectionProxyFactory} (should always be available)</li> </ul>
- *
- * @param classLoader the class loader to use to instantiate the proxy factory
- * @return an appropriate {@link ProxyFactory} implementation for the current environment
- */
- public static ProxyFactory getProxyFactory( ClassLoader classLoader )
- {
- final String[] classNames = new String[]{ System.getProperty( PROXY_FACTORY_PROPERTY ),
- "org.apache.commons.proxy.factory.javassist.JavassistProxyFactory",
- "org.apache.commons.proxy.factory.cglib.CglibProxyFactory",
- "org.apache.commons.proxy.factory.reflect.ReflectionProxyFactory" };
- for( int i = 0; i < classNames.length; i++ )
- {
- final String className = classNames[i];
- final ProxyFactory factory = instantiateProxyFactory( className, classLoader );
- if( factory != null )
- {
- return factory;
- }
- }
- throw new ProxyFactoryException( "Unable to find a suitable proxy factory implementation class." );
- }
-
- /**
- * Returns an appropriate {@link ProxyFactory} implementation for the current environment. The implementation class
- * search order is as follows: <ul> <li>Try to the type indicated by the system property
- * "commons-proxy.factory"</li> <li>Try to use
- * {@link org.apache.commons.proxy.factory.javassist.JavassistProxyFactory}</li>
- * <li>Try to use {@link org.apache.commons.proxy.factory.cglib.CglibProxyFactory}</li> <li>Default to {@link
- * org.apache.commons.proxy.factory.reflect.ReflectionProxyFactory} (should always be available)</li> </ul>
- * <p/>
- * <b>Note</b>: This implementation uses the current thread's context class loader!
- *
- * @return an appropriate {@link ProxyFactory} implementation for the current environment
- */
- public static ProxyFactory getProxyFactory()
- {
- return getProxyFactory( Thread.currentThread().getContextClassLoader() );
- }
-
- private static ProxyFactory instantiateProxyFactory( String className, ClassLoader classLoader )
- {
- try
- {
- if( className == null )
- {
- return null;
- }
- Class proxyFactoryClass = classLoader.loadClass( className );
- if( !ProxyFactory.class.isAssignableFrom( proxyFactoryClass ) )
- {
- return null;
- }
- return ( ProxyFactory ) proxyFactoryClass.newInstance();
- }
- catch( IllegalAccessException e )
- {
- return null;
- }
- catch( InstantiationException e )
- {
- return null;
- }
- catch( ClassNotFoundException e )
- {
- return null;
- }
}
}
Modified: jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/TestProxyUtils.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/TestProxyUtils.java?rev=345665&r1=345664&r2=345665&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/TestProxyUtils.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/TestProxyUtils.java Sat Nov 19 10:37:57 2005
@@ -17,11 +17,7 @@
package org.apache.commons.proxy;
import junit.framework.TestCase;
-import org.apache.commons.proxy.exception.ProxyFactoryException;
-import org.apache.commons.proxy.factory.cglib.CglibProxyFactory;
import org.apache.commons.proxy.factory.javassist.JavassistProxyFactory;
-import org.apache.commons.proxy.factory.reflect.ReflectionProxyFactory;
-import org.apache.commons.proxy.factory.util.AbstractProxyFactory;
import org.apache.commons.proxy.util.DuplicateEcho;
import org.apache.commons.proxy.util.Echo;
import org.apache.commons.proxy.util.EchoImpl;
@@ -83,73 +79,5 @@
assertEquals( "byte", ProxyUtils.getJavaClassName( Byte.TYPE ) );
assertEquals( "char", ProxyUtils.getJavaClassName( Character.TYPE ) );
assertEquals( "boolean", ProxyUtils.getJavaClassName( Boolean.TYPE ) );
- }
-
-
-
- public void testGetProxyFactory() throws Exception
- {
- assertTrue( ProxyUtils.getProxyFactory() instanceof JavassistProxyFactory );
- System.setProperty( ProxyUtils.PROXY_FACTORY_PROPERTY, "java.lang.String" );
- assertTrue( ProxyUtils.getProxyFactory() instanceof JavassistProxyFactory );
- System.setProperty( ProxyUtils.PROXY_FACTORY_PROPERTY, CglibProxyFactory.class.getName() );
- assertTrue( ProxyUtils.getProxyFactory() instanceof CglibProxyFactory );
- System.setProperty( ProxyUtils.PROXY_FACTORY_PROPERTY, ReflectionProxyFactory.class.getName() );
- assertTrue( ProxyUtils.getProxyFactory() instanceof ReflectionProxyFactory );
- System.setProperty( ProxyUtils.PROXY_FACTORY_PROPERTY, "" );
- ClassLoader cl = new IsolatingClassLoader( JavassistProxyFactory.class,
- Thread.currentThread().getContextClassLoader() );
- assertTrue( ProxyUtils.getProxyFactory( cl ) instanceof CglibProxyFactory );
- cl = new IsolatingClassLoader( CglibProxyFactory.class, cl );
- assertTrue( ProxyUtils.getProxyFactory( cl ) instanceof ReflectionProxyFactory );
- cl = new IsolatingClassLoader( ReflectionProxyFactory.class, cl );
- try
- {
- ProxyUtils.getProxyFactory( cl );
- fail();
- }
- catch( ProxyFactoryException e )
- {
- }
- }
-
- public void testPrivateProxyFactoryConstructor()
- {
- System.setProperty( ProxyUtils.PROXY_FACTORY_PROPERTY, PrivateProxyFactory.class.getName() );
- assertTrue( ProxyUtils.getProxyFactory() instanceof JavassistProxyFactory );
-
- }
-
- public void testNonConcreteProxyFactoryClass()
- {
- System.setProperty( ProxyUtils.PROXY_FACTORY_PROPERTY, AbstractProxyFactory.class.getName() );
- assertTrue( ProxyUtils.getProxyFactory() instanceof JavassistProxyFactory );
- }
-
- private static class IsolatingClassLoader extends ClassLoader
- {
- private Class isolatedClass;
-
- public IsolatingClassLoader( Class isolatedClass, ClassLoader parent )
- {
- super( parent );
- this.isolatedClass = isolatedClass;
- }
-
- public Class loadClass( String name ) throws ClassNotFoundException
- {
- if( isolatedClass.getName().equals( name ) )
- {
- throw new ClassNotFoundException( name + " not found." );
- }
- return getParent().loadClass( name );
- }
- }
-
- public static class PrivateProxyFactory extends ReflectionProxyFactory
- {
- private PrivateProxyFactory()
- {
- }
}
}
Modified: jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/interceptor/TestMethodInterceptorAdapter.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/interceptor/TestMethodInterceptorAdapter.java?rev=345665&r1=345664&r2=345665&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/interceptor/TestMethodInterceptorAdapter.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/interceptor/TestMethodInterceptorAdapter.java Sat Nov 19 10:37:57 2005
@@ -20,6 +20,7 @@
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.apache.commons.proxy.ProxyUtils;
+import org.apache.commons.proxy.factory.javassist.JavassistProxyFactory;
import org.apache.commons.proxy.util.Echo;
import org.apache.commons.proxy.util.EchoImpl;
@@ -27,7 +28,7 @@
{
public void testMethodInterception()
{
- final Echo proxy = ( Echo ) ProxyUtils.getProxyFactory().createInterceptorProxy( new EchoImpl(),
+ final Echo proxy = ( Echo ) new JavassistProxyFactory().createInterceptorProxy( new EchoImpl(),
new MethodInterceptorAdapter( new SuffixMethodInterceptor(
" suffix" ) ),
new Class[]{ Echo.class } );
@@ -38,7 +39,7 @@
{
final InterceptorTester tester = new InterceptorTester();
final EchoImpl target = new EchoImpl();
- final Echo proxy = ( Echo ) ProxyUtils.getProxyFactory().createInterceptorProxy( target, new MethodInterceptorAdapter( tester ), new Class[] { Echo.class } );
+ final Echo proxy = ( Echo ) new JavassistProxyFactory().createInterceptorProxy( target, new MethodInterceptorAdapter( tester ), new Class[] { Echo.class } );
proxy.echo();
assertNotNull( tester.invocation.getArguments() );
assertEquals( 0, tester.invocation.getArguments().length );
Modified: jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/invoker/TestInvocationHandlerAdapter.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/invoker/TestInvocationHandlerAdapter.java?rev=345665&r1=345664&r2=345665&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/invoker/TestInvocationHandlerAdapter.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/invoker/TestInvocationHandlerAdapter.java Sat Nov 19 10:37:57 2005
@@ -15,10 +15,9 @@
* limitations under the License.
*/
package org.apache.commons.proxy.invoker;
-import junit.framework.*;
-import org.apache.commons.proxy.invoker.InvocationHandlerAdapter;
+import junit.framework.TestCase;
+import org.apache.commons.proxy.factory.javassist.JavassistProxyFactory;
import org.apache.commons.proxy.util.Echo;
-import org.apache.commons.proxy.ProxyUtils;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
@@ -28,7 +27,7 @@
public void testMethodInvocation() throws Exception
{
InvocationHandlerTester tester = new InvocationHandlerTester();
- final Echo echo = ( Echo ) ProxyUtils.getProxyFactory().createInvokerProxy( new InvocationHandlerAdapter( tester ), new Class[] { Echo.class } );
+ final Echo echo = ( Echo ) new JavassistProxyFactory().createInvokerProxy( new InvocationHandlerAdapter( tester ), new Class[] { Echo.class } );
echo.echoBack( "hello" );
assertEquals( Echo.class.getMethod( "echoBack", new Class[] { String.class } ), tester.method );
assertSame( echo, tester.proxy );
Modified: jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/provider/TestJaxRpcProvider.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/provider/TestJaxRpcProvider.java?rev=345665&r1=345664&r2=345665&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/provider/TestJaxRpcProvider.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/provider/TestJaxRpcProvider.java Sat Nov 19 10:37:57 2005
@@ -25,6 +25,7 @@
provider.setWsdlUrl( "http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl" );
provider.setServiceNamespaceUri( "http://www.themindelectric.com/wsdl/net.xmethods.services.stockquote.StockQuote/" );
provider.setServiceLocalPart( "net.xmethods.services.stockquote.StockQuoteService" );
+ provider.setPortNamespaceUri( "http://www.themindelectric.com/wsdl/net.xmethods.services.stockquote.StockQuote/" );
provider.setPortLocalPart( "net.xmethods.services.stockquote.StockQuotePort" );
final QuoteService quote = ( QuoteService )provider.getObject();
assertNotNull( quote );
Modified: jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/provider/TestPooledProvider.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/provider/TestPooledProvider.java?rev=345665&r1=345664&r2=345665&view=diff
==============================================================================
--- jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/provider/TestPooledProvider.java (original)
+++ jakarta/commons/sandbox/proxy/trunk/src/test/org/apache/commons/proxy/provider/TestPooledProvider.java Sat Nov 19 10:37:57 2005
@@ -18,13 +18,13 @@
import EDU.oswego.cs.dl.util.concurrent.CountDown;
import junit.framework.TestCase;
import org.apache.commons.pool.impl.GenericObjectPool;
+import org.apache.commons.proxy.ObjectProvider;
+import org.apache.commons.proxy.exception.ObjectProviderException;
+import org.apache.commons.proxy.factory.javassist.JavassistProxyFactory;
import org.apache.commons.proxy.provider.cache.SimpleCache;
import org.apache.commons.proxy.provider.cache.ThreadLocalCache;
import org.apache.commons.proxy.util.Echo;
import org.apache.commons.proxy.util.EchoImpl;
-import org.apache.commons.proxy.ObjectProvider;
-import org.apache.commons.proxy.ProxyUtils;
-import org.apache.commons.proxy.exception.ObjectProviderException;
public class TestPooledProvider extends TestCase
{
@@ -91,7 +91,7 @@
final SimpleCache cache = new SimpleCache();
provider.setCache( cache );
- final Echo echo = ( Echo )ProxyUtils.getProxyFactory().createDelegatorProxy( provider, new Class[] { Echo.class } );
+ final Echo echo = ( Echo )new JavassistProxyFactory().createDelegatorProxy( provider, new Class[] { Echo.class } );
try
{
echo.echoBack( "Hello." );
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org