You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by et...@apache.org on 2008/02/19 02:24:18 UTC
svn commit: r628951 - in /incubator/shindig/trunk:
java/gadgets/src/main/java/org/apache/shindig/gadgets/http/
javascript/container/
Author: etnu
Date: Mon Feb 18 17:24:16 2008
New Revision: 628951
URL: http://svn.apache.org/viewvc?rev=628951&view=rev
Log:
Added syndicator support for RpcServlet.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcContext.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcProcessingOptions.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcRequest.java
incubator/shindig/trunk/javascript/container/sample-rpc.html
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java?rev=628951&r1=628950&r2=628951&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java Mon Feb 18 17:24:16 2008
@@ -132,7 +132,7 @@
JSONObject syndFeatures = syndConf.getJsonObject(opts.getSyndicator(),
"gadgets.features");
- if (syndFeatures != null) {
+ if (syndFeatures != null && context != RenderingContext.CONTAINER) {
String[] featArray = features.toArray(new String[features.size()]);
try {
JSONObject featureConfig = new JSONObject(syndFeatures, featArray);
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcContext.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcContext.java?rev=628951&r1=628950&r2=628951&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcContext.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcContext.java Mon Feb 18 17:24:16 2008
@@ -29,6 +29,7 @@
private final String language;
private final String country;
private final String view;
+ private final String syndicator;
private final boolean ignoreCache;
public String getLanguage() {
@@ -47,6 +48,10 @@
return ignoreCache;
}
+ public String getSyndicator() {
+ return syndicator;
+ }
+
/**
* @param json
* @throws JSONException
@@ -55,10 +60,7 @@
language = json.getString("language");
country = json.getString("country");
view = json.getString("view");
- if (json.has("ignoreCache")) {
- ignoreCache = json.getBoolean("ignoreCache");
- } else {
- ignoreCache = false;
- }
+ ignoreCache = json.optBoolean("ignoreCache");
+ syndicator = json.optString("syndicator");
}
}
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcProcessingOptions.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcProcessingOptions.java?rev=628951&r1=628950&r2=628951&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcProcessingOptions.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcProcessingOptions.java Mon Feb 18 17:24:16 2008
@@ -27,9 +27,20 @@
public class JsonRpcProcessingOptions extends ProcessingOptions {
private final JsonRpcContext context;
+ /** {@inheritDoc} */
@Override
public boolean getIgnoreCache() {
return context.getIgnoreCache();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String getSyndicator() {
+ String syndicator = context.getSyndicator();
+ if (syndicator == null) {
+ return super.getSyndicator();
+ }
+ return syndicator;
}
public JsonRpcProcessingOptions(JsonRpcContext context) {
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcRequest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcRequest.java?rev=628951&r1=628950&r2=628951&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcRequest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsonRpcRequest.java Mon Feb 18 17:24:16 2008
@@ -23,6 +23,7 @@
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.GadgetServer;
import org.apache.shindig.gadgets.GadgetSpec;
+import org.apache.shindig.gadgets.ProcessingOptions;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -60,6 +61,8 @@
processor.submit(new JsonRpcGadgetJob(server, context, gadget));
}
+ ProcessingOptions options = new JsonRpcProcessingOptions(context);
+
int numJobs = gadgets.size();
do {
try {
@@ -94,7 +97,7 @@
gadgetJson.put("userPrefs", prefs);
// Content
- String iframeUrl = servletState.getIframeUrl(outGadget, null);
+ String iframeUrl = servletState.getIframeUrl(outGadget, options);
gadgetJson.put("content", iframeUrl);
out.append("gadgets", gadgetJson);
} catch (InterruptedException e) {
Modified: incubator/shindig/trunk/javascript/container/sample-rpc.html
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/container/sample-rpc.html?rev=628951&r1=628950&r2=628951&view=diff
==============================================================================
--- incubator/shindig/trunk/javascript/container/sample-rpc.html (original)
+++ incubator/shindig/trunk/javascript/container/sample-rpc.html Mon Feb 18 17:24:16 2008
@@ -22,6 +22,7 @@
}
</style>
</head>
+<script src="../../js/core.js?c=1"></script>
<body>
<script>
function makeXhr() {
@@ -63,16 +64,17 @@
}
}
- function processResp(xhr, callback) {
+ function processResp(xhr) {
if (xhr.readyState !== 4) {return;}
- callback(gadgets.json.parse(xhr.responseText));
+ renderGadgets(gadgets.json.parse(xhr.responseText));
}
var request = {
context: {
country: "US",
language: "en",
- view: "default"
+ view: "default",
+ syndicator: "default"
},
gadgets: [
{
@@ -92,7 +94,11 @@
var xhr = makeXhr();
xhr.open("POST", "../../rpc", true);
- xhr.onreadystatechange = gadgets.util.makeClosure(null, processResp, xhr, renderGadgets);
+ xhr.onreadystatechange = function(xobj) {
+ return function() {
+ processResp(xobj);
+ };
+ }(xhr);
var req = gadgets.json.stringify(request);
xhr.send(req);
</script>