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