/trunk/SPS/sps.administration/WEB-INF/src/pl/zgora/uz/wmie/fe/admin/ajax/table/action/CompanyTableAjaxAction.java
http://fatal-error.googlecode.com/ · Java · 149 lines · 60 code · 16 blank · 73 comment · 9 complexity · b2bffa2c838a61ac91dd8374e651ccee MD5 · raw file
- package pl.zgora.uz.wmie.fe.admin.ajax.table.action;
-
- import java.lang.reflect.Field;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
-
- import javax.swing.plaf.basic.BasicBorders.MarginBorder;
-
- import org.apache.log4j.Logger;
- import org.hibernate.criterion.Criterion;
- import org.hibernate.criterion.MatchMode;
- import org.hibernate.criterion.ProjectionList;
- import org.hibernate.criterion.Projections;
- import org.hibernate.criterion.Order;
- import org.hibernate.criterion.Restrictions;
-
- import pl.zgora.uz.wmie.fe.gui.common.util.FiltersUtil;
- import pl.zgora.uz.wmie.fe.sps.database.classes.Administrator;
- import pl.zgora.uz.wmie.fe.sps.database.classes.Company;
- import pl.zgora.uz.wmie.fe.sps.business.service.CompanyService;
- import pl.zgora.uz.wmie.fe.sps.business.util.ValidatorUtil;
- import pl.zgora.uz.wmie.fe.sps.business.util.BusinessUtil;
- import pl.zgora.uz.wmie.fe.sps.business.dto.DataResult;
-
-
- public class CompanyTableAjaxAction extends BaseTableAjaxAction {
-
- private static final int ROW_AMOUNT = 10;
-
- @Override
- public DataResult tableAjax(Map<String, String> filters,
- String[] projections, String columnOrder, String columnOrderDir,
- int startIndex) throws Exception {
- CompanyService companyService = (CompanyService)BusinessUtil
- .findBusiness("CompanyService");
-
- List<Order> orders = null;
- // stala czesc sluzaca sortowaniu
- if (columnOrder.compareTo("null") != 0) {
- orders = new ArrayList<Order>();
- if (columnOrderDir.compareTo("desc") == 0) {
- orders.add(Order.desc(columnOrder));
- } else {
- orders.add(Order.asc(columnOrder));
- }
- }
-
-
- ProjectionList projectionList = Projections.projectionList();
- for (int i = 0; i < projections.length; i++) {
- projectionList.add(Projections.property(projections[i]));
- }
- List<Criterion> criterions = new ArrayList<Criterion>();
- startIndex = (startIndex - 1) * ROW_AMOUNT;
- DataResult dataResult=null;
-
- if (filters.size() > 0) {
-
- FiltersUtil filtersUtil = new FiltersUtil();
- criterions = filtersUtil.createCriteriaFromFilters(filters,Company.class);
-
- // if (!ValidatorUtil.isBlankOrNull(filters
- // .get(Company.PROPERTY_IDCOMPANY))) {
- // criterions.add(Restrictions.eq(Company.PROPERTY_IDCOMPANY,
- // Integer
- // .parseInt(filters
- // .get(Company.PROPERTY_IDCOMPANY))));
- // }
- // if (!ValidatorUtil.isBlankOrNull(filters
- // .get(Company.PROPERTY_ADDRESS))) {
- // criterions.add(Restrictions.like(
- // Company.PROPERTY_ADDRESS, filters
- // .get(Company.PROPERTY_ADDRESS),
- // MatchMode.START));
- // }
- // if (!ValidatorUtil.isBlankOrNull(filters
- // .get(Company.PROPERTY_EMAIL))) {
- // criterions.add(Restrictions.like(
- // Company.PROPERTY_EMAIL, filters
- // .get(Company.PROPERTY_EMAIL),
- // MatchMode.START));
- // }
- // if (!ValidatorUtil.isBlankOrNull(filters
- // .get(Company.PROPERTY_FIRSTNAMECONTACT))) {
- // criterions.add(Restrictions.like(
- // Company.PROPERTY_FIRSTNAMECONTACT, filters
- // .get(Company.PROPERTY_FIRSTNAMECONTACT),
- // MatchMode.START));
- // }
- // if (!ValidatorUtil.isBlankOrNull(filters
- // .get(Company.PROPERTY_LASTNAMECONTACT))) {
- // criterions.add(Restrictions.like(
- // Company.PROPERTY_LASTNAMECONTACT, filters
- // .get(Company.PROPERTY_LASTNAMECONTACT),
- // MatchMode.START));
- // }
- // if (!ValidatorUtil.isBlankOrNull(filters
- // .get(Company.PROPERTY_NAME))) {
- // criterions.add(Restrictions.like(
- // Company.PROPERTY_NAME, filters
- // .get(Company.PROPERTY_NAME),
- // MatchMode.START));
- // }
- // if (!ValidatorUtil.isBlankOrNull(filters
- // .get(Company.PROPERTY_REGISTRATIONDATE))) {
- // criterions.add(Restrictions.like(
- // Company.PROPERTY_REGISTRATIONDATE, filters
- // .get(Company.PROPERTY_REGISTRATIONDATE),
- // MatchMode.START));
- // }
- // if (!ValidatorUtil.isBlankOrNull(filters
- // .get(Company.PROPERTY_STATUS))) {
- // criterions.add(Restrictions.like(
- // Company.PROPERTY_STATUS, filters
- // .get(Company.PROPERTY_STATUS).charAt(0)));
- // }
- // if (!ValidatorUtil.isBlankOrNull(filters
- // .get(Company.PROPERTY_USERLOGIN))) {
- // criterions.add(Restrictions.like(
- // Company.PROPERTY_USERLOGIN, filters
- // .get(Company.PROPERTY_USERLOGIN),
- // MatchMode.START));
- // }
- //
- // if (!ValidatorUtil.isBlankOrNull(filters
- // .get(Company.PROPERTY_ADMINISTRATOR + "."
- // + Administrator.PROPERTY_LASTNAME))) {
- // criterions.add(Restrictions.like(
- // Company.PROPERTY_ADMINISTRATOR + "."
- // + Administrator.PROPERTY_LASTNAME, filters
- // .get(Company.PROPERTY_ADMINISTRATOR + "."
- // + Administrator.PROPERTY_LASTNAME)));
- // }
- }
-
- if (orders==null) {
- dataResult = companyService.findByParams(projectionList,
- criterions, startIndex, ROW_AMOUNT);
- } else {
- dataResult = companyService.findByParams(projectionList,
- criterions, orders, startIndex, ROW_AMOUNT);
- }
- return dataResult;
-
- }
- }