import java.io.IOException;
import java.io.PrintWriter;
+import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import javax.servlet.http.HttpSession;
import mir.config.MirPropertiesConfiguration;
+import mir.config.MirPropertiesConfiguration.PropertiesConfigExc;
import mir.servlet.ServletModuleExc;
import mir.util.GeneratorDateTimeFunctions;
import mir.util.GeneratorExpressionFunctions;
import mir.util.GeneratorStringFunctions;
import mir.util.ResourceBundleGeneratorFunction;
import mir.util.StringRoutines;
+import mircoders.global.MirGlobal;
import mircoders.servlet.ServletHelper;
+import multex.Failure;
import org.apache.struts.util.MessageResources;
/**
* TemplateServlet
* @author idefix
- * @version $Id: TemplateServlet.java,v 1.2 2003/09/07 16:55:00 idfx Exp $
+ * @version $Id: TemplateServlet.java,v 1.3 2003/09/18 21:42:17 idfx Exp $
*/
public class TemplateServlet extends HttpServlet {
-
+ private MirPropertiesConfiguration _configuration;
+
/**
*
*/
public TemplateServlet() {
super();
+ try {
+ _configuration = MirPropertiesConfiguration.instance();
+ } catch (PropertiesConfigExc e) {
+ throw new Failure("could not load config", e);
+ }
}
protected void process(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
try {
+ setLoginLanguages(this.getServletContext());
+
Map requestData = new HashMap();
Enumeration keys = request.getAttributeNames();
while(keys.hasMoreElements()){
templateData.put("administeroperations", administerOperations);
String templateName = generateTemplateString(request);
-
+ System.out.println(templateName);
Locale[] locales = new Locale[2];
locales[0] = request.getLocale();
locales[1] = request.getLocale();
ServletHelper.generateOpenPostingResponse(printWriter, map, templateString);
}
}
+
+ private void setLoginLanguages(ServletContext context) throws ServletException {
+ List loginLanguages =
+ (List) context.getAttribute(ServletConstants.LOGIN_LANGUAGES);
+ try {
+ if (loginLanguages == null) {
+ MessageResources messageResources =
+ MessageResources.getMessageResources("bundles.adminlocal");
+ MessageResources messageResources2 =
+ MessageResources.getMessageResources("bundles.admin");
+
+ List languages =
+ StringRoutines.splitString(
+ MirGlobal.config().getString("Mir.Login.Languages", "en"), ";");
+
+ loginLanguages = new ArrayList();
+ Iterator i = languages.iterator();
+ while (i.hasNext()) {
+ String code = (String) i.next();
+ Locale locale = new Locale(code, "");
+ String name = messageResources.getMessage(locale, "languagename");
+
+ if (name == null) {
+ name = messageResources2.getMessage(locale, "languagename");
+ }
+
+ if (name == null) {
+ name = code;
+ }
+
+ Map record = new HashMap();
+ record.put("name", name);
+ record.put("code", code);
+ loginLanguages.add(record);
+ }
+ context.setAttribute(ServletConstants.LOGIN_LANGUAGES,
+ loginLanguages);
+ context.setAttribute(ServletConstants.DEFAULT_LANGUAGE,
+ _configuration.getString("Mir.Login.DefaultLanguage"));
+ }
+ } catch (Throwable t) {
+ throw new ServletException(t.getMessage());
+ }
+ }
/**
* @see javax.servlet.Servlet#destroy()