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>