/** * Equivalent to addDefaultOrderingField(defaultField, PageOrdering.ASC). * * @param defaultField * @see #addDefaultOrderingField(String, PageOrdering) */ public void addDefaultOrderingField(String defaultField) { addDefaultOrderingField(defaultField, PageOrdering.ASC); }
/** * Sets initial sort. If sorting is already defined this call will have no effect. * * @param defaultField * @param defaultPageOrdering */ public void initDefaultOrderingField(String defaultField, PageOrdering defaultPageOrdering) { if (orderingFields.size() > 0) { return; } addDefaultOrderingField(defaultField, defaultPageOrdering); }
@Override @SuppressWarnings("unchecked") public List<IntegerOptionItem> getResourceNameOptionItems(int groupId) { String queryName = ResourceGroup.QUERY_FIND_RESOURCE_NAMES_BY_GROUP_ID; PageControl pc = PageControl.getUnlimitedInstance(); pc.addDefaultOrderingField("res.name"); Query query = PersistenceUtility.createQueryWithOrderBy(entityManager, queryName, pc); query.setParameter("groupId", groupId); List<IntegerOptionItem> results = query.getResultList(); return results; }
@SuppressWarnings("unchecked") public PageList<ProblemResourceComposite> findProblemResources(Subject subject, long oldestDate, PageControl pc) { pc.initDefaultOrderingField("COUNT(DISTINCT alert.id)", PageOrdering.DESC); pc.addDefaultOrderingField("LENGTH(res.ancestry)"); pc.addDefaultOrderingField("res.name"); Query queryCount; Query query; if (authorizationManager.isInventoryManager(subject)) { queryCount = entityManager.createNamedQuery(Resource.QUERY_FIND_PROBLEM_RESOURCES_ALERT_COUNT_ADMIN); query = PersistenceUtility.createQueryWithOrderBy(entityManager, Resource.QUERY_FIND_PROBLEM_RESOURCES_ALERT_ADMIN, pc); } else { queryCount = entityManager.createNamedQuery(Resource.QUERY_FIND_PROBLEM_RESOURCES_ALERT_COUNT); query = PersistenceUtility.createQueryWithOrderBy(entityManager, Resource.QUERY_FIND_PROBLEM_RESOURCES_ALERT, pc); queryCount.setParameter("subject", subject); query.setParameter("subject", subject); } queryCount.setParameter("oldest", oldestDate); query.setParameter("oldest", oldestDate); long count = (Long) queryCount.getSingleResult(); List<ProblemResourceComposite> results = query.getResultList(); return new PageList<ProblemResourceComposite>(results, (int) count, pc); }
@Override @SuppressWarnings("unchecked") public PageList<CallTimeDataComposite> findCallTimeDataForResource(Subject subject, int scheduleId, long beginTime, long endTime, PageControl pageControl) { pageControl.initDefaultOrderingField("SUM(value.total)/SUM(value.count)", PageOrdering.DESC); // only set if no ordering yet specified pageControl.addDefaultOrderingField("key.callDestination", PageOrdering.ASC); // add this to sort, if not already specified MeasurementSchedule schedule = entityManager.find(MeasurementSchedule.class, scheduleId); int resourceId = schedule.getResource().getId(); if (authorizationManager.canViewResource(subject, resourceId) == false) { throw new PermissionException("User [" + subject + "] does not have permission to view call time data for measurementSchedule[id=" + scheduleId + "] and resource[id=" + resourceId + "]"); } String query = CallTimeDataValue.QUERY_FIND_COMPOSITES_FOR_RESOURCE; Query queryWithOrderBy = PersistenceUtility.createQueryWithOrderBy(entityManager, query, pageControl); Query queryCount = PersistenceUtility.createCountQuery(this.entityManager, query); queryWithOrderBy.setParameter("scheduleId", scheduleId); queryWithOrderBy.setParameter("beginTime", beginTime); queryWithOrderBy.setParameter("endTime", endTime); List<CallTimeDataComposite> results = queryWithOrderBy.getResultList(); queryCount.setParameter("scheduleId", scheduleId); queryCount.setParameter("beginTime", beginTime); queryCount.setParameter("endTime", endTime); // Because of the use of the GROUP BY clause, the result list count will be returned as // the number of rows, rather than as a single number. long count = queryCount.getResultList().size(); return new PageList<CallTimeDataComposite>(results, (int) count, pageControl); }
public static void testResourceGroupCriteria() { ResourceGroupCriteria groupCriteria = new ResourceGroupCriteria(); groupCriteria.addSortName(PageOrdering.DESC); groupCriteria.addSortResourceTypeName(PageOrdering.ASC); groupCriteria.addSortPluginName(PageOrdering.DESC); CriteriaQueryGenerator generator = new CriteriaQueryGenerator(new Subject(), groupCriteria); System.out.println(generator.getQueryString(false)); System.out.println(generator.getQueryString(true)); PageControl customPC = new PageControl(); customPC.addDefaultOrderingField("0", PageOrdering.DESC); customPC.addDefaultOrderingField("name", PageOrdering.DESC); customPC.addDefaultOrderingField("resourceType.name", PageOrdering.ASC); groupCriteria.setPageControl(customPC); System.out.println(generator.getQueryString(false)); System.out.println(generator.getQueryString(true)); }
PageControl pageControl) { pageControl.initDefaultOrderingField("res.name"); pageControl.addDefaultOrderingField("res.id");
String prefix = field.substring(0, field.length() - 5); String secondaryField = prefix + "Count"; pc.addDefaultOrderingField(secondaryField, primary.getOrdering()); pc.addDefaultOrderingField("groupName");
pc.addDefaultOrderingField("sched.id"); pc.addDefaultOrderingField("o.oobFactor", PageOrdering.DESC);
pc.addDefaultOrderingField(getCleansedFieldName(sortField, 4), pageOrdering); pc.addDefaultOrderingField("id");
pc.addDefaultOrderingField("sched.id"); pc.addDefaultOrderingField("o.oobFactor", PageOrdering.DESC);
pc.addDefaultOrderingField("definition.displayName");
pageControl.initDefaultOrderingField("SUM(calltimedatavalue.total)/SUM(calltimedatavalue.count)", pageControl.addDefaultOrderingField("calltimedatavalue.key.callDestination", PageOrdering.ASC); // add this to sort, if not already specified