public Collection<IRequirement> getMetaRequirements() { Collection<IRequirement> originalCapabilities = original.getMetaRequirements(); if (fragments.length == 0) return originalCapabilities; ArrayList<IRequirement> result = new ArrayList<IRequirement>(originalCapabilities); for (int i = 0; i < fragments.length; i++) result.addAll(fragments[i].getMetaRequirements()); return result; }
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 Collection<IRequirement> getRequiredCapabilities(IInstallableUnit iu) { boolean isFragment = iu instanceof IInstallableUnitFragment; //Short-circuit for the case of an IInstallableUnit if ((!isFragment) && iu.getMetaRequirements().size() == 0) return iu.getRequirements(); ArrayList<IRequirement> aggregatedRequirements = new ArrayList<>(iu.getRequirements().size() + iu.getMetaRequirements().size() + (isFragment ? ((IInstallableUnitFragment) iu).getHost().size() : 0)); aggregatedRequirements.addAll(iu.getRequirements()); if (iu instanceof IInstallableUnitFragment) { aggregatedRequirements.addAll(((IInstallableUnitFragment) iu).getHost()); } if (considerMetaRequirements) aggregatedRequirements.addAll(iu.getMetaRequirements()); return aggregatedRequirements; }
private Collection<IRequirement> getRequirements(IInstallableUnit iu) { boolean isPatch = iu instanceof IInstallableUnitPatch; boolean isFragment = iu instanceof IInstallableUnitFragment; //Short-circuit for the case of an IInstallableUnit if ((!isFragment) && (!isPatch) && iu.getMetaRequirements().size() == 0) return iu.getRequirements(); ArrayList<IRequirement> aggregatedRequirements = new ArrayList<IRequirement>(iu.getRequirements().size() + iu.getMetaRequirements().size() + (isFragment ? ((IInstallableUnitFragment) iu).getHost().size() : 0) + (isPatch ? ((IInstallableUnitPatch) iu).getRequirementsChange().size() : 0)); aggregatedRequirements.addAll(iu.getRequirements()); if (iu instanceof IInstallableUnitFragment) { aggregatedRequirements.addAll(((IInstallableUnitFragment) iu).getHost()); } if (iu instanceof InstallableUnitPatch) { IInstallableUnitPatch patchIU = (IInstallableUnitPatch) iu; List<IRequirementChange> changes = patchIU.getRequirementsChange(); for (int i = 0; i < changes.size(); i++) aggregatedRequirements.add(changes.get(i).newValue()); } if (considerMetaRequirements) aggregatedRequirements.addAll(iu.getMetaRequirements()); return aggregatedRequirements; }
private Collection<IRequirement> getRequirements(IInstallableUnit iu) { boolean isPatch = iu instanceof IInstallableUnitPatch; boolean isFragment = iu instanceof IInstallableUnitFragment; //Short-circuit for the case of an IInstallableUnit if ((!isFragment) && (!isPatch) && iu.getMetaRequirements().size() == 0) return iu.getRequirements(); ArrayList<IRequirement> aggregatedRequirements = new ArrayList<>(iu.getRequirements().size() + iu.getMetaRequirements().size() + (isFragment ? ((IInstallableUnitFragment) iu).getHost().size() : 0) + (isPatch ? ((IInstallableUnitPatch) iu).getRequirementsChange().size() : 0)); aggregatedRequirements.addAll(iu.getRequirements()); if (iu instanceof IInstallableUnitFragment) { aggregatedRequirements.addAll(((IInstallableUnitFragment) iu).getHost()); } if (iu instanceof InstallableUnitPatch) { IInstallableUnitPatch patchIU = (IInstallableUnitPatch) iu; List<IRequirementChange> changes = patchIU.getRequirementsChange(); for (int i = 0; i < changes.size(); i++) aggregatedRequirements.add(changes.get(i).newValue()); } if (considerMetaRequirements) aggregatedRequirements.addAll(iu.getMetaRequirements()); return aggregatedRequirements; }
if (!iu.getMetaRequirements().isEmpty()) throw new Error();
private boolean hasOnlySimpleRequirements(IInstallableUnit iu) { for (IRequirement r : iu.getRequirements()) if (r.getMax() == 0 || !RequiredCapability.isSimpleRequirement(r.getMatches())) return false; if (iu.getUpdateDescriptor() != null) { for (IMatchExpression<IInstallableUnit> m : iu.getUpdateDescriptor().getIUsBeingUpdated()) { if (!RequiredCapability.isSimpleRequirement(m)) return false; } } for (IRequirement r : iu.getMetaRequirements()) if (r.getMax() == 0 || !RequiredCapability.isSimpleRequirement(r.getMatches())) return false; if (iu instanceof IInstallableUnitFragment) { for (IRequirement r : ((IInstallableUnitFragment) iu).getHost()) if (!RequiredCapability.isSimpleRequirement(r.getMatches())) return false; } if (iu instanceof IInstallableUnitPatch) { IInstallableUnitPatch iuPatch = (IInstallableUnitPatch) iu; for (IRequirement[] rArr : iuPatch.getApplicabilityScope()) for (IRequirement r : rArr) if (!RequiredCapability.isSimpleRequirement(r.getMatches())) return false; IRequirement lifeCycle = iuPatch.getLifeCycle(); if (lifeCycle != null && !RequiredCapability.isSimpleRequirement(lifeCycle.getMatches())) return false; } return true; }
private boolean hasOnlySimpleRequirements(IInstallableUnit iu) { for (IRequirement r : iu.getRequirements()) if (r.getMax() == 0 || !RequiredCapability.isSimpleRequirement(r.getMatches())) return false; if (iu.getUpdateDescriptor() != null) { for (IMatchExpression<IInstallableUnit> m : iu.getUpdateDescriptor().getIUsBeingUpdated()) { if (!RequiredCapability.isSimpleRequirement(m)) return false; } } for (IRequirement r : iu.getMetaRequirements()) if (r.getMax() == 0 || !RequiredCapability.isSimpleRequirement(r.getMatches())) return false; if (iu instanceof IInstallableUnitFragment) { for (IRequirement r : ((IInstallableUnitFragment) iu).getHost()) if (!RequiredCapability.isSimpleRequirement(r.getMatches())) return false; } if (iu instanceof IInstallableUnitPatch) { IInstallableUnitPatch iuPatch = (IInstallableUnitPatch) iu; for (IRequirement[] rArr : iuPatch.getApplicabilityScope()) for (IRequirement r : rArr) if (!RequiredCapability.isSimpleRequirement(r.getMatches())) return false; IRequirement lifeCycle = iuPatch.getLifeCycle(); if (lifeCycle != null && !RequiredCapability.isSimpleRequirement(lifeCycle.getMatches())) return false; } return true; }
writeMetaRequirements(iu.getMetaRequirements()); writeProvidedCapabilities(iu.getProvidedCapabilities()); if (simpleRequirements && iu instanceof IInstallableUnitFragment) {
private boolean hasOnlySimpleRequirements(IInstallableUnit iu) { for (IRequirement r : iu.getRequirements()) if (r.getMax() == 0 || !RequiredCapability.isSimpleRequirement(r.getMatches())) return false; if (iu.getUpdateDescriptor() != null) { for (IMatchExpression<IInstallableUnit> m : iu.getUpdateDescriptor().getIUsBeingUpdated()) { if (!RequiredCapability.isSimpleRequirement(m)) return false; } } for (IRequirement r : iu.getMetaRequirements()) if (r.getMax() == 0 || !RequiredCapability.isSimpleRequirement(r.getMatches())) return false; if (iu instanceof IInstallableUnitFragment) { for (IRequirement r : ((IInstallableUnitFragment) iu).getHost()) if (!RequiredCapability.isSimpleRequirement(r.getMatches())) return false; } if (iu instanceof IInstallableUnitPatch) { IInstallableUnitPatch iuPatch = (IInstallableUnitPatch) iu; for (IRequirement[] rArr : iuPatch.getApplicabilityScope()) for (IRequirement r : rArr) if (!RequiredCapability.isSimpleRequirement(r.getMatches())) return false; IRequirement lifeCycle = iuPatch.getLifeCycle(); if (lifeCycle != null && !RequiredCapability.isSimpleRequirement(lifeCycle.getMatches())) return false; } return true; }
writeMetaRequirements(iu.getMetaRequirements()); writeProvidedCapabilities(iu.getProvidedCapabilities()); if (simpleRequirements && iu instanceof IInstallableUnitFragment) {
writeMetaRequirements(iu.getMetaRequirements()); writeProvidedCapabilities(iu.getProvidedCapabilities()); if (simpleRequirements && iu instanceof IInstallableUnitFragment) {