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]>