package net.thesocialos.client.api; import java.util.Iterator; import java.util.Map; import net.thesocialos.client.CacheLayer; import net.thesocialos.shared.model.Account; import net.thesocialos.shared.model.Google; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.jsonp.client.JsonpRequestBuilder; import com.google.gwt.user.client.rpc.AsyncCallback; import com.googlecode.objectify.Key; public class PlusAPI { public class Activities { public class List { String userid = null; String collection = null; int maxResults = 0; String pageToken = null; public List() { } public void execute(AsyncCallback<JavaScriptObject> cb) { Google googleAccount = getGoogleAccount(); if (null == getGoogleAccount()) return; String url = "https://www.googleapis.com/plus/v1/people/" + userid + "/activities/" + collection + "?access_token=" + googleAccount.getAuthToken(); if (0 != maxResults) url += "&maxResults=" + maxResults; if (null != pageToken) url += "&pageToken=" + pageToken; JsonpRequestBuilder jsonp = new JsonpRequestBuilder(); jsonp.requestObject(url, cb); } public void setCollection(String collection) { this.collection = collection; } public void setMaxResults(int maxResults) { this.maxResults = maxResults; } public void setPageToken(String pageToken) { this.pageToken = pageToken; } public void setUserId(String userid) { this.userid = userid; } } public List list(String userid) { List list = new List(); list.setUserId(userid); return list; } public List list(String userid, String collection) { List list = list(userid); list.setCollection(collection); return list; } public List list(String userid, String collection, int maxResults) { List list = list(userid, collection); list.setMaxResults(maxResults); return list; } public List list(String userid, String collection, int maxresults, String pageToken) { List list = list(userid, collection, maxresults); list.setPageToken(pageToken); return list; } public List list(String userid, String collection, String pageToken) { List list = list(userid, collection); list.setPageToken(pageToken); return list; } } public class Comments { } public class People { } public PlusAPI() { // TODO Auto-generated constructor stub } public Activities activities() { return new Activities(); } private Google getGoogleAccount() { Map<Key<Account>, Account> accounts = CacheLayer.UserCalls.getAccounts(); Iterator<Account> it = accounts.values().iterator(); while (it.hasNext()) { Account account = it.next(); if (account instanceof Google) { return (Google) account; } } return null; } }