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();


Reply via email to