Author: etnu
Date: Tue Feb 19 18:55:27 2008
New Revision: 629328
URL: http://svn.apache.org/viewvc?rev=629328&view=rev
Log:
Fixed wrong synd parameter in HttpProcessingOptions (TODO: make this a
constant), and made SyndicatorConfig more robust (deals with old versions of
JSON, doesn't require files named syndicator.js)
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SyndicatorConfig.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpProcessingOptions.java
incubator/shindig/trunk/javascript/container/sample-rpc.html
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SyndicatorConfig.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SyndicatorConfig.java?rev=629328&r1=629327&r2=629328&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SyndicatorConfig.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SyndicatorConfig.java
Tue Feb 19 18:55:27 2008
@@ -26,8 +26,10 @@
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.logging.Logger;
@@ -145,10 +147,9 @@
*/
private void loadResources(String[] files) throws GadgetException {
try {
- Map<String, String> contents
- = ResourceLoader.getContent(files, SYNDICATOR_FILE_NAME);
- for (String entry : contents.values()) {
- loadFromString(entry);
+ for (String entry : files) {
+ String content = ResourceLoader.getContent(entry);
+ loadFromString(content);
}
} catch (IOException e) {
throw new GadgetException(GadgetException.Code.INVALID_PATH, e);
@@ -156,6 +157,23 @@
}
/**
+ * Returns names on the json object. Used instead of JSONObject.getNames to
+ * provide backwards compatibility with older JSON releases.
+ *
+ * @param obj
+ * @return An array of all keys in the object.
+ */
+ private static String[] getNames(JSONObject obj) throws JSONException {
+ JSONArray arr = obj.names();
+ List<String> items = new ArrayList<String>(arr.length());
+ for (int i = 0, j = arr.length(); i < j; ++i) {
+ items.add(i, arr.getString(i));
+ }
+
+ return items.toArray(new String[items.size()]);
+ }
+
+ /**
* Merges two JSON objects together (recursively), with values from "merge"
* replacing values from "base".
*
@@ -167,9 +185,10 @@
private JSONObject mergeObjects(JSONObject base, JSONObject merge)
throws JSONException {
// Clone the initial object (JSONObject doesn't support "clone").
- JSONObject clone = new JSONObject(base, JSONObject.getNames(base));
+
+ JSONObject clone = new JSONObject(base, getNames(base));
// Walk parameter list for the merged object and merge recursively.
- String[] fields = JSONObject.getNames(merge);
+ String[] fields = getNames(merge);
for (String field : fields) {
Object existing = clone.opt(field);
Object update = merge.get(field);
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpProcessingOptions.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpProcessingOptions.java?rev=629328&r1=629327&r2=629328&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpProcessingOptions.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpProcessingOptions.java
Tue Feb 19 18:55:27 2008
@@ -83,6 +83,6 @@
* @return Forced JS libs, or null if no forcing is to be done.
*/
protected static String getSyndicator(HttpServletRequest req) {
- return req.getParameter("syndicator");
+ return req.getParameter("synd");
}
}
Modified: incubator/shindig/trunk/javascript/container/sample-rpc.html
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/container/sample-rpc.html?rev=629328&r1=629327&r2=629328&view=diff
==============================================================================
--- incubator/shindig/trunk/javascript/container/sample-rpc.html (original)
+++ incubator/shindig/trunk/javascript/container/sample-rpc.html Tue Feb 19
18:55:27 2008
@@ -25,7 +25,6 @@
<script src="../../js/core.js?c=1"></script>
<body>
<script>
- gadgets.ifpc_.registerService("set_pref", onSetPref);
function makeXhr() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();