Author: doll
Date: Tue Apr 22 03:22:49 2008
New Revision: 650437
URL: http://svn.apache.org/viewvc?rev=650437&view=rev
Log:
SHINDIG-206
Fixed the build which broke after the ContentFetcher refactoring. Includes
patch from Brian Eaton.
This required using guice for the XmlStateFileFetcher class and moving a guice
dependency from the gadgets guice module to common.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/common/CommonGuiceModule.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/common/CommonGuiceModule.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/common/CommonGuiceModule.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/common/CommonGuiceModule.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/common/CommonGuiceModule.java
Tue Apr 22 03:22:49 2008
@@ -1,7 +1,9 @@
package org.apache.shindig.common;
+import org.apache.shindig.gadgets.BasicContentCache;
import org.apache.shindig.gadgets.BasicGadgetTokenDecoder;
import org.apache.shindig.gadgets.BasicRemoteContentFetcher;
+import org.apache.shindig.gadgets.ContentCache;
import org.apache.shindig.gadgets.ContentFetcher;
import org.apache.shindig.gadgets.GadgetTokenDecoder;
@@ -20,5 +22,6 @@
// java/common.
bind(ContentFetcher.class).to(BasicRemoteContentFetcher.class);
bind(GadgetTokenDecoder.class).to(BasicGadgetTokenDecoder.class);
+ bind(ContentCache.class).to(BasicContentCache.class);
}
}
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
Tue Apr 22 03:22:49 2008
@@ -45,7 +45,6 @@
@Override
protected void configure() {
Names.bindProperties(this.binder(), properties);
- bind(ContentCache.class).to(BasicContentCache.class);
bind(RemoteContentFetcherFactory.class);
bind(SigningFetcherFactory.class);
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
---
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java
(original)
+++
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java
Tue Apr 22 03:22:49 2008
@@ -24,16 +24,24 @@
import org.apache.shindig.social.opensocial.model.Activity;
import org.json.JSONObject;
+import com.google.inject.Inject;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Date;
public class BasicActivitiesService implements ActivitiesService {
- public ResponseItem<List<Activity>> getActivities(List<String> ids,
+ private XmlStateFileFetcher fetcher;
+
+ @Inject
+ public BasicActivitiesService(XmlStateFileFetcher fetcher) {
+ this.fetcher = fetcher;
+ }
+
+ public ResponseItem<List<Activity>> getActivities(List<String> ids,
GadgetToken token) {
- Map<String, List<Activity>> allActivities =
- XmlStateFileFetcher.get().getActivities();
+ Map<String, List<Activity>> allActivities = fetcher.getActivities();
List<Activity> activities = new ArrayList<Activity>();
@@ -48,13 +56,13 @@
return new ResponseItem<List<Activity>>(activities);
}
- public ResponseItem createActivity(String personId, Activity activity,
- GadgetToken token) {
+ public ResponseItem createActivity(String personId, Activity activity,
+ GadgetToken token) {
// TODO: Validate the activity and do any template expanding
activity.setUserId(personId);
activity.setPostedTime(new Date().getTime());
- XmlStateFileFetcher.get().createActivity(personId, activity);
+ fetcher.createActivity(personId, activity);
return new ResponseItem<JSONObject>(new JSONObject());
}
}
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
---
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
(original)
+++
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
Tue Apr 22 03:22:49 2008
@@ -23,17 +23,25 @@
import org.apache.shindig.social.opensocial.DataService;
import org.json.JSONObject;
+import com.google.inject.Inject;
+
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class BasicDataService implements DataService {
+ private XmlStateFileFetcher fetcher;
+
+ @Inject
+ public BasicDataService(XmlStateFileFetcher fetcher) {
+ this.fetcher = fetcher;
+ }
+
public ResponseItem<Map<String, Map<String, String>>> getPersonData(
- List<String> ids, List<String> keys, GadgetToken token) {
+ List<String> ids, List<String> keys, GadgetToken token) {
- Map<String, Map<String, String>> allData
- = XmlStateFileFetcher.get().getAppData();
+ Map<String, Map<String, String>> allData = fetcher.getAppData();
// TODO: Use the opensource Collections library
Map<String, Map<String, String>> data =
@@ -64,7 +72,7 @@
new JSONObject());
}
- XmlStateFileFetcher.get().setAppData(id, key, value);
+ fetcher.setAppData(id, key, value);
return new ResponseItem<JSONObject>(new JSONObject());
}
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
---
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
(original)
+++
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
Tue Apr 22 03:22:49 2008
@@ -25,6 +25,8 @@
import org.apache.shindig.gadgets.GadgetToken;
import org.json.JSONException;
+import com.google.inject.Inject;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -42,10 +44,17 @@
}
};
+ private XmlStateFileFetcher fetcher;
+
+ @Inject
+ public BasicPeopleService(XmlStateFileFetcher fetcher) {
+ this.fetcher = fetcher;
+ }
+
public ResponseItem<ApiCollection<Person>> getPeople(List<String> ids,
- SortOrder sortOrder, FilterType filter, int first, int max,
+ SortOrder sortOrder, FilterType filter, int first, int max,
Set<String> profileDetails, GadgetToken token) {
- Map<String, Person> allPeople = XmlStateFileFetcher.get().getAllPeople();
+ Map<String, Person> allPeople = fetcher.getAllPeople();
List<Person> people = new ArrayList<Person>();
for (String id : ids) {
@@ -80,8 +89,7 @@
public List<String> getIds(IdSpec idSpec, GadgetToken token)
throws JSONException {
- Map<String, List<String>> friendIds
- = XmlStateFileFetcher.get().getFriendIds();
+ Map<String, List<String>> friendIds = fetcher.getFriendIds();
List<String> ids = new ArrayList<String>();
switch(idSpec.getType()) {
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
---
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java
(original)
+++
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/StateFileDataHandler.java
Tue Apr 22 03:22:49 2008
@@ -17,17 +17,19 @@
*/
package org.apache.shindig.social.samplecontainer;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.apache.shindig.social.ResponseItem;
-import org.apache.shindig.social.ResponseError;
import org.apache.shindig.social.GadgetDataHandler;
import org.apache.shindig.social.RequestItem;
+import org.apache.shindig.social.ResponseError;
+import org.apache.shindig.social.ResponseItem;
+
+import com.google.inject.Inject;
+import org.json.JSONException;
+import org.json.JSONObject;
import java.net.URI;
import java.net.URISyntaxException;
-import java.util.Map;
import java.util.HashMap;
+import java.util.Map;
/**
* Servlet for serving the data required for opensocial.
@@ -35,12 +37,19 @@
*/
public class StateFileDataHandler implements GadgetDataHandler {
- public enum RequestType {
+ public static enum RequestType {
DUMP_STATE, SET_STATE, SET_EVILNESS
}
+ private XmlStateFileFetcher fetcher;
+
+ @Inject
+ public StateFileDataHandler(XmlStateFileFetcher fetcher) {
+ this.fetcher = fetcher;
+ }
+
public boolean shouldHandle(String requestType) {
- try {
+ try {
// There should be a cleaner way to do this...
RequestType.valueOf(requestType);
return true;
@@ -52,8 +61,6 @@
public ResponseItem handleRequest(RequestItem request) {
RequestType type = RequestType.valueOf(request.getType());
ResponseItem response = null;
-
- XmlStateFileFetcher fetcher = XmlStateFileFetcher.get();
switch (type) {
case DUMP_STATE:
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java?rev=650437&r1=650436&r2=650437&view=diff
==============================================================================
---
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
(original)
+++
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/XmlStateFileFetcher.java
Tue Apr 22 03:22:49 2008
@@ -1,9 +1,8 @@
package org.apache.shindig.social.samplecontainer;
-import org.apache.shindig.gadgets.BasicRemoteContentFetcher;
+import org.apache.shindig.gadgets.ContentFetcher;
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.RemoteContent;
-import org.apache.shindig.gadgets.RemoteContentFetcher;
import org.apache.shindig.gadgets.RemoteContentRequest;
import org.apache.shindig.social.opensocial.model.Activity;
import org.apache.shindig.social.opensocial.model.Enum;
@@ -11,6 +10,9 @@
import org.apache.shindig.social.opensocial.model.Name;
import org.apache.shindig.social.opensocial.model.Person;
import org.apache.shindig.social.opensocial.model.Phone;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
@@ -30,6 +32,7 @@
import java.util.List;
import java.util.Map;
[EMAIL PROTECTED]
public class XmlStateFileFetcher {
private static final String DEFAULT_STATE_URL
= "http://localhost:8080/gadgets/files/samplecontainer/"
@@ -48,17 +51,7 @@
private static final String SCRIPT_SUFFIX = "</div>";
-
- // TODO: Should use guice here This static fetcher is very gross.
- private static XmlStateFileFetcher fetcher;
-
- public static XmlStateFileFetcher get() {
- if (fetcher == null) {
- fetcher = new XmlStateFileFetcher();
- }
- return fetcher;
- }
-
+ private ContentFetcher fetcher;
private URI stateFile;
private Document document;
private boolean doEvil = false;
@@ -70,7 +63,9 @@
private Map<String, Person> allPeople;
private Map<String, List<Activity>> allActivities;
- private XmlStateFileFetcher() {
+ @Inject
+ public XmlStateFileFetcher(ContentFetcher fetcher) {
+ this.fetcher = fetcher;
try {
stateFile = new URI(DEFAULT_STATE_URL);
} catch (URISyntaxException e) {
@@ -97,9 +92,6 @@
return document;
}
- // TODO: Eventually get the fetcher and processing options from a
- // config file, just like the GadgetServer
- RemoteContentFetcher fetcher = new BasicRemoteContentFetcher(1024 * 1024);
RemoteContent xml = null;
try {
xml = fetcher.fetch(new RemoteContentRequest(stateFile));