public boolean equals(Object object) { if (!(object instanceof VersionRange)) return false; VersionRange vr = (VersionRange) object; return includeMin == vr.includeMin && includeMax == vr.includeMax && minVersion.equals(vr.getMinimum()) && maxVersion.equals(vr.getMaximum()); }
public static boolean isSingleVersion( VersionRange range ) { // RequiredCapability.isVersionStrict return range.getIncludeMaximum() && range.getIncludeMinimum() && range.getMinimum().equals( range.getMaximum() ); }
VersionRange range = getRange(); if (range.getMinimum().equals(range.getMaximum())) result.append('[').append(range.getMinimum()).append(']'); else
public RequiredCapability(String namespace, String name, VersionRange range, IMatchExpression<IInstallableUnit> filter, int min, int max, boolean greedy, String description) { Assert.isNotNull(namespace); Assert.isNotNull(name); IExpressionFactory factory = ExpressionUtil.getFactory(); if (range == null || range.equals(VersionRange.emptyRange)) { matchExpression = factory.matchExpression(allVersionsExpression, name, namespace); } else { if (range.getMinimum().equals(range.getMaximum())) { // Explicit version appointed matchExpression = factory.matchExpression(strictVersionExpression, name, namespace, range.getMinimum()); } else { if (range.getMaximum().equals(Version.MAX_VERSION)) { // Open ended matchExpression = factory.matchExpression(range.getIncludeMinimum() ? openEndedExpression : openEndedNonInclusiveExpression, name, namespace, range.getMinimum()); } else { matchExpression = factory.matchExpression(// range.getIncludeMinimum() ? (range.getIncludeMaximum() ? range_II_Expression : range_IN_Expression) // : (range.getIncludeMaximum() ? range_NI_Expression : range_NN_Expression), // name, namespace, range.getMinimum(), range.getMaximum()); } } } this.min = min; this.max = max; this.greedy = greedy; this.filter = filter; this.description = description; }
private static IMatchExpression<IInstallableUnit> createMatchExpressionFromRange(String namespace, String name, VersionRange range) { IMatchExpression<IInstallableUnit> resultExpression = null; IExpressionFactory factory = ExpressionUtil.getFactory(); if (range == null || range.equals(VersionRange.emptyRange)) { resultExpression = factory.matchExpression(allVersionsExpression, name, namespace); } else { if (range.getMinimum().equals(range.getMaximum())) { // Explicit version appointed resultExpression = factory.matchExpression(strictVersionExpression, name, namespace, range.getMinimum()); } else { if (range.getMaximum().equals(Version.MAX_VERSION)) { // Open ended resultExpression = factory.matchExpression(range.getIncludeMinimum() ? openEndedExpression : openEndedNonInclusiveExpression, name, namespace, range.getMinimum()); } else { resultExpression = factory.matchExpression(// range.getIncludeMinimum() ? (range.getIncludeMaximum() ? range_II_Expression : range_IN_Expression) // : (range.getIncludeMaximum() ? range_NI_Expression : range_NN_Expression), // name, namespace, range.getMinimum(), range.getMaximum()); } } } return resultExpression; }
public static org.eclipse.osgi.service.resolver.VersionRange toOSGiVersionRange(VersionRange range) { if (range.equals(VersionRange.emptyRange)) { return org.eclipse.osgi.service.resolver.VersionRange.emptyRange; } return new org.eclipse.osgi.service.resolver.VersionRange(toOSGiVersion(range.getMinimum()), range.getIncludeMinimum(), toOSGiVersion(range.getMaximum()), range.getIncludeMinimum()); }
public static org.eclipse.osgi.service.resolver.VersionRange toOSGiVersionRange(VersionRange range) { if (range.equals(VersionRange.emptyRange)) return org.eclipse.osgi.service.resolver.VersionRange.emptyRange; return new org.eclipse.osgi.service.resolver.VersionRange(toOSGiVersion(range.getMinimum()), range.getIncludeMinimum(), toOSGiVersion(range.getMaximum()), range.getIncludeMinimum()); }
public static org.eclipse.osgi.service.resolver.VersionRange toOSGiVersionRange(VersionRange range) { if (range.equals(VersionRange.emptyRange)) return org.eclipse.osgi.service.resolver.VersionRange.emptyRange; return new org.eclipse.osgi.service.resolver.VersionRange(toOSGiVersion(range.getMinimum()), range.getIncludeMinimum(), toOSGiVersion(range.getMaximum()), range.getIncludeMinimum()); }
public static org.eclipse.osgi.service.resolver.VersionRange toOSGiVersionRange(VersionRange range) { if (range.equals(VersionRange.emptyRange)) return org.eclipse.osgi.service.resolver.VersionRange.emptyRange; return new org.eclipse.osgi.service.resolver.VersionRange(toOSGiVersion(range.getMinimum()), range.getIncludeMinimum(), toOSGiVersion(range.getMaximum()), range.getIncludeMinimum()); }
protected VersionRange getVersionRange(FeatureEntry entry) { String versionSpec = entry.getVersion(); if (versionSpec == null) return VersionRange.emptyRange; String match = entry.getMatch(); if ("versionRange".equals(match)) //$NON-NLS-1$ return new VersionRange(versionSpec); Version version = Version.parseVersion(versionSpec); if (version.equals(Version.emptyVersion)) return VersionRange.emptyRange; if (!entry.isRequires()) return new VersionRange(version, true, version, true); if (match == null) // TODO should really be returning VersionRange.emptyRange here... return null; if (match.equals("perfect")) //$NON-NLS-1$ return new VersionRange(version, true, version, true); org.osgi.framework.Version osgiVersion = PublisherHelper.toOSGiVersion(version); if (match.equals("equivalent")) { //$NON-NLS-1$ Version upper = Version.createOSGi(osgiVersion.getMajor(), osgiVersion.getMinor() + 1, 0); return new VersionRange(version, true, upper, false); } if (match.equals("compatible")) { //$NON-NLS-1$ Version upper = Version.createOSGi(osgiVersion.getMajor() + 1, 0, 0); return new VersionRange(version, true, upper, false); } if (match.equals("greaterOrEqual")) //$NON-NLS-1$ return new VersionRange(version, true, new VersionRange(null).getMaximum(), true); return null; }
protected VersionRange getVersionRange(FeatureEntry entry) { String versionSpec = entry.getVersion(); if (versionSpec == null) return VersionRange.emptyRange; String match = entry.getMatch(); if ("versionRange".equals(match)) //$NON-NLS-1$ return new VersionRange(versionSpec); Version version = Version.parseVersion(versionSpec); if (version.equals(Version.emptyVersion)) return VersionRange.emptyRange; if (!entry.isRequires()) return new VersionRange(version, true, version, true); if (match == null) // TODO should really be returning VersionRange.emptyRange here... return null; if (match.equals("perfect")) //$NON-NLS-1$ return new VersionRange(version, true, version, true); org.osgi.framework.Version osgiVersion = PublisherHelper.toOSGiVersion(version); if (match.equals("equivalent")) { //$NON-NLS-1$ Version upper = Version.createOSGi(osgiVersion.getMajor(), osgiVersion.getMinor() + 1, 0); return new VersionRange(version, true, upper, false); } if (match.equals("compatible")) { //$NON-NLS-1$ Version upper = Version.createOSGi(osgiVersion.getMajor() + 1, 0, 0); return new VersionRange(version, true, upper, false); } if (match.equals("greaterOrEqual")) //$NON-NLS-1$ return new VersionRange(version, true, new VersionRange(null).getMaximum(), true); return null; }
return new VersionRange(version, true, new VersionRange(null).getMaximum(), true); return null;
public VersionRange intersect(VersionRange r2) { int minCompare = minVersion.compareTo(r2.getMinimum()); int maxCompare = maxVersion.compareTo(r2.getMaximum()); Version resultMax; if (maxCompare > 0) { resultMax = r2.getMaximum(); resultMaxIncluded = r2.getIncludeMaximum(); } else if (maxCompare < 0) {
return ((IRequiredCapability) element).getRange().getMaximum().toString();