/** {@inheritDoc} */ public Future<Void> deleteActivityEntries(UserId userId, GroupId groupId, String appId, Set<String> activityIds, SecurityToken token) throws ProtocolException { try { String user = userId.getUserId(token); if (db.getJSONObject(ACTIVITYSTREAMS_TABLE).has(user)) { JSONArray activityEntries = db.getJSONObject(ACTIVITYSTREAMS_TABLE).getJSONArray(user); if (activityEntries != null) { JSONArray newList = new JSONArray(); for (int i = 0; i < activityEntries.length(); i++) { JSONObject activityEntry = activityEntries.getJSONObject(i); if (!activityIds.contains(activityEntry.getString(ActivityEntry.Field.ID.toString()))) { newList.put(activityEntry); } } db.getJSONObject(ACTIVITYSTREAMS_TABLE).put(user, newList); } } return Futures.immediateFuture(null); } catch (JSONException je) { throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je); } }
for (int i = 0; i < activityEntries.length(); i++) { JSONObject activityEntry = activityEntries.getJSONObject(i); if (activityEntry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) { result.add(filterFields(activityEntry, fields, ActivityEntry.class)); found = true;
try { JSONObject jsonEntry = convertFromActivityEntry(activityEntry, fields); if (!jsonEntry.has(ActivityEntry.Field.ID.toString())) { if (activityId != null) { jsonEntry.put(ActivityEntry.Field.ID.toString(), activityId); } else { jsonEntry.put(ActivityEntry.Field.ID.toString(), System.currentTimeMillis()); activityId = jsonEntry.getString(ActivityEntry.Field.ID.toString()); if (entry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) { jsonArray.put(i, jsonEntry); return Futures.immediateFuture(filterFields(jsonEntry, fields, ActivityEntry.class));
try { JSONObject jsonEntry = convertFromActivityEntry(activityEntry, fields); if (!jsonEntry.has(ActivityEntry.Field.ID.toString())) { if (activityId != null) { jsonEntry.put(ActivityEntry.Field.ID.toString(), activityId); } else { jsonEntry.put(ActivityEntry.Field.ID.toString(), System.currentTimeMillis()); activityId = jsonEntry.getString(ActivityEntry.Field.ID.toString()); if (entry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) { jsonArray.put(i, jsonEntry); return Futures.immediateFuture(filterFields(jsonEntry, fields, ActivityEntry.class));
/** {@inheritDoc} */ public Future<ActivityEntry> createActivityEntry(UserId userId, GroupId groupId, String appId, Set<String> fields, ActivityEntry activityEntry, SecurityToken token) throws ProtocolException { try { JSONObject jsonEntry = convertFromActivityEntry(activityEntry, fields); if (!jsonEntry.has(ActivityEntry.Field.ID.toString())) { jsonEntry.put(ActivityEntry.Field.ID.toString(), System.currentTimeMillis()); } String activityId = jsonEntry.getString(ActivityEntry.Field.ID.toString()); JSONArray jsonArray; if (db.getJSONObject(ACTIVITYSTREAMS_TABLE).has(userId.getUserId(token))) { jsonArray = db.getJSONObject(ACTIVITYSTREAMS_TABLE).getJSONArray(userId.getUserId(token)); } else { jsonArray = new JSONArray(); db.getJSONObject(ACTIVITYSTREAMS_TABLE).put(userId.getUserId(token), jsonArray); } // Ensure activity does not already exist for (int i = 0; i < jsonArray.length(); i++) { JSONObject entry = jsonArray.getJSONObject(i); if (entry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) { throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Activity already exists: " + activityId); } } jsonArray.put(jsonEntry); return Futures.immediateFuture(filterFields(jsonEntry, fields, ActivityEntry.class)); } catch (JSONException je) { throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je); } }
for (int i = 0; i < activityEntries.length(); i++) { JSONObject activityEntry = activityEntries.getJSONObject(i); if (activityEntry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) { result.add(filterFields(activityEntry, fields, ActivityEntry.class)); found = true;
/** {@inheritDoc} */ public Future<ActivityEntry> createActivityEntry(UserId userId, GroupId groupId, String appId, Set<String> fields, ActivityEntry activityEntry, SecurityToken token) throws ProtocolException { try { JSONObject jsonEntry = convertFromActivityEntry(activityEntry, fields); if (!jsonEntry.has(ActivityEntry.Field.ID.toString())) { jsonEntry.put(ActivityEntry.Field.ID.toString(), System.currentTimeMillis()); } String activityId = jsonEntry.getString(ActivityEntry.Field.ID.toString()); JSONArray jsonArray; if (db.getJSONObject(ACTIVITYSTREAMS_TABLE).has(userId.getUserId(token))) { jsonArray = db.getJSONObject(ACTIVITYSTREAMS_TABLE).getJSONArray(userId.getUserId(token)); } else { jsonArray = new JSONArray(); db.getJSONObject(ACTIVITYSTREAMS_TABLE).put(userId.getUserId(token), jsonArray); } // Ensure activity does not already exist for (int i = 0; i < jsonArray.length(); i++) { JSONObject entry = jsonArray.getJSONObject(i); if (entry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) { throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Activity already exists: " + activityId); } } jsonArray.put(jsonEntry); return Futures.immediateFuture(filterFields(jsonEntry, fields, ActivityEntry.class)); } catch (JSONException je) { throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je); } }
/** {@inheritDoc} */ public Future<ActivityEntry> getActivityEntry(UserId userId, GroupId groupId, String appId, Set<String> fields, String activityId, SecurityToken token) throws ProtocolException { try { String user = userId.getUserId(token); if (db.getJSONObject(ACTIVITYSTREAMS_TABLE).has(user)) { JSONArray activityEntries = db.getJSONObject(ACTIVITYSTREAMS_TABLE).getJSONArray(user); for (int i = 0; i < activityEntries.length(); i++) { JSONObject activityEntry = activityEntries.getJSONObject(i); if (activityEntry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) { return Futures.immediateFuture(filterFields(activityEntry, fields, ActivityEntry.class)); } } } throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Activity not found: " + activityId); } catch (JSONException je) { throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je); } }
/** {@inheritDoc} */ public Future<Void> deleteActivityEntries(UserId userId, GroupId groupId, String appId, Set<String> activityIds, SecurityToken token) throws ProtocolException { try { String user = userId.getUserId(token); if (db.getJSONObject(ACTIVITYSTREAMS_TABLE).has(user)) { JSONArray activityEntries = db.getJSONObject(ACTIVITYSTREAMS_TABLE).getJSONArray(user); if (activityEntries != null) { JSONArray newList = new JSONArray(); for (int i = 0; i < activityEntries.length(); i++) { JSONObject activityEntry = activityEntries.getJSONObject(i); if (!activityIds.contains(activityEntry.getString(ActivityEntry.Field.ID.toString()))) { newList.put(activityEntry); } } db.getJSONObject(ACTIVITYSTREAMS_TABLE).put(user, newList); } } return Futures.immediateFuture(null); } catch (JSONException je) { throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je); } }
/** {@inheritDoc} */ public Future<ActivityEntry> getActivityEntry(UserId userId, GroupId groupId, String appId, Set<String> fields, String activityId, SecurityToken token) throws ProtocolException { try { String user = userId.getUserId(token); if (db.getJSONObject(ACTIVITYSTREAMS_TABLE).has(user)) { JSONArray activityEntries = db.getJSONObject(ACTIVITYSTREAMS_TABLE).getJSONArray(user); for (int i = 0; i < activityEntries.length(); i++) { JSONObject activityEntry = activityEntries.getJSONObject(i); if (activityEntry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) { return Futures.immediateFuture(filterFields(activityEntry, fields, ActivityEntry.class)); } } } throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Activity not found: " + activityId); } catch (JSONException je) { throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je); } }