Fixed the value displayed for the recommends criteria.
diff --git a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java
index 6efe836..7a473d1 100644
--- a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java
+++ b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java
@@ -26,7 +26,6 @@
protected List changeVariables = new ArrayList();
protected List nouptodateVariables = new ArrayList();
protected List newVariables = new ArrayList();
- protected List optionalVariables = new ArrayList();
protected List optionalPairs;
public abstract List createOptimizationFunction(InstallableUnit metaIu);
@@ -185,7 +184,6 @@
Pair pair = (Pair) it.next();
// create a new variable y <=> iu * abs
Projector.AbstractVariable yvar = new Projector.AbstractVariable(pair.left.toString() + "*" + pair.right.toString());
- optionalVariables.add(yvar);
try {
dependencyHelper.implication(new Object[] {yvar}).implies(pair.left).named("OPT3");
dependencyHelper.implication(new Object[] {yvar}).implies(pair.right).named("OPT3");
diff --git a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java
index 4889fec..850f13c 100644
--- a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java
+++ b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java
@@ -69,12 +69,12 @@
proof.add(var);
}
}
-
- for (int i = 0; i < optionalVariables.size(); i++) {
- Object var = optionalVariables.get(i);
- if (!dependencyHelper.getBooleanValueFor(var)) {
+ Pair pair;
+ for (Iterator it = optionalPairs.iterator(); it.hasNext();) {
+ pair = (Pair) it.next();
+ if (dependencyHelper.getBooleanValueFor(pair.left) && !dependencyHelper.getBooleanValueFor(pair.right)) {
recommends++;
- proof.add(var);
+ proof.add(pair.right);
}
}