Bug 541810 - PlatformConfiguration initialization does super expensive
pointless work on startup
Change-Id: I7152a951d3b048a760de94d84a7d711a7a4b7929
Signed-off-by: Ed Merks <ed.merks@gmail.com>
diff --git a/update/org.eclipse.update.configurator/META-INF/MANIFEST.MF b/update/org.eclipse.update.configurator/META-INF/MANIFEST.MF
index 6faf1b0..6c4b2d1 100644
--- a/update/org.eclipse.update.configurator/META-INF/MANIFEST.MF
+++ b/update/org.eclipse.update.configurator/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.update.configurator; singleton:=true
-Bundle-Version: 3.4.100.qualifier
+Bundle-Version: 3.4.200.qualifier
Bundle-Activator: org.eclipse.update.internal.configurator.ConfigurationActivator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/update/org.eclipse.update.configurator/pom.xml b/update/org.eclipse.update.configurator/pom.xml
index a29c507..c8e01a5 100644
--- a/update/org.eclipse.update.configurator/pom.xml
+++ b/update/org.eclipse.update.configurator/pom.xml
@@ -19,6 +19,6 @@
</parent>
<groupId>org.eclipse.update</groupId>
<artifactId>org.eclipse.update.configurator</artifactId>
- <version>3.4.100-SNAPSHOT</version>
+ <version>3.4.200-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
index e43ebd4..52e6d3a 100644
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
+++ b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
@@ -485,7 +485,7 @@
// on next access
ISiteEntry[] sites = getConfiguredSites();
for (int i = 0; i < sites.length; i++) {
- if (sites[i].isUpdateable()) {
+ if (sites[i].isUpdateable() && sites[i].getSitePolicy().getType() != ISitePolicy.MANAGED_ONLY) {
// reset site entry
((SiteEntry) sites[i]).refresh();
}
@@ -783,7 +783,9 @@
long result = 0;
ISiteEntry[] sites = config.getSites();
for (int i = 0; i < sites.length; i++) {
- result = Math.max(result, sites[i].getFeaturesChangeStamp());
+ if (sites[i].getSitePolicy().getType() != ISitePolicy.MANAGED_ONLY) {
+ result = Math.max(result, sites[i].getFeaturesChangeStamp());
+ }
}
featuresChangeStamp = result;
featuresChangeStampIsValid = true;
@@ -797,7 +799,9 @@
long result = 0;
ISiteEntry[] sites = config.getSites();
for (int i = 0; i < sites.length; i++) {
- result = Math.max(result, sites[i].getPluginsChangeStamp());
+ if (sites[i].getSitePolicy().getType() != ISitePolicy.MANAGED_ONLY) {
+ result = Math.max(result, sites[i].getPluginsChangeStamp());
+ }
}
pluginsChangeStamp = result;
pluginsChangeStampIsValid = true;
@@ -997,7 +1001,7 @@
long lastChange = config.getDate().getTime();
SiteEntry[] sites = config.getSites();
for (int s = 0; s < sites.length; s++) {
- if (sites[s].isUpdateable()) {
+ if (sites[s].isUpdateable() && sites[s].getSitePolicy().getType() != ISitePolicy.MANAGED_ONLY) {
long siteTimestamp = sites[s].getChangeStamp();
if (siteTimestamp > lastChange)
sites[s].loadFromDisk(lastChange);