[jbossws-commits] JBossWS SVN: r16547 - api/trunk/src/main/java/org/jboss/ws/api/configuration.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Thu Jul 26 10:02:54 EDT 2012


Author: alessio.soldano at jboss.com
Date: 2012-07-26 10:02:54 -0400 (Thu, 26 Jul 2012)
New Revision: 16547

Modified:
   api/trunk/src/main/java/org/jboss/ws/api/configuration/ClientConfigUtil.java
   api/trunk/src/main/java/org/jboss/ws/api/configuration/ClientConfigurer.java
Log:
[JBWS-3529] Adding methods for setting up client config properties


Modified: api/trunk/src/main/java/org/jboss/ws/api/configuration/ClientConfigUtil.java
===================================================================
--- api/trunk/src/main/java/org/jboss/ws/api/configuration/ClientConfigUtil.java	2012-07-26 06:27:54 UTC (rev 16546)
+++ api/trunk/src/main/java/org/jboss/ws/api/configuration/ClientConfigUtil.java	2012-07-26 14:02:54 UTC (rev 16547)
@@ -24,7 +24,7 @@
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.Iterator;
-import java.util.ServiceLoader;
+import org.jboss.ws.api.util.ServiceLoader;
 
 import javax.xml.ws.BindingProvider;
 
@@ -49,17 +49,32 @@
    }
    
    /**
-    * Resolves a ClientConfigurer instance by first using the defining classloader and
-    * failing that by using the current thread context classloader.
+    * Reads a client configuration and setups the properties in the provided proxy accordingly.
+    * This leverages the resolveClientConfigurer() method for getting the ClientConfigure to use.
     * 
+    * @param bp             The client proxy (port) instance to setup
+    * @param configFile     The configuration file
+    * @param configName     The configuration name
+    */
+   public static void setConfigProperties(Object proxy, String configFile, String configName) {
+      ClientConfigurer configurer = resolveClientConfigurer();
+      configurer.setConfigProperties(proxy, configFile, configName);
+   }
+   
+   /**
+    * Resolves a ClientConfigurer instance by first using the current thread context classloader and
+    * failing that by using the defining classloader.
+    * 
     * @return A ClientConfigurer instance
     */
    public static ClientConfigurer resolveClientConfigurer() {
-      Iterator<ClientConfigurer> it = ServiceLoader.load(ClientConfigurer.class, ClientConfigUtil.class.getClassLoader()).iterator();
-      if (!it.hasNext()) {
-         it = ServiceLoader.load(ClientConfigurer.class, getContextClassLoader()).iterator();
+      Iterator<ClientConfigurer> it = java.util.ServiceLoader.load(ClientConfigurer.class, getContextClassLoader()).iterator();
+      if (it.hasNext()) {
+         return it.next();
+      } else {
+         return (ClientConfigurer)ServiceLoader.loadService(ClientConfigurer.class.getName(),
+               "org.jboss.ws.common.configuration.ConfigHelper", ClientConfigUtil.class.getClassLoader());
       }
-      return it.next();
    }
    
    private static ClassLoader getContextClassLoader()

Modified: api/trunk/src/main/java/org/jboss/ws/api/configuration/ClientConfigurer.java
===================================================================
--- api/trunk/src/main/java/org/jboss/ws/api/configuration/ClientConfigurer.java	2012-07-26 06:27:54 UTC (rev 16546)
+++ api/trunk/src/main/java/org/jboss/ws/api/configuration/ClientConfigurer.java	2012-07-26 14:02:54 UTC (rev 16547)
@@ -38,5 +38,14 @@
     * @param configName     The configuration name
     */
    public void setConfigHandlers(BindingProvider bp, String configFile, String configName);
+   
+   /**
+    * Reads a client configuration and setups the properties in the provided client proxy accordingly.
+    * 
+    * @param proxy          The client proxy (port)
+    * @param configFile     The configuration file
+    * @param configName     The configuration name
+    */
+   public void setConfigProperties(Object proxy, String configFile, String configName);
 
 }



More information about the jbossws-commits mailing list