1 package mircoders.localizer.basic;
5 import freemarker.template.utility.*;
9 import mircoders.module.*;
10 import mircoders.storage.*;
11 import mircoders.localizer.*;
12 import mircoders.global.*;
14 public class MirBasicProducerAssistantLocalizer implements MirProducerAssistantLocalizer {
15 protected static Logfile logger = Logfile.getInstance( MirGlobal.getConfigProperty("Home") + "/" + MirGlobal.getConfigProperty("Mir.Localizer.Logfile"));
17 public void initializeGenerationValueSet(Map aValueSet) {
18 // ML: these config settings will be included more beautifully as soon as the new config system is in place
20 Map configMap = new HashMap();
21 Map utilityMap = new HashMap();
23 configMap.put("producerDocRoot", MirGlobal.getConfigProperty("Producer.DocRoot"));
24 configMap.put("storageRoot", MirGlobal.getConfigProperty("Producer.StorageRoot"));
25 configMap.put("productionHost", MirGlobal.getConfigProperty("Producer.ProductionHost"));
26 configMap.put("openAction", MirGlobal.getConfigProperty("Producer.OpenAction"));
27 configMap.put("docRoot", MirGlobal.getConfigProperty("RootUri"));
28 configMap.put("now", new DateToMapAdapter((new GregorianCalendar()).getTime()));
29 configMap.put("videoHost", MirGlobal.getConfigProperty("Producer.Video.Host"));
30 configMap.put("audioHost", MirGlobal.getConfigProperty("Producer.Audio.Host"));
31 configMap.put("imageHost", MirGlobal.getConfigProperty("Producer.Image.Host"));
32 configMap.put("imagePath", MirGlobal.getConfigProperty("Producer.Image.Path"));
33 configMap.put("mirVersion", MirGlobal.getConfigProperty("Mir.Version"));
34 configMap.put("defEncoding", MirGlobal.getConfigProperty("Mir.DefaultEncoding"));
36 utilityMap.put("compressWhitespace", new freemarker.template.utility.CompressWhitespace() );
38 aValueSet.put("config", configMap);
39 aValueSet.put("utility", utilityMap);
41 EntityList topicList=null;
42 EntityList entityList=null;
43 EntityList parentList=null;
44 EntityList languageList=null;
47 ModuleLinksImcs linksImcsModule = new ModuleLinksImcs(DatabaseLinksImcs.getInstance());
48 ModuleTopics topicsModule = new ModuleTopics(DatabaseTopics.getInstance());
49 ModuleLanguage languageModule = new ModuleLanguage(DatabaseLanguage.getInstance());
51 topicList = topicsModule.getTopicsList();
52 entityList = linksImcsModule.getByWhereClause("", "sortpriority, title", -1);
53 parentList = linksImcsModule.getByWhereClause("to_parent_id=NULL", "sortpriority, title", -1);
54 languageList = languageModule.getByWhereClause("", "id", -1);
57 logger.printError("initializeGenerationValueSet: Exception "+t.getMessage());
60 aValueSet.put("topics", topicList);
61 aValueSet.put("imclist", entityList);
62 aValueSet.put("parentlist", parentList);
64 Map articleTypeMap = new HashMap();
65 articleTypeMap.put("openposting", "0");
66 articleTypeMap.put("newswire", "1");
67 articleTypeMap.put("feature", "2");
68 articleTypeMap.put("topicspecial", "3");
69 articleTypeMap.put("startspecial", "4");
70 aValueSet.put("articletype", articleTypeMap);
73 public PrintWriter openWriter(String anIdentifier, String anEncoding) throws MirLocalizerFailure {
78 if (anEncoding!=null && !anEncoding.equals(""))
79 encoding = anEncoding;
81 encoding = MirGlobal.getConfigProperty("Mir.DefaultEncoding");
84 file = new File( anIdentifier );
85 dir = new File(file.getParent());
86 if (dir!=null && !dir.exists()){
90 return new PrintWriter(
91 new OutputStreamWriter(
92 new FileOutputStream(file), anEncoding
97 throw new MirLocalizerFailure("Failure while opening a PrintWriter",t);
101 public void closeWriter(PrintWriter aWriter) {
105 public String filterText(String aText) {
106 return StringUtil.createHTML(
107 StringUtil.deleteForbiddenTags(aText),
108 MirGlobal.getConfigProperty("Producer.ImageRoot"),
109 MirGlobal.getConfigProperty("Producer.MailLinkName"),
110 MirGlobal.getConfigProperty("Producer.ExtLinkName"),
111 MirGlobal.getConfigProperty("Producer.IntLinkName")