User: starksm 
  Date: 02/04/15 21:44:05

  Modified:    catalina/src/main/org/jboss/web/catalina Tag: Branch_3_0
                        EmbeddedCatalinaServiceSX.java
  Log:
  Handle the njar protocol war urls now being seen at this level.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.8.2.1   +24 -2     
contrib/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSX.java
  
  Index: EmbeddedCatalinaServiceSX.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSX.java,v
  retrieving revision 1.8
  retrieving revision 1.8.2.1
  diff -u -r1.8 -r1.8.2.1
  --- EmbeddedCatalinaServiceSX.java    12 Apr 2002 01:10:34 -0000      1.8
  +++ EmbeddedCatalinaServiceSX.java    16 Apr 2002 04:44:04 -0000      1.8.2.1
  @@ -9,6 +9,7 @@
   import java.io.InputStream;
   import java.io.IOException;
   import java.io.File;
  +import java.io.FileInputStream;
   import java.io.PrintWriter;
   import java.net.UnknownHostException;
   import java.net.URL;
  @@ -32,6 +33,7 @@
   import org.jboss.deployment.DeploymentException;
   import org.jboss.metadata.WebMetaData;
   import org.jboss.security.SecurityDomain;
  +import org.jboss.util.file.JarUtils;
   import org.jboss.web.AbstractWebContainer;
   import org.jboss.web.AbstractWebContainer.WebDescriptorParser;
   import org.jboss.web.WebApplication;
  @@ -67,7 +69,7 @@
    @see org.apache.catalina.startup.Embedded
    
    @author [EMAIL PROTECTED]
  - @version $Revision: 1.8 $
  + @version $Revision: 1.8.2.1 $
    */
   public class EmbeddedCatalinaServiceSX extends AbstractWebContainer
      implements EmbeddedCatalinaServiceSXMBean
  @@ -183,6 +185,22 @@
         log.info("deploy, ctxPath="+ctxPath+", warUrl="+warUrl);
   
         URL url = new URL(warUrl);
  +      // Catalina needs a war in a dir so extract the nested war
  +      if( url.getProtocol().equals("njar") )
  +      {
  +         url = org.jboss.net.protocol.njar.Handler.njarToFile(url);
  +         log.debug("Extracted war from njar, warUrl="+url);
  +         File warFile = new File(url.getFile());
  +         String warFileName = warFile.getName();
  +         warFileName = warFileName.substring(0, warFileName.length()-3);
  +         warFileName += "war";
  +         File warDir = new File(warFile.getParent(), warFileName);
  +         FileInputStream warStream = new FileInputStream(warFile);
  +         JarUtils.unjar(warStream, warDir);
  +         warStream.close();
  +         log.debug("Unpacked war into dir: "+warDir);
  +         url = warDir.toURL();
  +      }
         createWebContext(appInfo, url, webAppParser);
         log.debug("Initialized: "+appInfo);
      }
  @@ -193,10 +211,14 @@
      {
         // find the javax.servlet.ServletContext in the repository
         WebApplication appInfo = getDeployedApp(warUrl);
  +      if( appInfo == null )
  +         log.debug("performUndeploy, no WebApplication found for URL "+warUrl);
  +
  +      log.info("undeploy, ctxPath="+appInfo.getMetaData().getContextRoot()+", 
warUrl="+warUrl);
         Context context = null;
         if( appInfo != null )
            context = (Context) appInfo.getAppData();
  -      
  +
         if(context == null)
            throw new DeploymentException("URL " + warUrl + " is not deployed");
   
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to