Package org.bigk.invoices.services

Source Code of org.bigk.invoices.services.PurchasersServiceImpl

package org.bigk.invoices.services;

import java.util.List;

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.bigk.invoices.exceptions.ServiceException;
import org.bigk.invoices.model.Purchaser;
import org.bigk.invoices.model.PurchaserFilter;
import org.bigk.invoices.utils.HibernateUtils;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

public class PurchasersServiceImpl implements PurchasersService {
 
  /**
   * Logger for this class
   */
  private static final Log logger =
    LogFactory.getLog(PurchasersServiceImpl.class);

  public PurchasersServiceImpl() {
  }

  @SuppressWarnings("unchecked")
  public List<Purchaser> listAllItems() throws ServiceException {
   
    if (logger.isDebugEnabled()) {
      logger.debug("listAllItems() - start");
    }

    List<Purchaser> list = null;
    Session session = null;
    try {
      session = HibernateUtils.getCurrentSession();
     
      Criteria crit = session.createCriteria(Purchaser.class);
      crit.addOrder(Order.asc("id"));
     
      list = crit.list();
     
    } catch (HibernateException ex) {
      logger.error("listAllItems()", ex);
      throw new ServiceException(ex);
    }

    if (logger.isDebugEnabled()) {
      logger.debug("listAllItems() - end - return value=" + CollectionUtils.size(list));
    }
    return list;   
  }

  @SuppressWarnings("unchecked")
  public List<Purchaser> listItems4Page(PurchaserFilter filter) throws ServiceException {
    if (logger.isDebugEnabled()) {
      logger.debug("listItems4Page(PurchaserFilter filter=" + filter + ") - start");
    }

    List<Purchaser> list = null;
    Session session = null;
    try {
      session = HibernateUtils.getCurrentSession();
     
      Criteria crit = session.createCriteria(Purchaser.class);
      crit.addOrder(Order.asc("id"));
     
      if (filter != null) {
        if (filter.getId() != null)
          crit.add(Restrictions.idEq(filter.getId()));
       
        if (StringUtils.isNotEmpty(filter.getName()))
          crit.add(Restrictions.like("name", filter.getName(), MatchMode.ANYWHERE));
       
        if (StringUtils.isNotEmpty(filter.getNip()))
          crit.add(Restrictions.eq("nip", filter.getNip()));
      }
      HibernateUtils.updateStats(crit, filter);
      int firstResult = (filter.getCurrentPage().intValue() - 1)
          * filter.getPaginatedPageSize().intValue();
      int maxResults = filter.getPaginatedPageSize().intValue();
      crit.setFirstResult(firstResult);
      crit.setMaxResults(maxResults);
      list = crit.list();
    } catch (HibernateException ex) {
      logger.error("listItems4Page(PurchaserFilter)", ex);
      throw new ServiceException(ex);
    }

    if (logger.isDebugEnabled()) {
      logger.debug("listItems4Page(PurchaserFilter) - end - return value=" + CollectionUtils.size(list));
    }
    return list;
  }

  public Purchaser getPurchaser(Long id) throws ServiceException {
    if (logger.isDebugEnabled()) {
      logger.debug("getPurchaser(Long id=" + id + ") - start");
    }

    Purchaser object = null;
    Session session = null;
    try {
      session = HibernateUtils.getCurrentSession();
      object = (Purchaser) session.get(Purchaser.class, id);
    } catch (HibernateException ex) {
      logger.error("getPurchaser(Long)", ex);
      throw new ServiceException(ex);
    }

    if (logger.isDebugEnabled()) {
      logger.debug("getPurchaser(Long) - end - return value=" + object);
    }
    return object;
  }
 
  public void savePurchaser(Purchaser purchaser) throws ServiceException {
    if (logger.isDebugEnabled()) {
      logger.debug("savePurchaser(Purchaser purchaser=" + purchaser + ") - start");
    }

    Session session = null;
    try {
      session = HibernateUtils.getCurrentSession();
      session.save(purchaser);
    } catch (HibernateException ex) {
      logger.error("savePurchaser(Purchaser)", ex);
      throw new ServiceException(ex);
    }

    if (logger.isDebugEnabled()) {
      logger.debug("savePurchaser(Purchaser) - end");
    }
  }
 
  public void updatePurchaser(Purchaser purchaser) throws ServiceException {
    if (logger.isDebugEnabled()) {
      logger.debug("updatePurchaser(Purchaser purchaser=" + purchaser + ") - start");
    }

    Session session = null;
    try {
      session = HibernateUtils.getCurrentSession();
      session.update(purchaser);
    } catch (HibernateException ex) {
      logger.error("updatePurchaser(Purchaser)", ex);
      throw new ServiceException(ex);
    }

    if (logger.isDebugEnabled()) {
      logger.debug("updatePurchaser(Purchaser) - end");
    }
  }

  public void deletePurchaser(Purchaser purchaser) throws ServiceException {
    if (logger.isDebugEnabled()) {
      logger.debug("deletePurchaser(Purchaser purchaser=" + purchaser + ") - start");
    }

    Session session = null;
    try {
      session = HibernateUtils.getCurrentSession();
      session.delete(purchaser);
    } catch (HibernateException ex) {
      logger.error("deletePurchaser(Purchaser)", ex);
      throw new ServiceException(ex);
    }

    if (logger.isDebugEnabled()) {
      logger.debug("deletePurchaser(Purchaser) - end");
    }
  }

}
TOP

Related Classes of org.bigk.invoices.services.PurchasersServiceImpl

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.