/**
* Copyright (C) 2011 Talend Inc. - www.talend.com
*/
package oauth.thirdparty;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("reception")
public class RestaurantService {
private AtomicBoolean availableHours[] = new AtomicBoolean[24];
public RestaurantService() {
for (int i = 0; i < 24; i++) {
availableHours[i] = new AtomicBoolean();
}
}
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public String reserveAt(@FormParam("name") String name,
@FormParam("phone") String phone,
@FormParam("hour") int hour) {
if (availableHours[hour].compareAndSet(false, true)) {
return getAddress();
} else {
return null;
}
}
public String getAddress() {
return "5 Star Pizza, 1061 BayShore Lane, Vancouver BC";
}
}