Author: johnh Date: Tue Oct 20 19:53:06 2009 New Revision: 827770 URL: http://svn.apache.org/viewvc?rev=827770&view=rev Log: Fixes handling of rtl fields for message bundle handling. Resolves SHINDIG-1201.
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java?rev=827770&r1=827769&r2=827770&view=diff ============================================================================== --- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java (original) +++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java Tue Oct 20 19:53:06 2009 @@ -38,7 +38,6 @@ import org.apache.shindig.gadgets.rewrite.GadgetRewriter; import org.apache.shindig.gadgets.rewrite.MutableContent; import org.apache.shindig.gadgets.spec.Feature; -import org.apache.shindig.gadgets.spec.LocaleSpec; import org.apache.shindig.gadgets.spec.MessageBundle; import org.apache.shindig.gadgets.spec.ModulePrefs; import org.apache.shindig.gadgets.spec.UserPref; @@ -159,7 +158,10 @@ // This can be one script block. Element mainScriptTag = document.createElement("script"); - injectMessageBundles(gadget, mainScriptTag); + GadgetContext context = gadget.getContext(); + MessageBundle bundle = messageBundleFactory.getBundle( + gadget.getSpec(), context.getLocale(), context.getIgnoreCache()); + injectMessageBundles(bundle, mainScriptTag); injectDefaultPrefs(gadget, mainScriptTag); injectPreloads(gadget, mainScriptTag); @@ -168,10 +170,7 @@ Element body = (Element)DomUtil.getFirstNamedChildNode(document.getDocumentElement(), "body"); - LocaleSpec localeSpec = gadget.getLocale(); - if (localeSpec != null) { - body.setAttribute("dir", localeSpec.getLanguageDirection()); - } + body.setAttribute("dir", bundle.getLanguageDirection()); // re append head content for (Node node : existingHeadContent) { @@ -430,11 +429,7 @@ * Injects message bundles into the gadget output. * @throws GadgetException If we are unable to retrieve the message bundle. */ - private void injectMessageBundles(Gadget gadget, Node scriptTag) throws GadgetException { - GadgetContext context = gadget.getContext(); - MessageBundle bundle = messageBundleFactory.getBundle( - gadget.getSpec(), context.getLocale(), context.getIgnoreCache()); - + private void injectMessageBundles(MessageBundle bundle, Node scriptTag) throws GadgetException { String msgs = bundle.toJSONString(); Text text = scriptTag.getOwnerDocument().createTextNode("gadgets.Prefs.setMessages_("); Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java?rev=827770&r1=827769&r2=827770&view=diff ============================================================================== --- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java (original) +++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java Tue Oct 20 19:53:06 2009 @@ -96,10 +96,10 @@ String dir = null; for (MessageBundle bundle : bundles) { merged.putAll(bundle.messages); - dir = bundle.languageDirection; + dir = bundle == EMPTY ? dir : bundle.languageDirection; } messages = ImmutableMap.copyOf(merged); - languageDirection = dir; + languageDirection = dir != null ? dir : "ltr"; } private MessageBundle() { Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java?rev=827770&r1=827769&r2=827770&view=diff ============================================================================== --- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java (original) +++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java Tue Oct 20 19:53:06 2009 @@ -17,7 +17,6 @@ */ package org.apache.shindig.gadgets.spec; import org.apache.shindig.common.uri.Uri; -import org.apache.shindig.common.xml.XmlUtil; import org.apache.shindig.gadgets.variables.Substitutions; import com.google.common.base.Joiner; @@ -29,8 +28,6 @@ import javax.xml.transform.*; import javax.xml.transform.stream.StreamResult; import java.util.*; -import java.io.File; -import java.io.PrintWriter; import java.io.StringWriter; /**