You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2003/09/22 14:34:45 UTC

cvs commit: jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager LocalStrings.properties ManagerServlet.java

remm        2003/09/22 05:34:45

  Modified:    webapps/manager/WEB-INF/classes/org/apache/catalina/manager
                        LocalStrings.properties ManagerServlet.java
  Log:
  - Add save command (saves either the full config, or a context config).
  
  Revision  Changes    Path
  1.4       +3 -1      jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/LocalStrings.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LocalStrings.properties	28 Jul 2003 14:57:47 -0000	1.3
  +++ LocalStrings.properties	22 Sep 2003 12:34:45 -0000	1.4
  @@ -17,7 +17,7 @@
   htmlManagerServlet.deployPath=Context Path (optional):
   htmlManagerServlet.deployServer=Deploy directory or WAR file located on server
   htmlManagerServlet.deployTitle=Deploy
  -htmlManagerServlet.deployUpload=Upload a WAR file to deploy
  +htmlManagerServlet.deployUpload=WAR file to deploy
   htmlManagerServlet.deployUploadFail=FAIL - Deploy Upload Failed, Exception: {0}
   htmlManagerServlet.deployUploadFile=Select WAR file to upload
   htmlManagerServlet.deployUploadNotWar=FAIL - File uploaded \"{0}\" must be a .war
  @@ -63,6 +63,8 @@
   managerServlet.resourcesType=OK - Listed global resources of type {0}
   managerServlet.rolesList=OK - Listed security roles
   managerServlet.saveFail=FAIL - Configuration save failed: {0}
  +managerServlet.saved=OK - Server configuration saved
  +managerServlet.savedContext=OK - Context {0} configuration saved
   managerServlet.sessiondefaultmax=Default maximum session inactive interval {0} minutes
   managerServlet.sessiontimeout={0} minutes:{1} sessions
   managerServlet.sessions=OK - Session information for application at context path {0}
  
  
  
  1.11      +62 -8     jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java
  
  Index: ManagerServlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ManagerServlet.java	19 Sep 2003 14:17:24 -0000	1.10
  +++ ManagerServlet.java	22 Sep 2003 12:34:45 -0000	1.11
  @@ -382,6 +382,8 @@
               resources(writer, type);
           } else if (command.equals("/roles")) {
               roles(writer);
  +        } else if (command.equals("/save")) {
  +            save(writer, path);
           } else if (command.equals("/serverinfo")) {
               serverinfo(writer);
           } else if (command.equals("/sessions")) {
  @@ -536,6 +538,55 @@
   
   
       /**
  +     * Store server configuration.
  +     * 
  +     * @param path Optional context path to save
  +     */
  +    protected synchronized void save(PrintWriter writer, String path) {
  +
  +        Server server = ServerFactory.getServer();
  +
  +        if (!(server instanceof StandardServer)) {
  +            writer.println(sm.getString("managerServlet.saveFail", server));
  +            return;
  +        }
  +
  +        if ((path == null) || path.length() == 0 || !path.startsWith("/")) {
  +            try {
  +                ((StandardServer) server).storeConfig();
  +                writer.println(sm.getString("managerServlet.saved"));
  +            } catch (Exception e) {
  +                log("managerServlet.storeConfig", e);
  +                writer.println(sm.getString("managerServlet.exception",
  +                                            e.toString()));
  +                return;
  +            }
  +        } else {
  +            String contextPath = path;
  +            if (path.equals("/")) {
  +                contextPath = "";
  +            }
  +            Context context =  deployer.findDeployedApp(contextPath);
  +            if (context == null) {
  +                writer.println(sm.getString("managerServlet.noContext", path));
  +                return;
  +            }
  +            try {
  +                ((StandardServer) server).storeContext(context);
  +                writer.println(sm.getString("managerServlet.savedContext", 
  +                               path));
  +            } catch (Exception e) {
  +                log("managerServlet.save[" + path + "]", e);
  +                writer.println(sm.getString("managerServlet.exception",
  +                                            e.toString()));
  +                return;
  +            }
  +        }
  +
  +    }
  +
  +
  +    /**
        * Deploy a web application archive (included in the current request)
        * at the specified context path.
        *
  @@ -957,15 +1008,17 @@
           try {
               Context context = deployer.findDeployedApp(path);
               if (context == null) {
  -                writer.println(sm.getString("managerServlet.noContext", displayPath));
  -            return;
  +                writer.println(sm.getString
  +                               ("managerServlet.noContext", displayPath));
  +                return;
               }
               DirContext resources = context.getResources();
               if (resources instanceof ProxyDirContext) {
                   resources = ((ProxyDirContext) resources).getDirContext();
               }
               if (resources instanceof WARDirContext) {
  -                writer.println(sm.getString("managerServlet.noReload", displayPath));
  +                writer.println(sm.getString
  +                               ("managerServlet.noReload", displayPath));
                   return;
               }
               // It isn't possible for the manager to reload itself
  @@ -974,7 +1027,8 @@
                   return;
               }
               context.reload();
  -            writer.println(sm.getString("managerServlet.reloaded", displayPath));
  +            writer.println
  +                (sm.getString("managerServlet.reloaded", displayPath));
           } catch (Throwable t) {
               log("ManagerServlet.reload[" + displayPath + "]", t);
               writer.println(sm.getString("managerServlet.exception",