Reviewers: shindig.remailer_gmail.com,

Description:
@see https://issues.apache.org/jira/browse/SHINDIG-1201

Please review this at http://codereview.appspot.com/136045

Affected files:
java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java


Index: java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
===================================================================
--- java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java (revision 825269) +++ java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java (working copy)
@@ -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_("); Index: java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java
===================================================================
--- java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java (revision 825269) +++ java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java (working copy)
@@ -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() {
Index: java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java
===================================================================
--- java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java (revision 825269) +++ java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java (working copy)
@@ -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;

 /**


Reply via email to