package mircoders.servlet;\r
\r
import java.io.PrintWriter;\r
-import java.util.HashMap;\r
+import java.io.IOException;\r
import java.util.Locale;\r
import java.util.Map;\r
+\r
import javax.servlet.http.HttpServletRequest;\r
import javax.servlet.http.HttpServletResponse;\r
\r
-import org.apache.struts.util.MessageResources;\r
-\r
import mir.config.MirPropertiesConfiguration;\r
-import mir.entity.adapter.*;\r
+import mir.entity.adapter.EntityAdapter;\r
import mir.generator.Generator;\r
+import mir.generator.GeneratorHelper;\r
import mir.log.LoggerWrapper;\r
import mir.servlet.ServletModuleExc;\r
import mir.servlet.ServletModuleFailure;\r
-import mir.util.CachingRewindableIterator;\r
-import mir.util.ResourceBundleGeneratorFunction;\r
import mircoders.entity.EntityUsers;\r
import mircoders.global.MirGlobal;\r
\r
\r
public class ServletHelper {\r
- static LoggerWrapper logger = new LoggerWrapper("ServletModule.Helper");\r
-\r
+ private static LoggerWrapper logger = new LoggerWrapper("ServletModule.Helper");\r
\r
public static Map makeGenerationData(HttpServletRequest aRequest, HttpServletResponse aResponse, Locale[] aLocales) throws ServletModuleExc {\r
- return makeGenerationData(aRequest, aResponse, aLocales, "bundles.adminlocal", "bundles.admin");\r
+ return makeGenerationData(aRequest, aResponse, aLocales, "etc/bundles/adminlocal", "bundles/admin");\r
}\r
\r
public static Map makeGenerationData(HttpServletRequest aRequest, HttpServletResponse aResponse, Locale[] aLocales, String aBundle) throws ServletModuleExc {\r
}\r
\r
public static Map makeGenerationData(HttpServletRequest aRequest, HttpServletResponse aResponse, Locale[] aLocales, String aBundle, String aDefaultBundle) throws ServletModuleExc {\r
-\r
try {\r
- Map result = new HashMap();\r
-\r
- MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(result);\r
+ MirPropertiesConfiguration configuration = MirPropertiesConfiguration.instance();\r
+ Map result = GeneratorHelper.makeBasicGenerationData(aLocales, aBundle, aDefaultBundle);\r
+ if (configuration.getString("Mir.Admin.ShowLoggedinUsers").equals("1")) {\r
+ result.put("loggedinusers", MirGlobal.getLoggedInUsers());\r
+ }\r
+ else {\r
+ result.put("loggedinusers", null);\r
+ }\r
+ result.put("systemstatus", MirGlobal.getStatus());\r
\r
// ML: hackish\r
((Map) result.get("config")).put("actionRoot",\r
result.put("returnurl", null);\r
result.put("login_user", getUserAdapter(aRequest));\r
\r
- Object languages =\r
- new CachingRewindableIterator(\r
- new EntityIteratorAdapter( "", "id", 30,\r
- MirGlobal.localizer().dataModel().adapterModel(), "language"));\r
-\r
- Object topics =\r
- new CachingRewindableIterator(\r
- new EntityIteratorAdapter("", "id", 30,\r
- MirGlobal.localizer().dataModel().adapterModel(), "topic"));\r
-\r
- Object articleTypes =\r
- new CachingRewindableIterator(\r
- new EntityIteratorAdapter( "", "id", 30,\r
- MirGlobal.localizer().dataModel().adapterModel(), "articleType"));\r
-\r
- Object commentStatuses =\r
- new CachingRewindableIterator(\r
- new EntityIteratorAdapter( "", "id", 30,\r
- MirGlobal.localizer().dataModel().adapterModel(), "commentStatus"));\r
-\r
- result.put("commentstatuses", commentStatuses);\r
- result.put("articletypes", articleTypes);\r
- result.put("languages", languages);\r
- result.put("topics", topics);\r
-\r
- result.put( "lang",\r
- new ResourceBundleGeneratorFunction( aLocales,\r
- new MessageResources[] { MessageResources.getMessageResources(aBundle),\r
- MessageResources.getMessageResources(aDefaultBundle)}));\r
-\r
return result;\r
}\r
catch (Throwable t) {\r
}\r
}\r
\r
+ public static void generateInfoMessage(HttpServletRequest aRequest, HttpServletResponse aResponse,\r
+ Locale[] aLocales, String aBundle, String aDefaultBundle, String aMessage, String anArgument1, String anArgument2) throws ServletModuleExc {\r
+ Map responseData = makeGenerationData(aRequest, aResponse, aLocales, aBundle, aDefaultBundle);\r
+ responseData.put("message", aMessage);\r
+ responseData.put("argument1", anArgument1);\r
+ responseData.put("argument2", anArgument2);\r
+\r
+ try {\r
+ generateResponse(aResponse.getWriter(), responseData, "infomessage.template");\r
+ }\r
+ catch (IOException e) {\r
+ throw new ServletModuleFailure(e);\r
+ }\r
+ }\r
+\r
public static void redirect(HttpServletResponse aResponse, String aQuery) throws ServletModuleExc, ServletModuleFailure {\r
try {\r
aResponse.sendRedirect(aResponse.encodeRedirectURL(MirPropertiesConfiguration.instance().getString("RootUri") + "/servlet/Mir?"+aQuery));\r
}\r
- catch (Throwable t) {\r
+ catch (IOException t) {\r
throw new ServletModuleFailure("ServletModule.redirect: " +t.getMessage(), t);\r
}\r
}\r
EntityUsers user = getUser(aRequest);\r
\r
if (user!=null)\r
- return user.getValue("login");\r
+ return user.getFieldValue("login");\r
else\r
return "nobody";\r
}\r