1 package mircoders.servlet;
3 import java.io.PrintWriter;
4 import java.util.HashMap;
5 import java.util.Locale;
8 import mir.entity.adapter.EntityIteratorAdapter;
9 import mir.generator.Generator;
10 import mir.servlet.ServletModuleExc;
11 import mir.servlet.ServletModuleFailure;
12 import mir.util.NullWriter;
13 import mir.util.ResourceBundleGeneratorFunction;
14 import mir.util.CachingRewindableIterator;
15 import mircoders.global.MirGlobal;
17 import org.apache.struts.util.MessageResources;
21 public class ServletHelper {
24 static Map makeGenerationData(Locale aLocale) throws ServletModuleExc {
26 Map result = new HashMap();
28 MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(result);
31 new CachingRewindableIterator(
32 new EntityIteratorAdapter( "", "id", 30,
33 MirGlobal.localizer().dataModel().adapterModel(), "language"));
35 new CachingRewindableIterator(
36 new EntityIteratorAdapter("", "id", 30,
37 MirGlobal.localizer().dataModel().adapterModel(), "topic"));
40 new CachingRewindableIterator(
41 new EntityIteratorAdapter( "", "id", 30,
42 MirGlobal.localizer().dataModel().adapterModel(), "articleType"));
44 Object commentStatuses =
45 new CachingRewindableIterator(
46 new EntityIteratorAdapter( "", "id", 30,
47 MirGlobal.localizer().dataModel().adapterModel(), "commentStatus"));
49 result.put("commentstatuses", commentStatuses);
50 result.put("articletypes", articleTypes);
51 result.put("languages", languages);
52 result.put("topics", topics);
55 new ResourceBundleGeneratorFunction( aLocale,
56 MessageResources.getMessageResources("bundles.adminlocal"),
57 MessageResources.getMessageResources("bundles.admin")));
62 throw new ServletModuleFailure(t);
66 static void generateResponse(PrintWriter aWriter, Map aGenerationData, String aGenerator) throws ServletModuleExc {
71 generator = MirGlobal.localizer().generators().makeAdminGeneratorLibrary().makeGenerator(aGenerator);
73 generator.generate(aWriter, aGenerationData, new PrintWriter(new NullWriter()));
76 throw new ServletModuleFailure(t);