*** empty log message ***
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/DetailsForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/DetailsForm.java
index d5f5938..d9b6d04 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/DetailsForm.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/DetailsForm.java
@@ -505,7 +505,7 @@
IFeatureAdapter adapter = (IFeatureAdapter) obj;
try {
currentAdapter = adapter;
- currentFeature = adapter.getFeature();
+ currentFeature = adapter.getFeature(null);
} catch (CoreException e) {
//UpdateUIPlugin.logException(e);
currentFeature =
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/SiteForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/SiteForm.java
index a91431a..e956559 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/SiteForm.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/SiteForm.java
@@ -144,7 +144,7 @@
if (webSite)
return currentAdapter.getURL();
else {
- ISite site = currentAdapter.getSite();
+ ISite site = currentAdapter.getSite(null);
if (site == null)
return null;
if (rawURL)
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 654c85b..8c5c5aa 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
@@ -7,7 +7,9 @@
package org.eclipse.update.internal.ui.model;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.PluginVersionIdentifier;
+import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.update.configuration.*;
import org.eclipse.update.core.*;
@@ -47,19 +49,22 @@
public boolean isUpdated() {
return updated;
}
- public IFeatureAdapter[] getIncludedFeatures() {
+ public IFeatureAdapter[] getIncludedFeatures(IProgressMonitor monitor) {
try {
IIncludedFeatureReference[] included =
- getFeature().getIncludedFeatureReferences();
+ getFeature(null).getIncludedFeatureReferences();
ConfiguredFeatureAdapter[] result =
new ConfiguredFeatureAdapter[included.length];
+ SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);
+ subMonitor.beginTask("", included.length);
+
for (int i = 0; i < included.length; i++) {
IIncludedFeatureReference fref = included[i];
IFeature feature;
boolean childConfigured=configured;
boolean updated = false;
try {
- feature = fref.getFeature(!configured, getConfigurationSite());
+ feature = fref.getFeature(!configured, getConfigurationSite(), new SubProgressMonitor(subMonitor, 1));
childConfigured = adapter.getConfigurationSite().isConfigured(feature);
///*
PluginVersionIdentifier refpid = fref.getVersionedIdentifier().getVersion();
@@ -67,7 +72,7 @@
updated = !refpid.equals(fpid);
//*/
} catch (CoreException e) {
- feature = new MissingFeature(getFeature(), fref);
+ feature = new MissingFeature(getFeature(null), fref);
childConfigured = false;
}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureAdapter.java
index e701409..209ceab 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureAdapter.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureAdapter.java
@@ -8,7 +8,8 @@
import org.eclipse.update.configuration.*;
import org.eclipse.update.core.*;
-import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
/**
* @version 1.0
@@ -34,16 +35,16 @@
public String toString() {
try {
- IFeature feature = getFeature();
+ IFeature feature = getFeature(null);
return feature.getLabel();
}
catch (CoreException e) {
return "<failure>";
}
}
- public boolean hasIncludedFeatures() {
+ public boolean hasIncludedFeatures(IProgressMonitor monitor) {
try {
- IFeatureReference [] included = getFeature().getIncludedFeatureReferences();
+ IFeatureReference [] included = getFeature(monitor).getIncludedFeatureReferences();
return included.length>0;
}
catch (CoreException e) {
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureReferenceAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureReferenceAdapter.java
index f4d0986..1b732c4 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureReferenceAdapter.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureReferenceAdapter.java
@@ -6,6 +6,7 @@
import java.net.URL;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.update.core.*;
public class FeatureReferenceAdapter extends FeatureAdapter {
@@ -16,8 +17,12 @@
setIncluded(featureRef instanceof IIncludedFeatureReference);
}
- public IFeature getFeature() throws CoreException {
- return featureRef.getFeature();
+ public IFeature getFeature(IProgressMonitor monitor) throws CoreException {
+ return featureRef.getFeature(monitor);
+ }
+
+ public String getFastLabel() {
+ return featureRef.getURL().toString();
}
public ISite getSite() {
@@ -33,10 +38,10 @@
((IIncludedFeatureReference)featureRef).isOptional():false;
}
- public IFeatureAdapter[] getIncludedFeatures() {
+ public IFeatureAdapter[] getIncludedFeatures(IProgressMonitor monitor) {
try {
IFeatureReference[] included =
- getFeature().getIncludedFeatureReferences();
+ getFeature(monitor).getIncludedFeatureReferences();
FeatureReferenceAdapter[] result =
new FeatureReferenceAdapter[included.length];
for (int i = 0; i < included.length; i++) {
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IFeatureAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IFeatureAdapter.java
index 65300e0..181a7e2 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IFeatureAdapter.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IFeatureAdapter.java
@@ -9,7 +9,8 @@
import java.net.URL;
import org.eclipse.update.core.*;
-import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
/**
* @version 1.0
@@ -18,9 +19,10 @@
public interface IFeatureAdapter {
public URL getURL();
public ISite getSite();
- public IFeature getFeature() throws CoreException;
- public IFeatureAdapter [] getIncludedFeatures();
- public boolean hasIncludedFeatures();
+ public IFeature getFeature(IProgressMonitor monitor) throws CoreException;
+ public IFeatureAdapter [] getIncludedFeatures(IProgressMonitor monitor);
+ public boolean hasIncludedFeatures(IProgressMonitor monitor);
public boolean isIncluded();
public boolean isOptional();
+ public String getFastLabel();
}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ISiteAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ISiteAdapter.java
index e3bc57b..bba80a8 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ISiteAdapter.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ISiteAdapter.java
@@ -1,5 +1,6 @@
package org.eclipse.update.internal.ui.model;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.update.core.ISite;
import java.net.URL;
@@ -7,7 +8,7 @@
public String getLabel();
public URL getURL();
- public ISite getSite();
+ public ISite getSite(IProgressMonitor monitor);
}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/MyComputer.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/MyComputer.java
index 6f7dd84..454d275 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/MyComputer.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/MyComputer.java
@@ -117,7 +117,7 @@
monitor.subTask(child.getPath());
SiteBookmark bookmark = MyComputerDirectory.createSite(child);
if (bookmark != null) {
- ISite site = bookmark.getSite(false);
+ ISite site = bookmark.getSite(false, null);
if (site != null)
sites.add(bookmark);
} else
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SimpleFeatureAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SimpleFeatureAdapter.java
index 7efd2ef..f035f79 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SimpleFeatureAdapter.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SimpleFeatureAdapter.java
@@ -9,7 +9,8 @@
import java.net.URL;
import org.eclipse.update.core.*;
-import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
/**
* @version 1.0
@@ -26,10 +27,14 @@
this.optional = optional;
}
- public IFeature getFeature() throws CoreException {
+ public IFeature getFeature(IProgressMonitor monitor) throws CoreException {
return feature;
}
+ public String getFastLabel() {
+ return feature.getLabel();
+ }
+
public URL getURL() {
return feature.getURL();
}
@@ -38,9 +43,9 @@
return feature.getSite();
}
- public IFeatureAdapter[] getIncludedFeatures() {
+ public IFeatureAdapter[] getIncludedFeatures(IProgressMonitor monitor) {
try {
- IIncludedFeatureReference[] included = getFeature().getIncludedFeatureReferences();
+ IIncludedFeatureReference[] included = getFeature(monitor).getIncludedFeatureReferences();
SimpleFeatureAdapter[] result =
new SimpleFeatureAdapter[included.length];
for (int i = 0; i < included.length; i++) {
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteBookmark.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteBookmark.java
index b1c1a6c..a025978 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteBookmark.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteBookmark.java
@@ -64,14 +64,14 @@
notifyObjectChanged(P_URL);
}
- public ISite getSite() {
- return getSite(true);
+ public ISite getSite(IProgressMonitor monitor) {
+ return getSite(true, monitor);
}
- public ISite getSite(boolean showDialogIfFailed) {
+ public ISite getSite(boolean showDialogIfFailed, IProgressMonitor monitor) {
if (site==null) {
try {
- connect();
+ connect(monitor);
}
catch (CoreException e) {
UpdateUIPlugin.logException(e, showDialogIfFailed);
@@ -84,39 +84,50 @@
return site!=null;
}
- public void connect() throws CoreException {
- connect(true);
+ public void connect(IProgressMonitor monitor) throws CoreException {
+ connect(true, monitor);
}
- public void connect(boolean useCache) throws CoreException {
- site = SiteManager.getSite(url, useCache);
- createCatalog();
+ public void connect(boolean useCache, IProgressMonitor monitor) throws CoreException {
+ monitor.beginTask("", 2);
+ monitor.subTask("Connecting to "+url.toString()+"...");
+ site = SiteManager.getSite(url, useCache, new SubProgressMonitor(monitor, 1));
+ createCatalog(new SubProgressMonitor(monitor, 1));
}
- private void createCatalog() {
+ private void createCatalog(IProgressMonitor monitor) {
catalog = new Vector();
otherCategory = new SiteCategory(null, null);
// Add all the categories
ICategory [] categories;
+ monitor.subTask("Loading categories...");
categories = site.getCategories();
+
+ ISiteFeatureReference [] featureRefs;
+ monitor.subTask("Loading feature references...");
+ featureRefs = site.getRawFeatureReferences();
+
+ monitor.beginTask("", featureRefs.length + categories.length);
for (int i=0; i<categories.length; i++) {
ICategory category = categories[i];
+ monitor.subTask("Adding category: "+category.getLabel());
addCategoryToCatalog(category);
+ monitor.worked(1);
}
// Add features to categories
- ISiteFeatureReference [] featureRefs;
- featureRefs = site.getFeatureReferences();
+ monitor.subTask("Linking features and categories...");
for (int i=0; i<featureRefs.length; i++) {
ISiteFeatureReference featureRef = featureRefs[i];
addFeatureToCatalog(featureRef);
+ monitor.worked(1);
}
if (otherCategory.getChildCount()>0)
catalog.add(otherCategory);
}
- public Object [] getCatalog(boolean withCategories) {
+ public Object [] getCatalog(boolean withCategories, IProgressMonitor monitor) {
if (withCategories)
return catalog.toArray();
else {
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteCategory.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteCategory.java
index 74fe31d..9415d4d 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteCategory.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteCategory.java
@@ -98,7 +98,7 @@
Object child = children.get(i);
if (child instanceof FeatureReferenceAdapter) {
FeatureReferenceAdapter cf = (FeatureReferenceAdapter)child;
- cf.getFeature();
+ cf.getFeature(null);
}
else if (child instanceof SiteCategory) {
((SiteCategory)child).touchFeatures();
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/SearchObject.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/SearchObject.java
index ddb4f89..1d21a03 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/SearchObject.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/SearchObject.java
@@ -366,7 +366,7 @@
private SearchResultSite findResultSite(ISite site) {
for (int i = 0; i < result.size(); i++) {
SearchResultSite resultSite = (SearchResultSite) result.get(i);
- if (resultSite.getSite().equals(site))
+ if (resultSite.getSite(null).equals(site))
return resultSite;
}
return null;
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/SearchResultSite.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/SearchResultSite.java
index 85a0047..99bd821 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/SearchResultSite.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/search/SearchResultSite.java
@@ -7,6 +7,7 @@
import java.net.URL;
import java.util.Vector;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.model.IWorkbenchAdapter;
import org.eclipse.update.core.ISite;
@@ -38,7 +39,7 @@
return search;
}
- public ISite getSite() {
+ public ISite getSite(IProgressMonitor monitor) {
return site;
}
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 39dcaf3..4267b75 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
@@ -182,9 +182,9 @@
label = getURL().toString();
return label;
}
- public ISite getSite() {
+ public ISite getSite(IProgressMonitor monitor) {
try {
- return SiteManager.getSite(getURL());
+ return SiteManager.getSite(getURL(), monitor);
} catch (CoreException e) {
return null;
}
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 dee72ac..cfaac1c 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
@@ -204,7 +204,7 @@
}
if (parent instanceof ConfiguredFeatureAdapter) {
return ((ConfiguredFeatureAdapter) parent)
- .getIncludedFeatures();
+ .getIncludedFeatures(null);
}
return new Object[0];
}
@@ -290,7 +290,7 @@
for (int i = 0; i < list.size(); i++) {
ConfiguredFeatureAdapter cf =
(ConfiguredFeatureAdapter) list.get(i);
- IFeature feature = cf.getFeature();
+ IFeature feature = cf.getFeature(null);
if (feature != null)
addChildFeatures(
feature,
@@ -301,7 +301,7 @@
for (int i = 0; i < list.size(); i++) {
ConfiguredFeatureAdapter cf =
(ConfiguredFeatureAdapter) list.get(i);
- IFeature feature = cf.getFeature();
+ IFeature feature = cf.getFeature(null);
if (feature != null
&& isChildFeature(feature, children) == false)
result.add(cf);
@@ -351,7 +351,7 @@
public boolean hasChildren(Object parent) {
if (parent instanceof ConfiguredFeatureAdapter) {
return ((ConfiguredFeatureAdapter) parent)
- .hasIncludedFeatures();
+ .hasIncludedFeatures(null);
}
return true;
}
@@ -381,7 +381,7 @@
}
if (obj instanceof IFeatureAdapter) {
try {
- IFeature feature = ((IFeatureAdapter) obj).getFeature();
+ IFeature feature = ((IFeatureAdapter) obj).getFeature(null);
if (feature instanceof MissingFeature) {
return UpdateUIPlugin.getFormattedMessage(
KEY_MISSING_FEATURE,
@@ -461,7 +461,7 @@
}
ILocalSite localSite = getLocalSite();
try {
- IFeature feature = adapter.getFeature();
+ IFeature feature = adapter.getFeature(null);
if (feature instanceof MissingFeature) {
MissingFeature mfeature = (MissingFeature) feature;
if (mfeature.isOptional() == false)
@@ -858,7 +858,7 @@
Object obj = getSelectedObject();
try {
if (obj instanceof IFeatureAdapter) {
- IFeature feature = ((IFeatureAdapter) obj).getFeature();
+ IFeature feature = ((IFeatureAdapter) obj).getFeature(null);
showFeatureStatus(feature);
}
} catch (CoreException e) {
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FeatureSorter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FeatureSorter.java
index a735209..fb06996 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FeatureSorter.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FeatureSorter.java
@@ -29,8 +29,8 @@
IFeature f1, f2;
try {
- f1 = a1.getFeature();
- f2 = a2.getFeature();
+ f1 = a1.getFeature(null);
+ f2 = a2.getFeature(null);
} catch (CoreException e) {
return super.compare(viewer, e1, e2);
}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ItemsView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ItemsView.java
index 54b220b..2439411 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ItemsView.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ItemsView.java
@@ -47,7 +47,7 @@
public String getText(Object obj) {
if (obj instanceof IFeatureAdapter) {
try {
- IFeature feature = ((IFeatureAdapter) obj).getFeature();
+ IFeature feature = ((IFeatureAdapter) obj).getFeature(null);
VersionedIdentifier versionedIdentifier =
(feature != null)
? feature.getVersionedIdentifier()
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/SearchResultView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/SearchResultView.java
index 1ddbdf8..f01c6c6 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/SearchResultView.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/SearchResultView.java
@@ -78,7 +78,7 @@
if (obj instanceof IFeatureAdapter) {
IFeature feature;
try {
- feature = ((IFeatureAdapter) obj).getFeature();
+ feature = ((IFeatureAdapter) obj).getFeature(null);
} catch (CoreException e) {
if (col == 0)
return getText(obj);
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 d042a62..968b954 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
@@ -4,17 +4,18 @@
* All Rights Reserved.
*/
import java.io.File;
+import java.lang.reflect.InvocationTargetException;
import java.net.URL;
import java.util.*;
-import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.*;
import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.*;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.*;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWTError;
-import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.dnd.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.widgets.*;
@@ -201,20 +202,10 @@
}
if (parent instanceof SiteCategory) {
final SiteCategory category = (SiteCategory) parent;
- /*BusyIndicator
- .showWhile(getControl().getDisplay(), new Runnable() {
- public void run() {
- try {
- category.touchFeatures();
- } catch (CoreException e) {
- UpdateUIPlugin.logException(e);
- }
- }
- });*/
return category.getChildren();
}
if (parent instanceof IFeatureAdapter) {
- return ((IFeatureAdapter) parent).getIncludedFeatures();
+ return getIncludedFeatures((IFeatureAdapter)parent);
}
return new Object[0];
}
@@ -252,7 +243,7 @@
return ((SearchResultSite) parent).getChildCount() > 0;
}
if (parent instanceof IFeatureAdapter) {
- return ((IFeatureAdapter) parent).hasIncludedFeatures();
+ return ((IFeatureAdapter) parent).hasIncludedFeatures(null);
}
return false;
}
@@ -997,6 +988,7 @@
final Object obj = sel.getFirstElement();
if (obj != null) {
+ /*
BusyIndicator.showWhile(getControl().getDisplay(), new Runnable() {
public void run() {
try {
@@ -1006,13 +998,51 @@
if (auth != null)
auth.reset();
if (obj instanceof SiteBookmark)
- ((SiteBookmark) obj).connect(false);
+ ((SiteBookmark) obj).connect(false, null);
getViewer().refresh(obj);
} catch (CoreException e) {
UpdateUIPlugin.logException(e);
}
}
});
+ */
+ IRunnableWithProgress op = new IRunnableWithProgress() {
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException {
+ try {
+ monitor.beginTask("", 3);
+ // reinitialize the authenticator
+ UpdateManagerAuthenticator auth =
+ UpdateUIPlugin.getDefault().getAuthenticator();
+ if (auth != null)
+ auth.reset();
+ monitor.worked(1);
+ if (obj instanceof SiteBookmark) {
+ ((SiteBookmark) obj).connect(
+ false,
+ new SubProgressMonitor(monitor, 1));
+ } else
+ monitor.worked(1);
+ monitor.setTaskName("Updating...");
+ getControl().getDisplay().syncExec(new Runnable() {
+ public void run() {
+ getViewer().refresh(obj);
+ }
+ });
+ monitor.worked(1);
+ } catch (CoreException e) {
+ throw new InvocationTargetException(e);
+ } finally {
+ monitor.done();
+ }
+ }
+ };
+ try {
+ getViewSite().getWorkbenchWindow().run(true, true, op);
+ } catch (InvocationTargetException e) {
+ UpdateUIPlugin.logException(e);
+ } catch (InterruptedException e) {
+ }
}
}
@@ -1075,18 +1105,34 @@
final SiteBookmark bookmark,
final boolean connect) {
final CatalogBag bag = new CatalogBag();
- BusyIndicator.showWhile(getControl().getDisplay(), new Runnable() {
- public void run() {
+
+ IRunnableWithProgress op = new IRunnableWithProgress() {
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException {
try {
+ monitor.beginTask("Connecting...", 2);
+
if (connect)
- bookmark.connect();
+ bookmark.connect(new SubProgressMonitor(monitor, 1));
+ else
+ monitor.worked(1);
bag.catalog =
- bookmark.getCatalog(showCategoriesAction.isChecked());
+ bookmark.getCatalog(
+ showCategoriesAction.isChecked(),
+ new SubProgressMonitor(monitor, 1));
} catch (CoreException e) {
- UpdateUIPlugin.logException(e);
+ throw new InvocationTargetException(e);
+ } finally {
+ monitor.done();
}
}
- });
+ };
+ try {
+ getViewSite().getWorkbenchWindow().run(true, true, op);
+ } catch (InvocationTargetException e) {
+ UpdateUIPlugin.logException(e);
+ } catch (InterruptedException e) {
+ }
return bag.catalog;
}
@@ -1163,25 +1209,46 @@
private IFeature getFeature(final IFeatureAdapter adapter) {
final IFeature[] result = new IFeature[1];
- final CoreException[] exception = new CoreException[1];
- BusyIndicator.showWhile(getControl().getDisplay(), new Runnable() {
- public void run() {
+ IRunnableWithProgress op = new IRunnableWithProgress() {
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException {
try {
- result[0] = adapter.getFeature();
- exception[0] = null;
+ monitor.beginTask("Downloading "+adapter.getFastLabel()+"...", 1);
+ result[0] = adapter.getFeature(new SubProgressMonitor(monitor, 1));
} catch (CoreException e) {
- exception[0] = e;
result[0] =
new MissingFeature(adapter.getSite(), adapter.getURL());
+ } finally {
+ monitor.done();
}
}
- });
- /*
- if (exception[0] != null) {
- throw exception[0];
+ };
+ try {
+ getViewSite().getWorkbenchWindow().run(true, false, op);
+ } catch (InvocationTargetException e) {
+ UpdateUIPlugin.logException(e);
+ } catch (InterruptedException e) {
}
- */
+ return result[0];
+ }
+
+ private Object[] getIncludedFeatures(final IFeatureAdapter adapter) {
+ final Object [][] result = new Object[1][];
+ IRunnableWithProgress op = new IRunnableWithProgress() {
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException {
+ monitor.beginTask("Downloading "+adapter.getFastLabel()+"...", 1);
+ result[0] = adapter.getIncludedFeatures(new SubProgressMonitor(monitor, 1));
+ monitor.done();
+ }
+ };
+ try {
+ getViewSite().getWorkbenchWindow().run(true, false, op);
+ } catch (InvocationTargetException e) {
+ UpdateUIPlugin.logException(e);
+ } catch (InterruptedException e) {
+ }
return result[0];
}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizard.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizard.java
index a99ac98..0baf4a2 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizard.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizard.java
@@ -63,7 +63,7 @@
for (int i = 0; i < candidates.length; i++) {
SimpleFeatureAdapter adapter = (SimpleFeatureAdapter) candidates[i];
try {
- IFeature feature = adapter.getFeature();
+ IFeature feature = adapter.getFeature(null);
IFeature[] installed =
UpdateUIPlugin.getInstalledFeatures(feature);
PendingChange change = new PendingChange(installed[0], feature);
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizardPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizardPage.java
index fff401b..989701f 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizardPage.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdatesWizardPage.java
@@ -73,7 +73,7 @@
public Image getColumnImage(Object obj, int col) {
if (col == 0) {
try {
- IFeature feature = ((IFeatureAdapter) obj).getFeature();
+ IFeature feature = ((IFeatureAdapter) obj).getFeature(null);
boolean patch = feature.isPatch();
return UpdateUIPlugin.getDefault().getLabelProvider().get(
patch
@@ -95,7 +95,7 @@
if (obj instanceof IFeatureAdapter) {
try {
- IFeature feature = ((IFeatureAdapter) obj).getFeature();
+ IFeature feature = ((IFeatureAdapter) obj).getFeature(null);
switch (col) {
case 0 :