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/05/26 17:17:11 UTC
svn commit: r660211 - in /incubator/shindig/trunk: ./ java/social-api/
java/social-api/src/main/java/org/apache/shindig/social/opensocial/
java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/
java/social-api/src/main/java/org/apach...
Author: doll
Date: Mon May 26 08:17:08 2008
New Revision: 660211
URL: http://svn.apache.org/viewvc?rev=660211&view=rev
Log:
Added a dependency on the google collections library for the social-api code. Started using my favorite friends Lists.newArrayList and Maps.newHashMap.
Modified:
incubator/shindig/trunk/java/social-api/pom.xml
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/DataCollection.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/IdSpec.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
incubator/shindig/trunk/pom.xml
Modified: incubator/shindig/trunk/java/social-api/pom.xml
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/pom.xml?rev=660211&r1=660210&r2=660211&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/pom.xml (original)
+++ incubator/shindig/trunk/java/social-api/pom.xml Mon May 26 08:17:08 2008
@@ -64,6 +64,10 @@
<artifactId>guice</artifactId>
</dependency>
<dependency>
+ <groupId>com.google.code.google-collections</groupId>
+ <artifactId>google-collect</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.abdera</groupId>
<artifactId>abdera-server</artifactId>
</dependency>
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java?rev=660211&r1=660210&r2=660211&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java Mon May 26 08:17:08 2008
@@ -24,12 +24,12 @@
import org.apache.shindig.social.opensocial.model.Activity;
import org.apache.shindig.social.opensocial.model.IdSpec;
+import com.google.common.collect.Lists;
import com.google.inject.Inject;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
-import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -110,7 +110,8 @@
case FETCH_PERSON_APP_DATA :
JSONArray jsonKeys = params.getJSONArray("keys");
- List<String> keys = new ArrayList<String>(jsonKeys.length());
+ List<String> keys = Lists.newArrayListWithExpectedSize(
+ jsonKeys.length());
for (int i = 0; i < jsonKeys.length(); i++) {
keys.add(jsonKeys.getString(i));
}
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/DataCollection.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/DataCollection.java?rev=660211&r1=660210&r2=660211&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/DataCollection.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/DataCollection.java Mon May 26 08:17:08 2008
@@ -1,17 +1,18 @@
package org.apache.shindig.social.opensocial.model;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
-import java.util.HashMap;
-import java.util.HashSet;
public class DataCollection implements Iterable<DataCollection.Data> {
Set<Data> data;
// Legacy constructor. Remove once we fix the DataService api
public DataCollection(Map<String, Map<String, String>> data) {
- this.data = new HashSet<Data>();
+ this.data = Sets.newHashSet();
for (Map.Entry<String, Map<String, String>> entry : data.entrySet()) {
this.data.add(new Data(entry.getKey(), entry.getValue()));
}
@@ -30,8 +31,7 @@
}
public Map<String, Map<String, String>> dataMap() {
- Map<String, Map<String, String>> dataMap = new HashMap<String,
- Map<String, String>>();
+ Map<String, Map<String, String>> dataMap = Maps.newHashMap();
for (Data entry : data) {
dataMap.put(entry.getPersonId(), entry.getAppdata());
}
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/IdSpec.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/IdSpec.java?rev=660211&r1=660210&r2=660211&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/IdSpec.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/IdSpec.java Mon May 26 08:17:08 2008
@@ -17,11 +17,11 @@
*/
package org.apache.shindig.social.opensocial.model;
-import org.json.JSONException;
+import com.google.common.collect.Lists;
import org.json.JSONArray;
+import org.json.JSONException;
import java.util.List;
-import java.util.ArrayList;
public class IdSpec {
public enum Type {
@@ -61,11 +61,9 @@
} catch (JSONException e) {
// If it isn't an array, treat it as a simple string
// TODO: This will go away with rest so we can remove this hack
- List<String> list = new ArrayList<String>();
- list.add(jsonSpec);
- return list;
+ return Lists.newArrayList(jsonSpec);
}
- List<String> userIds = new ArrayList<String>(userIdArray.length());
+ List<String> userIds = Lists.newArrayListWithCapacity(userIdArray.length());
for (int i = 0; i < userIdArray.length(); i++) {
userIds.add(userIdArray.getString(i));
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=660211&r1=660210&r2=660211&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 Mon May 26 08:17:08 2008
@@ -23,11 +23,10 @@
import org.apache.shindig.social.opensocial.ActivitiesService;
import org.apache.shindig.social.opensocial.model.Activity;
+import com.google.common.collect.Lists;
import com.google.inject.Inject;
-
import org.json.JSONObject;
-import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -45,7 +44,7 @@
SecurityToken token) {
Map<String, List<Activity>> allActivities = fetcher.getActivities();
- List<Activity> activities = new ArrayList<Activity>();
+ List<Activity> activities = Lists.newArrayList();
for (String id : ids) {
List<Activity> personActivities = allActivities.get(id);
@@ -60,10 +59,9 @@
public ResponseItem<Activity> getActivity(String id, String activityId,
SecurityToken token) {
- List<String> ids = new ArrayList<String>();
- ids.add(id);
+ List<Activity> allActivities = getActivities(
+ Lists.newArrayList(id), token).getResponse();
- List<Activity> allActivities = getActivities(ids, token).getResponse();
for (Activity activity : allActivities) {
if (activity.getId().equals(activityId)) {
return new ResponseItem<Activity>(activity);
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=660211&r1=660210&r2=660211&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 Mon May 26 08:17:08 2008
@@ -22,11 +22,10 @@
import org.apache.shindig.social.ResponseItem;
import org.apache.shindig.social.opensocial.DataService;
+import com.google.common.collect.Maps;
import com.google.inject.Inject;
-
import org.json.JSONObject;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -45,9 +44,8 @@
Map<String, Map<String, String>> allData = fetcher.getAppData();
- // TODO: Use the opensource Collections library
- Map<String, Map<String, String>> data =
- new HashMap<String, Map<String, String>>(ids.size(), 1);
+ Map<String, Map<String, String>> data
+ = Maps.newHashMapWithExpectedSize(ids.size());
for (String id : ids) {
Map<String, String> allPersonData = allData.get(id);
@@ -55,7 +53,7 @@
if (keys == null || keys.isEmpty()) {
data.put(id, allPersonData);
} else {
- Map<String, String> personData = new HashMap<String, String>();
+ Map<String, String> personData = Maps.newHashMap();
for (String key : keys) {
String value = allPersonData.get(key);
if (value != null) {
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=660211&r1=660210&r2=660211&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 Mon May 26 08:17:08 2008
@@ -24,11 +24,10 @@
import org.apache.shindig.social.opensocial.model.IdSpec;
import org.apache.shindig.social.opensocial.model.Person;
+import com.google.common.collect.Lists;
import com.google.inject.Inject;
-
import org.json.JSONException;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -56,7 +55,7 @@
private List<Person> getPeople(List<String> ids, SecurityToken token) {
Map<String, Person> allPeople = fetcher.getAllPeople();
- List<Person> people = new ArrayList<Person>();
+ List<Person> people = Lists.newArrayList();
for (String id : ids) {
Person person = allPeople.get(id);
if (person != null) {
@@ -95,16 +94,15 @@
}
public ResponseItem<Person> getPerson(String id, SecurityToken token) {
- List<String> ids = new ArrayList<String>();
- ids.add(id);
- return new ResponseItem<Person>(getPeople(ids, token).get(0));
+ return new ResponseItem<Person>(getPeople(Lists.newArrayList(id),
+ token).get(0));
}
public List<String> getIds(IdSpec idSpec, SecurityToken token)
throws JSONException {
Map<String, List<String>> friendIds = fetcher.getFriendIds();
- List<String> ids = new ArrayList<String>();
+ List<String> ids = Lists.newArrayList();
switch(idSpec.getType()) {
case OWNER:
ids.add(token.getOwnerId());
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=660211&r1=660210&r2=660211&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 Mon May 26 08:17:08 2008
@@ -22,13 +22,13 @@
import org.apache.shindig.social.ResponseError;
import org.apache.shindig.social.ResponseItem;
+import com.google.common.collect.Maps;
import com.google.inject.Inject;
import org.json.JSONException;
import org.json.JSONObject;
import java.net.URI;
import java.net.URISyntaxException;
-import java.util.HashMap;
import java.util.Map;
/**
@@ -64,7 +64,7 @@
switch (type) {
case DUMP_STATE:
- Map<String, Object> state = new HashMap<String, Object>();
+ Map<String, Object> state = Maps.newHashMap();
state.put("people", fetcher.getAllPeople());
state.put("friendIds", fetcher.getFriendIds());
state.put("data", fetcher.getAppData());
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=660211&r1=660210&r2=660211&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 Mon May 26 08:17:08 2008
@@ -7,6 +7,8 @@
import org.apache.shindig.social.opensocial.model.Person;
import org.apache.shindig.social.opensocial.model.Phone;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
import com.google.inject.Singleton;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
@@ -166,7 +168,7 @@
}
private void setupAppData() {
- allData = new HashMap<String, Map<String, String>>();
+ allData = Maps.newHashMap();
Element root = fetchStateDocument().getDocumentElement();
@@ -186,7 +188,7 @@
Map<String, String> currentData = allData.get(id);
if (currentData == null) {
- currentData = new HashMap<String, String>();
+ currentData = Maps.newHashMap();
allData.put(id, currentData);
}
currentData.put(field, turnEvil(value));
@@ -196,15 +198,14 @@
private void setupPeopleData() {
Element root = fetchStateDocument().getDocumentElement();
- allPeople = new HashMap<String, Person>();
- friendIdMap = new HashMap<String, List<String>>();
+ allPeople = Maps.newHashMap();
+ friendIdMap = Maps.newHashMap();
setupPeopleInXmlTag(root, "people");
}
// Adds all people in the xml tag to the allPeople map.
// Also puts friends ids into the friendIdMap
private void setupPeopleInXmlTag(Element root, String tagName) {
- // TODO: Use the opensource Collections library
NodeList elements = root.getElementsByTagName(tagName);
if (elements == null || elements.item(0) == null) {
return;
@@ -227,9 +228,8 @@
Node phoneItem = attributes.getNamedItem("phone");
if (phoneItem != null) {
String phone = phoneItem.getNodeValue();
- List<Phone> phones = new ArrayList<Phone>();
- phones.add(new Phone(turnEvil(phone), null));
- person.setPhoneNumbers(phones);
+ person.setPhoneNumbers(Lists.newArrayList(
+ new Phone(turnEvil(phone), null)));
}
Node genderItem = attributes.getNamedItem("gender");
@@ -248,7 +248,7 @@
}
private List<String> getFriends(Node personNode) {
- List<String> friends = new ArrayList<String>();
+ List<String> friends = Lists.newArrayList();
NodeList friendNodes = personNode.getChildNodes();
for (int j = 0; j < friendNodes.getLength(); j++) {
String friendId = friendNodes.item(j).getTextContent();
@@ -260,7 +260,7 @@
}
private void setupActivities() {
- allActivities = new HashMap<String, List<Activity>>();
+ allActivities = Maps.newHashMap();
Element root = fetchStateDocument().getDocumentElement();
NodeList activitiesElements = root.getElementsByTagName("activities");
@@ -310,7 +310,7 @@
}
private List<MediaItem> getMediaItems(Node activityItem) {
- List<MediaItem> media = new ArrayList<MediaItem>();
+ List<MediaItem> media = Lists.newArrayList();
NodeList mediaItems = activityItem.getChildNodes();
if (mediaItems != null) {
Modified: incubator/shindig/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/pom.xml?rev=660211&r1=660210&r2=660211&view=diff
==============================================================================
--- incubator/shindig/trunk/pom.xml (original)
+++ incubator/shindig/trunk/pom.xml Mon May 26 08:17:08 2008
@@ -721,6 +721,11 @@
<version>1.0</version>
</dependency>
<dependency>
+ <groupId>com.google.code.google-collections</groupId>
+ <artifactId>google-collect</artifactId>
+ <version>snapshot-20080321</version>
+ </dependency>
+ <dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.3</version>
@@ -753,7 +758,7 @@
<version>2.3</version>
<scope>compile</scope>
</dependency>
- <dependency>
+ <dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>