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; }
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; }
private IRequirement[][] mergeRequirements(IInstallableUnit iu, IInstallableUnitPatch patch) { if (patch == null) return null; List<IRequirementChange> changes = patch.getRequirementsChange(); Collection<IRequirement> iuRequirements = iu.getRequirements(); IRequirement[] originalRequirements = iuRequirements.toArray(new IRequirement[iuRequirements.size()]);
IInstallableUnitPatch patch = (IInstallableUnitPatch) iu; writeApplicabilityScope(patch.getApplicabilityScope()); writeRequirementsChange(patch.getRequirementsChange()); writeLifeCycle(patch.getLifeCycle());
IInstallableUnitPatch patch = (IInstallableUnitPatch) iu; writeApplicabilityScope(patch.getApplicabilityScope()); writeRequirementsChange(patch.getRequirementsChange()); writeLifeCycle(patch.getLifeCycle());
IInstallableUnitPatch patch = (IInstallableUnitPatch) iu; writeApplicabilityScope(patch.getApplicabilityScope()); writeRequirementsChange(patch.getRequirementsChange()); writeLifeCycle(patch.getLifeCycle());