001 // This file is part of AceWiki. 002 // Copyright 2008-2012, AceWiki developers. 003 // 004 // AceWiki is free software: you can redistribute it and/or modify it under the terms of the GNU 005 // Lesser General Public License as published by the Free Software Foundation, either version 3 of 006 // the License, or (at your option) any later version. 007 // 008 // AceWiki is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 009 // even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 010 // Lesser General Public License for more details. 011 // 012 // You should have received a copy of the GNU Lesser General Public License along with AceWiki. If 013 // not, see http://www.gnu.org/licenses/. 014 015 package ch.uzh.ifi.attempto.aceeditor; 016 017 import java.util.Enumeration; 018 import java.util.HashMap; 019 import java.util.Map; 020 021 import nextapp.echo.app.ApplicationInstance; 022 import nextapp.echo.app.Window; 023 import nextapp.echo.webcontainer.WebContainerServlet; 024 import ch.uzh.ifi.attempto.base.APE; 025 import ch.uzh.ifi.attempto.echocomp.Style; 026 027 /** 028 * This servlet class is used by the web server to start the ACE Editor web application. 029 * 030 * @author Tobias Kuhn 031 */ 032 public class ACEEditorServlet extends WebContainerServlet { 033 034 private static final long serialVersionUID = -2533205689651186115L; 035 036 /** 037 * Creates a new servlet for the ACE Editor web application. 038 */ 039 public ACEEditorServlet() { 040 } 041 042 public ApplicationInstance newApplicationInstance() { 043 044 return new ApplicationInstance() { 045 046 private static final long serialVersionUID = 2982410120358060245L; 047 048 public Window init() { 049 Map<String, String> parameters = getInitParameters(); 050 setStyleSheet(Style.styleSheet); 051 APE.setParameters(parameters); 052 return new ACEEditor(parameters); 053 } 054 055 }; 056 057 } 058 059 @SuppressWarnings("rawtypes") 060 private Map<String, String> getInitParameters() { 061 Map<String, String> initParameters = new HashMap<String, String>(); 062 Enumeration paramEnum = getInitParameterNames(); 063 while (paramEnum.hasMoreElements()) { 064 String paramName = paramEnum.nextElement().toString(); 065 initParameters.put(paramName, getInitParameter(paramName)); 066 } 067 return initParameters; 068 } 069 070 }