cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ningji...@apache.org
Subject svn commit: r1343449 - in /cxf/branches/2.5.x-fixes: ./ rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java
Date Tue, 29 May 2012 01:47:59 GMT
Author: ningjiang
Date: Tue May 29 01:47:59 2012
New Revision: 1343449

URL: http://svn.apache.org/viewvc?rev=1343449&view=rev
Log:
Merged revisions 1343446 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1343446 | ningjiang | 2012-05-29 09:39:02 +0800 (Tue, 29 May 2012) | 1 line
  
  CXF-4345 Allow user-secified feautres for JAXRSClientFactory
........

Modified:
    cxf/branches/2.5.x-fixes/   (props changed)
    cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java

Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
  Merged /cxf/trunk:r1343446

Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java?rev=1343449&r1=1343448&r2=1343449&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java
(original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java
Tue May 29 01:47:59 2012
@@ -26,6 +26,7 @@ import java.util.List;
 import javax.ws.rs.core.MultivaluedMap;
 
 import org.apache.cxf.common.util.ProxyHelper;
+import org.apache.cxf.feature.AbstractFeature;
 import org.apache.cxf.jaxrs.model.UserResource;
 
 /**
@@ -56,7 +57,20 @@ public final class JAXRSClientFactory {
      * @return typed proxy
      */
     public static <T> T create(String baseAddress, Class<T> cls, ClassLoader
loader) {
+        
+        return create(baseAddress, cls, loader, null);
+    }
+    
+    /**
+     * Creates a proxy using a custom class loader
+     * @param baseAddress baseAddress
+     * @param loader class loader
+     * @param cls resource class, if not interface then a CGLIB proxy will be created
+     * @return typed proxy
+     */
+    public static <T> T create(String baseAddress, Class<T> cls, ClassLoader
loader, List<AbstractFeature> features) {
         JAXRSClientFactoryBean bean = getBean(baseAddress, cls, null);
+        bean.setFeatures(features);
         bean.setClassLoader(loader);
         return bean.create(cls);
     }
@@ -80,18 +94,30 @@ public final class JAXRSClientFactory {
      * @return typed proxy
      */
     public static <T> T create(URI baseURI, Class<T> cls, boolean inheritHeaders)
{
-        
+        return create(baseURI, cls, inheritHeaders, null);
+    }
+    
+    /**
+     * Creates a proxy
+     * @param baseURI baseURI
+     * @param cls resource class, if not interface then a CGLIB proxy will be created
+     * @param inheritHeaders if true then existing proxy headers will be inherited by 
+     *        subresource proxies if any
+     * @param features, the features which will be applied to the client 
+     * @return typed proxy
+     */
+    public static <T> T create(URI baseURI, Class<T> cls, boolean inheritHeaders,
List<AbstractFeature> features) {
         JAXRSClientFactoryBean bean = getBean(baseURI.toString(), cls, null);
         bean.setInheritHeaders(inheritHeaders);
+        bean.setFeatures(features);
         return bean.create(cls);
-        
     }
     
     /**
      * Creates a proxy
      * @param baseAddress baseAddress
      * @param cls resource class, if not interface then a CGLIB proxy will be created
-     * @param config classpath location of Spring configuration resource
+     * @param configLocation classpath location of Spring configuration resource
      * @return typed proxy
      */
     public static <T> T create(String baseAddress, Class<T> cls, String configLocation)
{
@@ -103,9 +129,42 @@ public final class JAXRSClientFactory {
      * Creates a proxy
      * @param baseAddress baseAddress
      * @param cls resource class, if not interface then a CGLIB proxy will be created
+     * @param configLocation classpath location of Spring configuration resource
+     * @param features, the features which will be applied to the client 
+     * @return typed proxy
+     */
+    public static <T> T create(String baseAddress, Class<T> cls, String configLocation,

+                               List<AbstractFeature> features) {
+        JAXRSClientFactoryBean bean = getBean(baseAddress, cls, configLocation);
+        bean.setFeatures(features);
+        return bean.create(cls);
+    }
+    
+    /**
+     * Creates a proxy
+     * @param baseAddress baseAddress
+     * @param cls resource class, if not interface then a CGLIB proxy will be created
+     *        This class is expected to have a root JAXRS Path annotation containing
+     *        template variables, for ex, "/path/{id1}/{id2}"  
+     * @param configLocation classpath location of Spring configuration resource
+     * @param features, the features which will be applied to the client
+     * @param varValues values to replace root Path template variables   
+     * @return typed proxy
+     */
+    public static <T> T create(String baseAddress, Class<T> cls, String configLocation,

+                               List<AbstractFeature> features, Object... varValues)
{
+        JAXRSClientFactoryBean bean = getBean(baseAddress, cls, configLocation);
+        bean.setFeatures(features);
+        return bean.create(cls, varValues);
+    }
+    
+    /**
+     * Creates a proxy
+     * @param baseAddress baseAddress
+     * @param cls resource class, if not interface then a CGLIB proxy will be created
      *        This class is expected to have a root JAXRS Path annotation containing
      *        template variables, for ex, "/path/{id1}/{id2}"  
-     * @param config classpath location of Spring configuration resource
+     * @param configLocation classpath location of Spring configuration resource
      * @param varValues values to replace root Path template variables   
      * @return typed proxy
      */
@@ -136,11 +195,26 @@ public final class JAXRSClientFactory {
      * @return typed proxy
      */
     public static <T> T create(String baseAddress, Class<T> cls, List<?>
providers, boolean threadSafe) {
+        return create(baseAddress, cls, providers, threadSafe, null);
+    }
+    
+    /**
+     * Creates a thread safe proxy
+     * @param baseAddress baseAddress
+     * @param cls proxy class, if not interface then a CGLIB proxy will be created
+     * @param providers list of providers
+     * @param threadSafe if true then a thread-safe proxy will be created
+     * @param features, the features which will be applied to the client
+     * @return typed proxy
+     */
+    public static <T> T create(String baseAddress, Class<T> cls, List<?>
providers, boolean threadSafe, 
+                               List<AbstractFeature> features) {
         JAXRSClientFactoryBean bean = getBean(baseAddress, cls, null);
         bean.setProviders(providers);
         if (threadSafe) {
             bean.setInitialState(new ThreadLocalClientState(baseAddress));
         }
+        bean.setFeatures(features);
         return bean.create(cls);
     }
     
@@ -149,12 +223,27 @@ public final class JAXRSClientFactory {
      * @param baseAddress baseAddress
      * @param cls proxy class, if not interface then a CGLIB proxy will be created
      * @param providers list of providers
-     * @param config classpath location of Spring configuration resource
+     * @param configLocation classpath location of Spring configuration resource
      * @return typed proxy
      */
     public static <T> T create(String baseAddress, Class<T> cls, List<?>
providers, String configLocation) {
+        return create(baseAddress, cls, providers, configLocation);
+    }
+    
+    /**
+     * Creates a proxy
+     * @param baseAddress baseAddress
+     * @param cls proxy class, if not interface then a CGLIB proxy will be created
+     * @param providers list of providers
+     * @param configLocation classpath location of Spring configuration resource
+     * @param features, the features which will be applied to the client
+     * @return typed proxy
+     */
+    public static <T> T create(String baseAddress, Class<T> cls, List<?>
providers, String configLocation,
+                               List<AbstractFeature> features) {
         JAXRSClientFactoryBean bean = getBean(baseAddress, cls, configLocation);
         bean.setProviders(providers);
+        bean.setFeatures(features);
         return bean.create(cls);
     }
     
@@ -164,14 +253,30 @@ public final class JAXRSClientFactory {
      * @param cls proxy class, if not interface then a CGLIB proxy will be created
      * @param username username
      * @param password password
-     * @param config classpath location of Spring configuration resource
+     * @param configLocation classpath location of Spring configuration resource
      * @return typed proxy
      */
     public static <T> T create(String baseAddress, Class<T> cls, String username,
                                String password, String configLocation) {
+        return create(baseAddress, cls, username, password, configLocation);
+    }
+    
+    /**
+     * Creates a proxy which will do basic authentication
+     * @param baseAddress baseAddress
+     * @param cls proxy class, if not interface then a CGLIB proxy will be created
+     * @param username username
+     * @param password password
+     * @param configLocation classpath location of Spring configuration resource
+     * @param features, the features which will be applied to the client
+     * @return typed proxy
+     */
+    public static <T> T create(String baseAddress, Class<T> cls, String username,
+                               String password, String configLocation, List<AbstractFeature>
features) {
         JAXRSClientFactoryBean bean = getBean(baseAddress, cls, configLocation);
         bean.setUsername(username);
         bean.setPassword(password);
+        bean.setFeatures(features);
         return bean.create(cls);
     }
     
@@ -193,14 +298,31 @@ public final class JAXRSClientFactory {
      * @param cls proxy class, if not interface then a CGLIB proxy will be created
      * @param modelRef model location
      * @param providers list of providers
+     * @param configLocation classpath location of Spring configuration resource
      * @return typed proxy
      */
     public static <T> T createFromModel(String baseAddress, Class<T> cls, String
modelRef, 
                                List<?> providers, String configLocation) {
+        return createFromModel(baseAddress, cls, modelRef, providers, configLocation, null);
+    }
+    
+    /**
+     * Creates a proxy using user resource model
+     * @param baseAddress baseAddress
+     * @param cls proxy class, if not interface then a CGLIB proxy will be created
+     * @param modelRef model location
+     * @param providers list of providers
+     * @param configLocation classpath location of Spring configuration resource
+     * @param features, the features which will be applied to the client
+     * @return typed proxy
+     */
+    public static <T> T createFromModel(String baseAddress, Class<T> cls, String
modelRef, 
+                               List<?> providers, String configLocation, List<AbstractFeature>
features) {
         JAXRSClientFactoryBean bean = WebClient.getBean(baseAddress, configLocation);
         bean.setProviders(providers);
         bean.setModelRef(modelRef);
         bean.setServiceClass(cls);
+        bean.setFeatures(features);
         return bean.create(cls);
     }
     
@@ -215,6 +337,20 @@ public final class JAXRSClientFactory {
      */
     public static <T> T createFromModel(String baseAddress, Class<T> cls, String
modelRef, 
                                         List<?> providers, boolean threadSafe) {
+        return createFromModel(baseAddress, cls, modelRef, providers, threadSafe, null);
+    }
+    
+    /**
+     * Creates a thread safe proxy using user resource model
+     * @param baseAddress baseAddress
+     * @param cls proxy class, if not interface then a CGLIB proxy will be created
+     * @param modelRef model location
+     * @param providers list of providers
+     * @param threadSafe if true then thread-safe proxy will be created 
+     * @return typed proxy
+     */
+    public static <T> T createFromModel(String baseAddress, Class<T> cls, String
modelRef, 
+                                        List<?> providers, boolean threadSafe, List<AbstractFeature>
features) {
         JAXRSClientFactoryBean bean = WebClient.getBean(baseAddress, null);
         bean.setProviders(providers);
         bean.setModelRef(modelRef);
@@ -222,6 +358,7 @@ public final class JAXRSClientFactory {
         if (threadSafe) {
             bean.setInitialState(new ThreadLocalClientState(baseAddress));
         }
+        bean.setFeatures(features);
         return bean.create(cls);
     }
     
@@ -230,6 +367,7 @@ public final class JAXRSClientFactory {
      * @param baseAddress baseAddress
      * @param cls proxy class, if not interface then a CGLIB proxy will be created
      * @param modelBeans model beans
+     * @param configLocation classpath location of Spring configuration resource
      * @return typed proxy
      */
     public static <T> T createFromModel(String baseAddress, Class<T> cls, List<UserResource>
modelBeans, 
@@ -243,15 +381,32 @@ public final class JAXRSClientFactory {
      * @param cls proxy class, if not interface then a CGLIB proxy will be created
      * @param modelBeans model beans
      * @param providers list of providers
+     * @param configLocation classpath location of Spring configuration resource
      * @return typed proxy
      */
     public static <T> T createFromModel(String baseAddress, Class<T> cls, List<UserResource>
modelBeans,
                                List<?> providers, String configLocation) {
+        return createFromModel(baseAddress, cls, modelBeans, providers, configLocation);
+    }
+    
+    /**
+     * Creates a proxy using user resource model
+     * @param baseAddress baseAddress
+     * @param cls proxy class, if not interface then a CGLIB proxy will be created
+     * @param modelBeans model beans
+     * @param providers list of providers
+     * @param configLocation classpath location of Spring configuration resource
+     * @param features, the features which will be applied to the client
+     * @return typed proxy
+     */
+    public static <T> T createFromModel(String baseAddress, Class<T> cls, List<UserResource>
modelBeans,
+                               List<?> providers, String configLocation, List<AbstractFeature>
features) {
         JAXRSClientFactoryBean bean = WebClient.getBean(baseAddress, configLocation);
         
         bean.setProviders(providers);
         bean.setModelBeans(modelBeans);
         bean.setServiceClass(cls);
+        bean.setFeatures(features);
         return bean.create(cls);
     }
     
@@ -275,8 +430,23 @@ public final class JAXRSClientFactory {
      * @return typed proxy
      */
     public static <T> T fromClient(Client client, Class<T> cls, boolean inheritHeaders)
{
+        return fromClient(client, cls, inheritHeaders, null);
+    }
+    
+    /**
+     * Creates a proxy, baseURI will be set to Client currentURI
+     * @param client Client instance
+     * @param cls proxy class, if not interface then a CGLIB proxy will be created
+     * @param inheritHeaders if true then existing Client headers will be inherited by new
proxy 
+     *        and subresource proxies if any
+     * @param features, the features which will be applied to the client 
+     * @return typed proxy
+     */
+    public static <T> T fromClient(Client client, Class<T> cls, boolean inheritHeaders,

+                                   List<AbstractFeature> features) {
         JAXRSClientFactoryBean bean = getBean(client.getCurrentURI().toString(), cls, null);
         bean.setInheritHeaders(inheritHeaders);
+        bean.setFeatures(features);
         
         ClientState clientState = WebClient.getClientState(client);
         



Mime
View raw message