Package com.gentics.cr

Source Code of com.gentics.cr.JSPServlet

package com.gentics.cr;

import java.io.IOException;
import java.util.Collection;
import java.util.Date;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;

import com.gentics.cr.exceptions.CRException;
import com.gentics.cr.plink.PlinkProcessor;
import com.gentics.cr.plink.PlinkReplacer;
import com.gentics.cr.rendering.ContentRenderer;
import com.gentics.cr.util.CRBinaryRequestBuilder;

/**
*
* Last changed: $Date: 2009-06-23 17:40:36 +0200 (Di, 23 Jun 2009) $
* @version $Revision: 96 $
* @author $Author: supnig@constantinopel.at $
*
*/
public class JSPServlet extends HttpServlet {

  /**
   *
   */
  private static final long serialVersionUID = -8607594484139295241L;
  private static Logger log = Logger.getLogger(JSPServlet.class);
  private CRServletConfig crConf;
  private ContentRenderer renderer;
  private PlinkProcessor pproc;
  private RequestProcessor rp;

  private static final String JSP_FILE_KEY = "jspfile";

  /**
   * @param config
   * @throws ServletException
   *
   */
  public void init(ServletConfig config) throws ServletException {

    super.init(config);
    this.crConf = new CRServletConfig(config);
    this.renderer = new ContentRenderer(crConf.getRequestProcessorConfig("1").getRequestProcessorConfig(2));
    this.pproc = new PlinkProcessor(crConf.getRequestProcessorConfig("1").getRequestProcessorConfig(2));
    try {
      this.rp = crConf.getNewRequestProcessorInstance(1);
    } catch (CRException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }

  @Override
  public void destroy() {
    if (this.rp != null)
      this.rp.finalize();
  }

  /**
   * Wrapper Method for the doGet and doPost Methods
   *
   * @param request
   * @param response
   * @throws ServletException
   * @throws IOException
   */
  public void doService(HttpServletRequest request, HttpServletResponse response) throws ServletException,
      IOException {

    log.debug("Request:" + request.getQueryString());
    // starttime
    long s = new Date().getTime();
    // get the objects
    CRBinaryRequestBuilder rb = new CRBinaryRequestBuilder(request);
    CRRequest req = rb.getBinaryRequest();

    try {
      Collection<CRResolvableBean> coll = this.rp.getObjects(req);
      if (coll != null) {
        request.setAttribute("objects", coll);
      }
    } catch (CRException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
    }

    request.setAttribute(com.gentics.cr.taglib.servlet.RenderContentTag.RENDERER_PARAM, renderer);
    request.setAttribute(com.gentics.cr.taglib.servlet.RenderContentTag.PLINK_PARAM, new PlinkReplacer(pproc, req));

    String jspFile = (String) this.crConf.get(JSP_FILE_KEY);
    getServletContext().getRequestDispatcher(jspFile).forward(request, response);
    // endtime
    long e = new Date().getTime();
    log.info("Executiontime for " + request.getQueryString() + ":" + (e - s));

  }

  /**
   * @param request
   * @param response
   * @throws ServletException
   * @throws IOException
   *
   */
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doService(request, response);
  }

  /**
   * @param request
   * @param response
   * @throws ServletException
   * @throws IOException
   *
   */
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doService(request, response);
  }

}
TOP

Related Classes of com.gentics.cr.JSPServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.