1.1 restoration
[mir.git] / source / mir / generator / GeneratorHelper.java
index 54bb03c..298723d 100755 (executable)
@@ -33,15 +33,13 @@ package mir.generator;
 import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
+import java.util.ArrayList;
+import java.util.List;
 
-import org.apache.struts.util.MessageResources;
-
-
-import mir.entity.adapter.*;
-import mir.generator.GeneratorExc;
+import mir.entity.adapter.EntityIteratorAdapter;
 import mir.util.CachingRewindableIterator;
-import mir.util.ResourceBundleGeneratorFunction;
-
+import mir.bundle.Bundle;
+import mir.util.generator.BundleGeneratorFunction;
 import mircoders.global.MirGlobal;
 
 
@@ -52,47 +50,34 @@ public class GeneratorHelper {
    */
 
   public static Map makeBasicGenerationData(Locale[] aLocales, String aBundle, String aDefaultBundle) throws GeneratorExc{
-    try{
-    Map result = new HashMap();
-    MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(result);
-    
-    
-    Object languages =
-      new CachingRewindableIterator(
-       new EntityIteratorAdapter( "", "id", 30,
-          MirGlobal.localizer().dataModel().adapterModel(), "language"));
+    try {
+      Map result = new HashMap();
+      MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(result);
 
-      Object topics =
-       new CachingRewindableIterator(
-         new EntityIteratorAdapter("", "id", 30,
-           MirGlobal.localizer().dataModel().adapterModel(), "topic"));
+      Object languages = new CachingRewindableIterator(new EntityIteratorAdapter("", "id", 30, MirGlobal.localizer().dataModel().adapterModel(), "language"));
 
-      Object articleTypes =
-       new CachingRewindableIterator(
-         new EntityIteratorAdapter( "", "id", 30,
-           MirGlobal.localizer().dataModel().adapterModel(), "articleType"));
+      Object topics = new CachingRewindableIterator(new EntityIteratorAdapter("", "id", 30, MirGlobal.localizer().dataModel().adapterModel(), "topic"));
 
-      Object commentStatuses =
-       new CachingRewindableIterator(
-         new EntityIteratorAdapter( "", "id", 30,
-           MirGlobal.localizer().dataModel().adapterModel(), "commentStatus"));
+      Object articleTypes = new CachingRewindableIterator(new EntityIteratorAdapter("", "id", 30, MirGlobal.localizer().dataModel().adapterModel(), "articleType"));
+
+      Object commentStatuses = new CachingRewindableIterator(new EntityIteratorAdapter("", "id", 30, MirGlobal.localizer().dataModel().adapterModel(), "commentStatus"));
 
       result.put("commentstatuses", commentStatuses);
       result.put("articletypes", articleTypes);
       result.put("languages", languages);
       result.put("topics", topics);
-      
-      result.put( "lang",
-                 new ResourceBundleGeneratorFunction( aLocales,
-                   new MessageResources[] { MessageResources.getMessageResources(aBundle),
-                     MessageResources.getMessageResources(aDefaultBundle)}));
-
 
+      List bundles = new ArrayList();
+      for (int i=0; i<aLocales.length; i++) {
+        bundles.add(MirGlobal.getBundleFactory().getBundle(aBundle, new String[] { aLocales[i].getLanguage()} ));
+        bundles.add(MirGlobal.getBundleFactory().getBundle(aDefaultBundle, new String[] { aLocales[i].getLanguage()} ));
+      }
+      result.put("lang", new BundleGeneratorFunction((Bundle[]) bundles.toArray(new Bundle[0])));
 
-    return result;
+      return result;
     }
-    catch (Throwable t){
-      throw new GeneratorExc(t.getMessage());
+    catch (Throwable t) {
+      throw new GeneratorFailure(t);
     }
   }
 }