*** empty log message ***
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
index 07edd17..4b2c986 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
@@ -239,12 +239,12 @@
BaseNewWizardPage.invalid = Container path is invalid
NewFolderWizardPage.title = Create New Folder
-NewFolderWizardPage.desc = Create a new folder to organize your bookmarks. You can \
+NewFolderWizardPage.desc = You can \
choose an existing folder as a container or create a new root folder.
NewSearchWizardPage.title = New Feature Search
NewSearchWizardPage.desc = Create a new search for features. Use folders to organize \
-your search objects
+your search objects.
NewSearchWizardPage.category = &Category:
NewSiteBookmarkWizardPage.title = New Update Site Bookmark
@@ -407,8 +407,8 @@
JarVerificationDialog.MayChooseToInstall=You may choose to install the feature or cancel its installation.
JarVerificationDialog.MayChooseToContinue=You may choose to continue to install the feature or cancel its installation.
JarVerificationDialog.Install=Install Feature
-JarVerificationDialog.Continue=Continue Installing Feature
-JarVerificationDialog.Cancel=Cancel Feature Installation
+JarVerificationDialog.Continue=Continue
+JarVerificationDialog.Cancel=Cancel
JarVerificationDialog.KnownCertificate=One of the certificates used to authenticate this {0} was recognized.
JarVerificationDialog.ProviderKnown=The provider of this {0} has been validated by a trusted third party.
JarVerificationDialog.Caution=\r\nCaution: \"{0}\" asserts that the content of this feature is safe. \r\nYou should only install this feature if you trust \"{0}\" to make that assertion
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredFeatureAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredFeatureAdapter.java
index 12bb6cf..55d149a 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredFeatureAdapter.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredFeatureAdapter.java
@@ -38,12 +38,20 @@
}
public IFeatureAdapter[] getIncludedFeatures() {
try {
- IFeatureReference[] included = getFeature().getIncludedFeatureReferences();
+ IFeatureReference[] included =
+ getFeature().getIncludedFeatureReferences();
ConfiguredFeatureAdapter[] result =
new ConfiguredFeatureAdapter[included.length];
for (int i = 0; i < included.length; i++) {
+ IFeature feature;
+ try {
+ feature = included[i].getFeature();
+ } catch (CoreException e) {
+ feature = new MissingFeature(getSite(), getURL());
+ }
+
result[i] =
- new ConfiguredFeatureAdapter(adapter, included[i].getFeature(), configured);
+ new ConfiguredFeatureAdapter(adapter, feature, configured);
result[i].setIncluded(true);
}
return result;
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
index 3f45a83..54028af 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
@@ -221,20 +221,21 @@
}
private Object[] getConfiguredFeatures(IConfiguredSiteAdapter adapter) {
- try {
- IConfiguredSite csite = adapter.getConfigurationSite();
- IFeatureReference[] refs = csite.getConfiguredFeatures();
- ArrayList result = new ArrayList();
- for (int i = 0; i < refs.length; i++) {
- IFeature feature = refs[i].getFeature();
- result.add(
- new ConfiguredFeatureAdapter(adapter, feature, true));
+ IConfiguredSite csite = adapter.getConfigurationSite();
+ IFeatureReference[] refs = csite.getConfiguredFeatures();
+ ArrayList result = new ArrayList();
+ for (int i = 0; i < refs.length; i++) {
+ IFeatureReference ref = refs[i];
+ IFeature feature;
+ try {
+ feature = ref.getFeature();
+ } catch (CoreException e) {
+ feature = new MissingFeature(ref.getSite(), ref.getURL());
}
- return getRootFeatures(result);
- } catch (CoreException e) {
- UpdateUIPlugin.logException(e);
- return new Object[0];
+ result.add(
+ new ConfiguredFeatureAdapter(adapter, feature, true));
}
+ return getRootFeatures(result);
}
private Object[] getAllFeatures(IConfiguredSiteAdapter adapter) {
@@ -289,7 +290,15 @@
IFeatureReference[] included =
feature.getIncludedFeatureReferences();
for (int i = 0; i < included.length; i++) {
- IFeature childFeature = included[i].getFeature();
+ IFeature childFeature;
+ try {
+ childFeature = included[i].getFeature();
+ } catch (CoreException e) {
+ childFeature =
+ new MissingFeature(
+ included[i].getSite(),
+ included[i].getURL());
+ }
children.add(childFeature);
}
} catch (CoreException e) {
@@ -306,23 +315,17 @@
return true;
}
return false;
- } /**
- * @see ITreeContentProvider#getParent(Object)
- */
+ }
public Object getParent(Object child) {
return null;
- } /**
- * @see ITreeContentProvider#hasChildren(Object)
- */
+ }
public boolean hasChildren(Object parent) {
if (parent instanceof ConfiguredFeatureAdapter) {
return ((ConfiguredFeatureAdapter) parent)
.hasIncludedFeatures();
}
return true;
- } /**
- * @see IStructuredContentProvider#getElements(Object)
- */
+ }
public Object[] getElements(Object input) {
return getChildren(input);
}
@@ -402,8 +405,11 @@
}
ILocalSite localSite = getLocalSite();
try {
+ IFeature feature = adapter.getFeature();
+ if (feature instanceof MissingFeature)
+ return errorFeatureImage;
IStatus status =
- localSite.getFeatureStatus(adapter.getFeature());
+ localSite.getFeatureStatus(feature);
int code = status.getCode();
if (configured) {
switch (code) {
@@ -862,28 +868,28 @@
UpdateUIPlugin.logException(e);
}
} /**
- * @see IInstallConfigurationChangedListener#installSiteAdded(ISite)
- */
+ * @see IInstallConfigurationChangedListener#installSiteAdded(ISite)
+ */
public void installSiteAdded(IConfiguredSite csite) {
asyncRefresh();
} /**
- * @see IInstallConfigurationChangedListener#installSiteRemoved(ISite)
- */
+ * @see IInstallConfigurationChangedListener#installSiteRemoved(ISite)
+ */
public void installSiteRemoved(IConfiguredSite site) {
asyncRefresh();
} /**
- * @see IConfiguredSiteChangedListener#featureInstalled(IFeature)
- */
+ * @see IConfiguredSiteChangedListener#featureInstalled(IFeature)
+ */
public void featureInstalled(IFeature feature) {
asyncRefresh();
} /**
- * @see IConfiguredSiteChangedListener#featureUninstalled(IFeature)
- */
+ * @see IConfiguredSiteChangedListener#featureUninstalled(IFeature)
+ */
public void featureRemoved(IFeature feature) {
asyncRefresh();
} /**
- * @see IConfiguredSiteChangedListener#featureUConfigured(IFeature)
- */
+ * @see IConfiguredSiteChangedListener#featureUConfigured(IFeature)
+ */
public void featureConfigured(IFeature feature) {
};
/**
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UpdatesView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UpdatesView.java
index 0c03b06..959dc02 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UpdatesView.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UpdatesView.java
@@ -724,17 +724,12 @@
}
private Object[] getSiteCatalog(final SiteBookmark bookmark) {
- if (!bookmark.isSiteConnected()) {
- Object[] result = getSiteCatalogWithIndicator(bookmark, true);
- if (result != null)
- return result;
- }
- if (bookmark.getSite() != null) {
- Object[] result = getSiteCatalogWithIndicator(bookmark, false);
- if (result != null)
- return result;
- }
- return new Object[0];
+ Object[] result =
+ getSiteCatalogWithIndicator(bookmark, !bookmark.isSiteConnected());
+ if (result != null)
+ return result;
+ else
+ return new Object[0];
}
private Object[] getSiteCatalogWithIndicator(