if (!bsn.equals(oBsn)) {
continue;
}
Version oVer = getBundleVersion(overMan);
VersionRange range;
String vr = extractVersionRange(override);
if (vr == null) {
// default to micro version compatibility
Version v2 = new Version(oVer.getMajor(), oVer.getMinor(), 0);
if (v2.equals(oVer)) {
continue;
}
range = new VersionRange(false, v2, oVer, true);
} else {
range = VersionRange.parseVersionRange(vr);
}
String vendor = getBundleVendor(overMan);
// Before we do a replace, lets check if vendors change
if (ven == null) {
if (vendor != null) {
LOGGER.warn(VENDOR_WARNING + bsn);
}
} else {
if (vendor == null) {
LOGGER.warn(VENDOR_WARNING + bsn);
} else {
if (!vendor.equals(ven)) {
LOGGER.warn(VENDOR_WARNING + bsn);
}
}
}
// The resource matches, so replace it with the overridden resource
// if the override is actually a newer version than what we currently have
if (range.contains(ver) && ver.compareTo(oVer) < 0) {
LOGGER.warn("Overriding original bundle " + url + " to " + override.getName());
ver = oVer;
url = override.getName();
}
}