List of usage examples for org.hibernate.criterion Restrictions le
public static SimpleExpression le(String propertyName, Object value)
From source file:com.eucalyptus.cloudwatch.domain.listmetrics.ListMetricManager.java
License:Open Source License
/** * Returns the metrics that are associated with the applied parameters * @param accountId the account Id. If null, this filter will not be used. * @param metricName the metric name. If null, this filter will not be used. * @param namespace the namespace. If null, this filter will not be used. * @param dimensionMap the dimensions (name/value) to filter against. Only metrics containing all these dimensions will be returned (it is only a subset match, not exact). If null, this filter will not be used. * @param after the time after which all metrics must have been updated (last seen). If null, this filter will not be used. * @param before the time before which all metrics must have been updated (last seen). If null, this filter will not be used. * @param maxRecords TODO//from www .j a v a2 s .c om * @param nextToken TODO * @return the collection of metrics, filtered by the input */ public static List<ListMetric> listMetrics(String accountId, String metricName, String namespace, Map<String, String> dimensionMap, Date after, Date before, Integer maxRecords, String nextToken) throws CloudWatchException { if (dimensionMap != null && dimensionMap.size() > ListMetric.MAX_DIM_NUM) { throw new IllegalArgumentException("Too many dimensions " + dimensionMap.size()); } EntityTransaction db = Entities.get(ListMetric.class); try { Date nextTokenCreatedTime = NextTokenUtils.getNextTokenCreatedTime(nextToken, ListMetric.class, false); Map<String, String> sortedDimensionMap = new TreeMap<String, String>(); Criteria criteria = Entities.createCriteria(ListMetric.class); if (accountId != null) { criteria = criteria.add(Restrictions.eq("accountId", accountId)); } if (metricName != null) { criteria = criteria.add(Restrictions.eq("metricName", metricName)); } if (namespace != null) { criteria = criteria.add(Restrictions.eq("namespace", namespace)); } if (before != null) { criteria = criteria.add(Restrictions.le("lastUpdateTimestamp", before)); } if (after != null) { criteria = criteria.add(Restrictions.ge("lastUpdateTimestamp", after)); } if (dimensionMap != null && !dimensionMap.isEmpty()) { // sort the map sortedDimensionMap.putAll(dimensionMap); // now we are going to add a bunch of restrictions to the criteria... // note though there are certain dimensions we don't need to check. // For example if we have two dimensions, we don't need to check dimension 10 for // the first item or dimension 1 for the last item. int numDimensions = sortedDimensionMap.size(); int lowDimNum = 1; int highDimNum = ListMetric.MAX_DIM_NUM + 1 - numDimensions; for (Map.Entry<String, String> dimEntry : sortedDimensionMap.entrySet()) { Disjunction or = Restrictions.disjunction(); for (int i = lowDimNum; i <= highDimNum; i++) { or.add(Restrictions.conjunction() .add(Restrictions.eq("dim" + i + "Name", dimEntry.getKey())) .add(Restrictions.eq("dim" + i + "Value", dimEntry.getValue()))); } lowDimNum++; highDimNum++; criteria = criteria.add(or); } } criteria = NextTokenUtils.addNextTokenConstraints(maxRecords, nextToken, nextTokenCreatedTime, criteria); List<ListMetric> dbResult = (List<ListMetric>) criteria.list(); db.commit(); return dbResult; } catch (RuntimeException ex) { Logs.extreme().error(ex, ex); throw ex; } finally { if (db.isActive()) db.rollback(); } }
From source file:com.eucalyptus.simpleworkflow.SimpleWorkflowService.java
License:Open Source License
private static void buildFilters(final ClosedWorkflowExecutionFilterParameters parameters, final Conjunction filter, final Map<String, String> aliases) { if (parameters.getCloseStatusFilter() != null) { filter.add(Restrictions.eq("closeStatus", WorkflowExecution.CloseStatus.fromString(parameters.getCloseStatusFilter().getStatus()))); }//from w ww . j a va2s . c om if (parameters.getCloseTimeFilter() != null) { if (parameters.getCloseTimeFilter().getOldestDate() != null) { filter.add(Restrictions.ge("closeTimestamp", parameters.getCloseTimeFilter().getOldestDate())); } if (parameters.getCloseTimeFilter().getLatestDate() != null) { filter.add(Restrictions.le("closeTimestamp", parameters.getCloseTimeFilter().getLatestDate())); } } buildFilters((WorkflowExecutionFilterParameters) parameters, filter, aliases); }
From source file:com.eucalyptus.simpleworkflow.SimpleWorkflowService.java
License:Open Source License
private static void buildFilters(final WorkflowExecutionFilterParameters parameters, final Conjunction filter, final Map<String, String> aliases) { if (parameters.getExecutionFilter() != null) { filter.add(Restrictions.eq("workflowId", parameters.getExecutionFilter().getWorkflowId())); }// w w w . ja v a2 s . co m if (parameters.getStartTimeFilter() != null) { if (parameters.getStartTimeFilter().getOldestDate() != null) { filter.add(Restrictions.ge("creationTimestamp", parameters.getStartTimeFilter().getOldestDate())); } if (parameters.getStartTimeFilter().getLatestDate() != null) { filter.add(Restrictions.le("creationTimestamp", parameters.getStartTimeFilter().getLatestDate())); } } if (parameters.getTagFilter() != null) { aliases.put("tagList", "tag"); filter.add(Restrictions.eq("tag.elements", parameters.getTagFilter().getTag())); } if (parameters.getTypeFilter() != null) { if (parameters.getTypeFilter().getName() != null) { aliases.put("workflowType", "workflowType"); filter.add(Restrictions.eq("workflowType.displayName", parameters.getTypeFilter().getName())); } if (parameters.getTypeFilter().getVersion() != null) { aliases.put("workflowType", "workflowType"); filter.add( Restrictions.eq("workflowType.workflowVersion", parameters.getTypeFilter().getVersion())); } } }
From source file:com.evolveum.midpoint.repo.sql.query.matcher.Matcher.java
License:Apache License
protected Criterion basicMatch(ItemRestrictionOperation operation, String propertyName, Object value, boolean ignoreCase) throws QueryException { Criterion criterion;//from ww w . j a v a 2 s. co m switch (operation) { case EQ: if (value == null) { criterion = Restrictions.isNull(propertyName); } else { criterion = Restrictions.eq(propertyName, value); } break; case GT: criterion = Restrictions.gt(propertyName, value); break; case GE: criterion = Restrictions.ge(propertyName, value); break; case LT: criterion = Restrictions.lt(propertyName, value); break; case LE: criterion = Restrictions.le(propertyName, value); break; case NOT_NULL: criterion = Restrictions.isNotNull(propertyName); break; case NULL: criterion = Restrictions.isNull(propertyName); break; case STARTS_WITH: criterion = Restrictions.like(propertyName, (String) value, MatchMode.START); break; case ENDS_WITH: criterion = Restrictions.like(propertyName, (String) value, MatchMode.END); break; case SUBSTRING: criterion = Restrictions.like(propertyName, (String) value, MatchMode.ANYWHERE); break; default: throw new QueryException("Unknown operation '" + operation + "'."); } if (ignoreCase && (value instanceof String) && (criterion instanceof SimpleExpression)) { criterion = ((SimpleExpression) criterion).ignoreCase(); } return criterion; }
From source file:com.evolveum.midpoint.repo.sql.QueryInterpreterTest.java
License:Apache License
@Test public void queryTrigger() throws Exception { final Date NOW = new Date(); Session session = open();//from w w w . j a va2s . c o m try { Criteria main = session.createCriteria(RObject.class, "o"); ProjectionList projections = Projections.projectionList(); addFullObjectProjectionList("o", projections, false); main.setProjection(projections); Criteria d = main.createCriteria("trigger", "t", JoinType.LEFT_OUTER_JOIN); d.add(Restrictions.le("t.timestamp", new Timestamp(NOW.getTime()))); String expected = HibernateToSqlTranslator.toSql(main); XMLGregorianCalendar thisScanTimestamp = XmlTypeConverter.createXMLGregorianCalendar(NOW.getTime()); SchemaRegistry registry = prismContext.getSchemaRegistry(); PrismObjectDefinition objectDef = registry.findObjectDefinitionByCompileTimeClass(ObjectType.class); ItemPath triggerPath = new ItemPath(ObjectType.F_TRIGGER, TriggerType.F_TIMESTAMP); // PrismContainerDefinition triggerContainerDef = objectDef.findContainerDefinition(triggerPath); ObjectFilter filter = LessFilter.createLess(triggerPath, objectDef, thisScanTimestamp, true); ObjectQuery query = ObjectQuery.createObjectQuery(filter); String real = getInterpretedQuery(session, ObjectType.class, query); LOGGER.info("exp. query>\n{}\nreal query>\n{}", new Object[] { expected, real }); AssertJUnit.assertEquals(expected, real); } finally { close(session); } }
From source file:com.evolveum.midpoint.repo.sql.QueryInterpreterTest.java
License:Apache License
@Test public void test360queryMetadataTimestamp() throws Exception { Session session = open();/*from www . java2s . co m*/ try { Criteria main = session.createCriteria(RReportOutput.class, "r"); ProjectionList projections = Projections.projectionList(); addFullObjectProjectionList("r", projections, false); main.setProjection(projections); XMLGregorianCalendar timeXml = XMLGregorianCalendarType.asXMLGregorianCalendar(new Date()); main.add(Restrictions.le("r.createTimestamp", timeXml)); String expected = HibernateToSqlTranslator.toSql(main); LessFilter less = LessFilter.createLess( new ItemPath(ReportOutputType.F_METADATA, MetadataType.F_CREATE_TIMESTAMP), ReportOutputType.class, prismContext, timeXml, true); String real = getInterpretedQuery(session, ReportOutputType.class, ObjectQuery.createObjectQuery(less)); LOGGER.info("exp. query>\n{}\nreal query>\n{}", new Object[] { expected, real }); AssertJUnit.assertEquals(expected, real); } finally { close(session); } }
From source file:com.floreantpos.model.dao.AttendenceHistoryDAO.java
License:Open Source License
public List<User> findNumberOfClockedInUserAtHour(Date fromDay, Date toDay, int hour, UserType userType, Terminal terminal) {//from ww w . j a v a2s . c o m Session session = null; ArrayList<User> users = new ArrayList<User>(); try { session = getSession(); Criteria criteria = session.createCriteria(getReferenceClass()); criteria.add(Restrictions.ge(AttendenceHistory.PROP_CLOCK_IN_TIME, fromDay)); criteria.add(Restrictions.le(AttendenceHistory.PROP_CLOCK_IN_TIME, toDay)); criteria.add(Restrictions.le(AttendenceHistory.PROP_CLOCK_IN_HOUR, new Short((short) hour))); if (userType != null) { criteria.createAlias(AttendenceHistory.PROP_USER, "u"); //$NON-NLS-1$ criteria.add(Restrictions.eq("u.type", userType)); //$NON-NLS-1$ } if (terminal != null) { criteria.add(Restrictions.eq(Ticket.PROP_TERMINAL, terminal)); } List list = criteria.list(); for (Object object : list) { AttendenceHistory history = (AttendenceHistory) object; if (!history.isClockedOut()) { users.add(history.getUser()); } else if (history.getClockOutHour() >= hour) { users.add(history.getUser()); } } return users; } catch (Exception e) { throw new PosException(Messages.getString("AttendenceHistoryDAO.2"), e); //$NON-NLS-1$ } finally { if (session != null) { closeSession(session); } } }
From source file:com.floreantpos.model.dao.AttendenceHistoryDAO.java
License:Open Source License
public List<User> findNumberOfClockedInUserAtShift(Date fromDay, Date toDay, Shift shift, UserType userType, Terminal terminal) {/*from w w w . ja v a 2 s .co m*/ Session session = null; ArrayList<User> users = new ArrayList<User>(); try { session = getSession(); Criteria criteria = session.createCriteria(getReferenceClass()); criteria.add(Restrictions.ge(AttendenceHistory.PROP_CLOCK_IN_TIME, fromDay)); criteria.add(Restrictions.le(AttendenceHistory.PROP_CLOCK_IN_TIME, toDay)); criteria.add(Restrictions.le(AttendenceHistory.PROP_SHIFT, shift)); if (userType != null) { criteria.createAlias(AttendenceHistory.PROP_USER, "u"); //$NON-NLS-1$ criteria.add(Restrictions.eq("u.type", userType)); //$NON-NLS-1$ } if (terminal != null) { criteria.add(Restrictions.eq(Ticket.PROP_TERMINAL, terminal)); } List list = criteria.list(); for (Object object : list) { AttendenceHistory history = (AttendenceHistory) object; // if (!history.isClockedOut()) { // users.add(history.getUser()); // } // else if (history.getClockOutHour() >= hour) { // users.add(history.getUser()); // } users.add(history.getUser()); } return users; } catch (Exception e) { throw new PosException(Messages.getString("AttendenceHistoryDAO.5"), e); //$NON-NLS-1$ } finally { if (session != null) { closeSession(session); } } }
From source file:com.floreantpos.model.dao.AttendenceHistoryDAO.java
License:Open Source License
public List<PayrollReportData> findPayroll(Date from, Date to) { Session session = null;/*from ww w . j av a 2s . co m*/ ArrayList<PayrollReportData> list = new ArrayList<PayrollReportData>(); try { session = getSession(); Criteria criteria = session.createCriteria(AttendenceHistory.class); criteria.add(Restrictions.ge(AttendenceHistory.PROP_CLOCK_IN_TIME, from)); criteria.add(Restrictions.le(AttendenceHistory.PROP_CLOCK_OUT_TIME, to)); criteria.addOrder(Order.asc(AttendenceHistory.PROP_USER)); List list2 = criteria.list(); for (Iterator iterator = list2.iterator(); iterator.hasNext();) { AttendenceHistory history = (AttendenceHistory) iterator.next(); PayrollReportData data = new PayrollReportData(); data.setFrom(history.getClockInTime()); data.setTo(history.getClockOutTime()); data.setDate(history.getClockInTime()); data.setUser(history.getUser()); data.calculate(); list.add(data); } return list; } catch (Exception e) { throw new PosException(Messages.getString("AttendenceHistoryDAO.6"), e); //$NON-NLS-1$ } finally { if (session != null) { session.close(); } } }
From source file:com.floreantpos.model.dao.AttendenceHistoryDAO.java
License:Open Source License
public List<AttendanceReportData> findAttendance(Date from, Date to, User user) { Session session = null;// w ww .j a v a 2 s . c o m ArrayList<AttendanceReportData> list = new ArrayList<AttendanceReportData>(); try { session = getSession(); Criteria criteria = session.createCriteria(AttendenceHistory.class); criteria.add(Restrictions.ge(AttendenceHistory.PROP_CLOCK_IN_TIME, from)); criteria.add(Restrictions.le(AttendenceHistory.PROP_CLOCK_OUT_TIME, to)); criteria.addOrder(Order.asc(AttendenceHistory.PROP_USER)); if (user != null) { criteria.add(Restrictions.eq(AttendenceHistory.PROP_USER, user)); } List list2 = criteria.list(); for (Iterator iterator = list2.iterator(); iterator.hasNext();) { AttendenceHistory history = (AttendenceHistory) iterator.next(); AttendanceReportData data = new AttendanceReportData(); data.setClockIn(history.getClockInTime()); data.setClockOut(history.getClockOutTime()); data.setUser(history.getUser()); data.setName(history.getUser().getFirstName()); data.calculate(); list.add(data); } return list; } catch (Exception e) { throw new PosException("Unable to find Attendance", e); //$NON-NLS-1$ } finally { if (session != null) { session.close(); } } }