*** empty log message ***
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/Feature.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/Feature.java
index 3f420dd..2e197c9 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/Feature.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/core/Feature.java
@@ -238,7 +238,7 @@
// make sure we have an InstallMonitor
InstallMonitor monitor;
if (progress == null)
- monitor = null;
+ monitor = new InstallMonitor(new NullProgressMonitor());
else if (progress instanceof InstallMonitor)
monitor = (InstallMonitor) progress;
else
@@ -286,8 +286,7 @@
// + 1 task for custom non-plugin entry handling (1 for all combined)
// + 5*x tasks for children features (5 subtasks per install)
int taskCount = 2 + 2 * pluginsToInstall.length + nonPluginsToInstall.length + 1 + 5 * children.length;
- if (monitor != null)
- monitor.beginTask("", taskCount);
+ monitor.beginTask("", taskCount);
SubProgressMonitor subMonitor = null;
// start log
@@ -324,13 +323,12 @@
for (int i = 0; i < children.length; i++) {
IFeature childFeature = null;
try {
- childFeature = children[i].getFeature();
+ childFeature = children[i].getFeature(null);
} catch (CoreException e) {
UpdateCore.warn(null, e);
}
if (childFeature != null) {
- if (monitor != null)
- subMonitor = new SubProgressMonitor(monitor, 5);
+ subMonitor = new SubProgressMonitor(monitor, 5);
((Site) targetSite).install(// need to cast
childFeature, optionalfeatures, consumer, verifier, verificationListener, subMonitor);
}
@@ -342,22 +340,18 @@
IContentConsumer pluginConsumer = consumer.open(pluginsToInstall[i]);
String msg = "";
- if (monitor != null) {
- subMonitor = new SubProgressMonitor(monitor, 1);
- VersionedIdentifier pluginVerId = pluginsToInstall[i].getVersionedIdentifier();
- String pluginID = (pluginVerId == null) ? "" : pluginVerId.getIdentifier();
- msg = Policy.bind("Feature.TaskInstallPluginFiles", pluginID); //$NON-NLS-1$
- }
-
+ subMonitor = new SubProgressMonitor(monitor, 1);
+ VersionedIdentifier pluginVerId = pluginsToInstall[i].getVersionedIdentifier();
+ String pluginID = (pluginVerId == null) ? "" : pluginVerId.getIdentifier();
+ msg = Policy.bind("Feature.TaskInstallPluginFiles", pluginID); //$NON-NLS-1$
+
for (int j = 0; j < references.length; j++) {
setMonitorTaskName(subMonitor, msg + references[j].getIdentifier());
pluginConsumer.store(references[j], subMonitor);
}
- if (monitor != null) {
- if (monitor.isCanceled())
+ if (monitor.isCanceled())
abort();
- }
}
// check if we need to install feature files [16718]
@@ -369,24 +363,20 @@
references = provider.getFeatureEntryContentReferences(monitor);
String msg = "";
- if (monitor != null) {
- subMonitor = new SubProgressMonitor(monitor, 1);
- msg = Policy.bind("Feature.TaskInstallFeatureFiles"); //$NON-NLS-1$
- }
-
+ subMonitor = new SubProgressMonitor(monitor, 1);
+ msg = Policy.bind("Feature.TaskInstallFeatureFiles"); //$NON-NLS-1$
+
for (int i = 0; i < references.length; i++) {
setMonitorTaskName(subMonitor, msg + " " + references[i].getIdentifier());
consumer.store(references[i], subMonitor);
}
} else {
- if (monitor != null)
- monitor.worked(1);
+ monitor.worked(1);
}
- if (monitor != null) {
- if (monitor.isCanceled())
- abort();
- }
+ if (monitor.isCanceled())
+ abort();
+
// call handler to complete installation (eg. handle non-plugin entries)
handler.completeInstall(consumer);
@@ -546,9 +536,9 @@
IFeatureReference[] children = getIncludedFeatureReferences();
for (int i = 0; i < children.length; i++) {
- plugins = children[i].getFeature().getPluginEntries();
+ plugins = children[i].getFeature(null).getPluginEntries();
allPluginEntries.addAll(Arrays.asList(plugins));
- nonPlugins = children[i].getFeature().getNonPluginEntries();
+ nonPlugins = children[i].getFeature(null).getNonPluginEntries();
allNonPluginEntries.addAll(Arrays.asList(nonPlugins));
}
@@ -587,9 +577,9 @@
IFeatureReference[] children = getIncludedFeatureReferences();
for (int i = 0; i < children.length; i++) {
- plugins = children[i].getFeature().getPluginEntries();
+ plugins = children[i].getFeature(null).getPluginEntries();
allPluginEntries.addAll(Arrays.asList(plugins));
- nonPlugins = children[i].getFeature().getNonPluginEntries();
+ nonPlugins = children[i].getFeature(null).getNonPluginEntries();
allNonPluginEntries.addAll(Arrays.asList(nonPlugins));
}
@@ -832,7 +822,7 @@
currentReference = references[i];
// do not compare URL
try {
- if (this.equals(currentReference.getFeature()))
+ if (this.equals(currentReference.getFeature(null)))
return currentReference; // 18867
} catch (CoreException e) {
UpdateCore.warn(null, e);
@@ -856,7 +846,7 @@
IFeature feature = null;
try {
- feature = referenceToReinitialize.getFeature();
+ feature = referenceToReinitialize.getFeature(null);
if (feature != null && feature instanceof Feature) {
((Feature) feature).initializeIncludedReferences();
}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureReference.java
index dc14391..b75b988 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureReference.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureReference.java
@@ -65,7 +65,8 @@
/**
* Returns the feature this reference points to
- * @return the feature on the Site
+ * @return the feature on the Site
+ * @deprecated
*/
public IFeature getFeature() throws CoreException {
return getFeature(null);
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IIncludedFeatureReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IIncludedFeatureReference.java
index f1d6f82..7f72847 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IIncludedFeatureReference.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/core/IIncludedFeatureReference.java
@@ -30,6 +30,7 @@
* equivalent to getFeature(false,null);
*
* @return the referenced feature
+ * @deprecated use getFeature(IProgressMonitor) instead
* @since 2.0
*/
public IFeature getFeature() throws CoreException;
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IncludedFeatureReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IncludedFeatureReference.java
index d945e1d..c7f8952 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IncludedFeatureReference.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/core/IncludedFeatureReference.java
@@ -114,6 +114,7 @@
/**
* @see org.eclipse.update.core.IFeatureReference#getFeature(boolean,
* IConfiguredSite)
+ * @deprecated
*/
public IFeature getFeature(boolean perfectMatch,IConfiguredSite configuredSite) throws CoreException {
return getFeature(perfectMatch,configuredSite,null);
@@ -180,6 +181,7 @@
}
/**
* @see org.eclipse.update.core.IFeatureReference#getFeature()
+ * @deprecated
*/
public IFeature getFeature() throws CoreException {
return getFeature(null);
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/Site.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/Site.java
index b3fe3b3..68a0d80 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/Site.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/core/Site.java
@@ -326,12 +326,12 @@
for (int indexFeatures = 0; indexFeatures < features.length; indexFeatures++) {
IFeature featureToCompare = null;
try {
- featureToCompare = features[indexFeatures].getFeature();
+ featureToCompare = features[indexFeatures].getFeature(null);
} catch (CoreException e) {
UpdateCore.warn(null, e);
}
if (!feature.equals(featureToCompare)) {
- IPluginEntry[] pluginEntries = features[indexFeatures].getFeature().getPluginEntries();
+ IPluginEntry[] pluginEntries = features[indexFeatures].getFeature(null).getPluginEntries();
if (pluginEntries != null) {
for (int indexEntries = 0; indexEntries < pluginEntries.length; indexEntries++) {
allPluginID.add(pluginEntries[indexEntries].getVersionedIdentifier());
@@ -480,6 +480,7 @@
/**
* @see org.eclipse.update.core.ISite#createFeature(String, URL)
+ * @deprecated
*/
public IFeature createFeature(String type, URL url) throws CoreException {
return createFeature(type,url,null);
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java
index 2edd3b9..5be886f 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java
@@ -90,7 +90,7 @@
IFeature feature = null;
try {
- feature = featureReference.getFeature();
+ feature = featureReference.getFeature(null);
} catch (CoreException e) {
if (!UpdateManagerUtils.isOptional(featureReference)){
URL url = featureReference.getURL();
@@ -172,7 +172,7 @@
IFeature feature = null;
try {
- feature = featureReference.getFeature();
+ feature = featureReference.getFeature(null);
} catch (CoreException e) {
if (!UpdateManagerUtils.isOptional(featureReference)){
URL url = featureReference.getURL();
@@ -384,7 +384,7 @@
IFeatureReference element = arrayOfFeatureRef[i];
IFeature feature = null;
try {
- feature = element.getFeature();
+ feature = element.getFeature(null);
} catch (CoreException e) {
UpdateCore.warn(null, e);
};
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java
index 9a02a1d..3888f74 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java
@@ -187,7 +187,7 @@
if (installedFeatureRef != null) {
try {
- installedFeature = installedFeatureRef.getFeature();
+ installedFeature = installedFeatureRef.getFeature(null);
} catch (CoreException e) {
UpdateCore.warn(null, e);
}
@@ -254,7 +254,7 @@
// our UI will check.
// For non-UI application, throw error is feature is configured
if (getConfigurationPolicy().isConfigured(referenceToRemove)) {
- IFeature featureToRemove = ((IFeatureReference) referenceToRemove).getFeature();
+ IFeature featureToRemove = ((IFeatureReference) referenceToRemove).getFeature(null);
String featureLabel = (featureToRemove == null) ? null : featureToRemove.getLabel();
throw Utilities.newCoreException(Policy.bind("ConfiguredSite.UnableToRemoveConfiguredFeature"
//$NON-NLS-1$
@@ -315,7 +315,7 @@
for (int i = 0; i < childrenRef.length; i++) {
try {
- IFeature child = childrenRef[i].getFeature();
+ IFeature child = childrenRef[i].getFeature(null);
configure(child, optionalFeatures, callInstallHandler);
} catch (CoreException e) {
// will skip any bad children
@@ -354,8 +354,8 @@
// must compare feature as optionalFeatures are from the install site
// where children are on the local site
try {
- IFeature installedChildren = optionalfeatures[j].getFeature();
- if (installedChildren.equals(optionalFeatureToConfigure.getFeature(true, null))) {
+ IFeature installedChildren = optionalfeatures[j].getFeature(null);
+ if (installedChildren.equals(optionalFeatureToConfigure.getFeature(true, null, null))) {
childrenToInstall.add(optionalFeatureToConfigure);
break;
}
@@ -426,7 +426,7 @@
IIncludedFeatureReference[] childrenRef = feature.getIncludedFeatureReferences();
for (int i = 0; i < childrenRef.length; i++) {
try {
- IFeature child = childrenRef[i].getFeature(true, null); // disable the exact feature
+ IFeature child = childrenRef[i].getFeature(true, null, null); // disable the exact feature
unconfigure(child, includePatches, true); // check for parent as we should be the only parent.
} catch (CoreException e) {
// skip any bad children
@@ -463,7 +463,7 @@
for (int i = 0; i < frefs.length; i++) {
IFeatureReference fref = frefs[i];
try {
- IFeature candidate = fref.getFeature();
+ IFeature candidate = fref.getFeature(null);
if (candidate.equals(feature))
continue;
@@ -585,7 +585,7 @@
// attempt to access the feature
try {
- feature = configuredFeatures[i].getFeature();
+ feature = configuredFeatures[i].getFeature(null);
} catch (CoreException e) {
// notify we cannot find the feature
UpdateCore.warn(null, e);
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableFactory.java
index f1ad847..6742f2c 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableFactory.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableFactory.java
@@ -11,6 +11,7 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.update.core.*;
import org.eclipse.update.core.model.FeatureModel;
@@ -23,47 +24,45 @@
* @see IFeatureFactory#createFeature(URL,ISite,IProgressMonitor)
*/
public IFeature createFeature(URL url, ISite site, IProgressMonitor monitor) throws CoreException {
-
-
+
TargetFeature feature = null;
InputStream featureStream = null;
-
+ if (monitor == null)
+ monitor = new NullProgressMonitor();
+
if (url == null)
return createFeature(site);
-
+
// the URL should point to a directory
url = validate(url);
-
+
try {
- IFeatureContentProvider contentProvider =
- new FeatureExecutableContentProvider(url);
+ IFeatureContentProvider contentProvider = new FeatureExecutableContentProvider(url);
// PERF: Do not create FeatureContentConsumer
//IFeatureContentConsumer contentConsumer =new FeatureExecutableContentConsumer();
-
- URL nonResolvedURL =
- contentProvider.getFeatureManifestReference(null /*InstallMonitor */).asURL();
+
+ URL nonResolvedURL = contentProvider.getFeatureManifestReference(null).asURL();
URL resolvedURL = URLEncoder.encode(nonResolvedURL);
featureStream = UpdateCore.getPlugin().get(resolvedURL).getInputStream();
-
+
feature = (TargetFeature) this.parseFeature(featureStream);
+ monitor.worked(1);
feature.setSite(site);
-
+
feature.setFeatureContentProvider(contentProvider);
// PERF: FeatureContentConsumer
//feature.setContentConsumer(contentConsumer);
-
+
feature.resolve(url, url);
feature.markReadOnly();
- } catch (CoreException e){
+ } catch (CoreException e) {
throw e;
- } catch (Exception e){
- throw Utilities.newCoreException(
- Policy.bind("FeatureFactory.CreatingError", url.toExternalForm()),
- e);
+ } catch (Exception e) {
+ throw Utilities.newCoreException(Policy.bind("FeatureFactory.CreatingError", url.toExternalForm()), e);
//$NON-NLS-1$
} finally {
try {
- if (featureStream!=null)
+ if (featureStream != null)
featureStream.close();
} catch (IOException e) {
}
@@ -84,10 +83,8 @@
private IFeature createFeature(ISite site) throws CoreException {
TargetFeature feature = null;
- IFeatureContentProvider contentProvider =
- new FeatureExecutableContentProvider(null);
- IFeatureContentConsumer contentConsumer =
- new FeatureExecutableContentConsumer();
+ IFeatureContentProvider contentProvider = new FeatureExecutableContentProvider(null);
+ IFeatureContentConsumer contentConsumer = new FeatureExecutableContentConsumer();
feature = (TargetFeature) createFeatureModel();
feature.setSite(site);
feature.setFeatureContentProvider(contentProvider);
@@ -103,21 +100,15 @@
private URL validate(URL url) throws CoreException {
if (url == null)
- throw Utilities.newCoreException(
- Policy.bind("FeatureExecutableFactory.NullURL"),
- null);
+ throw Utilities.newCoreException(Policy.bind("FeatureExecutableFactory.NullURL"), null);
//$NON-NLS-1$
- if (!(url.getFile().endsWith("/")
- || url.getFile().endsWith(File.separator)
- || url.getFile().endsWith(Feature.FEATURE_XML))) { //$NON-NLS-1$
+ if (!(url.getFile().endsWith("/") || url.getFile().endsWith(File.separator) || url.getFile().endsWith(Feature.FEATURE_XML))) { //$NON-NLS-1$
try {
String path = url.getFile() + "/"; //$NON-NLS-1$
url = new URL(url.getProtocol(), url.getHost(), url.getPort(), path);
} catch (MalformedURLException e) {
- throw Utilities.newCoreException(
- Policy.bind("FeatureExecutableFactory.CannotCreateURL", url.toExternalForm()),
- e);
+ throw Utilities.newCoreException(Policy.bind("FeatureExecutableFactory.CannotCreateURL", url.toExternalForm()), e);
//$NON-NLS-1$
}
}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedFactory.java
index 6ae14da..9eba322 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedFactory.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedFactory.java
@@ -10,6 +10,7 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.update.core.*;
import org.eclipse.update.core.model.URLEntryModel;
@@ -24,12 +25,15 @@
public IFeature createFeature(URL url,ISite site, IProgressMonitor monitor) throws CoreException {
Feature feature = null;
InputStream featureStream = null;
-
+ if (monitor == null)
+ monitor = new NullProgressMonitor();
+
try {
IFeatureContentProvider contentProvider = new FeaturePackagedContentProvider(url);
ContentReference manifest = contentProvider.getFeatureManifestReference(null/*IProgressMonitor*/);
featureStream = manifest.getInputStream();
feature = (Feature)parseFeature(featureStream);
+ monitor.worked(1);
// if there is no update URL for the Feature
// use the Site URL
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfiguration.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfiguration.java
index 4f6d151..fe31c55 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfiguration.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfiguration.java
@@ -339,7 +339,7 @@
for (int j = 0; j < configuredFeaturesRef.length; j++) {
IFeature feature = null;
try {
- feature = configuredFeaturesRef[j].getFeature();
+ feature = configuredFeaturesRef[j].getFeature(null);
} catch (CoreException e) {
UpdateCore.warn(null, e);
}
@@ -604,7 +604,7 @@
for (int j = 0; j < featuresToUnconfigure.length; j++) {
IFeature featureToUnconfigure = null;
try {
- featureToUnconfigure = featuresToUnconfigure[j].getFeature();
+ featureToUnconfigure = featuresToUnconfigure[j].getFeature(null);
} catch (CoreException e) {
UpdateCore.warn(null, e);
}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java
index 4422234..1ecf86b 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java
@@ -72,6 +72,7 @@
*/
public static ISite getSite(URL siteURL, boolean useCache, IProgressMonitor monitor) throws CoreException {
ISite site = null;
+ if (monitor==null) monitor = new NullProgressMonitor();
if (siteURL == null)
return null;
@@ -99,20 +100,16 @@
}
//PERF: if file: <path>/ and directory exists then consider executable
- if (monitor != null) {
- monitor.beginTask(null, 8);
- }
+ monitor.beginTask(Policy.bind("InternalSiteManager.ConnectingToSite"), 8);
if (fileProtocol && directoryExists) {
site = attemptCreateSite(DEFAULT_EXECUTABLE_SITE_TYPE, siteURL, monitor);
- if (monitor != null)
- monitor.worked(4); // only one attempt
+ monitor.worked(4); // only one attempt
} else {
try {
site = attemptCreateSite(DEFAULT_SITE_TYPE, siteURL, monitor);
- if (monitor != null)
- monitor.worked(4);
+ monitor.worked(4);
} catch (CoreException preservedException) {
- if (monitor==null ||(monitor != null && !monitor.isCanceled())) {
+ if (!monitor.isCanceled()) {
// attempt a retry is the protocol is file, with executbale type
if (!fileProtocol)
throw preservedException;
@@ -149,17 +146,17 @@
* attempt to create a type with the type found in the site.xml
*/
private static ISite attemptCreateSite(String guessedTypeSite, URL siteURL, IProgressMonitor monitor) throws CoreException {
+ if (monitor != null) monitor = new NullProgressMonitor();
ISite site = null;
try {
site = createSite(guessedTypeSite, siteURL, monitor);
- if (monitor != null)
- monitor.worked(2); // no error, teh rtry doesn't need to be executed
+ monitor.worked(2); // if no error, occurs the retry branch doesn't need to be executed
} catch (InvalidSiteTypeException e) {
+ if (monitor.isCanceled()) return null;
// the type in the site.xml is not the one expected
// attempt to use this type instead
-
//DEBUG:
if (UpdateCore.DEBUG && UpdateCore.DEBUG_SHOW_TYPE) {
UpdateCore.debug("The Site :" + siteURL.toExternalForm() + " is a different type than the guessed type based on the protocol. new Type:" + e.getNewType());
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SessionDelta.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SessionDelta.java
index 5b02743..02324e2 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SessionDelta.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SessionDelta.java
@@ -145,7 +145,7 @@
configuredFeaturesRef = configuredSites[i].getConfiguredFeatures();
for (int j = 0; j < configuredFeaturesRef.length; j++) {
try {
- feature = configuredFeaturesRef[j].getFeature();
+ feature = configuredFeaturesRef[j].getFeature(null);
int result = compare(newlyConfiguredFeatures, feature);
if (result != 0) {
if (result == 1) {
@@ -215,6 +215,7 @@
public void process(IFeatureReference[] selected, IProgressMonitor pm) throws CoreException {
createInstallConfiguration();
+ if (pm==null) pm = new NullProgressMonitor();
// process all feature references to configure
// find the configured site each feature belongs to
@@ -223,10 +224,8 @@
UpdateCore.warn("ENABLE SESSION DELTA");
if (featureReferences != null && featureReferences.size() > 0) {
// manage ProgressMonitor
- if (pm != null) {
- int nbFeatures = featureReferences.size();
- pm.beginTask(Policy.bind("SessionDelta.EnableFeatures"), nbFeatures);
- }
+ int nbFeatures = featureReferences.size();
+ pm.beginTask(Policy.bind("SessionDelta.EnableFeatures"), nbFeatures);
// since 2.0.2 ISite.getConfiguredSite()
// find the configuredSite that maintains this featureReference
// configure the feature
@@ -237,15 +236,13 @@
ref = (IFeatureReference) selected[i];
try {
- featureToConfigure = ref.getFeature();
+ featureToConfigure = ref.getFeature(null);
} catch (CoreException e) {
UpdateCore.warn(null, e);
}
if (featureToConfigure != null) {
- if (pm != null)
- pm.worked(1);
-
+ pm.worked(1);
configSite = ref.getSite().getCurrentConfiguredSite();
try {
// make sure only the latest version of the configured features
@@ -269,7 +266,5 @@
delete();
saveLocalSite();
-
}
-
}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFile.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFile.java
index 27c0887..d77956c 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFile.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFile.java
@@ -186,12 +186,12 @@
for (int i = 0; i < childrenRef.length; i++) {
IFeature childFeature = null;
try {
- childFeature = childrenRef[i].getFeature();
+ childFeature = childrenRef[i].getFeature(null);
} catch (CoreException e) {
UpdateCore.warn("Unable to retrieve feature to remove for:" + childrenRef[i]);
}
if (childFeature != null)
- remove(childrenRef[i].getFeature(), monitor);
+ remove(childrenRef[i].getFeature(null), monitor);
}
handler.completeUninstall();
@@ -272,7 +272,7 @@
IFeatureReference[] children = feature.getIncludedFeatureReferences();
IFeature currentFeature = null;
for (int i = 0; i < children.length; i++) {
- currentFeature = children[i].getFeature();
+ currentFeature = children[i].getFeature(null);
if (currentFeature != null) {
pluginsToInstall.addAll(Arrays.asList(currentFeature.getPluginEntries()));
}
@@ -336,7 +336,7 @@
private IFeature createExecutableFeature(IFeature sourceFeature) throws CoreException {
IFeature result = null;
IFeatureFactory factory = FeatureTypeFactory.getInstance().getFactory(DEFAULT_INSTALLED_FEATURE_TYPE);
- result = factory.createFeature(/*URL*/null, this);
+ result = factory.createFeature(/*URL*/null, this, null);
// at least set the version identifier to be the same
((FeatureModel) result).setFeatureIdentifier(sourceFeature.getVersionedIdentifier().getIdentifier());
@@ -417,7 +417,7 @@
IFeature childFeature = null;
for (int i = 0; i < childrenRef.length; i++) {
try {
- childFeature = childrenRef[i].getFeature();
+ childFeature = childrenRef[i].getFeature(null);
} catch (CoreException e) {
UpdateCore.warn("Unable to retrieve feature to remove for:" + childrenRef[i]);
}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentConsumer.java
index c1a8743..fa03778 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentConsumer.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentConsumer.java
@@ -245,7 +245,7 @@
((SiteFile) getSite()).addFeatureReferenceModel((SiteFeatureReferenceModel) localFeatureReference);
IFeature localFeature = null;
try {
- localFeature = localFeatureReference.getFeature();
+ localFeature = localFeatureReference.getFeature(null);
} catch (CoreException e) {
UpdateCore.warn(null, e);
return;
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileFactory.java
index 7e0146d..e3dbaef 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileFactory.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileFactory.java
@@ -333,18 +333,6 @@
}
}
- /**
- *
- */
- private IFeature createFeature(URL url, String type) throws CoreException {
- // InternalFeatureReference
- SiteFeatureReference ref = new SiteFeatureReference();
- ref.setSite(site);
- ref.setURL(url);
- ref.setType(type);
- return ref.getFeature();
- }
-
/*
* @see SiteModelFactory#createSiteMapModel()
*/
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteReconciler.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteReconciler.java
index f02de6f..d366c8b 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteReconciler.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteReconciler.java
@@ -117,7 +117,7 @@
if (UpdateCore.DEBUG && UpdateCore.DEBUG_SHOW_RECONCILER) {
UpdateCore.debug("Site not found in previous configurations.Create new Configured Site:" + resolvedURL);
}
- ISite site = SiteManager.getSite(resolvedURL);
+ ISite site = SiteManager.getSite(resolvedURL,null);
//site policy
IPlatformConfiguration.ISitePolicy sitePolicy = currentSiteEntry.getSitePolicy();
@@ -418,8 +418,8 @@
IFeature feature1 = null;
IFeature feature2 = null;
try {
- feature1 = featureRef1.getFeature();
- feature2 = featureRef2.getFeature();
+ feature1 = featureRef1.getFeature(null);
+ feature2 = featureRef2.getFeature(null);
} catch (CoreException e) {
UpdateCore.warn(null, e);
return 0;
@@ -669,7 +669,7 @@
ArrayList allPossibleConfiguredFeatures = new ArrayList();
for (int i = 0; i < configuredRefs.length; i++) {
try {
- IFeature feature = configuredRefs[i].getFeature();
+ IFeature feature = configuredRefs[i].getFeature(null);
allPossibleConfiguredFeatures.add(feature);
// debug
if (UpdateCore.DEBUG && UpdateCore.DEBUG_SHOW_RECONCILER) {
@@ -730,9 +730,9 @@
IFeature child = null;
try {
//remove best match and exact feature
- child = children[j].getFeature(false, null);
+ child = children[j].getFeature(false, null, null);
result.remove(child);
- child = children[j].getFeature(true, null);
+ child = children[j].getFeature(true, null, null);
result.remove(child);
} catch (CoreException e) {
// if optional, it may not exist, do not throw error for that
@@ -818,7 +818,7 @@
for (int j = 0; j < children.length; j++) {
IFeature child = null;
try {
- child = children[j].getFeature();
+ child = children[j].getFeature(null);
} catch (CoreException e) {
if (!UpdateManagerUtils.isOptional(children[j]))
UpdateCore.warn("", e);
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteStatusAnalyzer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteStatusAnalyzer.java
index a7185a0..ce326e5 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteStatusAnalyzer.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteStatusAnalyzer.java
@@ -57,54 +57,6 @@
return label;
}
}
- /**
- * compare two feature references
- * returns 0 if the feature are different
- * returns 1 if the version of feature 1 is greater than version of feature 2
- * returns 2 if opposite
- */
- private int compare(IFeatureReference featureRef1, IFeatureReference featureRef2) throws CoreException {
- if (featureRef1 == null)
- return 0;
-
- IFeature feature1 = null;
- IFeature feature2 = null;
- try {
- feature1 = featureRef1.getFeature();
- feature2 = featureRef2.getFeature();
- } catch (CoreException e) {
- UpdateCore.warn(null, e);
- return 0;
- }
-
- if (feature1 == null || feature2 == null) {
- return 0;
- }
-
- VersionedIdentifier id1 = feature1.getVersionedIdentifier();
- VersionedIdentifier id2 = feature2.getVersionedIdentifier();
-
- if (id1 == null || id2 == null) {
- return 0;
- }
-
- if (id1.getIdentifier() != null && id1.getIdentifier().equals(id2.getIdentifier())) {
- PluginVersionIdentifier version1 = id1.getVersion();
- PluginVersionIdentifier version2 = id2.getVersion();
- if (version1 != null) {
- boolean greaterOrEqual = (version1.isGreaterOrEqualTo(version2));
- if (greaterOrEqual) {
- return 1;
- } else {
- return 2;
- }
- } else {
- return 2;
- }
- }
- return 0;
- }
-
/*
* check if the Plugins of the feature are on the plugin path
* If all the plugins are on the plugin path, and the version match and there is no other version -> HAPPY
@@ -191,7 +143,7 @@
for (int i = 0; i < children.length; i++) {
if (!UpdateManagerUtils.isOptional(children[i])) {
try {
- childFeature = children[i].getFeature();
+ childFeature = children[i].getFeature(null);
} catch (CoreException e) {
if (!UpdateManagerUtils.isOptional(children[i]))
UpdateCore.warn("Error retrieving feature:" + children[i]);
@@ -400,7 +352,7 @@
for (int j = 0; j < refs.length; j++) {
feature = null;
try {
- feature = refs[j].getFeature();
+ feature = refs[j].getFeature(null);
} catch (CoreException e) {
}
if (feature != null) {
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
index 6d534e2..f19785d 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
@@ -433,12 +433,12 @@
IFeature compareFeature = null;
for (int i = 0; i < possiblesParent.length; i++) {
try {
- IFeature possibleParentFeature = possiblesParent[i].getFeature();
+ IFeature possibleParentFeature = possiblesParent[i].getFeature(null);
if (possibleParentFeature != null) {
children = possibleParentFeature.getIncludedFeatureReferences();
for (int j = 0; j < children.length; j++) {
try {
- compareFeature = children[j].getFeature(true,null); // compare with the 'real' feature, not the best match
+ compareFeature = children[j].getFeature(true,null,null); // compare with the 'real' feature, not the best match
} catch (CoreException e) {
UpdateCore.warn("", e);
};
@@ -482,7 +482,7 @@
IFeature childFeature = null;
try {
- childFeature = child.getFeature();
+ childFeature = child.getFeature(null);
} catch (CoreException e) {
UpdateCore.warn(null, e);
}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/messages.properties b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/messages.properties
index 41d85a1..747dee1 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/messages.properties
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/messages.properties
@@ -168,6 +168,7 @@
InternalSiteManager.UnableToCreateURL= Unable to create URL from \"{0}\".
InternalSiteManager.UnableToParseURL= Unable to parse the stream \"{0}\".
InternalSiteManager.FailedRetryAccessingSite= Failed retry accessing site using default installed format instead of default packaged format.
+InternalSiteManager.ConnectingToSite = Connecting To Site...
SiteReconciler.UnableToFindInstallDeltaFactory= Internal Error: Unable to find factory to display changes. Open the Update Manager manually.
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallChangeParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallChangeParser.java
index ff972c9..12a2834 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallChangeParser.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallChangeParser.java
@@ -138,7 +138,7 @@
e);
//$NON-NLS-1$
}
- ISite currentSite = SiteManager.getSite(siteURL);
+ ISite currentSite = SiteManager.getSite(siteURL,null);
// feature url
String featureUrlPath = attributes.getValue("featureURL"); //$NON-NLS-1$
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java
index 6105246..a9eafcd 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java
@@ -142,7 +142,7 @@
//site url
String urlString = attributes.getValue("url"); //$NON-NLS-1$
siteURL = new URL(urlString);
- ISite site = SiteManager.getSite(siteURL);
+ ISite site = SiteManager.getSite(siteURL,null);
sites.put(urlString,site);
// policy