Package orm

Source Code of orm.VP2Filter$ServletRequestFactory

/**
* "Visual Paradigm: DO NOT MODIFY THIS FILE!"
*
* This is an automatic generated file. It will be regenerated every time
* you generate persistence class.
*
* Modifying its content may cause the program not work, or your work may lost.
*/

/**
* Licensee: DuKe TeAm
* License Type: Purchased
*/
package orm;

import org.orm.*;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import org.orm.http.ORMHttpServletRequest;

public class VP2Filter implements Filter {
  private static ServletRequestFactory _servletRequestFactory;
 
  public void init(FilterConfig filterConfig) throws ServletException {
    String ormRequest = filterConfig.getInitParameter("WrapServletRequest");
    if (ormRequest == null || ormRequest.equals("false")) {
      _servletRequestFactory = new NormalServletRequestFactory();
    }
    else {
      if (System.getProperty("weblogic.Name") == null)  {
        ServletRequestFactory servletRequestFactory;
        try {
          servletRequestFactory = new ORMServletRequestFactory(orm.VP2PersistentManager.instance());
        }
        catch (PersistentException e) {
          servletRequestFactory = new NormalServletRequestFactory();
        }
        _servletRequestFactory = servletRequestFactory;
      }
      else {
        _servletRequestFactory = new NormalServletRequestFactory();
      }
    }
  }
 
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
    if(request instanceof HttpServletRequest) {
      String url = ((HttpServletRequest) request).getRequestURL().toString();
      if (url.endsWith(".html") || url.endsWith(".htm")) {
        filterChain.doFilter(request, response);
        return;
      }
    }
    try {
      ServletRequest req;
      try {
        req = _servletRequestFactory.getServletRequest(request);
      }
      catch (ClassCastException cce) {
        req = request;
      }
      filterChain.doFilter(req, response);
    }
    finally {
      try {
        PersistentSession session = orm.VP2PersistentManager.instance().getSession(false);
        if (session != null) {
          session.close();
        }
      }
      catch (PersistentException e) {
      }
    }
  }
 
  public void destroy() {
  }
 
  static interface ServletRequestFactory  {
    public ServletRequest getServletRequest(ServletRequest request);
  }
 
  static class NormalServletRequestFactory implements ServletRequestFactory  {
    public ServletRequest getServletRequest(ServletRequest request)  {
      return request;
    }
  }
 
  static class ORMServletRequestFactory implements ServletRequestFactory  {
    private final PersistentManager _persistentManager;
    public ORMServletRequestFactory(PersistentManager persistentManager)  {
      _persistentManager = persistentManager;
    }
   
    public ServletRequest getServletRequest(ServletRequest request)  {
      return new ORMHttpServletRequest(_persistentManager, (HttpServletRequest)request);
    }
  }
}
TOP

Related Classes of orm.VP2Filter$ServletRequestFactory

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.