You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by do...@apache.org on 2008/03/14 13:31:01 UTC
svn commit: r637078 - in
/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social:
./ opensocial/ samplecontainer/
Author: doll
Date: Fri Mar 14 05:30:59 2008
New Revision: 637078
URL: http://svn.apache.org/viewvc?rev=637078&view=rev
Log:
ResponseItems now all have errorMessages which are passed back to the javascript.
Also fixed bug in XmlStateFileFetcher.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/GadgetDataServlet.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/ResponseError.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/ResponseItem.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/GadgetDataServlet.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/GadgetDataServlet.java?rev=637078&r1=637077&r2=637078&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/GadgetDataServlet.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/GadgetDataServlet.java Fri Mar 14 05:30:59 2008
@@ -73,7 +73,7 @@
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
// TODO: Get the security token and pass the viewer and owner along in the
- // request items
+ // request items
String requestParam = req.getParameter("request");
@@ -98,12 +98,14 @@
int length = requestItems.length();
for (int i = 0; i < length; i++) {
- ResponseItem response = new ResponseItem<Object>(
- ResponseError.NOT_IMPLEMENTED);
-
JSONObject jsonRequest = requestItems.getJSONObject(i);
RequestItem requestItem = new RequestItem(jsonRequest.getString("type"),
jsonRequest);
+
+ ResponseItem response = new ResponseItem<Object>(
+ ResponseError.NOT_IMPLEMENTED,
+ requestItem.getType() + " has not been implemented yet.",
+ new JSONObject());
for (GadgetDataHandler handler : handlers) {
if (handler.shouldHandle(requestItem.getType())) {
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/ResponseError.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/ResponseError.java?rev=637078&r1=637077&r2=637078&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/ResponseError.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/ResponseError.java Fri Mar 14 05:30:59 2008
@@ -30,7 +30,8 @@
this.jsonValue = jsonValue;
}
- public String toJson() {
+ @Override
+ public String toString() {
return jsonValue;
}
}
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/ResponseItem.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/ResponseItem.java?rev=637078&r1=637077&r2=637078&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/ResponseItem.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/ResponseItem.java Fri Mar 14 05:30:59 2008
@@ -23,18 +23,20 @@
*/
public class ResponseItem<T> extends AbstractGadgetData {
private ResponseError error;
+ private String errorMessage;
// Must be compatible with AbstractSocialData.toJson. This means it should be
// an AbstractSocialData or a collection of AbstractSocialData
@Mandatory private T response;
- public ResponseItem(ResponseError error, T response) {
+ public ResponseItem(ResponseError error, String errorMessage, T response) {
this.error = error;
+ this.errorMessage = errorMessage;
this.response = response;
}
public ResponseItem(T response) {
- this(null, response);
+ this(null, null, response);
}
public ResponseError getError() {
@@ -43,6 +45,14 @@
public void setError(ResponseError error) {
this.error = error;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
}
public T getResponse() {
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java?rev=637078&r1=637077&r2=637078&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java Fri Mar 14 05:30:59 2008
@@ -67,7 +67,9 @@
public ResponseItem handleRequest(RequestItem request) {
OpenSocialDataType type = OpenSocialDataType.valueOf(request.getType());
ResponseItem response = new ResponseItem<Object>(
- ResponseError.NOT_IMPLEMENTED);
+ ResponseError.NOT_IMPLEMENTED,
+ request.getType() + " has not been implemented yet.",
+ new JSONObject());
try {
String jsonSpec = request.getParams().getString("idSpec");
@@ -108,9 +110,11 @@
}
} catch (JSONException e) {
- response = new ResponseItem<Object>(ResponseError.BAD_REQUEST);
+ response = new ResponseItem<Object>(ResponseError.BAD_REQUEST,
+ "The json request had a bad format", new JSONObject());
} catch (IllegalArgumentException e) {
- response = new ResponseItem<Object>(ResponseError.BAD_REQUEST);
+ response = new ResponseItem<Object>(ResponseError.BAD_REQUEST,
+ "The json request had a bad idSpec", new JSONObject());
}
return response;
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java?rev=637078&r1=637077&r2=637078&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java Fri Mar 14 05:30:59 2008
@@ -47,7 +47,9 @@
public ResponseItem updatePersonData(String id, String key, String value) {
if (!isValidKey(key)) {
- return new ResponseItem<Object>(ResponseError.BAD_REQUEST, null);
+ return new ResponseItem<Object>(ResponseError.BAD_REQUEST,
+ "The person data key had invalid characters",
+ new JSONObject());
}
XmlStateFileFetcher.get().setAppData(id, key, value);
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java?rev=637078&r1=637077&r2=637078&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java Fri Mar 14 05:30:59 2008
@@ -51,8 +51,7 @@
public ResponseItem handleRequest(RequestItem request) {
RequestType type = RequestType.valueOf(request.getType());
- ResponseItem response = new ResponseItem<Object>(
- ResponseError.NOT_IMPLEMENTED);
+ ResponseItem response = null;
XmlStateFileFetcher fetcher = XmlStateFileFetcher.get();
@@ -71,9 +70,12 @@
fetcher.resetStateFile(new URI(stateFile));
response = new ResponseItem<Object>(new JSONObject());
} catch (URISyntaxException e) {
- response = new ResponseItem<Object>(ResponseError.BAD_REQUEST);
+ response = new ResponseItem<Object>(ResponseError.BAD_REQUEST,
+ "The state file was not a valid url", new JSONObject());
} catch (JSONException e) {
- response = new ResponseItem<Object>(ResponseError.BAD_REQUEST);
+ response = new ResponseItem<Object>(ResponseError.BAD_REQUEST,
+ "The request did not have a valid fileUrl parameter",
+ new JSONObject());
}
break;
case SET_EVILNESS:
@@ -82,7 +84,9 @@
fetcher.setEvilness(doEvil);
response = new ResponseItem<Object>(new JSONObject());
} catch (JSONException e) {
- response = new ResponseItem<Object>(ResponseError.BAD_REQUEST);
+ response = new ResponseItem<Object>(ResponseError.BAD_REQUEST,
+ "The request did not have a valid doEvil parameter",
+ new JSONObject());
}
break;
}
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java?rev=637078&r1=637077&r2=637078&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java Fri Mar 14 05:30:59 2008
@@ -127,10 +127,13 @@
}
public Map<String, Map<String, String>> getAppData() {
- if (allData != null) {
- return allData;
+ if (allData == null) {
+ setupAppData();
}
+ return allData;
+ }
+ private void setupAppData() {
allData = new HashMap<String, Map<String, String>>();
Element root = fetchStateDocument().getDocumentElement();
@@ -156,13 +159,11 @@
}
currentData.put(field, turnEvil(value));
}
-
- return allData;
}
public void setAppData(String id, String key, String value) {
if (allData == null) {
- setupPeopleData();
+ setupAppData();
}
Map<String, String> personData = allData.get(id);