Package org.projectforge.core

Examples of org.projectforge.core.QueryFilter


    return params;
  }

  private BaseDO< ? > getEntry(final BaseDao< ? > dao, final String tutorialReference)
  {
    final QueryFilter filter = new QueryFilter();
    filter.add(Restrictions.ilike("description", "%" + tutorialReference + "%"));
    final List< ? > list = dao.internalGetList(filter);
    if (CollectionUtils.isNotEmpty(dao.internalGetList(filter)) == true) {
      return (BaseDO< ? >) list.get(0);
    }
    return null;
View Full Code Here


    if (filter instanceof AddressCampaignValueFilter) {
      myFilter = (AddressCampaignValueFilter) filter;
    } else {
      myFilter = new AddressCampaignValueFilter(filter);
    }
    final QueryFilter queryFilter = new QueryFilter(myFilter);
    if (myFilter.getAddressCampaign() != null) {
      queryFilter.add(Restrictions.eq("address_campaign_fk", myFilter.getAddressCampaign().getId()));
    }
    if (myFilter.getAddressCampaignValue() != null) {
      queryFilter.add(Restrictions.eq("value", myFilter.getAddressCampaign().getId()));
    }
    return getList(queryFilter);
  }
View Full Code Here

    if (filter instanceof SkillRatingFilter) {
      myFilter = (SkillRatingFilter) filter;
    } else {
      myFilter = new SkillRatingFilter(filter);
    }
    final QueryFilter queryFilter = new QueryFilter(myFilter);
    final String searchString = myFilter.getSearchString();

    if (myFilter.getSkillRating() != null) {
      final Object[] values = SkillRating.getRequiredExperienceValues(myFilter
          .getSkillRating());
      queryFilter.add(Restrictions.in("skillRating", values));
    }

    if (myFilter.getSkillId() != null) {
      final SkillDO skill = new SkillDO();
      skill.setId(myFilter.getSkillId());
      queryFilter.add(Restrictions.eq("skill", skill));
    }

    if (myFilter.getUserId() != null) {
      final PFUserDO user = new PFUserDO();
      user.setId(myFilter.getUserId());
      queryFilter.add(Restrictions.eq("user", user));
    }

    myFilter.setSearchString(searchString); // Restore search string.
    return getList(queryFilter);
  }
View Full Code Here

    if (filter instanceof LiquidityFilter) {
      myFilter = (LiquidityFilter) filter;
    } else {
      myFilter = new LiquidityFilter(filter);
    }
    final QueryFilter queryFilter = new QueryFilter(myFilter);
    final List<LiquidityEntryDO> list = getList(queryFilter);
    if (myFilter.getPaymentStatus() == PaymentStatus.ALL
        && myFilter.getAmountType() == AmountType.ALL
        && myFilter.getNextDays() <= 0
        || myFilter.isDeleted() == true) {
View Full Code Here

        }
        result.add(eventDO);
      }
    }
    final TeamEventFilter teamEventFilter = filter.clone().setOnlyRecurrence(true);
    final QueryFilter qFilter = buildQueryFilter(teamEventFilter);
    qFilter.add(Restrictions.isNotNull("recurrenceRule"));
    list = getList(qFilter);
    list = selectUnique(list);
    // add all abo events
    final List<TeamEventDO> recurrenceEvents = TeamEventExternalSubscriptionCache.instance().getRecurrenceEvents(teamEventFilter);
    if (recurrenceEvents != null && recurrenceEvents.size() > 0) {
View Full Code Here

      teamEventFilter = new TeamEventFilter(filter);
    }
    if (CollectionUtils.isEmpty(teamEventFilter.getTeamCals()) == true && teamEventFilter.getTeamCalId() == null) {
      return new ArrayList<TeamEventDO>();
    }
    final QueryFilter qFilter = buildQueryFilter(teamEventFilter);
    final List<TeamEventDO> list = getList(qFilter);
    final List<TeamEventDO> result = new ArrayList<TeamEventDO>(list.size());
    if (list != null) {
      for (final TeamEventDO event : list) {
        if (matches(event.getStartDate(), event.getEndDate(), event.isAllDay(), teamEventFilter) == true) {
View Full Code Here

   * @param filter
   * @return
   */
  private QueryFilter buildQueryFilter(final TeamEventFilter filter)
  {
    final QueryFilter queryFilter = new QueryFilter(filter);
    final Collection<Integer> cals = filter.getTeamCals();
    if (CollectionUtils.isNotEmpty(cals) == true) {
      queryFilter.add(Restrictions.in("calendar.id", cals));
    } else if (filter.getTeamCalId() != null) {
      queryFilter.add(Restrictions.eq("calendar.id", filter.getTeamCalId()));
    }
    // Following period extension is needed due to all day events which are stored in UTC. The additional events in the result list not
    // matching the time period have to be removed by caller!
    Date startDate = filter.getStartDate();
    if (startDate != null) {
      startDate = new Date(startDate.getTime() - ONE_DAY);
    }
    Date endDate = filter.getEndDate();
    if (endDate != null) {
      endDate = new Date(endDate.getTime() + ONE_DAY);
    }
    // limit events to load to chosen date view.
    if (startDate != null && endDate != null) {
      if (filter.isOnlyRecurrence() == false) {
        queryFilter.add(Restrictions.or(
            (Restrictions.or(Restrictions.between("startDate", startDate, endDate), Restrictions.between("endDate", startDate, endDate))),
            // get events whose duration overlap with chosen duration.
            (Restrictions.and(Restrictions.le("startDate", startDate), Restrictions.ge("endDate", endDate)))));
      } else {
        queryFilter.add(
            // "startDate" < endDate && ("recurrenceUntil" == null || "recurrenceUntil" > startDate)
            (Restrictions.and(Restrictions.lt("startDate", endDate),
                Restrictions.or(Restrictions.isNull("recurrenceUntil"), Restrictions.gt("recurrenceUntil", startDate)))));
      }
    } else if (startDate != null) {
      if (filter.isOnlyRecurrence() == false) {
        queryFilter.add(Restrictions.ge("startDate", startDate));
      } else {
        // This branch is reached for subscriptions and calendar downloads.
        queryFilter.add(
            // "recurrenceUntil" == null || "recurrenceUntil" > startDate
            Restrictions.or(Restrictions.isNull("recurrenceUntil"), Restrictions.gt("recurrenceUntil", startDate)));
      }
    } else if (endDate != null) {
      queryFilter.add(Restrictions.le("startDate", endDate));
    }
    queryFilter.addOrder(Order.desc("startDate"));
    if (log.isDebugEnabled() == true) {
      log.debug(ToStringBuilder.reflectionToString(filter));
    }
    return queryFilter;
  }
View Full Code Here

   * @param all If false, only the birthdays of favorites will be returned.
   * @return The entries are ordered by date of year and name.
   */
  public Set<BirthdayAddress> getBirthdays(final Date fromDate, final Date toDate, final int max, final boolean all)
  {
    final QueryFilter filter = new QueryFilter();
    filter.add(Restrictions.isNotNull("birthday"));
    final List<AddressDO> list = getList(filter);
    // Uses not Collections.sort because every comparison needs Calendar.getDayOfYear().
    final Set<BirthdayAddress> set = new TreeSet<BirthdayAddress>();
    final Set<Integer> favorites = getFavorites();
    final DateHolder from = new DateHolder(fromDate);
View Full Code Here

   * @return
   * @see #getNewestMax()
   */
  public List<AddressDO> getNewest(final BaseSearchFilter filter)
  {
    final QueryFilter queryFilter = new QueryFilter();
    queryFilter.addOrder(Order.desc("created"));
    if (filter.getMaxRows() > 0) {
      queryFilter.setMaxResults(filter.getMaxRows());
    }
    return getList(queryFilter);
  }
View Full Code Here

    if (filter instanceof AddressFilter) {
      myFilter = (AddressFilter) filter;
    } else {
      myFilter = new AddressFilter(filter);
    }
    final QueryFilter queryFilter = new QueryFilter(myFilter);
    if (StringUtils.isBlank(myFilter.getSearchString()) == true) {
      if (myFilter.isDeleted() == false) {
        if (myFilter.isNewest() == true) {
          return getNewest(myFilter);
        }
        if (myFilter.isMyFavorites() == true) {
          // Show only favorites.
          return personalAddressDao.getMyAddresses();
        }
      }
    } else {
      if (StringUtils.isNumeric(filter.getSearchString()) == true) {
        myFilter.setSearchString("*" + myFilter.getSearchString() + "*");
      }
    }
    if (myFilter.isFilter() == true) {
      // Proceed contact status:
      // Use filter only for non deleted entries:
      if (myFilter.isActive() == true
          || myFilter.isNonActive() == true
          || myFilter.isUninteresting() == true
          || myFilter.isDeparted() == true
          || myFilter.isPersonaIngrata() == true) {
        final Collection<ContactStatus> col = new ArrayList<ContactStatus>();
        if (myFilter.isActive() == true) {
          col.add(ContactStatus.ACTIVE);
        }
        if (myFilter.isNonActive() == true) {
          col.add(ContactStatus.NON_ACTIVE);
        }
        if (myFilter.isUninteresting() == true) {
          col.add(ContactStatus.UNINTERESTING);
        }
        if (myFilter.isDeparted() == true) {
          col.add(ContactStatus.DEPARTED);
        }
        if (myFilter.isPersonaIngrata() == true) {
          col.add(ContactStatus.PERSONA_INGRATA);
        }
        queryFilter.add(Restrictions.in("contactStatus", col));
      }

      // Proceed address status:
      // Use filter only for non deleted books:
      if (myFilter.isUptodate() == true || myFilter.isOutdated() == true || myFilter.isLeaved() == true) {
        final Collection<AddressStatus> col = new ArrayList<AddressStatus>();
        if (myFilter.isUptodate() == true) {
          col.add(AddressStatus.UPTODATE);
        }
        if (myFilter.isOutdated() == true) {
          col.add(AddressStatus.OUTDATED);
        }
        if (myFilter.isLeaved() == true) {
          col.add(AddressStatus.LEAVED);
        }
        queryFilter.add(Restrictions.in("addressStatus", col));
      }
    }
    queryFilter.addOrder(Order.asc("name"));
    final List<AddressDO> result = getList(queryFilter);
    if (myFilter.isDoublets() == true) {
      final HashSet<String> fullnames = new HashSet<String>();
      final HashSet<String> doubletFullnames = new HashSet<String>();
      for (final AddressDO address : result) {
View Full Code Here

TOP

Related Classes of org.projectforge.core.QueryFilter

Copyright © 2018 www.massapicom. 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.