List of usage examples for org.hibernate.criterion Restrictions lt
public static SimpleExpression lt(String propertyName, Object value)
From source file:org.sakaiproject.signup.dao.SignupMeetingDaoImpl.java
License:Educational Community License
@SuppressWarnings("unchecked") public List<SignupMeeting> getSignupMeetingsInSite(String siteId, Date startDate, Date endDate) { DetachedCriteria criteria = DetachedCriteria.forClass(SignupMeeting.class) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).add(Restrictions.ge("endTime", startDate)) .add(Restrictions.lt("startTime", endDate)).addOrder(Order.asc("startTime")) .createCriteria("signupSites").add(Restrictions.eq("siteId", siteId)); return (List<SignupMeeting>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.sakaiproject.signup.dao.SignupMeetingDaoImpl.java
License:Educational Community License
/** * {@inheritDoc}//from w w w .j a va 2 s . c o m */ @SuppressWarnings("unchecked") public List<SignupMeeting> getSignupMeetingsInSites(List<String> siteIds, Date startDate, Date endDate) { DetachedCriteria criteria = DetachedCriteria.forClass(SignupMeeting.class) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).add(Restrictions.ge("endTime", startDate)) .add(Restrictions.lt("startTime", endDate)).addOrder(Order.asc("startTime")) .createCriteria("signupSites").add(Restrictions.in("siteId", siteIds)); return (List<SignupMeeting>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.sakaiproject.sitestats.impl.event.detailed.DetailedEventsManagerImpl.java
License:Educational Community License
private Optional<Criteria> basicCriteriaForTrackingParams(Session session, final TrackingParams params) { Criteria crit = session.createCriteria(DetailedEventImpl.class); if (StringUtils.isNotBlank(params.siteId)) { crit.add(Restrictions.eq(SITE_ID_COL, params.siteId)); }//from w ww.j av a 2s . c o m if (!params.events.isEmpty()) { crit.add(Restrictions.in(EVENT_ID_COL, params.events)); } // Filter out any users who do not have the can be tracked permission in the site List<String> filtered = params.userIds.stream().filter(u -> statsAuthz.canUserBeTracked(params.siteId, u)) .collect(Collectors.toList()); // must have at least one user if (filtered.isEmpty()) { return Optional.empty(); } crit.add(Restrictions.in(USER_ID_COL, filtered)); if (!TrackingParams.NO_DATE.equals(params.startDate)) { crit.add(Restrictions.ge(EVENT_DATE_COL, Date.from(params.startDate))); } if (!TrackingParams.NO_DATE.equals(params.endDate)) { crit.add(Restrictions.lt(EVENT_DATE_COL, Date.from(params.endDate))); } // filter out anonymous events Set<String> anonEvents = regServ.getAnonymousEventIds(); if (!anonEvents.isEmpty()) { crit.add(Restrictions.not(Restrictions.in(EVENT_ID_COL, anonEvents))); } return Optional.of(crit); }
From source file:org.sculptor.framework.accessimpl.jpahibernate.JpaHibFindByConditionAccessImpl.java
License:Apache License
private Criterion makeCriterion(ConditionalCriteria crit) { if (crit == null) { return null; }//from www. j a v a 2 s . c o m ConditionalCriteria.Operator operator = crit.getOperator(); if (Operator.Equal.equals(operator)) { return Restrictions.eq(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant()); } else if (Operator.IgnoreCaseEqual.equals(operator)) { return Restrictions.eq(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant()) .ignoreCase(); } else if (Operator.LessThan.equals(operator)) { return Restrictions.lt(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant()); } else if (Operator.LessThanOrEqual.equals(operator)) { return Restrictions.le(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant()); } else if (Operator.GreatThan.equals(operator)) { return Restrictions.gt(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant()); } else if (Operator.GreatThanOrEqual.equals(operator)) { return Restrictions.ge(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant()); } else if (Operator.Like.equals(operator)) { // Hibernate bug HHH-5339 + PostgreSQL missing 'number like string' conversion return new NumericLikeExpression(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant().toString(), false); } else if (Operator.IgnoreCaseLike.equals(operator)) { // Hibernate bug HHH-5339 + PostgreSQL missing 'number like string' conversion return new NumericLikeExpression(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant().toString(), true); } else if (Operator.IsNull.equals(operator)) { return Restrictions.isNull(makePathWithAlias(crit.getPropertyFullName())); } else if (Operator.IsNotNull.equals(operator)) { return Restrictions.isNotNull(makePathWithAlias(crit.getPropertyFullName())); } else if (Operator.IsEmpty.equals(operator)) { return Restrictions.isEmpty(makePathWithAlias(crit.getPropertyFullName())); } else if (Operator.IsNotEmpty.equals(operator)) { return Restrictions.isNotEmpty(makePathWithAlias(crit.getPropertyFullName())); } else if (Operator.Not.equals(operator)) { return Restrictions.not(makeCriterion((ConditionalCriteria) crit.getFirstOperant())); } else if (Operator.Or.equals(operator) && crit.getFirstOperant() instanceof List<?>) { Disjunction disj = Restrictions.disjunction(); List<?> disjList = (List<?>) crit.getFirstOperant(); for (Object disjPart : disjList) { disj.add(makeCriterion((ConditionalCriteria) disjPart)); } return disj; } else if (Operator.Or.equals(operator)) { return Restrictions.or(makeCriterion((ConditionalCriteria) crit.getFirstOperant()), makeCriterion((ConditionalCriteria) crit.getSecondOperant())); } else if (Operator.And.equals(operator) && crit.getFirstOperant() instanceof List<?>) { Conjunction conj = Restrictions.conjunction(); List<?> conjList = (List<?>) crit.getFirstOperant(); for (Object conjPart : conjList) { conj.add(makeCriterion((ConditionalCriteria) conjPart)); } return conj; } else if (Operator.And.equals(operator)) { return Restrictions.and(makeCriterion((ConditionalCriteria) crit.getFirstOperant()), makeCriterion((ConditionalCriteria) crit.getSecondOperant())); } else if (Operator.In.equals(operator)) { if (crit.getFirstOperant() instanceof Collection<?>) { return Restrictions.in(makePathWithAlias(crit.getPropertyFullName()), (Collection<?>) crit.getFirstOperant()); } else { return Restrictions.in(makePathWithAlias(crit.getPropertyFullName()), (Object[]) crit.getFirstOperant()); } } else if (Operator.Between.equals(operator)) { return Restrictions.between(makePathWithAlias(crit.getPropertyFullName()), crit.getFirstOperant(), crit.getSecondOperant()); } else if (Operator.DistinctRoot.equals(operator)) { realDistinctRoot = true; return null; } else if (Operator.ProjectionRoot.equals(operator)) { resultTransformer = Criteria.PROJECTION; return null; } else if (Operator.EqualProperty.equals(operator)) { return Restrictions.eqProperty(makePathWithAlias(crit.getPropertyFullName()), (String) crit.getFirstOperant()); } else if (Operator.LessThanProperty.equals(operator)) { return Restrictions.ltProperty(makePathWithAlias(crit.getPropertyFullName()), (String) crit.getFirstOperant()); } else if (Operator.LessThanOrEqualProperty.equals(operator)) { return Restrictions.leProperty(makePathWithAlias(crit.getPropertyFullName()), (String) crit.getFirstOperant()); } else if (Operator.GreatThanProperty.equals(operator)) { return Restrictions.gtProperty(makePathWithAlias(crit.getPropertyFullName()), (String) crit.getFirstOperant()); } else if (Operator.GreatThanOrEqualProperty.equals(operator)) { return Restrictions.geProperty(makePathWithAlias(crit.getPropertyFullName()), (String) crit.getFirstOperant()); } else { return null; } }
From source file:org.shredzone.cilla.service.search.strategy.AbstractSearchStrategy.java
License:Open Source License
@SuppressWarnings("unchecked") @Override//from w w w.j a v a 2s .c o m public Set<Integer> fetchPageDays(SearchResultImpl result, Calendar calendar) throws CillaServiceException { if (calendar == null) { return Collections.emptySet(); } Calendar start = DateUtils.beginningOfMonth(calendar); Calendar end = DateUtils.beginningOfNextMonth(calendar); Criteria crit = createCriteria(result); crit.add(Restrictions.ge(pageOrder.getColumn(), start.getTime())); crit.add(Restrictions.lt(pageOrder.getColumn(), end.getTime())); // Sadly there is no HQL function to get the calendary day of a timestamp, // so we have to do all the hard work ourselves, to avoid SQL dialects. :( crit.setProjection(Projections.property(pageOrder.getColumn())); Calendar cal = Calendar.getInstance(calendar.getTimeZone()); Set<Integer> daysResult = new HashSet<>(); for (Date day : (List<Date>) crit.list()) { cal.setTime(day); daysResult.add(cal.get(Calendar.DAY_OF_MONTH)); } return daysResult; }
From source file:org.squashtest.tm.internal.domain.report.common.hibernate.BelowDateCriterion.java
License:Open Source License
@Override public Criterion makeCriterion() { try {/*from w w w . j a v a2s . com*/ Criterion result = null; Date arg = makeDate(); result = Restrictions.lt(getAttributePath(), arg); return result; } catch (Exception e) { return null; } }
From source file:org.traffic.server.handler.UpdateHandler.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w w w. j a va 2 s . c o m*/ public void handleRequest(Request r) { // check if the client has a valid identification if (r.getClient() == null) { SocketCommunicator.writeOutput(getSocket(), "{'error': 'no valid identification'}"); Log.e("UpdateHandler", "Error@handleRequest:no valid identification"); return; } Session s = Database.session(); s.beginTransaction(); // getting the data of the client if (r.getData().containsKey("lat") && r.getData().containsKey("lon") && r.getData().containsKey("time") && r.getData().containsKey("speed")) { int bboxType = Integer.valueOf(r.getData().getString("bbox")); double lat = r.getData().getDouble("lat"); double lon = r.getData().getDouble("lon"); long time = r.getData().getLong("time"); double speed = r.getData().getDouble("speed"); boolean save = true; if (r.getData().containsKey("save")) { save = r.getData().getBoolean("save"); } String hash = r.getID(); Point p = GeomHelper.createPoint(lon, lat); UserData d = new UserData(new Date(time), p, speed, hash); // building the response Response res = new Response(); RoadStrip rs = (RoadStrip) s.createCriteria(RoadStrip.class) .add(new DWithinExpression("way", p, 8.2E-4)).addOrder(LocalDistanceOrder.asc("distance", p)) .setMaxResults(1).uniqueResult(); if (rs != null) { List<UserData> prevData = (List<UserData>) s.createCriteria(UserData.class) .add(Restrictions.eq("connectionhash", r.getID())) .add(Restrictions.lt("time", new Date(time))).add(Restrictions.isNotNull("road_id")) .addOrder(Order.desc("time")).list(); // getting the driving direction boolean driveDirection = false; if (prevData.size() > 0) { UserData prev = prevData.get(0); if (prev.getRoad_id() == rs.getId()) { driveDirection = (prev.getPosition().distance(rs.getWay().getStartPoint()) < d.getPosition() .distance(rs.getWay().getStartPoint())); } else { driveDirection = (prev.getPosition().distance(rs.getWay().getStartPoint()) > prev .getPosition().distance(rs.getWay().getEndPoint())); } } // adding the current road to the response d.setRoad_id(rs.getId()); Map<String, Object> map = new HashMap<String, Object>(); map.put("id", rs.getId()); int max = (rs.getRoad().getMaxspeed() != null) ? rs.getRoad().getMaxspeed() : 0; map.put("maxspeed", max); map.put("speed", rs.getBestSpeed(driveDirection).getSpeed()); map.put("quality", rs.getBestSpeed(driveDirection).getCategory()); res.append(map, "traffic"); // surrounding congestions of the current road List<Congestion> congestions = new LinkedList<Congestion>(); congestions.addAll(rs.getCongestions()); if (bboxType != 1) { // adding all known neighbours to the response Criteria crit = s.createCriteria(RoadStrip.class).add(Restrictions.ne("id", rs.getId())); if (bboxType == 2) { crit.add(SpatialRestrictions.intersects("way", rs.getWay())); } else { crit.add(SpatialRestrictions.intersects("way", GeomHelper.createRectangle(p, 2000))); } List<RoadStrip> neighbours = (List<RoadStrip>) crit.list(); // adding the neighbors to the output for (RoadStrip neighbour : neighbours) { boolean direction = neighbour.getWay().getStartPoint().intersects(rs.getWay()); map = new HashMap<String, Object>(); map.put("id", neighbour.getId()); max = (neighbour.getRoad().getMaxspeed() != null) ? neighbour.getRoad().getMaxspeed() : 0; map.put("maxspeed", max); map.put("speed", neighbour.getBestSpeed(direction).getSpeed()); map.put("quality", neighbour.getBestSpeed(direction).getCategory()); res.append(map, "traffic"); // congestions of the neighbor congestions.addAll(neighbour.getCongestions()); } } // sending congestions to the client for (Congestion c : congestions) { map = new HashMap<String, Object>(); map.put("lon", c.getPosition().getX()); map.put("lat", c.getPosition().getY()); map.put("type", c.getType()); map.put("time", c.getReportingtime().getTime()); map.put("id", c.getId()); res.append(map, "congestions"); } } // check if a route is active and has changed since the last request if (r.getClient().getRoute() != null && r.getClient().getRoute().isUpdated()) { res.append(true, "routing"); } // send, clear and save SocketCommunicator.writeOutput(getSocket(), res.getData()); if (save) { s.clear(); s.save(d); Database.end(true); } else { Database.end(false); } } else { SocketCommunicator.writeOutput(getSocket(), "{error: 'missing arguments'}"); } }
From source file:org.traffic.services.SetDirectionService.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*w w w . jav a2s.co m*/ protected void serve() { Session s = Database.session(); s.beginTransaction(); // loading all data without driving direction List<UserData> lst = (List<UserData>) s.createCriteria(UserData.class) .add(Restrictions.or(Restrictions.isNull("to_start"), Restrictions.isNull("to_end"))).list(); for (UserData data : lst) { if (data.getRoad_id() == null) { continue; } // searching previous message RoadStrip rs = (RoadStrip) s.load(RoadStrip.class, data.getRoad_id()); List<UserData> lstPrev = (List<UserData>) s.createCriteria(UserData.class) .add(Restrictions.lt("time", data.getTime())).addOrder(Order.desc("time")).setMaxResults(1) .list(); for (UserData prev : lstPrev) { // previous message on the same road if (prev.getRoad_id() == data.getRoad_id()) { double dist = data.getPosition().distance(rs.getWay().getStartPoint()); double distPrev = prev.getPosition().distance(rs.getWay().getStartPoint()); if (dist > distPrev) { data.setTo_end(true); data.setTo_start(false); } else { data.setTo_end(false); data.setTo_start(true); } } else { // previous message on another road double distStartPrev = prev.getPosition().distance(rs.getWay().getStartPoint()); double distEndPrev = prev.getPosition().distance(rs.getWay().getEndPoint()); if (distStartPrev > distEndPrev) { data.setTo_end(false); data.setTo_start(true); } else { data.setTo_end(true); data.setTo_start(false); } } } if (lstPrev.size() == 0) { data.setTo_end(true); data.setTo_start(true); } } Database.end(true); Log.i("SetDirections", lst.size() + " line(s) of UserData with directions refreshed"); }
From source file:org.webcurator.core.report.impl.CrawlerActivityReport.java
License:Apache License
/** * Generate the Crawler Activity Report//from ww w . ja v a 2 s .c o m * * @param startDate Start date<br>Is inclusive and value is mandatory * @param endDate End date.<br> Is inclusive and value is mandatory * @param agencyName Name of Agency<br><code>null</code> value is accepted * @param userName Username<br><code>null</code> value is accepted * @return A <code>List</code> of <code>ResultSet</code> */ @SuppressWarnings("unchecked") protected List<ResultSet> runReport(final Date startDate, final Date endDate, final String agencyName, final String userName) { List results = (List) getHibernateTemplate().execute(new HibernateCallback() { @SuppressWarnings("unchecked") public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria query = session.createCriteria(TargetInstance.class); Criteria owner = null; if (userName != null && !userName.equals("All users")) { owner = query.createCriteria("owner").add(Restrictions.eq("username", userName)); } if (owner == null) { if (agencyName != null && !agencyName.equals("All agencies")) { query.createCriteria("owner").createCriteria("agency") .add(Restrictions.eq("name", agencyName)); } } else { if (agencyName != null && !agencyName.equals("All agencies")) { owner.createCriteria("agency").add(Restrictions.eq("name", agencyName)); } } query.add(Restrictions.ge("actualStartTime", startDate)); query.add(Restrictions.lt("actualStartTime", endDate)); query.add(Restrictions.not(Restrictions.in("state", new Object[] { TargetInstance.STATE_QUEUED, TargetInstance.STATE_SCHEDULED }))); query.addOrder(Order.asc("actualStartTime")); List<TargetInstance> results = query.list(); List realResults = new ArrayList<CrawlerActivityReportResultSet>(results.size()); for (TargetInstance ti : results) { Date endDate = null; // Target has finished, calculate the end date; otherwise leave it as null. if (!"Running".equals(ti.getState()) && !"Stopping".equals(ti.getState()) && ti.getActualStartTime() != null && ti.getStatus() != null) { endDate = new Date(ti.getActualStartTime().getTime() + ti.getStatus().getElapsedTime()); } realResults.add(new CrawlerActivityReportResultSet(ti.getOid(), ti.getTarget().getName(), ti.getState(), ti.getActualStartTime(), endDate, ti.getStatus().getElapsedTime(), ti.getStatus().getDataDownloaded(), ti.getHarvestServer())); } return realResults; } }); return results; }
From source file:org.webcurator.domain.TargetDAOImpl.java
License:Apache License
/** * Find all the groups that need to be end dated. * @return A List of groups to be end dated. *///from w w w . java2s . c o m @SuppressWarnings("unchecked") public List<TargetGroup> findEndedGroups() { return getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session aSession) throws HibernateException, SQLException { List<TargetGroup> results = aSession.createCriteria(TargetGroup.class) .add(Restrictions.ne("state", TargetGroup.STATE_ACTIVE)) .add(Restrictions.lt("toDate", new Date())).setFetchMode("schedules", FetchMode.JOIN) .setFetchMode("parents", FetchMode.JOIN).setFetchMode("children", FetchMode.JOIN).list(); log.debug("Found " + results.size() + " groups that need to be unscheduled"); return results; } }); }