package com.mgreau.gae.booking.client;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.http.HttpHost;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.impl.client.DefaultHttpClient;
import com.appspot.api.services.bookingendpoint.Bookingendpoint;
import com.appspot.api.services.bookingendpoint.Bookingendpoint.Hotels.Bookings.Insert;
import com.appspot.api.services.bookingendpoint.model.Booking;
import com.appspot.api.services.bookingendpoint.model.CollectionResponseHotel;
import com.appspot.api.services.bookingendpoint.model.Dashboard;
import com.appspot.api.services.bookingendpoint.model.Hotel;
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.apache.ApacheHttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson.JacksonFactory;
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import com.google.sitebricks.At;
import com.google.sitebricks.headless.Request;
import com.google.sitebricks.http.Get;
import com.google.sitebricks.http.Post;
import com.google.sitebricks.rendering.Decorated;
@At("/home") @Decorated
public class BookingHomePage extends Decorator {
protected Dashboard dashboard;
protected List<Hotel> hotels;
private List<Booking> bookings;
public Dashboard getDashboard() {
return dashboard;
}
public void setDashboard(Dashboard dashboard) {
this.dashboard = dashboard;
}
public List<Hotel> getHotels() {
return hotels;
}
public void setHotels(List<Hotel> hotels) {
this.hotels = hotels;
}
private Credential credential;
public Credential getCredential() {
return credential;
}
public void setCredential(Credential credential) {
this.credential = credential;
}
@Get
public void get(HttpServletRequest req) {
HttpTransport httpTransport = new NetHttpTransport();
final JsonFactory jsonFactory = new JacksonFactory();
Bookingendpoint service = new Bookingendpoint(httpTransport,
jsonFactory, null);
try {
setDashboard(service.dashboard().execute());
com.appspot.api.services.bookingendpoint.Bookingendpoint.Hotels.List list = service.hotels().list().setLimit(5);
if (cursor != null)
list.setCursor(cursor);
CollectionResponseHotel collection = list.execute();
setHotels(collection.getItems());
cursor = collection.getNextPageToken();
//if (getHotels() != null && !getHotels().isEmpty())
//bookings = service.hotels().bookings().list(getHotels().get(0).getId() +"").execute().getItems();
}catch (Exception e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Post
public void post(){
}
public List<Booking> getBookings() {
return bookings;
}
private String cursor;
private String term;
public String getTerm() {
return term;
}
public void setTerm(String term) {
this.term = term;
}
public String getCursor() {
return cursor;
}
public void setCursor(String cursor) {
this.cursor = cursor;
}
}