[jboss-cvs] JBossAS SVN: r96309 - trunk/server/src/main/java/org/jboss/web/deployers.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 12 11:48:58 EST 2009


Author: remy.maucherat at jboss.com
Date: 2009-11-12 11:48:57 -0500 (Thu, 12 Nov 2009)
New Revision: 96309

Modified:
   trunk/server/src/main/java/org/jboss/web/deployers/MergedJBossWebMetaDataDeployer.java
   trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java
Log:
- Use an explicit null check for the SCI deployer, as it does not actually use JBossWebMetaData.
- Cleanup for merged JBW meta data deployer.

Modified: trunk/server/src/main/java/org/jboss/web/deployers/MergedJBossWebMetaDataDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/MergedJBossWebMetaDataDeployer.java	2009-11-12 16:30:20 UTC (rev 96308)
+++ trunk/server/src/main/java/org/jboss/web/deployers/MergedJBossWebMetaDataDeployer.java	2009-11-12 16:48:57 UTC (rev 96309)
@@ -61,7 +61,6 @@
  */
 public class MergedJBossWebMetaDataDeployer extends AbstractDeployer
 {
-   public static final String WEB_MERGED_ATTACHMENT_NAME = "merged."+JBossWebMetaData.class.getName();
    public static final String WEB_ORDER_ATTACHMENT_NAME = "order."+WebMetaData.class.getName();
    public static final String WEB_OVERLAYS_ATTACHMENT_NAME = "overlays."+WebMetaData.class.getName();
    public static final String WEB_SCIS_ATTACHMENT_NAME = "localscis."+WebMetaData.class.getName();
@@ -91,10 +90,10 @@
       addInput(AnnotationMetaDataDeployer.WEB_ANNOTATED_ATTACHMENT_NAME);
       // Output is the merge JBossWebMetaData view
       setOutput(JBossWebMetaData.class);
-      // 
-      addOutput(WEB_MERGED_ATTACHMENT_NAME);
+      // Additional Webapp components
       addOutput(WEB_ORDER_ATTACHMENT_NAME);
       addOutput(WEB_OVERLAYS_ATTACHMENT_NAME);
+      addOutput(WEB_SCIS_ATTACHMENT_NAME);
    }
 
    public void deploy(DeploymentUnit unit) throws DeploymentException

Modified: trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java	2009-11-12 16:30:20 UTC (rev 96308)
+++ trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java	2009-11-12 16:48:57 UTC (rev 96309)
@@ -40,7 +40,6 @@
 import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.metadata.web.spec.WebMetaData;
 import org.jboss.virtual.VirtualFile;
 
@@ -55,18 +54,12 @@
    public static final String SCI_ATTACHMENT_NAME = "sci."+WebMetaData.class.getName();
    public static final String SCI_HANDLESTYPES_ATTACHMENT_NAME = "sci.handlestypes."+WebMetaData.class.getName();
   
-   protected boolean init = false;
-   
    /**
-    * Create a new MergedJBossWebMetaDataDeployer.
+    * Create the SCI information.
     */
    public ServletContainerInitializerDeployer()
    {
       setStage(DeploymentStages.POST_CLASSLOADER);
-      
-      // [JBDEPLOY-223] isRelevant ignores required string input 
-      setInput(JBossWebMetaData.class);
-      
       addInput(MergedJBossWebMetaDataDeployer.WEB_ORDER_ATTACHMENT_NAME);
       addInput(MergedJBossWebMetaDataDeployer.WEB_SCIS_ATTACHMENT_NAME);
       addOutput(SCI_ATTACHMENT_NAME);
@@ -83,7 +76,7 @@
       Set<ServletContainerInitializer> scis = new HashSet<ServletContainerInitializer>();
       // Load the shared ServletContainerInitializer services
       ServiceLoader<ServletContainerInitializer> serviceLoader = 
-         ServiceLoader.load(ServletContainerInitializer.class, this.getClass().getClassLoader()/*unit.getClassLoader()*/);
+         ServiceLoader.load(ServletContainerInitializer.class, this.getClass().getClassLoader());
       for (ServletContainerInitializer service : serviceLoader)
       {
          scis.add(service);
@@ -93,44 +86,47 @@
          (List<String>) unit.getAttachment(MergedJBossWebMetaDataDeployer.WEB_ORDER_ATTACHMENT_NAME);
       Map<String, VirtualFile> localScis = (Map<String, VirtualFile>) 
          unit.getAttachment(MergedJBossWebMetaDataDeployer.WEB_SCIS_ATTACHMENT_NAME);
-      for (String jar : order)
+      if (order != null && localScis != null)
       {
-         VirtualFile sci = localScis.get(jar);
-         if (sci != null)
+         for (String jar : order)
          {
-            InputStream is = null;
-            try
+            VirtualFile sci = localScis.get(jar);
+            if (sci != null)
             {
-               // Get the ServletContainerInitializer class name
-               is = sci.openStream();
-               BufferedReader reader = new BufferedReader(new InputStreamReader(is));
-               String servletContainerInitializerClassName = reader.readLine();
-               int pos = servletContainerInitializerClassName.indexOf('#');
-               if (pos > 0) {
-                   servletContainerInitializerClassName = servletContainerInitializerClassName.substring(0, pos);
-               }
-               servletContainerInitializerClassName = servletContainerInitializerClassName.trim();
-               // Instantiate the ServletContainerInitializer
-               ServletContainerInitializer service = 
-                  (ServletContainerInitializer) unit.getClassLoader()
-                     .loadClass(servletContainerInitializerClassName).newInstance();
-               scis.add(service);
-            }
-            catch (Exception e)
-            {
-               DeploymentException.rethrowAsDeploymentException("Deployment error processing SCI for JAR: " + jar, e);
-            }
-            finally
-            {
+               InputStream is = null;
                try
                {
-                  if (is != null)
-                     is.close();
+                  // Get the ServletContainerInitializer class name
+                  is = sci.openStream();
+                  BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+                  String servletContainerInitializerClassName = reader.readLine();
+                  int pos = servletContainerInitializerClassName.indexOf('#');
+                  if (pos > 0) {
+                     servletContainerInitializerClassName = servletContainerInitializerClassName.substring(0, pos);
+                  }
+                  servletContainerInitializerClassName = servletContainerInitializerClassName.trim();
+                  // Instantiate the ServletContainerInitializer
+                  ServletContainerInitializer service = 
+                     (ServletContainerInitializer) unit.getClassLoader()
+                     .loadClass(servletContainerInitializerClassName).newInstance();
+                  scis.add(service);
                }
-               catch (IOException e)
+               catch (Exception e)
                {
-                  ;
+                  DeploymentException.rethrowAsDeploymentException("Deployment error processing SCI for JAR: " + jar, e);
                }
+               finally
+               {
+                  try
+                  {
+                     if (is != null)
+                        is.close();
+                  }
+                  catch (IOException e)
+                  {
+                     ;
+                  }
+               }
             }
          }
       }




More information about the jboss-cvs-commits mailing list