DependencyConstraint match is incorrect in version 2.9.1
krueger71 opened this issue · 0 comments
krueger71 commented
In version 2.9.1 this method ends prematurely on the first successful package match
public boolean match(Collection expectedPackages) {
if (packages.size() == expectedPackages.size()) {
for (Iterator i = expectedPackages.iterator(); i.hasNext();) {
Object next = i.next();
if (next instanceof JavaPackage) {
JavaPackage nextPackage = (JavaPackage) next;
if (!matchPackage(nextPackage)) {
return false;
}
} else {
break;
}
return true;
}
}
return false;
}
This version works as expected, letting all packages be matched before returning true
public boolean match(Collection expectedPackages) {
if (packages.size() == expectedPackages.size()) {
for (Iterator i = expectedPackages.iterator(); i.hasNext();) {
Object next = i.next();
if (next instanceof JavaPackage) {
JavaPackage nextPackage = (JavaPackage) next;
if (!matchPackage(nextPackage)) {
return false;
}
}
}
return true;
}
return false;
}