protected IQueryable<IInstallableUnit> getQueryable(IProvisioningPlan plan) { return plan.getRemovals(); } }
private Collection<IRequirement> extractMetaRequirements(Collection<IInstallableUnit> ius, IProvisioningPlan plan) { Set<IRequirement> allMetaRequirements = new HashSet<>(); for (IInstallableUnit iu : ius) { allMetaRequirements.addAll(iu.getMetaRequirements()); } IQueryResult<IInstallableUnit> queryResult = plan.getRemovals().query(QueryUtil.createIUAnyQuery(), null); for (Iterator<IInstallableUnit> iterator = queryResult.iterator(); iterator.hasNext();) { IInstallableUnit iu = iterator.next(); allMetaRequirements.addAll(iu.getMetaRequirements()); } return allMetaRequirements; }
private static int countPlanElements(IProvisioningPlan plan) { return QueryUtil.compoundQueryable(plan.getAdditions(), plan.getRemovals()).query(QueryUtil.createIUAnyQuery(), null).toUnmodifiableSet().size(); }
for (Iterator<IInstallableUnit> iterator = plan.getRemovals().query(QueryUtil.createIUAnyQuery(), null).iterator(); iterator.hasNext();) { IInstallableUnit iu = iterator.next(); if (!toRemove.remove(iu)) {
for (IInstallableUnit initialRoot : strictRoots) { if (plan.getRemovals().query(QueryUtil.createIUQuery(initialRoot), null).isEmpty()) continue;
public IProfileChangeRequest getChangeRequest(IProfileChangeRequest request, IProfile prof, IProgressMonitor monitor) { this.profile = prof; SubMonitor sub = SubMonitor.convert(monitor, 2); IProfileChangeRequest loosenedRequest = computeLooseRequest(request, sub.newChild(1)); if (canShortCircuit(request)) { return null; } IProvisioningPlan intermediaryPlan = resolve(loosenedRequest, sub.newChild(1)); if (!intermediaryPlan.getStatus().isOK()) return null; if (intermediaryPlan.getAdditions().query(QueryUtil.ALL_UNITS, new NullProgressMonitor()).isEmpty() && intermediaryPlan.getRemovals().query(QueryUtil.ALL_UNITS, new NullProgressMonitor()).isEmpty()) //No changes, we can't return anything return null; if (!productContainmentOK(intermediaryPlan)) { return null; } IProfileChangeRequest effectiveRequest = computeEffectiveChangeRequest(intermediaryPlan, loosenedRequest, request); if (isRequestUseless(effectiveRequest)) return null; return effectiveRequest; }
public IProfileChangeRequest getChangeRequest(IProfileChangeRequest request, IProfile prof, IProgressMonitor monitor) { this.profile = prof; SubMonitor sub = SubMonitor.convert(monitor, 2); IProfileChangeRequest loosenedRequest = computeLooseRequest(request, sub.newChild(1)); if (canShortCircuit(request)) { return null; } IProvisioningPlan intermediaryPlan = resolve(loosenedRequest, sub.newChild(1)); if (!intermediaryPlan.getStatus().isOK()) return null; if (intermediaryPlan.getAdditions().query(QueryUtil.ALL_UNITS, new NullProgressMonitor()).isEmpty() && intermediaryPlan.getRemovals().query(QueryUtil.ALL_UNITS, new NullProgressMonitor()).isEmpty()) //No changes, we can't return anything return null; if (!productContainmentOK(intermediaryPlan)) { return null; } IProfileChangeRequest effectiveRequest = computeEffectiveChangeRequest(intermediaryPlan, loosenedRequest, request); if (isRequestUseless(effectiveRequest)) return null; return effectiveRequest; }