Package org.activejpa.utils

Source Code of org.activejpa.utils.OpenSessionInViewFilter

/**
*
*/
package org.activejpa.utils;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.activejpa.jpa.JPA;
import org.activejpa.jpa.JPAContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* @author ganeshs
*
*/
public class OpenSessionInViewFilter implements Filter {

  private static final Logger logger = LoggerFactory.getLogger(OpenSessionInViewFilter.class);
 
  @Override
  public void destroy() {
  }

  @Override
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    JPAContext context = JPA.instance.getDefaultConfig().getContext();   
    context.getEntityManager();
    logger.debug("Initialized context and transaction");
   
    try {
      logger.debug("Executing ServletRequest");
      chain.doFilter(request, response);
      logger.debug("Done with execution of ServletRequest");
     
    } finally {
      logger.debug("Closing context and transaction");
      if (context.isTxnOpen()) {
        context.closeTxn(true);
      }
      context.close();
      logger.debug("Closed context and transaction");
    }
  }

  @Override
  public void init(FilterConfig config) throws ServletException {
  }

}
TOP

Related Classes of org.activejpa.utils.OpenSessionInViewFilter

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.