1 package mircoders.servlet;
\r
3 import java.io.PrintWriter;
\r
4 import java.util.HashMap;
\r
5 import java.util.Locale;
\r
6 import java.util.Map;
\r
8 import org.apache.struts.util.MessageResources;
\r
10 import mir.entity.adapter.EntityIteratorAdapter;
\r
11 import mir.generator.Generator;
\r
12 import mir.servlet.ServletModuleExc;
\r
13 import mir.servlet.ServletModuleFailure;
\r
14 import mir.util.CachingRewindableIterator;
\r
15 import mir.util.NullWriter;
\r
16 import mir.util.ResourceBundleGeneratorFunction;
\r
18 import mircoders.global.MirGlobal;
\r
22 public class ServletHelper {
\r
23 static Map makeGenerationData(Locale aLocale) throws ServletModuleExc {
\r
24 return makeGenerationData(aLocale, "bundles.adminlocal", "bundles.admin");
\r
27 static Map makeGenerationData(Locale aLocale, String aBundle) throws ServletModuleExc {
\r
28 return makeGenerationData(aLocale, aBundle, aBundle);
\r
31 static Map makeGenerationData(Locale aLocale, String aBundle, String aDefaultBundle) throws ServletModuleExc {
\r
34 Map result = new HashMap();
\r
36 MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(result);
\r
38 result.put("returnurl", null);
\r
41 new CachingRewindableIterator(
\r
42 new EntityIteratorAdapter( "", "id", 30,
\r
43 MirGlobal.localizer().dataModel().adapterModel(), "language"));
\r
45 new CachingRewindableIterator(
\r
46 new EntityIteratorAdapter("", "id", 30,
\r
47 MirGlobal.localizer().dataModel().adapterModel(), "topic"));
\r
49 Object articleTypes =
\r
50 new CachingRewindableIterator(
\r
51 new EntityIteratorAdapter( "", "id", 30,
\r
52 MirGlobal.localizer().dataModel().adapterModel(), "articleType"));
\r
54 Object commentStatuses =
\r
55 new CachingRewindableIterator(
\r
56 new EntityIteratorAdapter( "", "id", 30,
\r
57 MirGlobal.localizer().dataModel().adapterModel(), "commentStatus"));
\r
59 result.put("commentstatuses", commentStatuses);
\r
60 result.put("articletypes", articleTypes);
\r
61 result.put("languages", languages);
\r
62 result.put("topics", topics);
\r
65 new ResourceBundleGeneratorFunction( aLocale,
\r
66 MessageResources.getMessageResources(aBundle),
\r
67 MessageResources.getMessageResources(aDefaultBundle)));
\r
71 catch (Throwable t) {
\r
72 throw new ServletModuleFailure(t);
\r
76 static void generateResponse(PrintWriter aWriter, Map aGenerationData, String aGenerator) throws ServletModuleExc {
\r
77 Generator generator;
\r
80 generator = MirGlobal.localizer().generators().makeAdminGeneratorLibrary().makeGenerator(aGenerator);
\r
82 generator.generate(aWriter, aGenerationData, new PrintWriter(new NullWriter()));
\r
84 catch (Throwable t) {
\r
85 throw new ServletModuleFailure(t);
\r
89 static void generateOpenPostingResponse(PrintWriter aWriter, Map aGenerationData, String aGenerator) throws ServletModuleExc {
\r
90 Generator generator;
\r
93 generator = MirGlobal.localizer().generators().makeAdminGeneratorLibrary().makeGenerator(aGenerator);
\r
95 generator.generate(aWriter, aGenerationData, new PrintWriter(new NullWriter()));
\r
97 catch (Throwable t) {
\r
98 throw new ServletModuleFailure(t);
\r