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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Nov 13 03:42:12 EST 2006


Author: scott.stark at jboss.org
Date: 2006-11-13 03:42:11 -0500 (Mon, 13 Nov 2006)
New Revision: 58291

Modified:
   trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java
Log:
Map the classpath to the expanded war

Modified: trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java	2006-11-13 08:40:39 UTC (rev 58290)
+++ trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java	2006-11-13 08:42:11 UTC (rev 58291)
@@ -38,6 +38,7 @@
 import org.jboss.deployers.plugins.deployers.helpers.AttachmentLocator;
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import org.jboss.deployers.spi.structure.DeploymentContext;
 import org.jboss.deployment.J2eeApplicationMetaData;
 import org.jboss.deployment.J2eeModuleMetaData;
 import org.jboss.metadata.WebMetaData;
@@ -330,7 +331,33 @@
                is.close();
                expWarUrl = expWarFile.toURL();
             }
-            
+            // Map
+            DeploymentContext ctx = unit.getDeploymentContext();
+            VirtualFile warVF = ctx.getRoot();
+            String warPathName = warVF.getPathName();
+            if( warPathName.endsWith("/") == false )
+               warPathName += "/";
+            List<VirtualFile> classpathVFs = ctx.getClassPath();
+            if( classpathVFs != null )
+            {
+               ArrayList<URL> classpath = new ArrayList<URL>();
+               for(VirtualFile vf : classpathVFs)
+               {
+                  try
+                  {
+                     String path = vf.getPathName();
+                     path = path.substring(warPathName.length());
+                     URL pathURL = new URL(expWarUrl, path);
+                     classpath.add(pathURL);
+                  }
+                  catch(Exception e)
+                  {
+                     log.debug("Ignoring path element: "+vf, e);
+                  }
+               }
+               unit.addAttachment("org.jboss.web.expandedWarClasspath", classpath);
+            }
+
             // Indicate that an expanded URL exists
             unit.addAttachment("org.jboss.web.expandedWarURL", expWarUrl, URL.class);
          }




More information about the jboss-cvs-commits mailing list