package com.zuehlke.camp2014.schild.siegfried; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import com.google.common.base.Preconditions; import com.zuehlke.camp2014.schild.siegfried.domain.UpdateLocation; import com.zuehlke.camp2014.schild.siegfried.logic.LocationLogic; @Path("/users") public class UsersService { final LocationLogic locationLogic = new LocationLogic(); @POST @Path("/{userId}/location") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public UpdateLocation updateLocation(@PathParam("userId") String userId, UpdateLocation updateLocation) { Preconditions.checkNotNull(userId, "No userId provided"); updateLocation.setUserId(userId); /* Bypass kafka */ Siegfried.messageListenerDoorplate.processLocationUpdate(updateLocation); return updateLocation; } }