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 java.util.Locale;
35 import javax.servlet.http.HttpServletRequest;
36 import javax.servlet.http.HttpServletResponse;
38 import mir.entity.adapter.EntityIteratorAdapter;
39 import mir.log.LoggerWrapper;
40 import mir.servlet.ServletModule;
41 import mir.servlet.ServletModuleFailure;
42 import mir.util.CachingRewindableIterator;
43 import mir.util.URLBuilder;
44 import mircoders.global.MirGlobal;
46 public class ServletModuleAdmin extends ServletModule
48 private static ServletModuleAdmin instance = new ServletModuleAdmin();
49 public static ServletModule getInstance() { return instance; }
51 private ServletModuleAdmin() {
52 logger = new LoggerWrapper("ServletModule.Admin");
53 defaultAction = "start";
56 public void superusermenu(HttpServletRequest aRequest, HttpServletResponse aResponse) {
57 URLBuilder urlBuilder = new URLBuilder();
61 Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getLocale(aRequest), getFallbackLocale(aRequest)});
62 urlBuilder.setValue("module", "Admin");
63 urlBuilder.setValue("do", "superusermenu");
65 responseData.put("thisurl" , urlBuilder.getQuery());
67 ServletHelper.generateResponse(aResponse.getWriter(), responseData, "superusermenu.template");
70 throw new ServletModuleFailure(e);
74 public void start(HttpServletRequest aRequest, HttpServletResponse aResponse) {
75 String defaultStartTemplate = configuration.getString("Mir.StartTemplate");
76 String sessionUrl = aResponse.encodeURL("");
79 Map mergeData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] {getLocale(aRequest), getFallbackLocale(aRequest)}
80 , "bundles.admin", "bundles.adminlocal");
81 mergeData.put("messages",
82 new CachingRewindableIterator(
83 new EntityIteratorAdapter("", "webdb_create desc", 10,
84 MirGlobal.localizer().dataModel().adapterModel(), "internalMessage", 10, 0)));
86 mergeData.put("fileeditentries", ( (ServletModuleFileEdit) ServletModuleFileEdit.getInstance()).getEntries());
87 mergeData.put("administeroperations", ( (ServletModuleLocalizer) ServletModuleLocalizer.getInstance()).getAdministerOperations());
89 mergeData.put("searchvalue", null);
90 mergeData.put("searchfield", null);
91 mergeData.put("searchispublished", null);
92 mergeData.put("searcharticletype", null);
93 mergeData.put("searchorder", null);
94 mergeData.put("selectarticleurl", null);
95 mergeData.put("recipes", MirGlobal.localizer().producers().getRecipeNames());
97 String startTemplate = MirGlobal.localizer().adminInterface().getAdminPageGenerator(
98 "admin.start", mergeData,
99 ServletHelper.getUserAdapter(aRequest), defaultStartTemplate);
101 ServletHelper.generateResponse(aResponse.getWriter(), mergeData, startTemplate);
103 catch (Exception e) {
104 throw new ServletModuleFailure(e);