List of usage examples for org.hibernate.criterion Restrictions lt
public static SimpleExpression lt(String propertyName, Object value)
From source file:org.opennms.netmgt.dao.hibernate.StpNodeDaoHibernate.java
License:Open Source License
@Override public void deactivateForNodeIdIfOlderThan(final int nodeid, final Date scanTime) { final OnmsCriteria criteria = new OnmsCriteria(OnmsStpNode.class); criteria.createAlias("node", "node", OnmsCriteria.LEFT_JOIN); criteria.add(Restrictions.eq("node.id", nodeid)); criteria.add(Restrictions.lt("lastPollTime", scanTime)); criteria.add(Restrictions.eq("status", StatusType.ACTIVE)); for (final OnmsStpNode item : findMatching(criteria)) { item.setStatus(StatusType.INACTIVE); saveOrUpdate(item);/*from ww w . ja v a 2 s. com*/ } }
From source file:org.opennms.netmgt.dao.hibernate.StpNodeDaoHibernate.java
License:Open Source License
@Override public void deleteForNodeIdIfOlderThan(final int nodeid, final Date scanTime) { final OnmsCriteria criteria = new OnmsCriteria(OnmsStpNode.class); criteria.createAlias("node", "node", OnmsCriteria.LEFT_JOIN); criteria.add(Restrictions.eq("node.id", nodeid)); criteria.add(Restrictions.lt("lastPollTime", scanTime)); criteria.add(Restrictions.not(Restrictions.eq("status", StatusType.ACTIVE))); for (final OnmsStpNode item : findMatching(criteria)) { delete(item);//from w w w . ja v a 2 s . c om } }
From source file:org.opennms.netmgt.dao.hibernate.VlanDaoHibernate.java
License:Open Source License
@Override public void deactivateForNodeIdIfOlderThan(final int nodeid, final Date scanTime) { final OnmsCriteria criteria = new OnmsCriteria(OnmsVlan.class); criteria.createAlias("node", "node", OnmsCriteria.LEFT_JOIN); criteria.add(Restrictions.eq("node.id", nodeid)); criteria.add(Restrictions.lt("lastPollTime", scanTime)); criteria.add(Restrictions.eq("status", StatusType.ACTIVE)); for (final OnmsVlan item : findMatching(criteria)) { item.setStatus(StatusType.INACTIVE); saveOrUpdate(item);// w w w. j a v a 2 s . c o m } }
From source file:org.opennms.netmgt.dao.hibernate.VlanDaoHibernate.java
License:Open Source License
@Override public void deleteForNodeIdIfOlderThan(final int nodeid, final Date scanTime) { final OnmsCriteria criteria = new OnmsCriteria(OnmsVlan.class); criteria.createAlias("node", "node", OnmsCriteria.LEFT_JOIN); criteria.add(Restrictions.eq("node.id", nodeid)); criteria.add(Restrictions.lt("lastPollTime", scanTime)); criteria.add(Restrictions.not(Restrictions.eq("status", StatusType.ACTIVE))); for (final OnmsVlan item : findMatching(criteria)) { delete(item);//from w w w . j a v a 2 s . com } }
From source file:org.opennms.web.svclayer.outage.OutagesFilteringView.java
License:Open Source License
/** * <p>buildCriteria</p>/*from w w w .j av a 2 s. c o m*/ * * @param request a {@link javax.servlet.http.HttpServletRequest} object. * @return a {@link org.opennms.netmgt.model.OnmsCriteria} object. */ public OnmsCriteria buildCriteria(HttpServletRequest request) { OnmsCriteria criteria = new OnmsCriteria(OnmsOutage.class); if (request.getParameter("nodeid") != null && request.getParameter("nodeid").length() > 0) { criteria.add(Restrictions.eq("node.id", WebSecurityUtils.safeParseInt(request.getParameter("nodeid")))); } if (request.getParameter("not_nodeid") != null && request.getParameter("not_nodeid").length() > 0) { criteria.add( Restrictions.ne("node.id", WebSecurityUtils.safeParseInt(request.getParameter("not_nodeid")))); } if (request.getParameter("ipinterfaceid") != null && request.getParameter("ipinterfaceid").length() > 0) { criteria.add(Restrictions.eq("ipInterface.id", WebSecurityUtils.safeParseInt(request.getParameter("ipinterfaceid")))); } if (request.getParameter("not_ipinterfaceid") != null && request.getParameter("not_ipinterfaceid").length() > 0) { criteria.add(Restrictions.ne("ipInterface.id", WebSecurityUtils.safeParseInt(request.getParameter("not_ipinterfaceid")))); } if (request.getParameter("serviceid") != null && request.getParameter("serviceid").length() > 0) { criteria.add(Restrictions.eq("monitoredService.serviceType.id", WebSecurityUtils.safeParseInt(request.getParameter("serviceid")))); } if (request.getParameter("not_serviceid") != null && request.getParameter("not_serviceid").length() > 0) { criteria.add(Restrictions.ne("monitoredService.serviceType.id", WebSecurityUtils.safeParseInt(request.getParameter("not_serviceid")))); } if (request.getParameter("ifserviceid") != null && request.getParameter("ifserviceid").length() > 0) { criteria.add(Restrictions.eq("monitoredService.id", WebSecurityUtils.safeParseInt(request.getParameter("ifserviceid")))); } if (request.getParameter("not_ifserviceid") != null && request.getParameter("not_ifserviceid").length() > 0) { criteria.add(Restrictions.ne("monitoredService.id", WebSecurityUtils.safeParseInt(request.getParameter("not_ifserviceid")))); } if (request.getParameter("smaller_iflostservice") != null && request.getParameter("smaller_iflostservice").length() > 0) { Date date = new Date(WebSecurityUtils.safeParseLong(request.getParameter("smaller_iflostservice"))); criteria.add(Restrictions.lt("ifLostService", date)); } if (request.getParameter("bigger_iflostservice") != null && request.getParameter("bigger_iflostservice").length() > 0) { Date date = new Date(WebSecurityUtils.safeParseLong(request.getParameter("bigger_iflostservice"))); criteria.add(Restrictions.gt("ifLostService", date)); } if (request.getParameter("smaller_ifregainedservice") != null && request.getParameter("smaller_ifregainedservice").length() > 0) { Date date = new Date(WebSecurityUtils.safeParseLong(request.getParameter("smaller_ifregainedservice"))); criteria.add(Restrictions.lt("ifRegainedService", date)); } if (request.getParameter("bigger_ifregainedservice") != null && request.getParameter("bigger_ifregainedservice").length() > 0) { Date date = new Date(WebSecurityUtils.safeParseLong(request.getParameter("bigger_ifregainedservice"))); criteria.add(Restrictions.gt("ifRegainedService", date)); } if (request.getParameter("building") != null && request.getParameter("building").length() > 0) { criteria.createAlias("node.assetRecord", "assetRecord"); criteria.add(Restrictions.eq("assetRecord.building", request.getParameter("building"))); } if (request.getParameter("category1") != null && request.getParameter("category1").length() > 0 && request.getParameter("category2") != null && request.getParameter("category2").length() > 0) { for (Criterion criterion : m_categoryDao.getCriterionForCategorySetsUnion( request.getParameterValues("category1"), request.getParameterValues("category2"))) { criteria.add(criterion); } } else if (request.getParameter("category1") != null && request.getParameter("category1").length() > 0) { for (Criterion criterion : m_categoryDao .getCriterionForCategorySetsUnion(request.getParameterValues("category1"))) { criteria.add(criterion); } } if ("true".equals(request.getParameter("currentOutages"))) { criteria.add(Restrictions.isNull("ifRegainedService")); } if ("true".equals(request.getParameter("resolvedOutages"))) { criteria.add(Restrictions.isNotNull("ifRegainedService")); } return criteria; }
From source file:org.opensingular.flow.persistence.service.AbstractHibernatePersistenceService.java
License:Apache License
public List<PROCESS_INSTANCE> retrieveProcessInstancesWith(PROCESS_DEF process, Date dataInicio, Date dataFim, java.util.Collection<? extends TASK_DEF> states) { Objects.requireNonNull(process); final Criteria c = getSession().createCriteria(getClassProcessInstance(), "PI"); c.createAlias("PI.processVersion", "DEF"); c.add(Restrictions.eq("DEF.processDefinition", process)); if (states != null && !states.isEmpty()) { DetachedCriteria sub = DetachedCriteria.forClass(getClassTaskInstance(), "T"); sub.add(Restrictions.eqProperty("T.processInstance.cod", "PI.cod")); sub.createAlias("T.task", "TV"); sub.add(Restrictions.in("TV.taskDefinition", states)); sub.add(Restrictions.isNull("T.endDate")); sub.setProjection(Projections.id()); c.add(Subqueries.exists(sub));/* w w w . j a v a 2 s. co m*/ } if (dataInicio != null && dataFim != null) { c.add(Restrictions.or( Restrictions.and(Restrictions.ge("PI.beginDate", dataInicio), Restrictions.lt("PI.beginDate", dataFim)), Restrictions.and(Restrictions.ge("PI.endDate", dataInicio), Restrictions.lt("PI.endDate", dataFim)), Restrictions.and(Restrictions.lt("PI.beginDate", dataInicio), Restrictions.ge("PI.endDate", dataInicio)), Restrictions.and(Restrictions.isNull("PI.endDate"), Restrictions.lt("PI.beginDate", dataFim)))); } else if (dataInicio != null) { c.add(Restrictions.or(Restrictions.ge("PI.beginDate", dataInicio), Restrictions.ge("PI.endDate", dataInicio), Restrictions .and(Restrictions.lt("PI.beginDate", dataInicio), Restrictions.isNull("PI.endDate")))); } else if (dataFim != null) { c.add(Restrictions.or(Restrictions.le("PI.beginDate", dataFim), Restrictions.le("PI.endDate", dataFim))); } c.addOrder(Order.desc("PI.beginDate")); return c.list(); }
From source file:org.openswing.swing.util.server.HibernateUtils.java
License:Open Source License
/** * Read a block of records from the result set, starting from the specified Criteria. * @param filteredColumns filtering conditions * @param currentSortedColumns sorting conditions (attribute names) * @param currentSortedVersusColumns sorting conditions (order versus) * @param action fetching versus: PREVIOUS_BLOCK_ACTION, NEXT_BLOCK_ACTION or LAST_BLOCK_ACTION * @param startPos start position of data fetching in result set * @param blockSize number of records to read * @param criteria Criteria object to execute * @param sess Session/*from ww w. j ava 2 s . c o m*/ */ public static Response getBlockFromCriteria(Map filteredColumns, ArrayList currentSortedColumns, ArrayList currentSortedVersusColumns, int action, int startIndex, int blockSize, Criteria criteria, Session sess) throws Exception { Iterator keys = filteredColumns.keySet().iterator(); String attributeName = null; FilterWhereClause[] filterClauses = null; int seqAlias = 0; HashMap listAlias = new HashMap(); String aliasEntity = ""; String aliasString = ""; String aliasName = ""; while (keys.hasNext()) { attributeName = keys.next().toString(); filterClauses = (FilterWhereClause[]) filteredColumns.get(attributeName); if (attributeName.indexOf(".") != -1) { while (attributeName.indexOf(".") != -1) { aliasString = seqAlias + ""; aliasEntity = attributeName.substring(0, attributeName.indexOf(".")); attributeName = attributeName.replaceAll(aliasEntity + ".", ""); if (listAlias.containsKey(aliasEntity)) { aliasString = (String) listAlias.get(aliasEntity); } else { if (!aliasName.equals("")) { aliasEntity = aliasName + "." + aliasEntity; } listAlias.put(aliasEntity, aliasString); seqAlias++; criteria.createAlias(aliasEntity, aliasString); } if (aliasName.equals("")) { aliasName = aliasEntity; } else { aliasName = aliasEntity + "." + aliasName; } } attributeName = aliasString + "." + attributeName; aliasName = ""; } if (filterClauses[0].getValue() != null && !(filterClauses[0].getOperator().equals(Consts.IS_NOT_NULL) || filterClauses[0].getOperator().equals(Consts.IS_NULL))) { if (filterClauses[0].getValue() instanceof ArrayList) { // name IN (...) // (name op value1 OR name op value2 OR ...) ArrayList inValues = (ArrayList) filterClauses[0].getValue(); criteria = criteria.add(Restrictions.in(attributeName, inValues)); } else { // name op value if (filterClauses[0].getOperator().equals(Consts.EQ)) { criteria = criteria.add(Restrictions.eq(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.NEQ)) { criteria = criteria.add(Restrictions.ne(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.LE)) { criteria = criteria.add(Restrictions.le(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.LT)) { criteria = criteria.add(Restrictions.lt(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.GE)) { criteria = criteria.add(Restrictions.ge(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.GT)) { criteria = criteria.add(Restrictions.gt(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.LIKE)) { criteria = criteria.add(Restrictions.like(attributeName, filterClauses[0].getValue())); } } } else { // name IS NULL // name IS NOT NULL if (filterClauses[0].getOperator().equals(Consts.IS_NULL)) { criteria = criteria.add(Restrictions.isNull(attributeName)); } else if (filterClauses[0].getOperator().equals(Consts.IS_NOT_NULL)) { criteria = criteria.add(Restrictions.isNotNull(attributeName)); } } if (filterClauses[1] != null) { if (filterClauses[1].getValue() != null && !(filterClauses[1].getOperator().equals(Consts.IS_NOT_NULL) || filterClauses[1].getOperator().equals(Consts.IS_NULL))) { if (filterClauses[1].getValue() instanceof ArrayList) { // name IN (...) // (name op value1 OR name op value2 OR ...) ArrayList inValues = (ArrayList) filterClauses[1].getValue(); criteria = criteria.add(Restrictions.in(attributeName, inValues)); } else { // name op value if (filterClauses[1].getOperator().equals(Consts.EQ)) { criteria = criteria.add(Restrictions.eq(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.NEQ)) { criteria = criteria.add(Restrictions.ne(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.LE)) { criteria = criteria.add(Restrictions.le(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.LT)) { criteria = criteria.add(Restrictions.lt(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.GE)) { criteria = criteria.add(Restrictions.ge(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.GT)) { criteria = criteria.add(Restrictions.gt(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.LIKE)) { criteria = criteria.add(Restrictions.like(attributeName, filterClauses[1].getValue())); } } } else { // name IS NULL // name IS NOT NULL if (filterClauses[1].getOperator().equals(Consts.IS_NULL)) { criteria = criteria.add(Restrictions.isNull(attributeName)); } else if (filterClauses[1].getOperator().equals(Consts.IS_NOT_NULL)) { criteria = criteria.add(Restrictions.isNotNull(attributeName)); } } } } // applying ordering conditions... for (int i = 0; i < currentSortedColumns.size(); i++) { if (currentSortedVersusColumns.get(i).equals(Consts.ASC_SORTED)) { criteria = criteria.addOrder(Order.asc(currentSortedColumns.get(i).toString())); } else { criteria = criteria.addOrder(Order.desc(currentSortedColumns.get(i).toString())); } } // read a block of records... ArrayList gridList = new ArrayList(); boolean moreRows = false; int resultSetLength = -1; int rowCount = 0; List list = null; if (action == GridParams.LAST_BLOCK_ACTION) { // last block requested: the whole result set will be loaded, to determine the result set length List tmp = criteria.list(); rowCount = tmp.size(); resultSetLength = rowCount; action = GridParams.NEXT_BLOCK_ACTION; startIndex = Math.max(rowCount - blockSize, 0); rowCount = 0; list = new ArrayList(); for (int i = startIndex; i < startIndex + blockSize; i++) { list.add(tmp.get(i)); } } else { if (action == GridParams.PREVIOUS_BLOCK_ACTION) { action = GridParams.NEXT_BLOCK_ACTION; startIndex = Math.max(startIndex - blockSize, 0); } criteria.setFirstResult(startIndex); criteria.setMaxResults(blockSize + 1); list = criteria.list(); } gridList.addAll(list); if (gridList.size() > blockSize) { gridList.remove(gridList.size() - 1); moreRows = true; } if (resultSetLength == -1) { resultSetLength = gridList.size(); } // if (gridList.size()>0 && gridList.get(0) instanceof Object[]) { // return QueryUtil.getQuery( // query.getReturnAliases(), // valueObjectClass, // gridList, // moreRows // ); // // } return new VOListResponse(gridList, moreRows, resultSetLength); }
From source file:org.openswing.swing.util.server.HibernateUtils.java
License:Open Source License
/** * Read all records from the result set, starting from the specified Criteria. * @param valueObjectClass value object type * @param filteredColumns filtering conditions * @param currentSortedColumns sorting conditions (attribute names) * @param currentSortedVersusColumns sorting conditions (order versus) * @param fetchMode FetchMode object, used to specificy how to retrieve inner objects; e.g. FetchMode.INNER * @param sess Session/* w w w . j a v a 2 s. co m*/ */ public static Response getAllFromCriteria(Map filteredColumns, ArrayList currentSortedColumns, ArrayList currentSortedVersusColumns, Criteria criteria, Session sess) throws Exception { Iterator keys = filteredColumns.keySet().iterator(); String attributeName = null; FilterWhereClause[] filterClauses = null; int seqAlias = 0; HashMap listAlias = new HashMap(); String aliasEntity = ""; String aliasString = ""; String aliasName = ""; while (keys.hasNext()) { attributeName = keys.next().toString(); filterClauses = (FilterWhereClause[]) filteredColumns.get(attributeName); if (attributeName.indexOf(".") != -1) { while (attributeName.indexOf(".") != -1) { aliasString = seqAlias + ""; aliasEntity = attributeName.substring(0, attributeName.indexOf(".")); attributeName = attributeName.replaceAll(aliasEntity + ".", ""); if (listAlias.containsKey(aliasEntity)) { aliasString = (String) listAlias.get(aliasEntity); } else { if (!aliasName.equals("")) { aliasEntity = aliasName + "." + aliasEntity; } listAlias.put(aliasEntity, aliasString); seqAlias++; criteria.createAlias(aliasEntity, aliasString); } if (aliasName.equals("")) { aliasName = aliasEntity; } else { aliasName = aliasEntity + "." + aliasName; } } attributeName = aliasString + "." + attributeName; aliasName = ""; } if (filterClauses[0].getValue() != null && !(filterClauses[0].getOperator().equals(Consts.IS_NOT_NULL) || filterClauses[0].getOperator().equals(Consts.IS_NULL))) { if (filterClauses[0].getValue() instanceof ArrayList) { // name IN (...) // (name op value1 OR name op value2 OR ...) ArrayList inValues = (ArrayList) filterClauses[0].getValue(); criteria = criteria.add(Restrictions.in(attributeName, inValues)); } else { // name op value if (filterClauses[0].getOperator().equals(Consts.EQ)) { criteria = criteria.add(Restrictions.eq(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.NEQ)) { criteria = criteria.add(Restrictions.ne(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.LE)) { criteria = criteria.add(Restrictions.le(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.LT)) { criteria = criteria.add(Restrictions.lt(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.GE)) { criteria = criteria.add(Restrictions.ge(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.GT)) { criteria = criteria.add(Restrictions.gt(attributeName, filterClauses[0].getValue())); } else if (filterClauses[0].getOperator().equals(Consts.LIKE)) { criteria = criteria.add(Restrictions.like(attributeName, filterClauses[0].getValue())); } } } else { // name IS NULL // name IS NOT NULL if (filterClauses[0].getOperator().equals(Consts.IS_NULL)) { criteria = criteria.add(Restrictions.isNull(attributeName)); } else if (filterClauses[0].getOperator().equals(Consts.IS_NOT_NULL)) { criteria = criteria.add(Restrictions.isNotNull(attributeName)); } } if (filterClauses[1] != null) { if (filterClauses[1].getValue() != null && !(filterClauses[1].getOperator().equals(Consts.IS_NOT_NULL) || filterClauses[1].getOperator().equals(Consts.IS_NULL))) { if (filterClauses[1].getValue() instanceof ArrayList) { // name IN (...) // (name op value1 OR name op value2 OR ...) ArrayList inValues = (ArrayList) filterClauses[1].getValue(); criteria = criteria.add(Restrictions.in(attributeName, inValues)); } else { // name op value if (filterClauses[1].getOperator().equals(Consts.EQ)) { criteria = criteria.add(Restrictions.eq(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.NEQ)) { criteria = criteria.add(Restrictions.ne(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.LE)) { criteria = criteria.add(Restrictions.le(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.LT)) { criteria = criteria.add(Restrictions.lt(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.GE)) { criteria = criteria.add(Restrictions.ge(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.GT)) { criteria = criteria.add(Restrictions.gt(attributeName, filterClauses[1].getValue())); } else if (filterClauses[1].getOperator().equals(Consts.LIKE)) { criteria = criteria.add(Restrictions.like(attributeName, filterClauses[1].getValue())); } } } else { // name IS NULL // name IS NOT NULL if (filterClauses[1].getOperator().equals(Consts.IS_NULL)) { criteria = criteria.add(Restrictions.isNull(attributeName)); } else if (filterClauses[1].getOperator().equals(Consts.IS_NOT_NULL)) { criteria = criteria.add(Restrictions.isNotNull(attributeName)); } } } } // applying ordering conditions... for (int i = 0; i < currentSortedColumns.size(); i++) { if (currentSortedVersusColumns.get(i).equals(Consts.ASC_SORTED)) { criteria = criteria.addOrder(Order.asc(currentSortedColumns.get(i).toString())); } else { criteria = criteria.addOrder(Order.desc(currentSortedColumns.get(i).toString())); } } // read a block of records... ArrayList gridList = new ArrayList(); boolean moreRows = false; List list = criteria.list(); int rowCount = list.size(); int resultSetLength = rowCount; gridList.addAll(list); // if (gridList.size()>0 && gridList.get(0) instanceof Object[]) { // return QueryUtil.getQuery( // query.getReturnAliases(), // valueObjectClass, // gridList, // moreRows // ); // // } return new VOListResponse(gridList, moreRows, resultSetLength); }
From source file:org.osiam.resources.helper.SingularFilterChain.java
License:Apache License
@Override public Criterion buildCriterion() { switch (constraint) { case CONTAINS: return Restrictions.like(key, "%" + value + "%"); case STARTS_WITH: return Restrictions.like(key, value + "%"); case EQUALS:// w w w. j av a2 s. co m return Restrictions.eq(key, value); case GREATER_EQUALS: return Restrictions.ge(key, value); case GREATER_THAN: return Restrictions.gt(key, value); case LESS_EQUALS: return Restrictions.le(key, value); case LESS_THAN: return Restrictions.lt(key, value); case PRESENT: return Restrictions.isNotNull(key); default: throw new IllegalArgumentException("Unknown constraint."); } }
From source file:org.projectforge.business.fibu.kost.BuchungssatzDao.java
License:Open Source License
@Override public List<BuchungssatzDO> getList(final BaseSearchFilter filter) { accessChecker.checkIsLoggedInUserMemberOfGroup(ProjectForgeGroup.FINANCE_GROUP, ProjectForgeGroup.CONTROLLING_GROUP); final BuchungssatzFilter myFilter; if (filter instanceof BuchungssatzFilter) { myFilter = (BuchungssatzFilter) filter; } else {/* ww w. j a va 2 s. c om*/ myFilter = new BuchungssatzFilter(filter); } final QueryFilter queryFilter = new QueryFilter(filter); if (validateTimeperiod(myFilter) == false) { throw new UserException("fibu.buchungssatz.error.invalidTimeperiod"); } if (myFilter.getFromMonth() < 0) { // Kein Von-Monat gesetzt. queryFilter.add(Restrictions.eq("year", myFilter.getFromYear())); queryFilter.add(Restrictions.between("month", 0, 11)); } else if (myFilter.getToYear() > 0) { if (myFilter.getFromYear() == myFilter.getToYear()) { queryFilter.add(Restrictions.eq("year", myFilter.getFromYear())); queryFilter.add(Restrictions.between("month", myFilter.getFromMonth(), myFilter.getToMonth())); } else { // between but different years queryFilter.add(Restrictions.disjunction() .add(Restrictions.and(Restrictions.eq("year", myFilter.getFromYear()), Restrictions.ge("month", myFilter.getFromMonth()))) .add(Restrictions.and(Restrictions.eq("year", myFilter.getToYear()), Restrictions.le("month", myFilter.getToMonth()))) .add(Restrictions.and(Restrictions.gt("year", myFilter.getFromYear()), Restrictions.lt("year", myFilter.getToYear())))); } } else { // Nur Von-Monat gesetzt. queryFilter.add(Restrictions.eq("year", myFilter.getFromYear())); queryFilter.add(Restrictions.eq("month", myFilter.getFromMonth())); } queryFilter.addOrder(Order.asc("year")).addOrder(Order.asc("month")).addOrder(Order.asc("satznr")); final List<BuchungssatzDO> list = getList(queryFilter); return list; }