@SuppressWarnings("unchecked") @Override public FileDiffReport generateUnifiedDiffByIds(Subject subject, String driftId1, String driftId2) { DriftServerPluginFacet driftServerPlugin = getServerPlugin(); GenericDriftCriteria criteria = new GenericDriftCriteria(); criteria.addFilterId(driftId1); criteria.setPageControl(PageControl.getSingleRowInstance()); List<? extends Drift<?, ?>> result = driftServerPlugin.findDriftsByCriteria(subject, criteria); if (result.size() != 1) { throw new IllegalArgumentException("Drift record not found: " + driftId1); } Drift drift1 = result.get(0); criteria.addFilterId(driftId2); criteria.setPageControl(PageControl.getSingleRowInstance()); result = driftServerPlugin.findDriftsByCriteria(subject, criteria); if (result.size() != 1) { throw new IllegalArgumentException("Drift record not found: " + driftId2); } Drift drift2 = result.get(0); return generateUnifiedDiff(subject, drift1, drift2); }
@Override public List<BundleResourceDeploymentHistory> getBundleResourceDeploymentHistories(Subject subject, int resourceDeploymentId) { // First check if this user can actually see this resource deployment // by calling #findBundleResourceDeploymentsByCriteria) BundleResourceDeploymentCriteria criteria = new BundleResourceDeploymentCriteria(); criteria.addFilterId(resourceDeploymentId); criteria.fetchHistories(true); criteria.setPageControl(PageControl.getSingleRowInstance()); PageList<BundleResourceDeployment> bundleResourceDeploymentsByCriteria = findBundleResourceDeploymentsByCriteria( subject, criteria); if (bundleResourceDeploymentsByCriteria.isEmpty()) { return Collections.emptyList(); } BundleResourceDeployment resourceDeployment = bundleResourceDeploymentsByCriteria.iterator().next(); return new ArrayList<BundleResourceDeploymentHistory>(resourceDeployment.getBundleResourceDeploymentHistories()); }
private DriftChangeSet<?> loadPreviousChangeSet(Subject subject, Drift<?, ?> drift) { GenericDriftChangeSetCriteria criteria = new GenericDriftChangeSetCriteria(); criteria.addFilterResourceId(drift.getChangeSet().getResourceId()); criteria.addFilterDriftDefinitionId(drift.getChangeSet().getDriftDefinitionId()); criteria.addFilterVersion(Integer.toString(drift.getChangeSet().getVersion() - 1)); criteria.setPageControl(PageControl.getSingleRowInstance()); PageList<? extends DriftChangeSet<?>> results = findDriftChangeSetsByCriteria(subject, criteria); // TODO handle empty results return results.get(0); }
private int getResourceCount(EntityContext context) { if (context.type == EntityContext.Type.Resource) { return 1; } else if (context.type == EntityContext.Type.ResourceGroup) { return resourceGroupManager.getExplicitGroupMemberCount(context.groupId); } else if (context.type == EntityContext.Type.AutoGroup) { ResourceCriteria criteria = new ResourceCriteria(); criteria.addFilterParentResourceId(context.parentResourceId); criteria.addFilterResourceTypeId(context.resourceTypeId); criteria.setPageControl(PageControl.getSingleRowInstance()); // get one record, then extract totalSize PageList<Resource> results = resourceManager .findResourcesByCriteria(subjectManager.getOverlord(), criteria); return results.getTotalSize(); } return 0; }
@Override public PageList<DriftDefinitionComposite> findDriftDefinitionCompositesByCriteria(Subject subject, DriftDefinitionCriteria criteria) { PageList<DriftDefinition> defs = findDriftDefinitionsByCriteria(subject, criteria); PageList<DriftDefinitionComposite> result = new PageList<DriftDefinitionComposite>(defs.getPageControl()); List<DriftDefinitionComposite> composites = new ArrayList<DriftDefinitionComposite>(defs.size()); GenericDriftChangeSetCriteria csCriteria = new GenericDriftChangeSetCriteria(); for (DriftDefinition def : defs) { DriftDefinitionComposite composite = new DriftDefinitionComposite(def, null); csCriteria.addFilterDriftDefinitionId(def.getId()); csCriteria.addSortVersion(PageOrdering.DESC); csCriteria.setPageControl(PageControl.getSingleRowInstance()); PageList<? extends DriftChangeSet<?>> changeSets = findDriftChangeSetsByCriteria(subject, csCriteria); if (!changeSets.isEmpty()) { composite.setMostRecentChangeset(changeSets.get(0)); } composites.add(composite); } result.addAll(composites); return result; }
criteria.setPageControl(PageControl.getSingleRowInstance()); // get single row only, we want totalSize theSchedules = scheduleManager.findSchedulesByCriteria(subject, criteria); int collecting = theSchedules.getTotalSize();
criteria.addFilterId(driftId); criteria.fetchChangeSet(true); criteria.setPageControl(PageControl.getSingleRowInstance());
templateCriteria.addFilterId(templateId); templateCriteria.fetchDriftDefinitions(true); templateCriteria.setPageControl(PageControl.getSingleRowInstance());