package dk.thoerup.marketstats; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.gc.android.market.api.MarketSession; import com.gc.android.market.api.model.Market.AppsRequest; @WebServlet(name = "SearchApps", urlPatterns = { "/SearchApps" }) public class SearchApps extends HttpServlet { private static final long serialVersionUID = 1L; String login; String password; @Override public void init() throws ServletException { super.init(); login = getServletContext().getInitParameter("login"); password = getServletContext().getInitParameter("password"); } List queryApps(String query) { MarketSession session = new MarketSession(); session.login(login,password); AppsRequest appsRequest = AppsRequest.newBuilder() .setQuery(query) .setStartIndex(0) .setEntriesCount(10) .setWithExtendedInfo(false) .build(); AppsCallback appsCb = new AppsCallback(); session.append(appsRequest, appsCb); session.flush(); return appsCb.getResult(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String query = request.getParameter("query"); List apps = queryApps(query); request.setAttribute("query", query); request.setAttribute("apps", apps); request.getRequestDispatcher("/viewapps.jsp").forward(request, response); } }