amyroh      2003/03/24 01:18:27

  Modified:    catalina/src/share/org/apache/catalina/core
                        ContainerBase.java StandardServer.java
                        mbeans-descriptors.xml
               catalina/src/share/org/apache/catalina/mbeans
                        MBeanFactory.java MBeanUtils.java
                        StandardServerMBean.java
               catalina/src/share/org/apache/catalina/servlets
                        ManagerServlet.java
  Log:
  More admin update.  Items left to be fixed/tested are
  deregistration of MBeans, DefaultContext, Valve, Logger, Realm pages.
  
  Revision  Changes    Path
  1.15      +1 -2      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java
  
  Index: ContainerBase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ContainerBase.java        21 Mar 2003 07:33:14 -0000      1.14
  +++ ContainerBase.java        24 Mar 2003 09:18:26 -0000      1.15
  @@ -1714,7 +1714,7 @@
           if( host!=null ) suffix.append(",host=").append( host.getName() );
           if( context!=null ) {
               String path=((StandardContext)context).getPath();
  -            suffix.append(",path=").append((path=="") ? "//" : path);
  +            suffix.append(",path=").append((path=="") ? "/" : path);
           } 
           if( servlet != null ) {
               String name=container.getName();
  @@ -1726,4 +1726,3 @@
   
       
   }
  -
  
  
  
  1.14      +5 -5      
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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- StandardServer.java       17 Mar 2003 19:22:07 -0000      1.13
  +++ StandardServer.java       24 Mar 2003 09:18:26 -0000      1.14
  @@ -734,7 +734,7 @@
        * @exception RuntimeOperationsException if an exception is reported
        *  by the persistence mechanism
        */
  -    public synchronized void store() throws Exception {
  +    public synchronized void storeConfig() throws Exception {
   
           // Calculate file objects for the old and new configuration files.
           String configFile = "conf/server.xml"; // FIXME - configurable?
  
  
  
  1.5       +1 -1      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml
  
  Index: mbeans-descriptors.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- mbeans-descriptors.xml    20 Mar 2003 18:28:28 -0000      1.4
  +++ mbeans-descriptors.xml    24 Mar 2003 09:18:26 -0000      1.5
  @@ -513,7 +513,7 @@
                  description="Object names of all services we know about"
                  type="[Ljavax.management.ObjectName;"/>
         
  -    <operation name="store"
  +    <operation name="storeConfig"
                  description="Save current state to server.xml file"
                  impact="ACTION"
                  returnType="void">
  
  
  
  1.10      +38 -24    
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
  
  Index: MBeanFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- MBeanFactory.java 23 Mar 2003 02:12:22 -0000      1.9
  +++ MBeanFactory.java 24 Mar 2003 09:18:26 -0000      1.10
  @@ -353,11 +353,13 @@
               Class partypes1 [] = new Class[1];
               // Set address
               String str = new String();
  -            partypes1[0] = str.getClass();
  -            Method meth1 = cls.getMethod("setAddress", partypes1);
  -            Object arglist1[] = new Object[1];
  -            arglist1[0] = address;
  -            meth1.invoke(retobj, arglist1);
  +            if ((address!=null) && (address.length()>0)) {
  +                partypes1[0] = str.getClass();
  +                Method meth1 = cls.getMethod("setAddress", partypes1);
  +                Object arglist1[] = new Object[1];
  +                arglist1[0] = address;
  +                meth1.invoke(retobj, arglist1);
  +            }
               // Set port number
               Class partypes2 [] = new Class[1];
               partypes2[0] = Integer.TYPE;
  @@ -380,7 +382,9 @@
               Method getObjectName = cls.getMethod("getObjectName", null);
               
               // Return the corresponding MBean name
  -            ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null);
  +            //ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null);
  +            ObjectName coname = 
  +                MBeanUtils.createObjectName(pname.getDomain(), (Connector)retobj);
               return (coname.toString());
           
           } catch (Exception e) {
  @@ -482,11 +486,13 @@
               Class partypes1 [] = new Class[1];
               // Set address
               String str = new String();
  -            partypes1[0] = str.getClass();
  -            Method meth1 = cls.getMethod("setAddress", partypes1);
  -            Object arglist1[] = new Object[1];
  -            arglist1[0] = address;
  -            meth1.invoke(retobj, arglist1);
  +            if ((address!=null) && (address.length()>0)) {
  +                partypes1[0] = str.getClass();
  +                Method meth1 = cls.getMethod("setAddress", partypes1);
  +                Object arglist1[] = new Object[1];
  +                arglist1[0] = address;
  +                meth1.invoke(retobj, arglist1);
  +            }
               // Set port number
               Class partypes2 [] = new Class[1];
               partypes2[0] = Integer.TYPE;
  @@ -501,7 +507,9 @@
               Method getObjectName = cls.getMethod("getObjectName", null);
               
               // Return the corresponding MBean name
  -            ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null);
  +            //ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null);
  +            ObjectName coname = 
  +                MBeanUtils.createObjectName(pname.getDomain(), (Connector)retobj);
               return (coname.toString());
           } catch (Exception e) {
               throw new MBeanException(e);
  @@ -532,11 +540,13 @@
               Class partypes1 [] = new Class[1];
               // Set address
               String str = new String();
  -            partypes1[0] = str.getClass();
  -            Method meth1 = cls.getMethod("setAddress", partypes1);
  -            Object arglist1[] = new Object[1];
  -            arglist1[0] = address;
  -            meth1.invoke(retobj, arglist1);
  +            if ((address!=null) && (address.length()>0)) {
  +                partypes1[0] = str.getClass();
  +                Method meth1 = cls.getMethod("setAddress", partypes1);
  +                Object arglist1[] = new Object[1];
  +                arglist1[0] = address;
  +                meth1.invoke(retobj, arglist1);
  +            }
               // Set port number
               Class partypes2 [] = new Class[1];
               partypes2[0] = Integer.TYPE;
  @@ -584,7 +594,9 @@
               Method getObjectName = cls.getMethod("getObjectName", null);
               
               // Return the corresponding MBean name
  -            ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null);
  +            //ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null);
  +            ObjectName coname = 
  +                MBeanUtils.createObjectName(pname.getDomain(), (Connector)retobj);
               return (coname.toString());
           } catch (Exception e) {
               // FIXME
  @@ -800,7 +812,7 @@
   
           // Create a new StandardContext instance
           StandardContext context = new StandardContext();
  -        //path = getPathStr(path);
  +        path = getPathStr(path);
           context.setPath(path);
           context.setDocBase(docBase);
           ContextConfig contextConfig = new ContextConfig();
  @@ -814,7 +826,9 @@
           host.addChild(context);
   
           // Return the corresponding MBean name
  -        return (context.getObjectName().toString());
  +        ObjectName oname = 
  +            MBeanUtils.createObjectName(pname.getDomain(), context);
  +        return (oname.toString());
   
       }
   
  
  
  
  1.16      +42 -18    
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java
  
  Index: MBeanUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- MBeanUtils.java   23 Mar 2003 02:12:22 -0000      1.15
  +++ MBeanUtils.java   24 Mar 2003 09:18:26 -0000      1.16
  @@ -885,9 +885,13 @@
                   String serviceName = null;
                   if (service != null)
                       serviceName = service.getName();
  -                name = new ObjectName(domain + ":type=Connector" +
  -                                      ",port=" + port +
  -                                      ",address=" + address);
  +                StringBuffer sb = new StringBuffer(domain);
  +                sb.append(":type=Connector");
  +                sb.append(",port=" + port);
  +                if ((address != null) && (address.length()>0)) {
  +                    sb.append(",address=" + address);
  +                }
  +                name = new ObjectName(sb.toString());
                   return (name);
               } catch (Exception e) {
                   throw new MalformedObjectNameException
  @@ -920,9 +924,11 @@
           String path = context.getPath();
           if (path.length() < 1)
               path = "/";
  -        name = new ObjectName(domain + ":type=Context,path=" +
  -                              path + ",host=" +
  -                              host.getName());
  +        // FIXME 
  +        name = new ObjectName(domain + ":j2eeType=WebModule,name=//" +
  +                              host.getName()+ path +
  +                              ",J2EEApplication=none,J2EEServer=none");
  +    
           return (name);
   
       }
  @@ -1570,6 +1576,10 @@
   
           ObjectName name = null;
           Container container = null;
  +        String className=valve.getClass().getName();
  +        int period = className.lastIndexOf('.');
  +        if (period >= 0)
  +            className = className.substring(period + 1);
           if( valve instanceof Contained ) {
               container = ((Contained)valve).getContainer();
           }
  @@ -1577,18 +1587,27 @@
               throw new MalformedObjectNameException(
                                  "Cannot create mbean for non-contained valve " +
                                  valve);
  -        }
  -        
  +        }        
           if (container instanceof Engine) {
               Service service = ((Engine)container).getService();
               String local="";
  -            name = new ObjectName(domain + ":type=Valve,sequence=" +
  -                                  getSeq(local) + local );
  +            int seq = getSeq(local);
  +            String ext="";
  +            if( seq > 0 ) {
  +                ext=",seq=" + seq;
  +            }
  +            name = new ObjectName(domain + ":type=Valve,name=" + className + 
  +                                    ext + local );
           } else if (container instanceof Host) {
               Service service = ((Engine)container.getParent()).getService();
               String local=",host=" +container.getName();
  -            name = new ObjectName(domain + ":type=Valve,sequence=" +
  -                                  getSeq(local) + local);
  +            int seq = getSeq(local);
  +            String ext="";
  +            if( seq > 0 ) {
  +                ext=",seq=" + seq;
  +            }
  +            name = new ObjectName(domain + ":type=Valve,name=" + className + 
  +                                    ext + local );
           } else if (container instanceof Context) {
               String path = ((Context)container).getPath();
               if (path.length() < 1) {
  @@ -1598,8 +1617,13 @@
               Service service = ((Engine) host.getParent()).getService();
               String local=",path=" + path + ",host=" +
                       host.getName();
  -            name = new ObjectName(domain + ":type=Valve,sequence=" +
  -                                  getSeq(local) + local );
  +            int seq = getSeq(local);
  +            String ext="";
  +            if( seq > 0 ) {
  +                ext=",seq=" + seq;
  +            }
  +            name = new ObjectName(domain + ":type=Valve,name=" + className + 
  +                                    ext + local );
           }
   
           return (name);
  
  
  
  1.2       +5 -5      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java
  
  Index: StandardServerMBean.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StandardServerMBean.java  18 Jul 2002 16:48:01 -0000      1.1
  +++ StandardServerMBean.java  24 Mar 2003 09:18:27 -0000      1.2
  @@ -137,7 +137,7 @@
           Server server = ServerFactory.getServer();
           if (server instanceof StandardServer) {
               try {
  -                ((StandardServer) server).store();
  +                ((StandardServer) server).storeConfig();
               } catch (Exception e) {
                   throw new MBeanException(e, "Error updating conf/server.xml");
               }
  
  
  
  1.7       +6 -6      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/ManagerServlet.java
  
  Index: ManagerServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/ManagerServlet.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ManagerServlet.java       15 Jan 2003 03:40:42 -0000      1.6
  +++ ManagerServlet.java       24 Mar 2003 09:18:27 -0000      1.7
  @@ -420,7 +420,7 @@
           Server server = ServerFactory.getServer();
           if ((server != null) && (server instanceof StandardServer)) {
               try {
  -                ((StandardServer) server).store();
  +                ((StandardServer) server).storeConfig();
               } catch (Exception e) {
                   writer.println(sm.getString("managerServlet.saveFail",
                                               e.getMessage()));
  @@ -1249,7 +1249,7 @@
           Server server = ServerFactory.getServer();
           if ((server != null) && (server instanceof StandardServer)) {
               try {
  -                ((StandardServer) server).store();
  +                ((StandardServer) server).storeConfig();
               } catch (Exception e) {
                   writer.println(sm.getString("managerServlet.saveFail",
                                               e.getMessage()));
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to