@Override public void onSuccess(List<StorageNodeLoadComposite> composites) { for (StorageNodeLoadComposite composite : composites) { if (composites.isEmpty()) { log.warn("The results from getLoadAsync() should not be empty. This is likely a bug."); } else { result.add(composite); break; } } latch.countDown(); }
result.add(new StorageNodeLoadComposite(node, beginTime, endTime)); latch.countDown();
@Override public PageList<PackageAndLatestVersionComposite> findPackagesWithLatestVersion(Subject subject, PackageCriteria criteria) { if (criteria.getFilterRepoId() == null) { throw new IllegalArgumentException("The criteria query has to have a filter for a specific repo."); } criteria.fetchVersions(true); PageList<Package> packages = findPackagesByCriteria(subject, criteria); PageList<PackageAndLatestVersionComposite> ret = new PageList<PackageAndLatestVersionComposite>( packages.getTotalSize(), packages.getPageControl()); for (Package p : packages) { PackageVersion latest = repoManager.getLatestPackageVersion(subject, p.getId(), criteria.getFilterRepoId()); ret.add(new PackageAndLatestVersionComposite(p, latest)); } return ret; }
@Override public PageList<DriftComposite> findDriftCompositesByCriteria(Subject subject, DriftCriteria criteria) { JPADriftCriteria jpaCriteria = (criteria instanceof JPADriftCriteria) ? (JPADriftCriteria) criteria : new JPADriftCriteria(criteria); jpaCriteria.fetchChangeSet(true); PageList<JPADrift> drifts = findDriftsByCriteria(subject, jpaCriteria); PageList<DriftComposite> result = new PageList<DriftComposite>(); for (JPADrift drift : drifts) { JPADriftChangeSet changeSet = drift.getChangeSet(); DriftDefinition driftDef = changeSet.getDriftDefinition(); result.add(new DriftComposite(drift, changeSet.getResource(), driftDef.getName())); } return result; }
/** * 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; }
public PageList<Subject> findSubjectsByCriteria(Subject subject, SubjectCriteria criteria) { CriteriaQueryGenerator generator = new CriteriaQueryGenerator(subject, criteria); CriteriaQueryRunner<Subject> queryRunner = new CriteriaQueryRunner<Subject>(criteria, generator, entityManager); PageList<Subject> subjects = queryRunner.execute(); boolean canViewUsers = (authorizationManager.isSystemSuperuser(subject) || authorizationManager.hasGlobalPermission(subject, Permission.MANAGE_SECURITY) || authorizationManager .hasGlobalPermission(subject, Permission.VIEW_USERS)); if (!canViewUsers) { if (subjects.contains(subject)) { Subject attachedSubject = subjects.get(subjects.indexOf(subject)); subjects.clear(); subjects.add(attachedSubject); } else { subjects.clear(); } subjects.setTotalSize(subjects.size()); } return subjects; }