1.1 restoration
[mir.git] / source / mircoders / servlet / ServletModuleAdmin.java
index ccc81ec..568983b 100755 (executable)
  */
 package mircoders.servlet;
 
-import java.util.Locale;
+import java.io.IOException;
+import java.io.Writer;
 import java.util.Map;
-
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import mir.entity.adapter.EntityIteratorAdapter;
 import mir.log.LoggerWrapper;
 import mir.servlet.ServletModule;
+import mir.servlet.ServletModuleExc;
 import mir.servlet.ServletModuleFailure;
 import mir.util.CachingRewindableIterator;
 import mir.util.URLBuilder;
@@ -55,10 +56,9 @@ public class ServletModuleAdmin extends ServletModule
 
   public void superusermenu(HttpServletRequest aRequest, HttpServletResponse aResponse) {
     URLBuilder urlBuilder = new URLBuilder();
-    int count;
 
     try {
-      Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getLocale(aRequest), getFallbackLocale(aRequest)});
+      Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, getLocales(aRequest));
       urlBuilder.setValue("module", "Admin");
       urlBuilder.setValue("do", "superusermenu");
 
@@ -71,13 +71,50 @@ public class ServletModuleAdmin extends ServletModule
     }
   }
 
+  /**
+   * Servlet handler method to reload the configuration for scripts.
+   * The output will be aimed at shell sripts.
+   */
+  public void reload(HttpServletRequest aRequest, HttpServletResponse aResponse) {
+    String result = "reload successfull";
+
+    try {
+      MirGlobal.reloadConfigurations();
+    }
+    catch (Throwable t) {
+      result = "error occurred while reloading: " +t.toString();
+    }
+
+    try {
+      Writer writer = aResponse.getWriter();
+      writer.write(result);
+    }
+    catch (IOException e) {
+      throw new ServletModuleFailure(e);
+    }
+  }
+
+  /**
+   * Servlet handler method to reload the configuration.
+   */
+  public void reloadconfiguration(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc {
+    try {
+      MirGlobal.reloadConfigurations();
+       ServletHelper.generateInfoMessage(aRequest, aResponse, getLocales(aRequest),
+           "bundles/admin", "etc/bundles/adminlocal", "reloadSuccessfull", "", "");
+    }
+    catch (Throwable t) {
+      ServletHelper.generateInfoMessage(aRequest, aResponse, getLocales(aRequest),
+           "bundles/admin", "etc/bundles/adminlocal", "reloadFailed", t.toString(), "");
+    }
+  }
+
   public void start(HttpServletRequest aRequest, HttpServletResponse aResponse) {
     String defaultStartTemplate = configuration.getString("Mir.StartTemplate");
-    String sessionUrl = aResponse.encodeURL("");
 
     try {
-      Map mergeData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] {getLocale(aRequest), getFallbackLocale(aRequest)}
-          , "bundles.admin", "bundles.adminlocal");
+      Map mergeData = ServletHelper.makeGenerationData(aRequest, aResponse, getLocales(aRequest),
+          "bundles/admin", "etc/bundles/adminlocal");
       mergeData.put("messages",
                     new CachingRewindableIterator(
           new EntityIteratorAdapter("", "webdb_create desc", 10,