[jboss-svn-commits] JBossWS SVN: r1007 - in branches/tdiesler/trunk/src: main/java/org/jboss/ws/deployment main/java/org/jboss/ws/jaxrpc test/ant test/java/org/jboss/test/ws/jaxws/jsr181/handlerchain test/resources/jaxws/jsr181/handlerchain test/resources/jaxws/jsr181/handlerchain/WEB-INF

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 19 09:07:41 EDT 2006


Author: thomas.diesler at jboss.com
Date: 2006-09-19 09:07:28 -0400 (Tue, 19 Sep 2006)
New Revision: 1007

Added:
   branches/tdiesler/trunk/src/test/resources/jaxws/jsr181/handlerchain/jaxws-handlers.xml
Removed:
   branches/tdiesler/trunk/src/test/resources/jaxws/jsr181/handlerchain/WEB-INF/jaxws-handlers.xml
Modified:
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java
   branches/tdiesler/trunk/src/test/ant/build-jars-jaxws.xml
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/EndpointImpl.java
Log:
Support handler file relative to defining source

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java	2006-09-19 12:24:03 UTC (rev 1006)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java	2006-09-19 13:07:28 UTC (rev 1007)
@@ -511,7 +511,17 @@
       return variable;
    }
 
-   // Process an optional @HandlerChain annotation
+   /** 
+    * Process an optional @HandlerChain annotation
+    * 
+    * Location of the handler chain file. The location supports 2 formats.
+    * 
+    *    1. An absolute java.net.URL in externalForm.
+    *    (ex: http://myhandlers.foo.com/handlerfile1.xml)
+    *    
+    *    2. A relative path from the source file or class file.
+    *    (ex: bar/handlerfile1.xml)
+    */
    protected void processHandlerChain(EndpointMetaData epMetaData, Class wsClass)
    {
       if (wsClass.isAnnotationPresent(SOAPMessageHandlers.class))
@@ -553,9 +563,16 @@
          fileURL = epMetaData.getResourceLoader().getResource(filename);
       }
 
+      // Try the filename as Resource
       if (fileURL == null)
-         throw new WSException("Cannot resolve URL to handler file: " + filename);
+      {
+         String packagePath = wsClass.getPackage().getName().replace('.', '/');
+         fileURL = epMetaData.getClassLoader().getResource(packagePath + "/" + filename);
+      }
 
+      if (fileURL == null)
+         throw new WSException("Cannot resolve handler file '" + filename + "' on " + wsClass.getName());
+
       try
       {
          HandlerChainsMetaData handlerChainsMetaData = null;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java	2006-09-19 12:24:03 UTC (rev 1006)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java	2006-09-19 13:07:28 UTC (rev 1007)
@@ -46,7 +46,6 @@
 import org.jboss.logging.Logger;
 import org.jboss.ws.Constants;
 import org.jboss.ws.binding.UnboundHeader;
-import org.jboss.ws.common.CommonBindingProvider;
 import org.jboss.ws.common.CommonClient;
 import org.jboss.ws.jaxrpc.handler.HandlerChainBaseImpl;
 import org.jboss.ws.jaxrpc.handler.SOAPMessageContextJAXRPC;

Modified: branches/tdiesler/trunk/src/test/ant/build-jars-jaxws.xml
===================================================================
--- branches/tdiesler/trunk/src/test/ant/build-jars-jaxws.xml	2006-09-19 12:24:03 UTC (rev 1006)
+++ branches/tdiesler/trunk/src/test/ant/build-jars-jaxws.xml	2006-09-19 13:07:28 UTC (rev 1007)
@@ -131,15 +131,14 @@
     </war>
     
     <!-- jaxws-jsr181-handlerchain -->
+	<copy todir="${build.test.dir}/classes/org/jboss/test/ws/jaxws/jsr181/handlerchain" file="${build.test.dir}/resources/jaxws/jsr181/handlerchain/jaxws-handlers.xml"/>
     <war warfile="${build.test.dir}/libs/jaxws-jsr181-handlerchain.war" webxml="${build.test.dir}/resources/jaxws/jsr181/handlerchain/WEB-INF/web.xml">
       <classes dir="${build.test.dir}/classes">
         <include name="org/jboss/test/ws/jaxws/jsr181/handlerchain/EndpointImpl.class"/>
         <include name="org/jboss/test/ws/jaxws/jsr181/handlerchain/Endpoint.class"/>
         <include name="org/jboss/test/ws/jaxws/jsr181/handlerchain/*Handler.class"/>
+        <include name="org/jboss/test/ws/jaxws/jsr181/handlerchain/jaxws-handlers.xml"/>
       </classes>
-      <webinf dir="${build.test.dir}/resources/jaxws/jsr181/handlerchain/WEB-INF">
-        <include name="jaxws-handlers.xml"/>
-      </webinf>
     </war>
     
     <!-- jaxws-jsr181-oneway -->

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/EndpointImpl.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/EndpointImpl.java	2006-09-19 12:24:03 UTC (rev 1006)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/EndpointImpl.java	2006-09-19 13:07:28 UTC (rev 1007)
@@ -36,7 +36,7 @@
  */
 @WebService
 @SOAPBinding(style = SOAPBinding.Style.RPC)
- at HandlerChain(file = "WEB-INF/jaxws-handlers.xml")
+ at HandlerChain(file = "jaxws-handlers.xml") // relative path from the class file
 public class EndpointImpl implements Endpoint
 {
    // Provide logging

Deleted: branches/tdiesler/trunk/src/test/resources/jaxws/jsr181/handlerchain/WEB-INF/jaxws-handlers.xml
===================================================================
--- branches/tdiesler/trunk/src/test/resources/jaxws/jsr181/handlerchain/WEB-INF/jaxws-handlers.xml	2006-09-19 12:24:03 UTC (rev 1006)
+++ branches/tdiesler/trunk/src/test/resources/jaxws/jsr181/handlerchain/WEB-INF/jaxws-handlers.xml	2006-09-19 13:07:28 UTC (rev 1007)
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
-
-	<handler-chain>
-    <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
-		<handler>
-			<handler-name> LogHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.jsr181.handlerchain.LogHandler </handler-class>
-			<init-param>
-				<param-name>logCategory</param-name>
-				<param-value>MyService</param-value>
-			</init-param>
-		</handler>
-    <handler>
-      <handler-name> AuthorizationHandler </handler-name>
-      <handler-class> org.jboss.test.ws.jaxws.jsr181.handlerchain.AuthorizationHandler </handler-class>
-      <soap-role>SecurityProvider</soap-role>
-    </handler>
-		<handler>
-			<handler-name> RoutingHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.jsr181.handlerchain.RoutingHandler </handler-class>
-		</handler>
-	</handler-chain>
-</handler-chains>
\ No newline at end of file

Copied: branches/tdiesler/trunk/src/test/resources/jaxws/jsr181/handlerchain/jaxws-handlers.xml (from rev 989, branches/tdiesler/trunk/src/test/resources/jaxws/jsr181/handlerchain/WEB-INF/jaxws-handlers.xml)
===================================================================
--- branches/tdiesler/trunk/src/test/resources/jaxws/jsr181/handlerchain/WEB-INF/jaxws-handlers.xml	2006-09-19 08:18:52 UTC (rev 989)
+++ branches/tdiesler/trunk/src/test/resources/jaxws/jsr181/handlerchain/jaxws-handlers.xml	2006-09-19 13:07:28 UTC (rev 1007)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
+
+	<handler-chain>
+    <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
+		<handler>
+			<handler-name> LogHandler </handler-name>
+			<handler-class> org.jboss.test.ws.jaxws.jsr181.handlerchain.LogHandler </handler-class>
+			<init-param>
+				<param-name>logCategory</param-name>
+				<param-value>MyService</param-value>
+			</init-param>
+		</handler>
+    <handler>
+      <handler-name> AuthorizationHandler </handler-name>
+      <handler-class> org.jboss.test.ws.jaxws.jsr181.handlerchain.AuthorizationHandler </handler-class>
+      <soap-role>SecurityProvider</soap-role>
+    </handler>
+		<handler>
+			<handler-name> RoutingHandler </handler-name>
+			<handler-class> org.jboss.test.ws.jaxws.jsr181.handlerchain.RoutingHandler </handler-class>
+		</handler>
+	</handler-chain>
+</handler-chains>
\ No newline at end of file


Property changes on: branches/tdiesler/trunk/src/test/resources/jaxws/jsr181/handlerchain/jaxws-handlers.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF




More information about the jboss-svn-commits mailing list