Author: lryan
Date: Wed Nov 19 16:51:08 2008
New Revision: 719145
URL: http://svn.apache.org/viewvc?rev=719145&view=rev
Log:
MessageBundle now stores its content in JSON string format so we dont
repeatedly generate it on render. Minor performance improvement
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java?rev=719145&r1=719144&r2=719145&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java
Wed Nov 19 16:51:08 2008
@@ -374,10 +374,10 @@
MessageBundle bundle = messageBundleFactory.getBundle(
gadget.getSpec(), context.getLocale(), context.getIgnoreCache());
- String msgs = new JSONObject(bundle.getMessages()).toString();
+ String msgs = bundle.toJSONString();
Text text =
scriptTag.getOwnerDocument().createTextNode("gadgets.Prefs.setMessages_(");
- text.appendData(msgs.toString());
+ text.appendData(msgs);
text.appendData(");");
scriptTag.appendChild(text);
}
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=719145&r1=719144&r2=719145&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
Wed Nov 19 16:51:08 2008
@@ -22,6 +22,7 @@
import com.google.common.collect.Maps;
+import org.json.JSONObject;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
@@ -108,6 +109,14 @@
}
/**
+ * Return the contents as a JSON encoded string
+ */
+ private String jsonString;
+ public String toJSONString() {
+ return jsonString;
+ }
+
+ /**
* Extracts messages from an element.
*/
private Map<String, String> parseMessages(Element element)
@@ -125,6 +134,7 @@
}
messages.put(name, msg.getTextContent().trim());
}
+ jsonString = new JSONObject(messages).toString();
return Collections.unmodifiableMap(messages);
}