2 * Copyright (C) 2001, 2002 The Mir-coders group
4 * This file is part of Mir.
6 * Mir is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * Mir is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with Mir; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 * In addition, as a special exception, The Mir-coders gives permission to link
21 * the code of this program with any library licensed under the Apache Software License,
22 * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
23 * (or with modified versions of the above that use the same license as the above),
24 * and distribute linked combinations including the two. You must obey the
25 * GNU General Public License in all respects for all of the code used other than
26 * the above mentioned libraries. If you modify this file, you may extend this
27 * exception to your version of the file, but you are not obligated to do so.
28 * If you do not wish to do so, delete this exception statement from your version.
30 package mircoders.servlet;
32 import mir.entity.adapter.EntityAdapterEngine;
33 import mir.servlet.AdminServletModule;
34 import mir.servlet.ServletModuleExc;
35 import mir.servlet.ServletModuleFailure;
36 import mir.util.URLBuilder;
37 import mircoders.global.MirGlobal;
39 import javax.servlet.http.HttpServletRequest;
40 import javax.servlet.http.HttpServletResponse;
41 import java.io.IOException;
42 import java.io.Writer;
43 import java.util.List;
46 public class ServletModuleAdmin extends AdminServletModule {
47 public void defaultAction(HttpServletRequest aRequest, HttpServletResponse aResponse) {
48 start(aRequest, aResponse);
51 public void superusermenu(HttpServletRequest aRequest, HttpServletResponse aResponse) {
52 URLBuilder urlBuilder = new URLBuilder();
55 Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, getLocales(aRequest));
56 urlBuilder.setValue("module", "Admin");
57 urlBuilder.setValue("do", "superusermenu");
59 responseData.put("thisurl" , urlBuilder.getQuery());
61 ServletHelper.generateResponse(aResponse.getWriter(), responseData, "superusermenu.template");
64 throw new ServletModuleFailure(e);
69 * Servlet handler method to reload the configuration for scripts.
70 * The output will be aimed at shell sripts.
72 public void reload(HttpServletRequest aRequest, HttpServletResponse aResponse) {
73 String result = "reload successfull";
76 MirGlobal.reloadConfigurations();
79 result = "error occurred while reloading: " +t.toString();
83 Writer writer = aResponse.getWriter();
86 catch (IOException e) {
87 throw new ServletModuleFailure(e);
92 * Servlet handler method to reload the configuration.
94 public void reloadconfiguration(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc {
96 MirGlobal.reloadConfigurations();
97 ServletHelper.generateInfoMessage(aRequest, aResponse, getLocales(aRequest),
98 "bundles/admin", "etc/bundles/adminlocal", "reloadSuccessfull", "", "");
100 catch (Throwable t) {
101 ServletHelper.generateInfoMessage(aRequest, aResponse, getLocales(aRequest),
102 "bundles/admin", "etc/bundles/adminlocal", "reloadFailed", t.toString(), "");
106 public void start(HttpServletRequest aRequest, HttpServletResponse aResponse) {
107 String defaultStartTemplate = getConfiguration().getString("Mir.StartTemplate");
110 Map templateData = ServletHelper.makeGenerationData(aRequest, aResponse, getLocales(aRequest),
111 "bundles/admin", "etc/bundles/adminlocal");
113 List messages = EntityAdapterEngine.retrieveAdapterList(getModel(),
114 "internalMessage", "", "webdb_create desc", 10, 0);
116 templateData.put("messages", messages);
118 templateData.put("fileeditentries",
119 ServletHelper.getServletModuleFileEdit().getEntries());
120 templateData.put("administeroperations",
121 ServletHelper.getServletModuleLocalizer().getAdministerOperations());
123 templateData.put("searchvalue", null);
124 templateData.put("searchfield", null);
125 templateData.put("searchispublished", null);
126 templateData.put("searcharticletype", null);
127 templateData.put("searchorder", null);
128 templateData.put("selectarticleurl", null);
129 templateData.put("recipes", MirGlobal.localizer().producers().getRecipeNames());
131 String startTemplate = MirGlobal.localizer().adminInterface().getAdminPageGenerator(
132 "admin.start", templateData,
133 ServletHelper.getUserAdapter(aRequest), defaultStartTemplate);
135 ServletHelper.generateResponse(aResponse.getWriter(), templateData, startTemplate);
137 catch (Exception e) {
138 throw new ServletModuleFailure(e);