@Operation(httpMethods = "POST", bodyParam = "album") public Future<?> create(SocialRequestItem request) throws ProtocolException { // Retrieve userIds and albumIds Set<UserId> userIds = request.getUsers(); List<String> albumIds = request.getListParameter("albumId"); // Preconditions - exactly one userId specified, no albumIds specified HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); HandlerPreconditions.requireEmpty(albumIds, "Cannot specify albumId in create"); return service.createAlbum(Iterables.getOnlyElement(userIds), request.getAppId(), request.getTypedParameter("album", Album.class), request.getToken()); }
@Operation(httpMethods = "POST", bodyParam = "album") public Future<?> create(SocialRequestItem request) throws ProtocolException { // Retrieve userIds and albumIds Set<UserId> userIds = request.getUsers(); List<String> albumIds = request.getListParameter("albumId"); // Preconditions - exactly one userId specified, no albumIds specified HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); HandlerPreconditions.requireEmpty(albumIds, "Cannot specify albumId in create"); return service.createAlbum(Iterables.getOnlyElement(userIds), request.getAppId(), request.getTypedParameter("album", Album.class), request.getToken()); }
@Operation(httpMethods = "POST", bodyParam = "album") public Future<?> create(SocialRequestItem request) throws ProtocolException { // Retrieve userIds and albumIds Set<UserId> userIds = request.getUsers(); List<String> albumIds = request.getListParameter("albumId"); // Preconditions - exactly one userId specified, no albumIds specified HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); HandlerPreconditions.requireEmpty(albumIds, "Cannot specify albumId in create"); return service.createAlbum(Iterables.getOnlyElement(userIds), request.getAppId(), request.getTypedParameter("album", Album.class), request.getToken()); }
/** * Creates a new message collection or message */ @Operation(httpMethods = "POST", bodyParam = "entity") public Future<?> create(SocialRequestItem request) throws ProtocolException { Set<UserId> userIds = request.getUsers(); String msgCollId = request.getParameter("msgCollId"); List<String> messageIds = request.getListParameter("messageIds"); HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); UserId user = request.getUsers().iterator().next(); if (msgCollId == null) { // Request to create a new message collection MessageCollection msgCollection = request.getTypedParameter("entity", MessageCollection.class); return service.createMessageCollection(user, msgCollection, request.getToken()); } // A message collection has been specified, allow for posting HandlerPreconditions.requireEmpty(messageIds,"Message IDs not allowed here, use PUT instead"); Message message = request.getTypedParameter("entity", Message.class); HandlerPreconditions.requireNotEmpty(message.getRecipients(), "No recipients specified"); return service.createMessage(userIds.iterator().next(), request.getAppId(), msgCollId, message, request.getToken()); }
/** * Creates a new message collection or message */ @Operation(httpMethods = "POST", bodyParam = "entity") public Future<?> create(SocialRequestItem request) throws ProtocolException { Set<UserId> userIds = request.getUsers(); String msgCollId = request.getParameter("msgCollId"); List<String> messageIds = request.getListParameter("messageIds"); HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); UserId user = request.getUsers().iterator().next(); if (msgCollId == null) { // Request to create a new message collection MessageCollection msgCollection = request.getTypedParameter("entity", MessageCollection.class); return service.createMessageCollection(user, msgCollection, request.getToken()); } // A message collection has been specified, allow for posting HandlerPreconditions.requireEmpty(messageIds,"Message IDs not allowed here, use PUT instead"); Message message = request.getTypedParameter("entity", Message.class); HandlerPreconditions.requireNotEmpty(message.getRecipients(), "No recipients specified"); return service.createMessage(userIds.iterator().next(), request.getAppId(), msgCollId, message, request.getToken()); }
/** * Creates a new message collection or message */ @Operation(httpMethods = "POST", bodyParam = "entity") public Future<?> modify(SocialRequestItem request) throws ProtocolException { Set<UserId> userIds = request.getUsers(); String msgCollId = request.getParameter("msgCollId"); List<String> messageIds = request.getListParameter("messageIds"); HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); UserId user = request.getUsers().iterator().next(); if (msgCollId == null) { // Request to create a new message collection MessageCollection msgCollection = request.getTypedParameter("entity", MessageCollection.class); return service.createMessageCollection(user, msgCollection, request.getToken()); } // A message collection has been specified, allow for posting HandlerPreconditions.requireEmpty(messageIds,"Message IDs not allowed here, use PUT instead"); Message message = request.getTypedParameter("entity", Message.class); HandlerPreconditions.requireNotEmpty(message.getRecipients(), "No recipients specified"); return service.createMessage(userIds.iterator().next(), request.getAppId(), msgCollId, message, request.getToken()); }
/** * Allowed end-points /activities/{userId}/@self * * examples: /activities/john.doe/@self - postBody is an activity object */ @Operation(httpMethods="POST", bodyParam = "activity") public Future<?> create(SocialRequestItem request) throws ProtocolException { Set<UserId> userIds = request.getUsers(); List<String> activityIds = request.getListParameter("activityId"); HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); // TODO(lryan) This seems reasonable to allow on PUT but we don't have an update verb. HandlerPreconditions.requireEmpty(activityIds, "Cannot specify activityId in create"); return service.createActivity(Iterables.getOnlyElement(userIds), request.getGroup(), request.getAppId(), request.getFields(), request.getTypedParameter("activity", Activity.class), request.getToken()); }
/** * Allowed end-points /activities/{userId}/@self * * examples: /activities/john.doe/@self - postBody is an activity object */ @Operation(httpMethods="POST", bodyParam = "activity") public Future<?> create(SocialRequestItem request) throws ProtocolException { Set<UserId> userIds = request.getUsers(); List<String> activityIds = request.getListParameter("activityId"); HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); // TODO(lryan) This seems reasonable to allow on PUT but we don't have an update verb. HandlerPreconditions.requireEmpty(activityIds, "Cannot specify activityId in create"); return service.createActivity(Iterables.getOnlyElement(userIds), request.getGroup(), request.getAppId(), request.getFields(), request.getTypedParameter("activity", Activity.class), request.getToken()); }
/** * Allowed end-points /activities/{userId}/@self * * examples: /activities/john.doe/@self - postBody is an activity object */ @Operation(httpMethods="POST", bodyParam = "activity") public Future<?> create(SocialRequestItem request) throws ProtocolException { Set<UserId> userIds = request.getUsers(); List<String> activityIds = request.getListParameter("activityId"); HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); // TODO(lryan) This seems reasonable to allow on PUT but we don't have an update verb. HandlerPreconditions.requireEmpty(activityIds, "Cannot specify activityId in create"); return service.createActivity(Iterables.getOnlyElement(userIds), request.getGroup(), request.getAppId(), request.getFields(), request.getTypedParameter("activity", Activity.class), request.getToken()); }
/** * Allowed end-points /activitystreams/{userId}/@self/{appId} * * Examples: /activitystreams/john.doe/@self/{appId} - postBody is an activity object * * @param request a {@link org.apache.shindig.social.opensocial.service.SocialRequestItem} object. * @return a {@link java.util.concurrent.Future} object. * @throws org.apache.shindig.protocol.ProtocolException if any. */ @Operation(httpMethods="POST", bodyParam = "activity") public Future<?> create(SocialRequestItem request) throws ProtocolException { Set<UserId> userIds = request.getUsers(); List<String> activityIds = request.getListParameter("activityId"); HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); HandlerPreconditions.requireEmpty(activityIds, "Cannot specify activity ID in create"); return service.createActivityEntry(Iterables.getOnlyElement(userIds), request.getGroup(), request.getAppId(), request.getFields(), request.getTypedParameter("activity", ActivityEntry.class), request.getToken()); }
/** * Allowed end-points /activitystreams/{userId}/@self/{appId} * * Examples: /activitystreams/john.doe/@self/{appId} - postBody is an activity object * * @param request a {@link org.apache.shindig.social.opensocial.service.SocialRequestItem} object. * @return a {@link java.util.concurrent.Future} object. * @throws org.apache.shindig.protocol.ProtocolException if any. */ @Operation(httpMethods="POST", bodyParam = "activity") public Future<?> create(SocialRequestItem request) throws ProtocolException { Set<UserId> userIds = request.getUsers(); List<String> activityIds = request.getListParameter("activityId"); HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); HandlerPreconditions.requireEmpty(activityIds, "Cannot specify activity ID in create"); return service.createActivityEntry(Iterables.getOnlyElement(userIds), request.getGroup(), request.getAppId(), request.getFields(), request.getTypedParameter("activity", ActivityEntry.class), request.getToken()); }
/** * Allowed end-points /activities/{userId}/@self * * examples: /activities/john.doe/@self - postBody is an activity object * * TODO: REST end-point * * @param request a {@link org.apache.shindig.social.opensocial.service.SocialRequestItem} object. * @return a {@link java.util.concurrent.Future} object. * @throws org.apache.shindig.protocol.ProtocolException if any. */ @Operation(httpMethods="POST", bodyParam = "activityEntry") public Future<?> create(SocialRequestItem request) throws ProtocolException { Set<UserId> userIds = request.getUsers(); List<String> activityEntryIds = request.getListParameter("activityEntryId"); HandlerPreconditions.requireNotEmpty(userIds, "No userId specified"); HandlerPreconditions.requireSingular(userIds, "Multiple userIds not supported"); // TODO(lryan) This seems reasonable to allow on PUT but we don't have an update verb. HandlerPreconditions.requireEmpty(activityEntryIds, "Cannot specify activityEntryId in create"); return service.createActivityEntry(Iterables.getOnlyElement(userIds), request.getGroup(), request.getAppId(), request.getFields(), request.getTypedParameter("activityEntry", ActivityEntry.class), request.getToken()); }