@Override @SuppressWarnings("unchecked") public List<IntegerOptionItem> findAlertDefinitionOptionItemsForResource(Subject subject, int resourceId) { PageControl pageControl = PageControl.getUnlimitedInstance(); pageControl.initDefaultOrderingField("ad.name", PageOrdering.ASC); Query query = PersistenceUtility.createQueryWithOrderBy(entityManager, AlertDefinition.QUERY_FIND_OPTION_ITEMS_BY_RESOURCE, pageControl); query.setParameter("resourceId", resourceId); List<IntegerOptionItem> results = query.getResultList(); return results; }
@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; }
@Override @SuppressWarnings("unchecked") public List<IntegerOptionItem> findAlertDefinitionOptionItemsForGroup(Subject subject, int groupId) { PageControl pageControl = PageControl.getUnlimitedInstance(); pageControl.initDefaultOrderingField("ad.name", PageOrdering.ASC); Query query = PersistenceUtility.createQueryWithOrderBy(entityManager, AlertDefinition.QUERY_FIND_OPTION_ITEMS_BY_GROUP, pageControl); query.setParameter("groupId", groupId); List<IntegerOptionItem> results = query.getResultList(); return results; }
public void clearPaging() { PageControl unlimited = PageControl.getUnlimitedInstance(); this.pageNumber = unlimited.getPageNumber(); this.pageSize = unlimited.getPageSize(); this.pageControlOverrides = null; }
@Override @RequiredPermission(Permission.MANAGE_INVENTORY) public List<Resource> getQueuedPlatformChildServers(Subject user, InventoryStatus status, Resource platform) { PageList<Resource> childServers = resourceManager.findChildResourcesByCategoryAndInventoryStatus(user, platform, ResourceCategory.SERVER, status, PageControl.getUnlimitedInstance()); return childServers; }
@Override public int[] getEventCounts(Subject subject, int resourceId, long begin, long end, int numBuckets) { int[] buckets = new int[numBuckets]; // TODO possibly rewrite query so that the db calculates the buckets (?) List<EventComposite> events = findEventComposites(subject, EntityContext.forResource(resourceId), begin, end, null, null, null, PageControl.getUnlimitedInstance()); long timeDiff = end - begin; long timePerBucket = timeDiff / numBuckets; for (EventComposite event : events) { long evTime = event.getTimestamp().getTime(); evTime = evTime - begin; int bucket = (int) (evTime / timePerBucket); buckets[bucket]++; } return buckets; }
@SuppressWarnings("unchecked") private Integer[] findGroupAlertDefinitionIds(int resourceGroupId) { AlertDefinitionCriteria criteria = new AlertDefinitionCriteria(); criteria.addFilterResourceGroupIds(resourceGroupId); criteria.setPageControl(PageControl.getUnlimitedInstance()); CriteriaQueryGenerator generator = new CriteriaQueryGenerator(criteria); generator.alterProjection("alertdefinition.id"); Query query = generator.getQuery(entityManager); List<Integer> groupAlertDefinitionIds = query.getResultList(); Integer[] results = groupAlertDefinitionIds.toArray(new Integer[groupAlertDefinitionIds.size()]); return results; }
@Override public ExportingIterator<MetricTemplate> getExportingIterator() { MeasurementDefinitionCriteria criteria = new MeasurementDefinitionCriteria(); criteria.setPageControl(PageControl.getUnlimitedInstance()); criteria.fetchResourceType(true); List<MeasurementDefinition> defs = measurementDefinitionManager.findMeasurementDefinitionsByCriteria(subject, criteria); return new MetricTemplateIterator(defs.iterator()); }
@Override public void saveNewBaselines(Set<Integer> scheduleIds, Map<Integer, MeasurementBaseline> baselines) { MeasurementScheduleCriteria criteria = new MeasurementScheduleCriteria(); criteria.addFilterIds(scheduleIds.toArray(new Integer[scheduleIds.size()])); criteria.setPageControl(PageControl.getUnlimitedInstance()); List<MeasurementSchedule> schedules = measurementScheduleManager.findSchedulesByCriteria( subjectManager.getOverlord(), criteria); for (MeasurementSchedule schedule : schedules) { MeasurementBaseline baseline = baselines.get(schedule.getId()); baseline.setScheduleId(schedule.getId()); baseline.setSchedule(schedule); // this sets the reverse, owning relationship as well entityManager.persist(baseline); } }
@RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), @RequiredPermission(Permission.MANAGE_INVENTORY) }) public int purgeAllEvents(Subject subject) { List<PartitionEvent> events = getPartitionEvents(subject, null, null, null, PageControl.getUnlimitedInstance()); int i = 0; Integer[] eventIds = new Integer[events.size()]; for (PartitionEvent event : events) { eventIds[i++] = event.getId(); } deletePartitionEvents(subject, eventIds); return eventIds.length; }
callTimes = calltimeDataManager.findCallTimeDataForResource(caller, schedule.getId(), startTime, endTime, PageControl.getUnlimitedInstance()); } else { callTimes = calltimeDataManager.findCallTimeDataRawForResource(caller, schedule.getId(), startTime, endTime, PageControl.getUnlimitedInstance());
PageControl pc = PageControl.getUnlimitedInstance(); Subject overlord = subjectManager.getOverlord(); List<Distribution> dists = repoManager.findAssociatedDistributions(overlord, repo.getId(), pc);
@GET @Path("count") @ApiOperation("Return a count of alerts in the system depending on criteria") public IntegerValue countAlerts(@ApiParam(value = "If non-null only send alerts that have fired after this time, time is millisecond since epoch") @QueryParam("since") Long since) { AlertCriteria criteria = new AlertCriteria(); criteria.setPageControl(PageControl.getUnlimitedInstance()); criteria.fetchAlertDefinition(false); criteria.fetchConditionLogs(false); criteria.fetchRecoveryAlertDefinition(false); criteria.fetchNotificationLogs(false); criteria.setRestriction(Criteria.Restriction.COUNT_ONLY); if (since!=null) { criteria.addFilterStartTime(since); } PageList<Alert> alerts = alertManager.findAlertsByCriteria(caller,criteria); int count = alerts.getTotalSize(); return new IntegerValue(count); }
public StandardBindings(PrintWriter output, RhqFacade rhqFacade) { facadeChangeListeners = new HashSet<RhqFacadeChangeListener>(); PageControl pc = new PageControl(); pc.setPageNumber(-1); //these are generic and don't require an RHQ facade... put(UNLIMITED_PC, pc); put(PAGE_CONTROL, PageControl.getUnlimitedInstance()); put(EXPORTER, new Exporter()); put(PRETTY, new TabularWriter(output)); put(ASSERT, new ScriptAssert()); setFacade(output, rhqFacade); }
@Override public void execute(JobExecutionContext context) throws JobExecutionException { AgentCriteria crit = new AgentCriteria(); crit.setPageControl(PageControl.getUnlimitedInstance()); AgentManagerLocal agentManager = LookupUtil.getAgentManager(); Subject overlord = LookupUtil.getSubjectManager().getOverlord(); PageList<Agent> agents = agentManager.findAgentsByCriteria(overlord, crit); for(Agent agent : agents) { AgentClient client = agentManager.getAgentClient(agent); client.updatePlugins(); } } }
/** * It will schedule one job per adapter such that each adapter is scheduled to be synchronized as per its defined * sync schedule. This must only be called when all content source adapters have been initialized. */ public void scheduleSyncJobs() { if (this.adapterManager != null) { for (ContentSource contentSource : this.adapterManager.getAllContentSources()) { try { getLog().debug("scheduleSyncJobs :: Scheduling CP job: " + contentSource.getName()); scheduleProviderSyncJob(contentSource); ContentSourceManagerLocal contentSourceManager = LookupUtil.getContentSourceManager(); PageList<Repo> repos = contentSourceManager.getAssociatedRepos(LookupUtil.getSubjectManager() .getOverlord(), contentSource.getId(), PageControl.getUnlimitedInstance()); if (repos != null) { for (Repo repo : repos) { getLog().debug("scheduleSyncJobs :: Scheduling REPO job: " + repo.getName()); scheduleRepoSyncJob(repo); } } } catch (Exception e) { getLog().warn("Could not schedule sync job for content source [" + contentSource + "].", e); } } } }
criteria.fetchDrifts(true); criteria.addSortVersion(PageOrdering.ASC); criteria.setPageControl(PageControl.getUnlimitedInstance());//disable paging as the code assumes all the results will be returned.
@Override @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) public MeasurementAggregate getAggregate(Subject subject, int groupId, int definitionId, long startTime, long endTime) { if (authorizationManager.canViewGroup(subject, groupId) == false) { throw new PermissionException("User[" + subject.getName() + "] does not have permission to calculate measurement aggregate for group[id=" + groupId + "], definition[id=" + definitionId + "]"); } MeasurementDefinition def = measurementDefinitionManager.getMeasurementDefinition(subject, definitionId); if (def.getDataType() != DataType.MEASUREMENT) { throw new IllegalArgumentException(def + " is not about numerical values. Can't compute aggregates"); } if (startTime > endTime) { throw new IllegalArgumentException("Start date " + startTime + " is not before " + endTime); } MeasurementScheduleCriteria criteria = new MeasurementScheduleCriteria(); criteria.addFilterResourceGroupId(groupId); criteria.addFilterDefinitionIds(definitionId); criteria.setPageControl(PageControl.getUnlimitedInstance()); PageList<MeasurementSchedule> schedules = measurementScheduleManager.findSchedulesByCriteria(subject, criteria); MetricsServer metricsServer = storageClientManager.getMetricsServer(); AggregateNumericMetric summary = metricsServer.getSummaryAggregate(map(schedules), startTime, endTime); return new MeasurementAggregate(summary.getMin(), summary.getAvg(), summary.getMax()); }
private DriftChangeSet<? extends Drift<?, ?>> loadInitialChangeSet(Subject subject, DriftSnapshotRequest request) { DriftChangeSetCriteria criteria = new GenericDriftChangeSetCriteria(); criteria.addFilterCategory(COVERAGE); criteria.addFilterVersion("0"); // One of the next two filters will be null criteria.addFilterDriftDefinitionId(request.getDriftDefinitionId()); criteria.addFilterId(request.getTemplateChangeSetId()); criteria.fetchDrifts(true); criteria.setPageControl(PageControl.getUnlimitedInstance());//disable paging as the code assumes all the results will be returned. PageList<? extends DriftChangeSet<?>> changeSets = findDriftChangeSetsByCriteria(subject, criteria); if (changeSets.isEmpty()) { return null; } return changeSets.get(0); }
/** * Find the set of alerts related to Storage Node resources and sub-resources. * * @param subject subject * @param allAlerts if [true] then return all alerts; if [false] then return only alerts that are not acknowledged * @return alerts */ private PageList<Alert> findStorageNodeAlerts(Subject subject, boolean allAlerts, StorageNode storageNode) { Integer[] resouceIdsWithAlertDefinitions = findResourcesWithAlertDefinitions(storageNode); PageList<Alert> alerts = new PageList<Alert>(); if (resouceIdsWithAlertDefinitions != null && resouceIdsWithAlertDefinitions.length != 0) { AlertCriteria criteria = new AlertCriteria(); criteria.setPageControl(PageControl.getUnlimitedInstance()); criteria.addFilterResourceIds(resouceIdsWithAlertDefinitions); criteria.addSortCtime(PageOrdering.DESC); alerts = alertManager.findAlertsByCriteria(subject, criteria); if (!allAlerts) { //select on alerts that are not acknowledge PageList<Alert> trimmedAlerts = new PageList<Alert>(); for (Alert alert : alerts) { if (alert.getAcknowledgeTime() == null || alert.getAcknowledgeTime() <= 0) { trimmedAlerts.add(alert); } } alerts = trimmedAlerts; } } return alerts; }