[jbossws-commits] JBossWS SVN: r6686 - stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Fri Apr 25 07:01:11 EDT 2008


Author: richard.opalka at jboss.com
Date: 2008-04-25 07:01:10 -0400 (Fri, 25 Apr 2008)
New Revision: 6686

Modified:
   stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/EndpointServlet.java
   stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/InvokerEJB3.java
   stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/InvokerJSE.java
   stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/MessageStreamAdapter.java
   stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/MessageStreamConnectionImpl.java
   stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/SunJaxwsDeploymentAspect.java
Log:
refactoring + enforced JBossWS coding convention, no functional change

Modified: stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/EndpointServlet.java
===================================================================
--- stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/EndpointServlet.java	2008-04-25 10:58:15 UTC (rev 6685)
+++ stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/EndpointServlet.java	2008-04-25 11:01:10 UTC (rev 6686)
@@ -86,8 +86,8 @@
       if (this.endpoint == null)
       {
          ObjectName oname = ObjectNameFactory.create(Endpoint.SEPID_DOMAIN + ":" +
-           Endpoint.SEPID_PROPERTY_CONTEXT + "=" + contextPath + "," +
-           Endpoint.SEPID_PROPERTY_ENDPOINT + "=" + getServletName()
+            Endpoint.SEPID_PROPERTY_CONTEXT + "=" + contextPath + "," +
+            Endpoint.SEPID_PROPERTY_ENDPOINT + "=" + getServletName()
          );
          throw new WebServiceException("Cannot obtain endpoint for: " + oname);
       }

Modified: stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/InvokerEJB3.java
===================================================================
--- stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/InvokerEJB3.java	2008-04-25 10:58:15 UTC (rev 6685)
+++ stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/InvokerEJB3.java	2008-04-25 11:01:10 UTC (rev 6686)
@@ -35,7 +35,6 @@
 import org.jboss.wsf.spi.invocation.Invocation;
 import org.jboss.wsf.spi.invocation.InvocationHandler;
 
-import com.sun.istack.NotNull;
 import com.sun.xml.ws.api.message.Packet;
 import com.sun.xml.ws.api.server.InstanceResolver;
 import com.sun.xml.ws.api.server.Invoker;
@@ -51,8 +50,7 @@
 public class InvokerEJB3 extends Invoker
 {
    private final InstanceResolver resolver;
-   
-   private WSWebServiceContext wsc;
+   private WSWebServiceContext webServiceCtx;
 
    public InvokerEJB3(InstanceResolver resolver)
    {
@@ -60,43 +58,41 @@
    }
 
    @Override
-   public void start(@NotNull WSWebServiceContext wsc, @NotNull WSEndpoint endpoint)
+   public void start(WSWebServiceContext webServiceCtx, WSEndpoint endpoint)
    {
-      resolver.start(wsc, endpoint);
-      this.wsc = wsc;
+      this.resolver.start(webServiceCtx, endpoint);
+      this.webServiceCtx = webServiceCtx;
    }
 
    @Override
    public void dispose()
    {
-      resolver.dispose();
+      this.resolver.dispose();
    }
 
    @Override
-   public <T> T invokeProvider(@NotNull Packet p, T arg)
+   public <T> T invokeProvider(Packet p, T arg)
    {
-      Object targetBean = resolver.resolve(p);
+      Object targetBean = this.resolver.resolve(p);
       return ((Provider<T>)targetBean).invoke(arg);
    }
 
    @Override
-   public Object invoke(Packet p, Method m, Object... args) throws InvocationTargetException, IllegalAccessException
+   public Object invoke(Packet p, Method m, Object... args)
+   throws InvocationTargetException, IllegalAccessException
    {
-      Endpoint ep = EndpointAssociation.getEndpoint();
+      Endpoint endpoint = EndpointAssociation.getEndpoint();
+      InvocationHandler invocationHandler = endpoint.getInvocationHandler();
+      Invocation invocation = invocationHandler.createInvocation();
+      invocation.getInvocationContext().addAttachment(MessageContext.class, this.webServiceCtx.getMessageContext());
+      invocation.setJavaMethod(m);
+      invocation.setArgs(args);
 
-      InvocationHandler invHandler = ep.getInvocationHandler();
-      Invocation inv = invHandler.createInvocation();
-      
-      inv.getInvocationContext().addAttachment(MessageContext.class, wsc.getMessageContext());
-      
-      inv.setJavaMethod(m);
-      inv.setArgs(args);
-
       Object retObj = null;
       try
       {
-         invHandler.invoke(ep, inv);
-         retObj = inv.getReturnValue();
+         invocationHandler.invoke(endpoint, invocation);
+         retObj = invocation.getReturnValue();
       }
       catch (Exception ex)
       {
@@ -106,7 +102,8 @@
       return retObj;
    }
 
-   private void handleException(Exception ex) throws InvocationTargetException, IllegalAccessException
+   private void handleException(Exception ex)
+   throws InvocationTargetException, IllegalAccessException
    {
       if (ex instanceof InvocationTargetException)
          throw (InvocationTargetException)ex;

Modified: stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/InvokerJSE.java
===================================================================
--- stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/InvokerJSE.java	2008-04-25 10:58:15 UTC (rev 6685)
+++ stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/InvokerJSE.java	2008-04-25 11:01:10 UTC (rev 6686)
@@ -35,7 +35,6 @@
 import org.jboss.wsf.spi.invocation.InvocationContext;
 import org.jboss.wsf.spi.invocation.InvocationHandler;
 
-import com.sun.istack.NotNull;
 import com.sun.xml.ws.api.message.Packet;
 import com.sun.xml.ws.api.server.InstanceResolver;
 import com.sun.xml.ws.api.server.Invoker;
@@ -58,11 +57,9 @@
    }
 
    @Override
-   public void start(@NotNull
-   WSWebServiceContext wsc, @NotNull
-   WSEndpoint endpoint)
+   public void start(WSWebServiceContext webServiceCtx, WSEndpoint endpoint)
    {
-      resolver.start(wsc, endpoint);
+      resolver.start(webServiceCtx, endpoint);
    }
 
    @Override
@@ -72,34 +69,30 @@
    }
 
    @Override
-   public <T> T invokeProvider(@NotNull
-   Packet p, T arg)
+   public <T> T invokeProvider(Packet p, T arg)
    {
       Object targetBean = resolver.resolve(p);
       return ((Provider<T>)targetBean).invoke(arg);
    }
 
    @Override
-   public Object invoke(Packet p, Method m, Object... args) throws InvocationTargetException, IllegalAccessException
+   public Object invoke(Packet p, Method m, Object... args)
+   throws InvocationTargetException, IllegalAccessException
    {
-      Endpoint ep = EndpointAssociation.getEndpoint();
-      if(null == ep)
-         throw new IllegalArgumentException("EndpointAssociation.getEndpoint() may not be null");
-      
-      InvocationHandler invHandler = ep.getInvocationHandler();
-      
-      Invocation inv = invHandler.createInvocation();
-      InvocationContext invContext = inv.getInvocationContext();
-      inv.setJavaMethod(m);
-      inv.setArgs(args);
+      Endpoint endpoint = EndpointAssociation.getEndpoint();
+      InvocationHandler invocationHandler = endpoint.getInvocationHandler();
+      Invocation invocation = invocationHandler.createInvocation();
+      InvocationContext invContext = invocation.getInvocationContext();
+      invocation.setJavaMethod(m);
+      invocation.setArgs(args);
 
       Object retObj = null;
       try
       {
          Object targetBean = resolver.resolve(p);
          invContext.setTargetBean(targetBean);
-         invHandler.invoke(ep, inv);
-         retObj = inv.getReturnValue();
+         invocationHandler.invoke(endpoint, invocation);
+         retObj = invocation.getReturnValue();
       }
       catch (Exception ex)
       {
@@ -109,7 +102,8 @@
       return retObj;
    }
 
-   private void handleException(Exception ex) throws InvocationTargetException, IllegalAccessException
+   private void handleException(Exception ex)
+   throws InvocationTargetException, IllegalAccessException
    {
       if (ex instanceof InvocationTargetException)
          throw (InvocationTargetException)ex;

Modified: stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/MessageStreamAdapter.java
===================================================================
--- stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/MessageStreamAdapter.java	2008-04-25 10:58:15 UTC (rev 6685)
+++ stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/MessageStreamAdapter.java	2008-04-25 11:01:10 UTC (rev 6686)
@@ -36,45 +36,56 @@
 /**
  * @author Heiko Braun
  */
-public class MessageStreamAdapter extends Adapter<MessageStreamAdapter.StreamToolkit> {
-
-   final String name;   
-
-   public MessageStreamAdapter(String name, WSEndpoint endpoint)
+public class MessageStreamAdapter extends Adapter<MessageStreamAdapter.StreamToolkit>
+{
+   public static final AdapterFactory<MessageStreamAdapter> FACTORY = new AdapterFactory<MessageStreamAdapter>()
    {
+      public MessageStreamAdapter createAdapter(String name, String urlPattern, WSEndpoint<?> endpoint)
+      {         
+         return new MessageStreamAdapter(endpoint);
+      }
+   };
+   
+   public MessageStreamAdapter(WSEndpoint endpoint)
+   {
       super(endpoint);
-      this.name = name;
    }
 
-   public void handle(MessageStreamContext context, InputStream in, OutputStream out) throws IOException
+   public void handle(MessageStreamContext context, InputStream in, OutputStream out)
+   throws IOException
    {
       MessageStreamConnectionImpl connection = new MessageStreamConnectionImpl(context, in, out);
 
       StreamToolkit tk = pool.take();
-      try {
+      try
+      {
          tk.handle(connection);
          connection.flush();
-      } finally {
+      }
+      finally
+      {
          pool.recycle(tk);
          connection.close();
       }
    }
 
-   protected StreamToolkit createToolkit() {
+   protected StreamToolkit createToolkit()
+   {
       return new StreamToolkit();
    }
 
-   class StreamToolkit extends Adapter.Toolkit implements TransportBackChannel {
-
+   class StreamToolkit extends Adapter.Toolkit implements TransportBackChannel
+   {
       private MessageStreamConnectionImpl connection;
 
-      private void handle(MessageStreamConnectionImpl connection) throws IOException {
+      private void handle(MessageStreamConnectionImpl connection)
+      throws IOException
+      {
          this.connection = connection;
          
          String contentTypeStr = connection.getRequestHeader(MessageStreamContext.CONTENT_TYPE);
          InputStream in = connection.getInputStream();
          Packet packet = new Packet();
-
          codec.decode(in, contentTypeStr, packet);
 
          try
@@ -84,7 +95,7 @@
          catch(Exception e)
          {
             e.printStackTrace();
-            writeInternalServerError(connection);
+            connection.setStatus(MessageStreamContext.STATUS_INTERNAL_SERVER_ERROR);
             return;
          }
 
@@ -98,27 +109,13 @@
             Map<String, String> headers = new HashMap();
             headers.put(MessageStreamContext.CONTENT_TYPE, contentTypeStr);
             connection.setResponseHeaders(headers);
-
             codec.encode(packet, connection.getOutputStream());
          }
-
       }
 
-      private void writeInternalServerError(MessageStreamConnectionImpl connection) {
-         connection.setStatus(MessageStreamContext.STATUS_INTERNAL_SERVER_ERROR);
-      }
-
-      public void close() {         
+      public void close()
+      {         
          connection.close();
       }
-      
    }
-
-   public static final AdapterFactory<MessageStreamAdapter> FACTORY = new AdapterFactory<MessageStreamAdapter>()
-   {
-      public MessageStreamAdapter createAdapter(String name, String urlPattern, WSEndpoint<?> endpoint)
-      {         
-         return new MessageStreamAdapter(name, endpoint);
-      }
-   };
 }

Modified: stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/MessageStreamConnectionImpl.java
===================================================================
--- stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/MessageStreamConnectionImpl.java	2008-04-25 10:58:15 UTC (rev 6685)
+++ stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/MessageStreamConnectionImpl.java	2008-04-25 11:01:10 UTC (rev 6686)
@@ -21,7 +21,6 @@
  */
 package org.jboss.wsf.stack.metro;
 
-import com.sun.istack.NotNull;
 import com.sun.xml.ws.api.message.Packet;
 import com.sun.xml.ws.api.server.WSEndpoint;
 import com.sun.xml.ws.api.server.WebServiceContextDelegate;
@@ -36,92 +35,104 @@
 /**
  * @author Heiko Braun
  */
-public class MessageStreamConnectionImpl implements WebServiceContextDelegate {
-
-   private MessageStreamContext messageContext;
+public class MessageStreamConnectionImpl implements WebServiceContextDelegate
+{
+   private int status;
+   private boolean isClosed;
    private InputStream inputStream;
    private OutputStream outputStream;
-
-   private int status;
-
-   private boolean isClosed;
-
-   private Map<String, String> requestHeaders;
+   private MessageStreamContext messageContext;
+   private Map<String, String> requestHeaders = new HashMap<String, String>();
    private Map<String, String> responseHeaders;
 
    public MessageStreamConnectionImpl(MessageStreamContext context, InputStream in, OutputStream out)
    {
-      outputStream = out;
-      inputStream = in;
-      messageContext = context;
-
+      this.outputStream = out;
+      this.inputStream = in;
+      this.messageContext = context;
       populateRequestHeaders();
    }
 
-   public int getStatus() {
-      return status;
+   public int getStatus()
+   {
+      return this.status;
    }
 
-   public void setStatus(int statusCode) {
+   public void setStatus(int statusCode)
+   {
       this.status = statusCode;
    }
 
-   public Map<String, String> getRequestHeaders() {
-      return requestHeaders;
+   public Map<String, String> getRequestHeaders()
+   {
+      return this.requestHeaders;
    }
 
-   public void setRequestHeaders(Map<String, String> requestHeaders) {
+   public void setRequestHeaders(Map<String, String> requestHeaders)
+   {
       this.requestHeaders = requestHeaders;
    }
 
-   public String getRequestHeader(String name) {
-      return requestHeaders.get(name);
+   public String getRequestHeader(String name)
+   {
+      return this.requestHeaders.get(name);
    }
 
-   public Map<String, String> getResponseHeaders() {
-      return responseHeaders;
+   public Map<String, String> getResponseHeaders()
+   {
+      return this.responseHeaders;
    }
 
-   public void setResponseHeaders(Map<String, String> responseHeaders) {
+   public void setResponseHeaders(Map<String, String> responseHeaders)
+   {
       this.responseHeaders = responseHeaders;
    }
 
-   public InputStream getInputStream() {
-      return inputStream;
+   public InputStream getInputStream()
+   {
+      return this.inputStream;
    }
 
-   public OutputStream getOutputStream() {
-      return outputStream;
+   public OutputStream getOutputStream()
+   {
+      return this.outputStream;
    }
 
-   public void closeInput() {
-      if (inputStream != null) {
-         try {
-            inputStream.close();
-         } catch (IOException ex) {
+   public void closeInput()
+   {
+      if (this.inputStream != null)
+      {
+         try
+         {
+            this.inputStream.close();
          }
-
-         inputStream = null;
+         catch (IOException ignore) {}
+         this.inputStream = null;
       }
    }
 
-   public void closeOutput() {
-      if (outputStream != null) {
-         try {
-            outputStream.close();
-         } catch (IOException ex) {
+   public void closeOutput()
+   {
+      if (this.outputStream != null)
+      {
+         try
+         {
+            this.outputStream.close();
          }
-
-         outputStream = null;
+         catch (IOException ignore) {}
+         this.outputStream = null;
       }
    }
 
-   public void close() {
-      if (!isClosed) {
-         synchronized (this) {
-            if (!isClosed) {
-               isClosed = true;
-
+   public void close()
+   {
+      if (this.isClosed == false)
+      {
+         synchronized (this)
+         {
+            if (this.isClosed == false)
+            {
+               this.isClosed = true;
                closeInput();
                closeOutput();
             }
@@ -129,36 +140,42 @@
       }
    }
 
-   // Not supported
-   public Principal getUserPrincipal(Packet request) {
-      return null;
+   public void flush()
+   throws IOException
+   {
+      if (this.outputStream != null)
+      {
+         this.outputStream.flush();
+      }
    }
 
-   // Not supported
-   public boolean isUserInRole(Packet request, String role) {
-      return false;
+   public Principal getUserPrincipal(Packet request)
+   {
+      throw new UnsupportedOperationException();
    }
 
-   public @NotNull String getEPRAddress(@NotNull Packet request, @NotNull WSEndpoint endpoint) {
-      return null;
+   public boolean isUserInRole(Packet request, String role)
+   {
+      throw new UnsupportedOperationException();
    }
 
-   public String getWSDLAddress(@NotNull Packet request, @NotNull WSEndpoint endpoint) {
-      return null;
+   @SuppressWarnings("unchecked")
+   public String getEPRAddress(Packet request, WSEndpoint endpoint)
+   {
+      throw new UnsupportedOperationException();
    }
 
-   public void flush() throws IOException {
-      if (outputStream != null) {
-         outputStream.flush();
-      }
+   @SuppressWarnings("unchecked")
+   public String getWSDLAddress(Packet request, WSEndpoint endpoint)
+   {
+      throw new UnsupportedOperationException();
    }
 
-   private void populateRequestHeaders() {
-      requestHeaders = new HashMap();
-
-      for(String s : messageContext.getRequestContext().keySet())
+   private void populateRequestHeaders()
+   {
+      for(String s : this.messageContext.getRequestContext().keySet())
       {
-         requestHeaders.put(s, messageContext.getRequestContext().get(s));
+         this.requestHeaders.put(s, this.messageContext.getRequestContext().get(s));
       }
    }
 }

Modified: stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/SunJaxwsDeploymentAspect.java
===================================================================
--- stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/SunJaxwsDeploymentAspect.java	2008-04-25 10:58:15 UTC (rev 6685)
+++ stack/metro/trunk/src/main/java/org/jboss/wsf/stack/metro/SunJaxwsDeploymentAspect.java	2008-04-25 11:01:10 UTC (rev 6686)
@@ -33,11 +33,13 @@
 
 import javax.xml.ws.BindingType;
 import javax.xml.ws.soap.SOAPBinding;
+
+import java.net.URL;
 import java.util.HashMap;
 import java.util.Map;
 
 /**
- * A deployer that generates sun-jaxws.xml 
+ * An aspect that generates sun-jaxws.xml 
  *
  * @author Thomas.Diesler at jboss.org
  * @since 10-May-2007
@@ -45,45 +47,36 @@
 public class SunJaxwsDeploymentAspect extends DeploymentAspect
 {
    @Override
+   @SuppressWarnings("unchecked")
    public void create(Deployment dep, WSFRuntime runtime)
    {
-
-      DDEndpoints dd = dep.getAttachment(DDEndpoints.class);
-      if (dd == null)
+      DDEndpoints ddEndpoints = dep.getAttachment(DDEndpoints.class);
+      if (ddEndpoints == null)
       {
-         dd = new DDEndpoints();
-         for (Endpoint ep : dep.getService().getEndpoints())
+         ddEndpoints = new DDEndpoints();
+         for (Endpoint endpoint : dep.getService().getEndpoints())
          {
-            String epName = ep.getShortName();
-            String targetBean = ep.getTargetBeanName();
-            String urlPattern = ep.getURLPattern();
+            String endpointName = endpoint.getShortName();
+            String targetBean = endpoint.getTargetBeanName();
+            String urlPattern = endpoint.getURLPattern();
 
-            DDEndpoint ddep = new DDEndpoint(epName, targetBean, urlPattern);
-
-            Class beanClass = ep.getTargetBeanClass();
-            BindingType anBindingType = (BindingType)beanClass.getAnnotation(BindingType.class);
-            if (anBindingType != null && anBindingType.value().length() > 0)
+            DDEndpoint ddEndpoint = new DDEndpoint(endpointName, targetBean, urlPattern);
+            Class beanClass = endpoint.getTargetBeanClass();
+            BindingType bindingType = (BindingType)beanClass.getAnnotation(BindingType.class);
+            
+            if (bindingType != null && bindingType.value().length() > 0)
             {
-               String binding = anBindingType.value();
-               ddep.setBinding(binding);
-               if (binding.equals(SOAPBinding.SOAP11HTTP_MTOM_BINDING) || binding.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING))
-                  ddep.setEnableMTOM(true);
+               String binding = bindingType.value();
+               ddEndpoint.setBinding(binding);
+               ddEndpoint.setEnableMTOM(isMtomEnabled(binding));
             }
 
-            log.info("Add " + ddep);
-            dd.addEndpoint(ddep);
+            log.info("Add " + ddEndpoint);
+            ddEndpoints.addEndpoint(ddEndpoint);
          }
 
-         dep.addAttachment(DDEndpoints.class, dd);
-
-         String propKey = "org.jboss.ws.webapp.ContextParameterMap";
-         Map<String, String> contextParams = (Map<String, String>)dep.getProperty(propKey);
-         if (contextParams == null)
-         {
-            contextParams = new HashMap<String, String>();
-            dep.setProperty(propKey, contextParams);
-         }
-         contextParams.put(RuntimeModelDeploymentAspect.PARAM_SUN_JAXWS_URL, dd.createFileURL().toExternalForm());
+         dep.addAttachment(DDEndpoints.class, ddEndpoints);
+         putSunJaxwsConfigToDeployment(dep, ddEndpoints.createFileURL());
       }
    }
 
@@ -96,4 +89,29 @@
          dd.destroyFileURL();
       }
    }
+   
+   /**
+    * Puts SUN JAX-WS config file to deployment property <b>org.jboss.ws.webapp.ContextParameterMap</b> map
+    * @param dep deployment where to put
+    * @param dd beans to be put
+    */
+   private static void putSunJaxwsConfigToDeployment(Deployment dep, URL jaxwsConfigURL)
+   {
+      // get property map
+      String propKey = "org.jboss.ws.webapp.ContextParameterMap";
+      Map<String, String> contextParams = (Map<String, String>)dep.getProperty(propKey);
+      if (contextParams == null)
+      {
+         // if there's no associated map with the property create it now
+         contextParams = new HashMap<String, String>();
+         dep.setProperty(propKey, contextParams);
+      }
+      // put sun jaxws config URL to the property map
+      contextParams.put(RuntimeModelDeploymentAspect.PARAM_SUN_JAXWS_URL, jaxwsConfigURL.toExternalForm());
+   }
+   
+   private static boolean isMtomEnabled(String binding)
+   {
+      return binding.equals(SOAPBinding.SOAP11HTTP_MTOM_BINDING) || binding.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING);
+   }
 }
\ No newline at end of file




More information about the jbossws-commits mailing list