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;
*/
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);
}
}
}