*** empty log message ***
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java
index 9c79101..a74e639 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java
@@ -232,12 +232,15 @@
}
public static IFeature[] getInstalledFeatures(IFeature feature, boolean onlyConfigured) {
+ return getInstalledFeatures(feature.getVersionedIdentifier(), onlyConfigured);
+ }
+
+ public static IFeature[] getInstalledFeatures(VersionedIdentifier vid, boolean onlyConfigured) {
Vector features = new Vector();
try {
ILocalSite localSite = SiteManager.getLocalSite();
IInstallConfiguration config = localSite.getCurrentConfiguration();
IConfiguredSite[] isites = config.getConfiguredSites();
- VersionedIdentifier vid = feature.getVersionedIdentifier();
String id = vid.getIdentifier();
for (int i = 0; i < isites.length; i++) {
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/UpdatesSearchCategory.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/UpdatesSearchCategory.java
index 26bc805..cf7084a 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/UpdatesSearchCategory.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/UpdatesSearchCategory.java
@@ -15,6 +15,7 @@
import org.eclipse.update.internal.ui.model.*;
import org.eclipse.update.internal.ui.parts.*;
import org.eclipse.update.internal.ui.preferences.MainPreferencePage;
+import org.eclipse.update.internal.ui.wizards.FeatureHierarchyElement;
import org.eclipse.update.ui.forms.internal.FormWidgetFactory;
public class UpdatesSearchCategory extends SearchCategory {
@@ -234,7 +235,7 @@
// otherwise it is a broken feature that we
// do not care about.
if (ref.isOptional()) {
- return true;
+ return FeatureHierarchyElement.hasOlderVersion(ref);
}
}
}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/FeatureHierarchyElement.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/FeatureHierarchyElement.java
index 50b255e..15588bd 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/FeatureHierarchyElement.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/FeatureHierarchyElement.java
@@ -328,15 +328,14 @@
return null;
}
- private static boolean hasOlderVersion(IFeatureReference newRef) {
+ public static boolean hasOlderVersion(IFeatureReference newRef) {
try {
- IFeature feature = newRef.getFeature();
- VersionedIdentifier vid = feature.getVersionedIdentifier();
+ VersionedIdentifier vid = newRef.getVersionedIdentifier();
PluginVersionIdentifier version = vid.getVersion();
String mode = MainPreferencePage.getUpdateVersionsMode();
IFeature[] allInstalled =
- UpdateUIPlugin.getInstalledFeatures(feature, false);
+ UpdateUIPlugin.getInstalledFeatures(vid, false);
for (int i = 0; i < allInstalled.length; i++) {
IFeature candidate = allInstalled[i];
PluginVersionIdentifier cversion =