Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDJ Houghton2010-03-31 21:38:15 +0000
committerDJ Houghton2010-03-31 21:38:15 +0000
commitef3b4115c66aa500354f3fa16a8a20ba1fe2362b (patch)
treef5951268affd05772515995dcb7dcda2eb882c0e /bundles/org.eclipse.equinox.p2.reconciler.dropins/src
parentb277ad1810b902f17109adf61f91fa703ce052ad (diff)
downloadrt.equinox.p2-ef3b4115c66aa500354f3fa16a8a20ba1fe2362b.tar.gz
rt.equinox.p2-ef3b4115c66aa500354f3fa16a8a20ba1fe2362b.tar.xz
rt.equinox.p2-ef3b4115c66aa500354f3fa16a8a20ba1fe2362b.zip
Bug 304895 - [reconciler] Issues with encoded URLs in platform.xml
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.reconciler.dropins/src')
-rw-r--r--bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
index 95a21cb7c..15eab6283 100644
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
+++ b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
@@ -164,7 +164,7 @@ public class PlatformXmlListener extends DirectoryChangeListener {
if (repo instanceof ExtensionLocationMetadataRepository) {
try {
File one = ExtensionLocationMetadataRepository.getBaseDirectory(repo.getLocation());
- File two = ExtensionLocationMetadataRepository.getBaseDirectory(URIUtil.fromString(urlString));
+ File two = ExtensionLocationMetadataRepository.getBaseDirectory(new URI(urlString));
if (one.equals(two))
return repo;
} catch (ProvisionException e) {
@@ -204,7 +204,9 @@ public class PlatformXmlListener extends DirectoryChangeListener {
continue;
}
String eclipseExtensionURL = siteURL + Constants.EXTENSION_LOCATION;
- URI location = URIUtil.fromString(eclipseExtensionURL);
+ // use the URI constructor here and not URIUtil#fromString because
+ // our string is already encoded
+ URI location = new URI(eclipseExtensionURL);
Map<String, String> properties = new HashMap<String, String>();
properties.put(SiteListener.SITE_POLICY, site.getPolicy());
@@ -226,7 +228,9 @@ public class PlatformXmlListener extends DirectoryChangeListener {
} catch (ProvisionException inner) {
// handle the case where someone has removed the extension location from
// disk. Note: we use the siteURL not the eclipseextensionURL
- URI fileURI = URIUtil.fromString(siteURL);
+ // use the URI constructor here and not URIUtil#fromString because
+ // our string is already encoded
+ URI fileURI = new URI(siteURL);
File file = URIUtil.toFile(fileURI);
if (file != null && !file.exists()) {
toBeRemoved.add(site);

Back to the top