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


Reply via email to