X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2FMir.java;h=545d85f0f7605b811b4f9c75b3ecf73e9cf08e72;hb=97714a475842d7f804c33ff93207b912d7ee29a3;hp=9db7350f81587eda70094a2112115620b6febe7e;hpb=e42ecea2db8ff123f268edf48190d6b9b28fcedb;p=mir.git diff --git a/source/Mir.java b/source/Mir.java index 9db7350f..545d85f0 100755 --- a/source/Mir.java +++ b/source/Mir.java @@ -1,4 +1,34 @@ -import freemarker.template.SimpleList; +/* + * Copyright (C) 2001, 2002 The Mir-coders group + * + * This file is part of Mir. + * + * Mir is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Mir is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Mir; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * In addition, as a special exception, The Mir-coders gives permission to link + * the code of this program with the com.oreilly.servlet library, any library + * licensed under the Apache Software License, The Sun (tm) Java Advanced + * Imaging library (JAI), The Sun JIMI library (or with modified versions of + * the above that use the same license as the above), and distribute linked + * combinations including the two. You must obey the GNU General Public + * License in all respects for all of the code used other than the above + * mentioned libraries. If you modify this file, you may extend this exception + * to your version of the file, but you are not obligated to do so. If you do + * not wish to do so, delete this exception statement from your version. + */ + import freemarker.template.SimpleHash; import freemarker.template.SimpleScalar; import mir.misc.HTMLParseException; @@ -6,14 +36,9 @@ import mir.misc.HTMLTemplateProcessor; import mir.misc.MirConfig; import mir.misc.StringUtil; import mir.servlet.*; -import mir.producer.*; - -import mircoders.global.*; -import mircoders.localizer.*; import mircoders.entity.EntityUsers; import mircoders.module.ModuleMessage; import mircoders.module.ModuleUsers; -import mircoders.storage.DatabaseArticleType; import mircoders.storage.DatabaseMessages; import mircoders.storage.DatabaseUsers; @@ -28,17 +53,19 @@ import java.lang.reflect.Method; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Locale; -import java.util.*; /** * Mir.java - main servlet, that dispatches to servletmodules * * @author $Author: mh $ - * @version $Revision: 1.18 $ $Date: 2002/08/25 19:00:06 $ + * @version $Revision: 1.17.2.2 $ $Date: 2002/11/25 21:59:47 $ * * $Log: Mir.java,v $ - * Revision 1.18 2002/08/25 19:00:06 mh - * merge of localization branch into HEAD. mh and zap + * Revision 1.17.2.2 2002/11/25 21:59:47 mh + * use req.getContextPath to find the RootUri.. much more robust. 4.0 and 4.1 compatible due to new web.xml mapping + * + * Revision 1.17.2.1 2002/09/01 21:31:39 mh + * Mir goes GPL * * Revision 1.17 2002/07/21 22:27:39 mh * make the user error msg look nicer @@ -52,6 +79,8 @@ public class Mir extends AbstractServlet { private static ModuleMessage messageModule = null; private final static HashMap servletModuleInstanceHash = new HashMap(); + private static boolean nameSet = false; + public HttpSession session; public void doGet(HttpServletRequest req, HttpServletResponse res) @@ -64,7 +93,6 @@ public class Mir extends AbstractServlet { long startTime = System.currentTimeMillis(); long sessionConnectTime = 0; - EntityUsers userEntity; String http = ""; // get the configration - this could conflict if 2 mirs are in the @@ -72,10 +100,13 @@ public class Mir extends AbstractServlet { if (getServletContext().getAttribute("mir.confed") == null) { getConfig(req); } - MirConfig.setServletName(getServletName()); + + if (!nameSet) { + MirConfig.setAdminServletName(getServletName()); + nameSet = true; + } session = req.getSession(true); - userEntity = (EntityUsers) session.getAttribute("login.uid"); if (req.getServerPort() == 443) http = "https"; else http = "http"; res.setContentType("text/html; charset=" @@ -87,23 +118,19 @@ public class Mir extends AbstractServlet { /** @todo for cleanup and readability this should be moved to * method loginIfNecessary() */ - if (moduleName!=null && moduleName.equals("direct")) { - //... - } - // Authentifizierung - if ((moduleName != null && moduleName.equals("login")) || (userEntity==null)) { + if (moduleName != null && moduleName.equals("login")) { String user = req.getParameter("login"); String passwd = req.getParameter("password"); theLog.printDebugInfo("--login: evaluating for user: " + user); - userEntity = allowedUser(user, passwd); + EntityUsers userEntity = allowedUser(user, passwd); if (userEntity == null) { // login failed: redirecting to login theLog.printWarning("--login: failed!"); _sendLoginPage(res, req, res.getWriter()); return; } - else if (moduleName!=null && moduleName.equals("login")) { + else { // login successful theLog.printInfo("--login: successful! setting uid: " + userEntity.getId()); @@ -156,6 +183,7 @@ public class Mir extends AbstractServlet { } // Check if authed! + EntityUsers userEntity = (EntityUsers) session.getAttribute("login.uid"); if (userEntity == null) { // redirect to loginpage String redirectString = req.getRequestURI(); @@ -314,34 +342,9 @@ public class Mir extends AbstractServlet { mergeData.put("login_user", userEntity); if (messageModule == null) messageModule = new ModuleMessage(DatabaseMessages.getInstance()); mergeData.put("messages", messageModule.getByWhereClause(null, "webdb_create desc", 0, 10)); - - mergeData.put("articletypes", DatabaseArticleType.getInstance().selectByWhereClause("", "id", 0, 20)); - - SimpleList producersData = new SimpleList(); - Iterator i = MirGlobal.localizer().producers().factories().entrySet().iterator(); - while (i.hasNext()) { - Map.Entry entry = (Map.Entry) i.next(); - - SimpleList producerVerbs = new SimpleList(); - Iterator j = ((ProducerFactory) entry.getValue()).verbs(); - while (j.hasNext()) { - producerVerbs.add((String) j.next()); - } - - SimpleHash producerData = new SimpleHash(); - producerData.put("key", (String) entry.getKey()); - producerData.put("verbs", producerVerbs); - - producersData.add(producerData); - } - mergeData.put("producers", producersData); - - - HTMLTemplateProcessor.process(res, startTemplate, mergeData, out, getLocale(req)); } catch (Exception e) { - e.printStackTrace(System.out); handleError(req, res, out, "error while trying to send startpage. " + e.toString()); } }