amyroh 2002/08/20 16:09:18 Modified: catalina/src/share/org/apache/catalina/core StandardHostDeployer.java StandardServer.java Log: Change install(String contextPath, URL war, String configFile) method to actually save context info to the configuration file you specify. Revision Changes Path 1.4 +11 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardHostDeployer.java Index: StandardHostDeployer.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardHostDeployer.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- StandardHostDeployer.java 2 Aug 2002 01:37:43 -0000 1.3 +++ StandardHostDeployer.java 20 Aug 2002 23:09:18 -0000 1.4 @@ -75,10 +75,12 @@ import org.apache.catalina.Container; import org.apache.catalina.Context; import org.apache.catalina.Deployer; +import org.apache.catalina.Engine; import org.apache.catalina.Globals; import org.apache.catalina.Lifecycle; import org.apache.catalina.LifecycleException; import org.apache.catalina.LifecycleListener; +import org.apache.catalina.core.StandardServer; import org.apache.catalina.startup.ContextRuleSet; import org.apache.catalina.startup.NamingRuleSet; import org.apache.catalina.util.StringManager; @@ -344,6 +346,11 @@ host.fireContainerEvent(PRE_INSTALL_EVENT, context); host.addChild(context); host.fireContainerEvent(INSTALL_EVENT, context); + + // save context info into configFile + Engine engine = (Engine)host.getParent(); + StandardServer server = (StandardServer) engine.getService().getServer(); + server.storeContext(context); } catch (Exception e) { host.log(sm.getString("standardHost.installError", contextPath), e); 1.5 +61 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardServer.java Index: StandardServer.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardServer.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- StandardServer.java 14 Aug 2002 19:36:17 -0000 1.4 +++ StandardServer.java 20 Aug 2002 23:09:18 -0000 1.5 @@ -803,6 +803,63 @@ } + /** + * Write the configuration information for <code>Context</code> + * out to the specified configuration file. + * + * @exception InstanceNotFoundException if the managed resource object + * cannot be found + * @exception MBeanException if the initializer of the object throws + * an exception, or persistence is not supported + * @exception RuntimeOperationsException if an exception is reported + * by the persistence mechanism + */ + public synchronized void storeContext(Context context) throws Exception { + + String configFile = context.getConfigFile(); + + if (configFile != null) { + File config = new File(configFile); + if (!config.isAbsolute()) { + config = new File(System.getProperty("catalina.base"), + configFile); + } + + // Open an output writer for the new configuration file + PrintWriter writer = null; + try { + writer = new PrintWriter(new FileWriter(config)); + } catch (IOException e) { + if (writer != null) { + try { + writer.close(); + } catch (Throwable t) { + ; + } + } + throw (e); + } + + writer.print("<Context"); + storeAttributes(writer, context); + writer.println("</Context>"); + + // Flush and close the output file + try { + writer.flush(); + } catch (Exception e) { + throw (e); + } + try { + writer.close(); + } catch (Exception e) { + throw (e); + } + } + + } + + // -------------------------------------------------------- Private Methods
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>