/** * Convert to an OSGi filter expression */ public String toFilter(String versionAttribute) { try (Formatter f = new Formatter()) { if (high == Version.HIGHEST) return "(" + versionAttribute + ">=" + low + ")"; if (isRange()) { f.format("(&"); if (includeLow()) f.format("(%s>=%s)", versionAttribute, getLow()); else f.format("(!(%s<=%s))", versionAttribute, getLow()); if (includeHigh()) f.format("(%s<=%s)", versionAttribute, getHigh()); else f.format("(!(%s>=%s))", versionAttribute, getHigh()); f.format(")"); } else { f.format("(%s>=%s)", versionAttribute, getLow()); } return f.toString(); } }
/** * Convert to an OSGi filter expression */ public String toFilter(String versionAttribute) { try (Formatter f = new Formatter()) { if (high == Version.HIGHEST) return "(" + versionAttribute + ">=" + low + ")"; if (isRange()) { f.format("(&"); if (includeLow()) f.format("(%s>=%s)", versionAttribute, getLow()); else f.format("(!(%s<=%s))", versionAttribute, getLow()); if (includeHigh()) f.format("(%s<=%s)", versionAttribute, getHigh()); else f.format("(!(%s>=%s))", versionAttribute, getHigh()); f.format(")"); } else { f.format("(%s>=%s)", versionAttribute, getLow()); } return f.toString(); } }
/** * Convert to an OSGi filter expression */ public String toFilter(String versionAttribute) { try (Formatter f = new Formatter()) { if (high == Version.HIGHEST) return "(" + versionAttribute + ">=" + low + ")"; if (isRange()) { f.format("(&"); if (includeLow()) f.format("(%s>=%s)", versionAttribute, getLow()); else f.format("(!(%s<=%s))", versionAttribute, getLow()); if (includeHigh()) f.format("(%s<=%s)", versionAttribute, getHigh()); else f.format("(!(%s>=%s))", versionAttribute, getHigh()); f.format(")"); } else { f.format("(%s>=%s)", versionAttribute, getLow()); } return f.toString(); } }
/** * Convert to an OSGi filter expression */ public String toFilter(String versionAttribute) { try (Formatter f = new Formatter()) { if (high == Version.HIGHEST) return "(" + versionAttribute + ">=" + low + ")"; if (isRange()) { f.format("(&"); if (includeLow()) f.format("(%s>=%s)", versionAttribute, getLow()); else f.format("(!(%s<=%s))", versionAttribute, getLow()); if (includeHigh()) f.format("(%s<=%s)", versionAttribute, getHigh()); else f.format("(!(%s>=%s))", versionAttribute, getHigh()); f.format(")"); } else { f.format("(%s>=%s)", versionAttribute, getLow()); } return f.toString(); } }
/** * Convert to an OSGi filter expression * * @return */ public String toFilter() { Formatter f = new Formatter(); try { if (isRange()) { f.format("(&"); if (includeLow()) f.format("(version>=%s)", getLow()); else f.format("(!(version<=%s))", getLow()); if (includeHigh()) f.format("(version<=%s)", getHigh()); else f.format("(!(version>=%s))", getHigh()); f.format(")"); } else { f.format("(version>=%s)", getLow()); } return f.toString(); } finally { f.close(); } }
private boolean matchVersion(String range, Version version, boolean exact) { if (range == null || range.trim().length() == 0) return true; VersionRange vr = new VersionRange(range); boolean result; if (exact) { if (vr.isRange()) result = false; else result = vr.getHigh().equals(version); } else { result = vr.includes(version); } return result; }
/** * Convert to an OSGi filter expression * * @return */ public String toFilter() { Formatter f = new Formatter(); try { if (isRange()) { f.format("(&"); if (includeLow()) f.format("(version>=%s)", getLow()); else f.format("(!(version<=%s))", getLow()); if (includeHigh()) f.format("(version<=%s)", getHigh()); else f.format("(!(version>=%s))", getHigh()); f.format(")"); } else { f.format("(version>=%s)", getLow()); } return f.toString(); } finally { f.close(); } }
private boolean matchVersion(String range, Version version, boolean exact) { if (range == null || range.trim().length() == 0) return true; VersionRange vr = new VersionRange(range); boolean result; if (exact) { if (vr.isRange()) result = false; else result = vr.getHigh().equals(version); } else { result = vr.includes(version); } return result; }
private boolean matchVersion(String range, Version version, boolean exact) { if (range == null || range.trim().length() == 0) return true; VersionRange vr = new VersionRange(range); boolean result; if (exact) { if (vr.isRange()) result = false; else result = vr.getHigh().equals(version); } else { result = vr.includes(version); } return result; }
public static List<Resource> narrowVersionsByVersionRange(SortedMap<Version, Resource> versionMap, String rangeStr) { List<Resource> result; if (aQute.bnd.osgi.Constants.VERSION_ATTR_LATEST.equals(rangeStr)) { Version highest = versionMap.lastKey(); result = Create.list(versionMap.get(highest)); } else { VersionRange range = rangeStr != null ? new VersionRange(rangeStr) : null; // optimisation: skip versions definitely less than the range if (range != null && range.getLow() != null) versionMap = versionMap.tailMap(range.getLow()); result = new ArrayList<>(versionMap.size()); for (Entry<Version, Resource> entry : versionMap.entrySet()) { Version version = entry.getKey(); if (range == null || range.includes(version)) result.add(entry.getValue()); // optimisation: skip versions definitely higher than the range if (range != null && range.isRange() && version.compareTo(range.getHigh()) >= 0) break; } } return result; }
public static List<Resource> narrowVersionsByVersionRange(SortedMap<Version, Resource> versionMap, String rangeStr) { List<Resource> result; if (aQute.bnd.osgi.Constants.VERSION_ATTR_LATEST.equals(rangeStr)) { Version highest = versionMap.lastKey(); result = Create.list(versionMap.get(highest)); } else { VersionRange range = rangeStr != null ? new VersionRange(rangeStr) : null; // optimisation: skip versions definitely less than the range if (range != null && range.getLow() != null) versionMap = versionMap.tailMap(range.getLow()); result = new ArrayList<>(versionMap.size()); for (Entry<Version, Resource> entry : versionMap.entrySet()) { Version version = entry.getKey(); if (range == null || range.includes(version)) result.add(entry.getValue()); // optimisation: skip versions definitely higher than the range if (range != null && range.isRange() && version.compareTo(range.getHigh()) >= 0) break; } } return result; }
private boolean matchVersion(String range, Version version, boolean exact) { if (range == null || range.trim() .length() == 0) return true; VersionRange vr = new VersionRange(range); boolean result; if (exact) { if (vr.isRange()) result = false; else result = vr.getHigh() .equals(version); } else { result = vr.includes(version); } return result; }
private boolean matchVersion(String range, Version version, boolean exact) { if (range == null || range.trim() .length() == 0) return true; VersionRange vr = new VersionRange(range); boolean result; if (exact) { if (vr.isRange()) result = false; else result = vr.getHigh() .equals(version); } else { result = vr.includes(version); } return result; }
if (!(vr.includes(vr.getHigh()) || vr.includes(vr.getLow()))) { domain.error("${range} macro created an invalid range %s from %s and mask %s", s, version, spec);
if (!(vr.includes(vr.getHigh()) || vr.includes(vr.getLow()))) { domain.error("${range} macro created an invalid range %s from %s and mask %s", s, version, spec);
if (!(vr.includes(vr.getHigh()) || vr.includes(vr.getLow()))) { domain.error("${range} macro created an invalid range %s from %s and mask %s", s, version, spec);