BTW, a fix that works for me locally is:

Index: src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java
===================================================================
--- src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java
(revision 719292)
+++ src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java
(working copy)
@@ -86,6 +86,7 @@
     }
     messages = Collections.unmodifiableMap(merged);
     languageDirection = dir;
+    jsonString = new JSONObject(messages).toString();
   }
 
   private MessageBundle() {



-----Original Message-----
From: Citron, David [mailto:[EMAIL PROTECTED] 
Sent: Thursday, November 20, 2008 12:40 PM
To: [email protected]
Subject: Re: svn commit: r719145 - in
/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/g
adgets: render/RenderingContentRewriter.java spec/MessageBundle.java

Hi!

Commit r719145 broke the messagebundles behavior.

AbstractMessageBundleFactory.getBundle() gets parent and child
MessageBundles, then creates and returns a new MessageBundle that's the
union of both.

However, MessageBundle(MessageBundle parent, MessageBundle child) leaves
this.jsonString null, so when
RenderingContentRewriter.injectMessageBundles() calls
bundle.toJSONString(), it just gets null back.

This results in JavaScript being generated like
gadgets.Prefs.setMessages_(), which effectively sets the prefs.messages
value to undefined, causing any gadget that uses message bundles to fail
on the first prefs.getMsg() call.

iGoogle/Orkut are broken as a result.

Thanks,
Dave

Reply via email to