package org.societies.platform.socialdata.converters; import java.util.ArrayList; import java.util.List; import org.apache.shindig.social.opensocial.model.Person; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class FriendsConverterFromFoursquare implements FriendsConverter { private JSONObject response; List<Person> friends = new ArrayList<Person>(); public List<Person> load(String data) { ArrayList<Person> friends = new ArrayList<Person>(); PersonConverterFromFoursquare converter = new PersonConverterFromFoursquare(); try { response = new JSONObject(data).getJSONObject("response"); if (response.has("friends")){ JSONObject jFriends = response.getJSONObject("friends"); if (jFriends.has("items")){ JSONArray items = jFriends.getJSONArray("items"); for(int i=0; i < items.length(); i++){ JSONObject item = items.getJSONObject(i); friends.add(converter.load(item)); } } } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } return friends; // Account fq = new AccountImpl(); // fq.setDomain("foursquare.com"); // List<Account> accounts = new ArrayList<Account>(); // accounts.add(fq); // // try { // response = new JSONObject(data); // // System.out.println(response); // JSONObject jdata = new JSONObject(data); // if (response.has("response")) { // JSONObject user = (JSONObject) response.get("response"); // // System.out.println(user); // if (user.has("user")) { // jdata = (JSONObject) user.get("user"); // // System.out.println(db); // JSONObject jfriends = null; // if (jdata.has("friends")) { // jfriends = (JSONObject) jdata.get("friends"); // } // // int friendsCount = jfriends.getInt("count"); // JSONArray jgroups = jfriends.getJSONArray("groups"); // // for (int i = 0; i < jgroups.length(); i++) { // JSONArray itemsArray = jgroups.getJSONObject(i) // .getJSONArray("items"); // for (int j = 0; j < itemsArray.length(); j++) { // JSONObject jfriend = itemsArray.getJSONObject(j); // Person p = new PersonImpl(); // p.setId("Foursquare:" + jfriend.getString("id")); // p.setRelationshipStatus(jfriend // .getString("relationship")); // String name = ""; // if(jfriend.has("firstName")) // name = name + jfriend.getString("firstName"); // if(jfriend.has("lastName")) // name = name + " "+jfriend.getString("lastName"); // p.setName(new NameImpl(name)); // p.setAccounts(accounts); // // System.out.println(">>> new Friends"+p.getName().getFormatted()); // friends.add(p); // } // // } // // } // } // // } // // catch (JSONException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // // return friends; } }