/** * Mad-Advertisement * Copyright (C) 2011 Thorsten Marx <thmarx@gmx.net> * * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ package net.mad.ads.server.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.UUID; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.mad.ads.server.utils.AdServerConstants; import net.mad.ads.server.utils.RuntimeContext; import net.mad.ads.server.utils.http.listener.AdContextListener; /** * * @author tmarx */ public class AdServlet extends HttpServlet { /** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/javascript;charset=UTF-8"); PrintWriter out = response.getWriter(); try { Map<String, Object> context = new HashMap<String, Object>(); String adselect_url = RuntimeContext.getProperties().getProperty(AdServerConstants.CONFIG.PROPERTIES.ADSERVER_SELECT_URL, ""); String adserver_url = RuntimeContext.getProperties().getProperty(AdServerConstants.CONFIG.PROPERTIES.ADSERVER_URL, ""); context.put("adselect_url", adselect_url); context.put("adserver_url", adserver_url); context.put("adrequest_id", AdContextListener.ADCONTEXT.get().getRequestid()); context.put("enviroment", RuntimeContext.getEnviroment().toLowerCase()); String content = RuntimeContext.getTemplateManager().processTemplate("ads", context); out.println(content); } finally { out.close(); } } /** * Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Returns a short description of the servlet. * @return a String containing servlet description */ @Override public String getServletInfo() { return "Short description"; } }