cxf-commits mailing list archives

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

URL: http://svn.apache.org/viewvc?rev=1343558&view=rev
Log:
Merged revisions 1343449 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes

................
  r1343449 | ningjiang | 2012-05-29 09:47:59 +0800 (Tue, 29 May 2012) | 9 lines
  
  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.4.x-fixes/   (props changed)
    cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java

Propchange: cxf/branches/2.4.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Tue May 29 07:01:08 2012
@@ -0,0 +1,2 @@
+/cxf/branches/2.5.x-fixes:1343449
+/cxf/trunk:1343446

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

Modified: cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java?rev=1343558&r1=1343557&r2=1343558&view=diff
==============================================================================
--- cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java
(original)
+++ cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/JAXRSClientFactory.java
Tue May 29 07:01:08 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;
 
 /**
@@ -67,18 +68,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)
{
@@ -90,9 +103,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 config classpath location of Spring configuration resource
+     * @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 configLocation classpath location of Spring configuration resource
      * @param varValues values to replace root Path template variables   
      * @return typed proxy
      */
@@ -123,11 +169,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);
     }
     
@@ -136,12 +197,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);
     }
     
@@ -151,14 +227,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);
     }
     
@@ -180,14 +272,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);
     }
     
@@ -202,6 +311,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);
@@ -209,6 +332,7 @@ public final class JAXRSClientFactory {
         if (threadSafe) {
             bean.setInitialState(new ThreadLocalClientState(baseAddress));
         }
+        bean.setFeatures(features);
         return bean.create(cls);
     }
     
@@ -217,6 +341,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, 
@@ -230,15 +355,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);
     }
     
@@ -262,8 +404,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