.toString()); assertEquals(addressNodes.size(), canonical.getAddresses().size()); for (int i = 0; i < addressNodes.size(); i++) { Person.Field.AGE.toString()).get(0))); Person.Field.BODY_TYPE.toString()).get(0)); BodyType body = canonical.getBodyType(); .get(Person.Field.CURRENT_LOCATION.toString()).get(0)); assertFloatField(currentLocation, canonical.getCurrentLocation() .getLatitude(), Address.Field.LATITUDE); List<Node> emailArray = childNodeMap.get(Person.Field.EMAILS.toString()); assertEquals(1, emailArray.size()); .get(Person.Field.ORGANIZATIONS.toString()).get(0)); childNodeMap.get(Person.Field.NAME.toString()).get(0)).get( Name.Field.FORMATTED.toString()).get(0)); .toString()); assertEquals(canonical.getPhoneNumbers().size(), phoneArray.size()); .get(Person.Field.PROFILE_SONG.toString()).get(0))); assertStringField(result, canonical.getProfileUrl(), Person.Field.PROFILE_URL); assertUrlField(canonical.getProfileVideo(), childNodesToMap(childNodeMap .get(Person.Field.PROFILE_VIDEO.toString()).get(0)));
Person.Field.ADDRESSES.toString()).getJSONObject(0); assertAddressField(canonical.getAddresses().get(0), jsonAddress); Person.Field.AGE.toString())); Person.Field.BODY_TYPE.toString()); BodyType body = canonical.getBodyType(); assertStringField(jsonBody, body.getBuild(), BodyType.Field.BUILD); JSONObject currentLocation = result.getJSONObject(Person.Field.CURRENT_LOCATION.toString()); assertFloatField(currentLocation, canonical.getCurrentLocation().getLatitude(), Address.Field.LATITUDE); JSONArray emailArray = result.getJSONArray(Person.Field.EMAILS.toString()); assertEquals(1, emailArray.length()); result.getJSONArray(Person.Field.ORGANIZATIONS.toString()).getJSONObject(0)); result.getJSONObject(Person.Field.NAME.toString()).getString( Name.Field.FORMATTED.toString())); Person.Field.PHONE_NUMBERS.toString()); assertEquals(canonical.getPhoneNumbers().size(), phoneArray.length()); Person.Field.PROFILE_SONG.toString())); assertStringField(result, canonical.getProfileUrl(), Person.Field.PROFILE_URL); assertUrlField(canonical.getProfileVideo(), result.getJSONObject( Person.Field.PROFILE_VIDEO.toString()));
.toString()); assertEquals(addressNodes.size(), canonical.getAddresses().size()); for (int i = 0; i < addressNodes.size(); i++) { Person.Field.AGE.toString()).get(0))); Person.Field.BODY_TYPE.toString()).get(0)); BodyType body = canonical.getBodyType(); .get(Person.Field.CURRENT_LOCATION.toString()).get(0)); assertFloatField(currentLocation, canonical.getCurrentLocation() .getLatitude(), Address.Field.LATITUDE); List<Node> emailArray = childNodeMap.get(Person.Field.EMAILS.toString()); assertEquals(1, emailArray.size()); .get(Person.Field.ORGANIZATIONS.toString()).get(0)); childNodeMap.get(Person.Field.NAME.toString()).get(0)).get( Name.Field.FORMATTED.toString()).get(0)); .toString()); assertEquals(canonical.getPhoneNumbers().size(), phoneArray.size()); .get(Person.Field.PROFILE_SONG.toString()).get(0))); assertStringField(result, canonical.getProfileUrl(), Person.Field.PROFILE_URL); assertUrlField(canonical.getProfileVideo(), childNodesToMap(childNodeMap .get(Person.Field.PROFILE_VIDEO.toString()).get(0)));
.toString()); assertEquals(addressNodes.size(), canonical.getAddresses().size()); for (int i = 0; i < addressNodes.size(); i++) { Person.Field.AGE.toString()).get(0))); Person.Field.BODY_TYPE.toString()).get(0)); BodyType body = canonical.getBodyType(); .get(Person.Field.CURRENT_LOCATION.toString()).get(0)); assertFloatField(currentLocation, canonical.getCurrentLocation() .getLatitude(), Address.Field.LATITUDE); List<Node> emailArray = childNodeMap.get(Person.Field.EMAILS.toString()); assertEquals(1, emailArray.size()); .get(Person.Field.ORGANIZATIONS.toString()).get(0)); childNodeMap.get(Person.Field.NAME.toString()).get(0)).get( Name.Field.FORMATTED.toString()).get(0)); .toString()); assertEquals(canonical.getPhoneNumbers().size(), phoneArray.size()); .get(Person.Field.PROFILE_SONG.toString()).get(0))); assertStringField(result, canonical.getProfileUrl(), Person.Field.PROFILE_URL); assertUrlField(canonical.getProfileVideo(), childNodesToMap(childNodeMap .get(Person.Field.PROFILE_VIDEO.toString()).get(0)));
Person.Field.ADDRESSES.toString()).getJSONObject(0); assertAddressField(canonical.getAddresses().get(0), jsonAddress); Person.Field.AGE.toString())); Person.Field.BODY_TYPE.toString()); BodyType body = canonical.getBodyType(); assertStringField(jsonBody, body.getBuild(), BodyType.Field.BUILD); JSONObject currentLocation = result.getJSONObject(Person.Field.CURRENT_LOCATION.toString()); assertFloatField(currentLocation, canonical.getCurrentLocation().getLatitude(), Address.Field.LATITUDE); JSONArray emailArray = result.getJSONArray(Person.Field.EMAILS.toString()); assertEquals(1, emailArray.length()); result.getJSONArray(Person.Field.ORGANIZATIONS.toString()).getJSONObject(0)); result.getJSONObject(Person.Field.NAME.toString()).getString( Name.Field.FORMATTED.toString())); Person.Field.PHONE_NUMBERS.toString()); assertEquals(canonical.getPhoneNumbers().size(), phoneArray.length()); Person.Field.PROFILE_SONG.toString())); assertStringField(result, canonical.getProfileUrl(), Person.Field.PROFILE_URL); assertUrlField(canonical.getProfileVideo(), result.getJSONObject( Person.Field.PROFILE_VIDEO.toString()));
Person.Field.ADDRESSES.toString()).getJSONObject(0); assertAddressField(canonical.getAddresses().get(0), jsonAddress); Person.Field.AGE.toString())); Person.Field.BODY_TYPE.toString()); BodyType body = canonical.getBodyType(); assertStringField(jsonBody, body.getBuild(), BodyType.Field.BUILD); JSONObject currentLocation = result.getJSONObject(Person.Field.CURRENT_LOCATION.toString()); assertFloatField(currentLocation, canonical.getCurrentLocation().getLatitude(), Address.Field.LATITUDE); JSONArray emailArray = result.getJSONArray(Person.Field.EMAILS.toString()); assertEquals(1, emailArray.length()); result.getJSONArray(Person.Field.ORGANIZATIONS.toString()).getJSONObject(0)); result.getJSONObject(Person.Field.NAME.toString()).getString( Name.Field.FORMATTED.toString())); Person.Field.PHONE_NUMBERS.toString()); assertEquals(canonical.getPhoneNumbers().size(), phoneArray.length()); Person.Field.PROFILE_SONG.toString())); assertStringField(result, canonical.getProfileUrl(), Person.Field.PROFILE_URL); assertUrlField(canonical.getProfileVideo(), result.getJSONObject( Person.Field.PROFILE_VIDEO.toString()));
JSONObject personData = db.getJSONObject(DATA_TABLE).optJSONObject(id); if (personData != null) { if (fields.contains(Person.Field.APP_DATA.toString())) { appData = Maps.newHashMap(); @SuppressWarnings("unchecked") String appDataPrefix = Person.Field.APP_DATA.toString() + '.'; for (String field : fields) { if (field.startsWith(appDataPrefix)) {
JSONObject personData = db.getJSONObject(DATA_TABLE).optJSONObject(id); if (personData != null) { if (fields.contains(Person.Field.APP_DATA.toString())) { appData = Maps.newHashMap(); @SuppressWarnings("unchecked") String appDataPrefix = Person.Field.APP_DATA.toString() + '.'; for (String field : fields) { if (field.startsWith(appDataPrefix)) {
JSONObject personData = db.getJSONObject(DATA_TABLE).optJSONObject(id); if (personData != null) { if (fields.contains(Person.Field.APP_DATA.toString())) { appData = Maps.newHashMap(); @SuppressWarnings("unchecked") String appDataPrefix = Person.Field.APP_DATA.toString() + '.'; for (String field : fields) { if (field.startsWith(appDataPrefix)) {
options.setSortBy(Person.Field.NAME.toString()); options.setSortOrder(SortOrder.descending); options.setFilter(PersonService.TOP_FRIENDS_FILTER);
JSONObject curPerson = people.getJSONObject(i); if (user != null && curPerson.getString(Person.Field.ID.toString()).equals(user)) {
options.setSortBy(Person.Field.NAME.toString()); options.setSortOrder(SortOrder.descending); options.setFilter(PersonService.TOP_FRIENDS_FILTER);
options.setSortBy(Person.Field.NAME.toString()); options.setSortOrder(SortOrder.descending); options.setFilter(PersonService.TOP_FRIENDS_FILTER);
JSONObject curPerson = people.getJSONObject(i); if (user != null && curPerson.getString(Person.Field.ID.toString()).equals(user)) {
/** {@inheritDoc} */ public Future<Person> getPerson(UserId id, Set<String> fields, SecurityToken token) throws ProtocolException { if (id != null && AnonymousSecurityToken.ANONYMOUS_ID.equals(id.getUserId())) { Person anonymous = new PersonImpl(); anonymous.setId(AnonymousSecurityToken.ANONYMOUS_ID); anonymous.setName(new NameImpl(ANONYMOUS_NAME)); anonymous.setNickname(ANONYMOUS_NAME); return Futures.immediateFuture(anonymous); } try { JSONArray people = db.getJSONArray(PEOPLE_TABLE); for (int i = 0; i < people.length(); i++) { JSONObject person = people.getJSONObject(i); if (id != null && person.get(Person.Field.ID.toString()).equals(id.getUserId(token))) { Person personObj = filterFields(person, fields, Person.class); Map<String, Object> appData = getPersonAppData(person.getString(Person.Field.ID .toString()), fields); personObj.setAppData(appData); return Futures.immediateFuture(personObj); } } throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Person '" + id.getUserId(token) + "' not found"); } catch (JSONException je) { throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je); } }
/** {@inheritDoc} */ public Future<Person> getPerson(UserId id, Set<String> fields, SecurityToken token) throws ProtocolException { if (id != null && AnonymousSecurityToken.ANONYMOUS_ID.equals(id.getUserId())) { Person anonymous = new PersonImpl(); anonymous.setId(AnonymousSecurityToken.ANONYMOUS_ID); anonymous.setName(new NameImpl(ANONYMOUS_NAME)); anonymous.setNickname(ANONYMOUS_NAME); return Futures.immediateFuture(anonymous); } try { JSONArray people = db.getJSONArray(PEOPLE_TABLE); for (int i = 0; i < people.length(); i++) { JSONObject person = people.getJSONObject(i); if (id != null && person.get(Person.Field.ID.toString()).equals(id.getUserId(token))) { Person personObj = filterFields(person, fields, Person.class); Map<String, Object> appData = getPersonAppData(person.getString(Person.Field.ID .toString()), fields); personObj.setAppData(appData); return Futures.immediateFuture(personObj); } } throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Person '" + id.getUserId(token) + "' not found"); } catch (JSONException je) { throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je); } }
/** {@inheritDoc} */ public Future<Person> getPerson(UserId id, Set<String> fields, SecurityToken token) throws ProtocolException { try { JSONArray people = db.getJSONArray(PEOPLE_TABLE); for (int i = 0; i < people.length(); i++) { JSONObject person = people.getJSONObject(i); if (id != null && person.get(Person.Field.ID.toString()).equals(id.getUserId(token))) { Person personObj = filterFields(person, fields, Person.class); Map<String, Object> appData = getPersonAppData(person.getString(Person.Field.ID .toString()), fields); personObj.setAppData(appData); return ImmediateFuture.newInstance(personObj); } } throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Person '" + id.getUserId(token) + "' not found"); } catch (JSONException je) { throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je); } }