This commit was manufactured by cvs2svn to create tag 'v132'.
Sprout from R1_0 2001-08-20 21:14:43 UTC DJ Houghton <dj> 'Fix for: 1GIKJUX: ITPCORE:ALL - Alt copyright text incorrect in html files'
Cherrypick from build132 2001-08-21 20:38:38 UTC DJ Houghton <dj> 'optimization to use file: urls rather than jar: urls':
bundles/org.eclipse.core.boot/.classpath
bundles/org.eclipse.core.boot/.cvsignore
bundles/org.eclipse.core.boot/.vcm_meta
bundles/org.eclipse.core.boot/build.properties
bundles/org.eclipse.core.boot/plugin.jars
bundles/org.eclipse.core.boot/plugin.properties
bundles/org.eclipse.core.boot/plugin.xml
bundles/org.eclipse.core.boot/src/com/ibm/oti/vm/VM.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/BootLoader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IInstallInfo.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformRunnable.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/package.html
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/InternalBootLoader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/LaunchInfo.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/Messages.properties
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformClassLoader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLBaseConnection.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLComponentConnection.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLConfigurationConnection.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLConnection.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandler.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactory.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactoryProxy.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/Policy.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceEnumeration.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceLoader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/URLContentFilter.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/BaseURLHandler.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/BootUpdateManager.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/ComponentDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/ComponentDescriptorModel.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/ComponentEntryDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/ComponentEntryDescriptorModel.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/FragmentEntryDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/FragmentEntryDescriptorModel.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IComponentDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IComponentEntryDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IFragmentEntryDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IIdVersionPair.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IInstallable.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/ILogEntry.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/ILogEntryProperty.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IManifestAttributes.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IManifestDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/INLResourceHelper.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IPluginEntryDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IProductDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IUMFactory.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IUMRegistry.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IURLNamePair.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IdVersionPair.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/IdVersionPairModel.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/Log.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/LogEntry.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/LogEntryProperty.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/LogStore.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/LogStoreException.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/LogStringReader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/ManifestDescriptorModel.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/NLResourceHelper.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/PluginEntryDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/PluginEntryDescriptorModel.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/ProductDescriptor.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/ProductDescriptorModel.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/UMEclipseTree.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/UMFactory.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/UMProxy.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/UMRegistry.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/UMRegistryManager.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/UMRegistryManagerModel.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/UMRegistryModel.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/URLNamePair.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/URLNamePairModel.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/UpdateManagerConstants.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/VersionComparator.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/VersionIdentifier.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/XmlLite.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/XmlLiteAttribute.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/XmlLiteElement.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/XmlLiteException.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/XmlLiteReader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/update/XmlLiteStore.java
diff --git a/bundles/org.eclipse.core.boot/.vcm_meta b/bundles/org.eclipse.core.boot/.vcm_meta
index aae2e1b..7655f8d 100644
--- a/bundles/org.eclipse.core.boot/.vcm_meta
+++ b/bundles/org.eclipse.core.boot/.vcm_meta
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-description>
+ <comment></comment>
<nature id="org.eclipse.jdt.core.javanature"/>
<builder name="org.eclipse.jdt.core.javabuilder">
</builder>
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java
index 462a836..a3bf49b 100644
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java
+++ b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java
@@ -123,7 +123,14 @@
}
public DelegatingURLClassLoader(URL[] codePath, URLContentFilter[] codeFilters, URL[] resourcePath, URLContentFilter[] resourceFilters, ClassLoader parent) {
- super(codePath, parent);
+
+// Instead of constructing the loader with supplied classpath, create loader
+// with empty path, "fix up" jar entries and then explicitly add the classpath
+// to the newly constructed loader
+
+ super(mungeJarURLs (codePath), parent);
+ resourcePath = mungeJarURLs(resourcePath);
+
if (resourcePath != null && resourcePath.length > 0)
resourceLoader = new ResourceLoader(resourcePath);
@@ -145,6 +152,34 @@
}
}
}
+
+/**
+ * strip-off jar: protocol
+ */
+private static URL mungeJarURL(URL url) {
+ if (url.getProtocol().equals("jar")) {
+ String file = url.getFile();
+ if (file.startsWith("file:") || file.startsWith("valoader:")) {
+ int ix = file.indexOf("!/");
+ if (ix != -1) file = file.substring(0,ix);
+ try {
+ url = new URL(file);
+ } catch (MalformedURLException e) {
+ // just use the original if we cannot create a new one
+ }
+ }
+ }
+ return url;
+}
+
+private static URL[] mungeJarURLs(URL[] urls) {
+ if (urls == null)
+ return null;
+ for (int i = 0; i < urls.length; i++)
+ urls[i] = mungeJarURL(urls[i]);
+ return urls;
+}
+
/**
* Returns the absolute path name of a native library. The VM
* invokes this method to locate the native libraries that belong
@@ -576,6 +611,8 @@
}
URLContentFilter filter = (URLContentFilter) filterTable.get(lib);
+ // retry with non-jar URL if necessary
+ if (filter == null) filter = (URLContentFilter) filterTable.get(mungeJarURL(lib));
if (filter == null) {
if (DEBUG)
debug("Unable to find library filter for " + name + " from " + lib);