You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by jo...@gmail.com on 2009/10/20 03:41:57 UTC

Fix handling of rtl values

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;

  /**