package com.mgreau.gae.booking.client; import java.util.List; import com.appspot.api.services.bookingendpoint.Bookingendpoint; import com.appspot.api.services.bookingendpoint.model.Booking; import com.appspot.api.services.bookingendpoint.model.Dashboard; import com.appspot.api.services.bookingendpoint.model.Hotel; import com.google.api.client.http.HttpTransport; 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.sitebricks.At; import com.google.sitebricks.http.Get; import com.google.sitebricks.http.Post; import com.google.sitebricks.rendering.Decorated; @At("/search") @Decorated public class SearchResultPage extends Decorator { protected List<Hotel> hotels; protected Dashboard dashboard; 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 String term; public String getTerm() { return term; } public void setTerm(String term) { this.term = term; } @Get public void get() { HttpTransport httpTransport = new NetHttpTransport(); final JsonFactory jsonFactory = new JacksonFactory(); Bookingendpoint service = new Bookingendpoint(httpTransport, jsonFactory, null); try { setDashboard(service.dashboard().execute()); setHotels(service.hotels().search(term).execute().getItems()); }catch (Exception e){ // TODO Auto-generated catch block e.printStackTrace(); } } @Post public void post(){ this.get(); } }