fixed comment/article search + configurable icon sizes
[mir.git] / source / mircoders / servlet / ServletHelper.java
1 package mircoders.servlet;
2
3 import java.io.PrintWriter;
4 import java.util.HashMap;
5 import java.util.Locale;
6 import java.util.Map;
7
8 import mir.generator.Generator;
9 import mir.servlet.ServletModuleException;
10 import mir.util.NullWriter;
11 import mir.util.ResourceBundleGeneratorFunction;
12 import mir.entity.adapter.*;
13 import mir.util.*;
14 import mircoders.global.MirGlobal;
15
16 import org.apache.struts.util.MessageResources;
17
18
19
20 public class ServletHelper {
21 // ML: add logging!
22
23   static Map makeGenerationData(Locale aLocale) throws ServletModuleException {
24     try {
25       Map result = new HashMap();
26
27       MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(result);
28
29       Object languages =
30           new CachingRewindableIterator(
31             new EntityIteratorAdapter( "", "id", 30,
32                MirGlobal.localizer().dataModel().adapterModel(), "language"));
33       Object topics =
34           new CachingRewindableIterator(
35             new EntityIteratorAdapter("", "id", 30,
36                MirGlobal.localizer().dataModel().adapterModel(), "topic"));
37
38       Object articleTypes =
39           new CachingRewindableIterator(
40             new EntityIteratorAdapter( "", "id", 30,
41                MirGlobal.localizer().dataModel().adapterModel(), "articleType"));
42
43       Object commentStatuses =
44           new CachingRewindableIterator(
45             new EntityIteratorAdapter( "", "id", 30,
46                MirGlobal.localizer().dataModel().adapterModel(), "commentStatus"));
47
48       result.put("commentstatuses", commentStatuses);
49       result.put("articletypes", articleTypes);
50       result.put("languages", languages);
51       result.put("topics", topics);
52
53       result.put( "lang",
54           new ResourceBundleGeneratorFunction( aLocale,
55                   MessageResources.getMessageResources("bundles.adminlocal"),
56                   MessageResources.getMessageResources("bundles.admin")));
57
58       return result;
59     }
60     catch (Throwable t) {
61       throw new ServletModuleException(t.getMessage());
62     }
63   }
64
65   static void generateResponse(PrintWriter aWriter, Map aGenerationData, String aGenerator) throws ServletModuleException {
66
67     Generator generator;
68
69     try {
70       generator = MirGlobal.localizer().generators().makeAdminGeneratorLibrary().makeGenerator(aGenerator);
71
72       generator.generate(aWriter, aGenerationData, new PrintWriter(new NullWriter()));
73     }
74     catch (Throwable t) {
75       throw new ServletModuleException(t.getMessage());
76     }
77   }
78 }