craigmcc 02/05/02 13:08:31 Modified: catalina/src/share/org/apache/catalina/mbeans StandardServerMBean.java Log: Correctly persist <Store> elements inside <Manager>, and <Resources> elements (if non-defaults) inside <Context>. Revision Changes Path 1.16 +50 -6 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java Index: StandardServerMBean.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- StandardServerMBean.java 2 May 2002 19:32:28 -0000 1.15 +++ StandardServerMBean.java 2 May 2002 20:08:31 -0000 1.16 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v 1.15 2002/05/02 19:32:28 amyroh Exp $ - * $Revision: 1.15 $ - * $Date: 2002/05/02 19:32:28 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v 1.16 2002/05/02 20:08:31 craigmcc Exp $ + * $Revision: 1.16 $ + * $Date: 2002/05/02 20:08:31 $ * * ==================================================================== * @@ -80,6 +80,7 @@ import javax.management.MBeanServer; import javax.management.ObjectName; import javax.management.RuntimeOperationsException; +import javax.naming.directory.DirContext; import org.apache.catalina.Connector; import org.apache.catalina.Container; import org.apache.catalina.Context; @@ -104,6 +105,7 @@ import org.apache.catalina.deploy.ContextEnvironment; import org.apache.catalina.deploy.ResourceParams; import org.apache.catalina.net.ServerSocketFactory; +import org.apache.catalina.session.PersistentManager; import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.modeler.BaseModelMBean; @@ -113,7 +115,7 @@ * <code>org.apache.catalina.core.StandardServer</code> component.</p> * * @author Amy Roh - * @version $Revision: 1.15 $ $Date: 2002/05/02 19:32:28 $ + * @version $Revision: 1.16 $ $Date: 2002/05/02 20:08:31 $ */ public class StandardServerMBean extends BaseModelMBean { @@ -134,6 +136,7 @@ */ private static String exceptions[][] = { { "org.apache.catalina.core.StandardContext", "configured" }, + { "org.apache.catalina.core.StandardContext", "name" }, { "org.apache.catalina.core.StandardContext", "publicId" }, { "org.apache.catalina.core.StandardContext", "workDir" }, { "org.apache.catalina.session.StandardManager", "distributable" }, @@ -594,6 +597,12 @@ } // Store nested <Resources> element + DirContext resources = context.getResources(); + if (resources != null) { + storeResources(writer, indent + 2, resources); + } + + /* ContextResource[] resources = context.findResources(); for (int i = 0; i < resources.length; i++) { for (int j = 0; j < indent + 2; j++) { @@ -647,6 +656,7 @@ } } } + */ // Store nested <ResourceLink> elements @@ -937,7 +947,7 @@ } // Store nested <Cluster> elements - ; // FIXME + ; // FIXME - But it's not supported by any standard Host implementation // Store nested <Context> elements (or other relevant containers) Container children[] = host.findChildren(); @@ -1098,7 +1108,12 @@ writer.println(">"); // Store nested <Store> element - ; // FIXME + if (manager instanceof PersistentManager) { + Store store = ((PersistentManager) manager).getStore(); + if (store != null) { + storeStore(writer, indent + 2, store); + } + } // Store the ending of this element for (int i = 0; i < indent; i++) { @@ -1126,6 +1141,35 @@ } writer.print("<Realm"); storeAttributes(writer, realm); + writer.println("/>"); + + } + + + /** + * Store the specified Resources properties. + * + * @param writer PrintWriter to which we are storing + * @param indent Number of spaces to indent this element + * @param resources Object whose properties are being stored + * + * @exception Exception if an exception occurs while storing + */ + private void storeResources(PrintWriter writer, int indent, + DirContext resources) throws Exception { + + if (resources instanceof org.apache.naming.resources.FileDirContext) { + return; + } + if (resources instanceof org.apache.naming.resources.WARDirContext) { + return; + } + + for (int i = 0; i < indent; i++) { + writer.print(' '); + } + writer.print("<Resources"); + storeAttributes(writer, resources); writer.println("/>"); }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>