private Collection<IRequirement> allRequirements(IInstallableUnit iu) { if (!(iu instanceof IInstallableUnitPatch) && !(iu instanceof IInstallableUnitFragment)) return iu.getRequirements(); Set<IRequirement> allRequirements = new HashSet<>(iu.getRequirements()); if (iu instanceof IInstallableUnitPatch) ((IInstallableUnitPatch) iu).getRequirementsChange().stream() // .map(IRequirementChange::newValue) // .forEach(allRequirements::add); if (iu instanceof IInstallableUnitFragment) allRequirements.addAll(((IInstallableUnitFragment) iu).getHost()); return allRequirements; }
public Collection<IProvidedCapability> getProvidedCapabilities() { Collection<IProvidedCapability> originalCapabilities = original.getProvidedCapabilities(); if (fragments.length == 0) return originalCapabilities; ArrayList<IProvidedCapability> result = new ArrayList<IProvidedCapability>(originalCapabilities); for (int i = 0; i < fragments.length; i++) result.addAll(fragments[i].getProvidedCapabilities()); return result; }
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; }
public Collection<ITouchpointData> getTouchpointData() { Collection<ITouchpointData> originalTouchpointData = original.getTouchpointData(); if (fragments.length == 0) return originalTouchpointData; ArrayList<ITouchpointData> result = new ArrayList<ITouchpointData>(originalTouchpointData); for (int i = 0; i < fragments.length; i++) result.addAll(fragments[i].getTouchpointData()); return result; }
public Collection<IRequirement> getRequirements() { Collection<IRequirement> originalCapabilities = original.getRequirements(); 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].getRequirements()); return result; }
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 static boolean isTranslation(IInstallableUnitFragment fragment) { for (IProvidedCapability capability : fragment.getProvidedCapabilities()) { // TODO make the constant in the TranslationSupport class public and use it if ("org.eclipse.equinox.p2.localization".equals(capability.getNamespace())) //$NON-NLS-1$ return true; } return false; } }
private void determinePotentialHostsForFragment(IInstallableUnit iu) { // determine matching hosts only for fragments if (!(iu instanceof IInstallableUnitFragment)) return; IInstallableUnitFragment fragment = (IInstallableUnitFragment) iu; // for each host requirement, find matches and remember them for (IRequirement req : fragment.getHost()) { List<IInstallableUnit> matches = getApplicableMatches(req); rememberHostMatches((IInstallableUnitFragment) iu, matches); } }
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; }
writeHostRequirements(fragment.getHost()); if (simpleRequirements && iu instanceof IInstallableUnitFragment) { Collection<IRequirement> mergedRequirementsAndFragmentHostForPre36Compatibility = new LinkedHashSet<IRequirement>(iu.getRequirements()); mergedRequirementsAndFragmentHostForPre36Compatibility.addAll(((IInstallableUnitFragment) iu).getHost()); writeRequirements(mergedRequirementsAndFragmentHostForPre36Compatibility); } else {
writeHostRequirements(fragment.getHost()); if (simpleRequirements && iu instanceof IInstallableUnitFragment) { Collection<IRequirement> mergedRequirementsAndFragmentHostForPre36Compatibility = new LinkedHashSet<IRequirement>(iu.getRequirements()); mergedRequirementsAndFragmentHostForPre36Compatibility.addAll(((IInstallableUnitFragment) iu).getHost()); writeRequirements(mergedRequirementsAndFragmentHostForPre36Compatibility); } else {
writeHostRequirements(fragment.getHost()); if (simpleRequirements && iu instanceof IInstallableUnitFragment) { Collection<IRequirement> mergedRequirementsAndFragmentHostForPre36Compatibility = new LinkedHashSet<IRequirement>(iu.getRequirements()); mergedRequirementsAndFragmentHostForPre36Compatibility.addAll(((IInstallableUnitFragment) iu).getHost()); writeRequirements(mergedRequirementsAndFragmentHostForPre36Compatibility); } else {
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; }
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; }