X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fservlet%2FServletHelper.java;h=c3e4b85c60916f403cbf62c1a255053da5d15cf0;hb=86a7f9a337462ad82b23c77e91621929b2a741e3;hp=c07d68badde50a592ffee893212672fa9f3b0c64;hpb=77b8f79d3873d20aa10bb775e03047cd6a9de0bf;p=mir.git diff --git a/source/mircoders/servlet/ServletHelper.java b/source/mircoders/servlet/ServletHelper.java index c07d68ba..c3e4b85c 100755 --- a/source/mircoders/servlet/ServletHelper.java +++ b/source/mircoders/servlet/ServletHelper.java @@ -1,79 +1,101 @@ -package mircoders.servlet; - -import java.io.PrintWriter; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; - -import mir.entity.adapter.EntityIteratorAdapter; -import mir.generator.Generator; -import mir.servlet.ServletModuleExc; -import mir.servlet.ServletModuleFailure; -import mir.util.CachingRewindableIterator; -import mir.util.NullWriter; -import mir.util.ResourceBundleGeneratorFunction; -import mircoders.global.MirGlobal; - -import org.apache.struts.util.MessageResources; - - - -public class ServletHelper { -// ML: add logging! - - static Map makeGenerationData(Locale aLocale) throws ServletModuleExc { - try { - Map result = new HashMap(); - - MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(result); - - Object languages = - new CachingRewindableIterator( - new EntityIteratorAdapter( "", "id", 30, - MirGlobal.localizer().dataModel().adapterModel(), "language")); - Object topics = - new CachingRewindableIterator( - new EntityIteratorAdapter("", "id", 30, - MirGlobal.localizer().dataModel().adapterModel(), "topic")); - - 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( aLocale, - MessageResources.getMessageResources("bundles.adminlocal"), - MessageResources.getMessageResources("bundles.admin"))); - - return result; - } - catch (Throwable t) { - throw new ServletModuleFailure(t); - } - } - - static void generateResponse(PrintWriter aWriter, Map aGenerationData, String aGenerator) throws ServletModuleExc { - - Generator generator; - - try { - generator = MirGlobal.localizer().generators().makeAdminGeneratorLibrary().makeGenerator(aGenerator); - - generator.generate(aWriter, aGenerationData, new PrintWriter(new NullWriter())); - } - catch (Throwable t) { - throw new ServletModuleFailure(t); - } - } -} +package mircoders.servlet; + +import java.io.PrintWriter; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; + +import org.apache.struts.util.MessageResources; + +import mir.entity.adapter.EntityIteratorAdapter; +import mir.generator.Generator; +import mir.servlet.ServletModuleExc; +import mir.servlet.ServletModuleFailure; +import mir.util.CachingRewindableIterator; +import mir.util.NullWriter; +import mir.util.ResourceBundleGeneratorFunction; + +import mircoders.global.MirGlobal; + + + +public class ServletHelper { + static Map makeGenerationData(Locale aLocale) throws ServletModuleExc { + return makeGenerationData(aLocale, "bundles.adminlocal", "bundles.admin"); + } + + static Map makeGenerationData(Locale aLocale, String aBundle) throws ServletModuleExc { + return makeGenerationData(aLocale, aBundle, aBundle); + } + + static Map makeGenerationData(Locale aLocale, String aBundle, String aDefaultBundle) throws ServletModuleExc { + + try { + Map result = new HashMap(); + + MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(result); + + result.put("returnurl", null); + + Object languages = + new CachingRewindableIterator( + new EntityIteratorAdapter( "", "id", 30, + MirGlobal.localizer().dataModel().adapterModel(), "language")); + Object topics = + new CachingRewindableIterator( + new EntityIteratorAdapter("", "id", 30, + MirGlobal.localizer().dataModel().adapterModel(), "topic")); + + 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( aLocale, + MessageResources.getMessageResources(aBundle), + MessageResources.getMessageResources(aDefaultBundle))); + + return result; + } + catch (Throwable t) { + throw new ServletModuleFailure(t); + } + } + + static void generateResponse(PrintWriter aWriter, Map aGenerationData, String aGenerator) throws ServletModuleExc { + Generator generator; + + try { + generator = MirGlobal.localizer().generators().makeAdminGeneratorLibrary().makeGenerator(aGenerator); + + generator.generate(aWriter, aGenerationData, new PrintWriter(new NullWriter())); + } + catch (Throwable t) { + throw new ServletModuleFailure(t); + } + } + + static void generateOpenPostingResponse(PrintWriter aWriter, Map aGenerationData, String aGenerator) throws ServletModuleExc { + Generator generator; + + try { + generator = MirGlobal.localizer().generators().makeAdminGeneratorLibrary().makeGenerator(aGenerator); + + generator.generate(aWriter, aGenerationData, new PrintWriter(new NullWriter())); + } + catch (Throwable t) { + throw new ServletModuleFailure(t); + } + } +}