You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2008/05/22 21:17:38 UTC

svn commit: r659215 - /tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java

Author: markt
Date: Thu May 22 12:17:38 2008
New Revision: 659215

URL: http://svn.apache.org/viewvc?rev=659215&view=rev
Log:
Revert changes for 42747 whilst I work on a better fix.

Modified:
    tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java

Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=659215&r1=659214&r2=659215&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Thu May 22 12:17:38 2008
@@ -21,7 +21,6 @@
 
 import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -815,26 +814,7 @@
             (dir.getAbsolutePath(), new Long(dir.lastModified()));
 
         try {
-            Context context = null;
-            if (deployXML && xml.exists()) {
-                synchronized (digester) {
-                    try {
-                        context = (Context) digester.parse(xml);
-                        if (context == null) {
-                            log.error(sm.getString("hostConfig.deployDescriptor.error",
-                                    file));
-                            return;
-                        }
-                    } finally {
-                        digester.reset();
-                    }
-                }
-                context.setConfigFile(xml.getAbsolutePath());
-                deployedApp.redeployResources.put
-                    (xml.getAbsolutePath(), new Long(xml.lastModified()));
-            } else {
-                context = (Context) Class.forName(contextClass).newInstance();
-            }
+            Context context = (Context) Class.forName(contextClass).newInstance();
             if (context instanceof Lifecycle) {
                 Class<?> clazz = Class.forName(host.getConfigClass());
                 LifecycleListener listener =
@@ -843,6 +823,11 @@
             }
             context.setPath(contextPath);
             context.setDocBase(file);
+            if (xml.exists()) {
+                context.setConfigFile(xml.getAbsolutePath());
+                deployedApp.redeployResources.put
+                    (xml.getAbsolutePath(), new Long(xml.lastModified()));
+            }
             host.addChild(context);
             // If we're unpacking WARs, the docBase will be mutated after
             // starting the context
@@ -926,78 +911,7 @@
         if( log.isDebugEnabled() ) 
             log.debug(sm.getString("hostConfig.deployDir", file));
         try {
-            // Checking for a /META-INF/context.xml
-            InputStream istream = null;
-            BufferedOutputStream ostream = null;
-            File xml = new File
-                (configBase, file + ".xml");
-            if (deployXML && !xml.exists()) {
-                try {
-                    File applicationContextXml =
-                        new File(dir, Constants.ApplicationContextXml);
-                    if (applicationContextXml.exists()) {
-                        istream = new FileInputStream(applicationContextXml);
-                        
-                        configBase.mkdirs();
-                        
-                        ostream =
-                            new BufferedOutputStream
-                            (new FileOutputStream(xml), 1024);
-                        byte buffer[] = new byte[1024];
-                        while (true) {
-                            int n = istream.read(buffer);
-                            if (n < 0) {
-                                break;
-                            }
-                            ostream.write(buffer, 0, n);
-                        }
-                        ostream.flush();
-                        ostream.close();
-                        ostream = null;
-                        istream.close();
-                        istream = null;
-                    }
-                } catch (Exception e) {
-                    // Ignore and continue
-                    if (ostream != null) {
-                        try {
-                            ostream.close();
-                        } catch (Throwable t) {
-                            // Ignore
-                        }
-                        ostream = null;
-                    }
-                    if (istream != null) {
-                        try {
-                            istream.close();
-                        } catch (Throwable t) {
-                            // Ignore
-                        }
-                        istream = null;
-                    }
-                }
-            }
-            
-            Context context = null;
-            if (deployXML && xml.exists()) {
-                synchronized (digester) {
-                    try {
-                        context = (Context) digester.parse(xml);
-                        if (context == null) {
-                            log.error(sm.getString("hostConfig.deployDescriptor.error",
-                                    file));
-                            return;
-                        }
-                    } finally {
-                        digester.reset();
-                    }
-                }
-                context.setConfigFile(xml.getAbsolutePath());
-                deployedApp.redeployResources.put
-                    (xml.getAbsolutePath(), new Long(xml.lastModified()));
-            } else {
-                context = (Context) Class.forName(contextClass).newInstance();
-            }
+            Context context = (Context) Class.forName(contextClass).newInstance();
             if (context instanceof Lifecycle) {
                 Class<?> clazz = Class.forName(host.getConfigClass());
                 LifecycleListener listener =
@@ -1006,9 +920,17 @@
             }
             context.setPath(contextPath);
             context.setDocBase(file);
+            File configFile = new File(dir, Constants.ApplicationContextXml);
+            if (deployXML) {
+                context.setConfigFile(configFile.getAbsolutePath());
+            }
             host.addChild(context);
             deployedApp.redeployResources.put(dir.getAbsolutePath(),
                     new Long(dir.lastModified()));
+            if (deployXML) {
+                deployedApp.redeployResources.put(configFile.getAbsolutePath(),
+                        new Long(configFile.lastModified()));
+            }
             addWatchedResources(deployedApp, dir.getAbsolutePath(), context);
         } catch (Throwable t) {
             log.error(sm.getString("hostConfig.deployDir.error", file), t);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org