It appears that ResourceSetImpl#getResource(URI,boolean) chokes on any
URI with a %20 (space) in it if its a URI with an archive scheme. See
stacktrace below.
Seems to me that the URI isn't being decoded, whereas it is when the URI
is not an archive scheme. Is this a bug?
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:75)
at
org.eclipse.emf.common.archive.ArchiveURLConnection.getInputStream(ArchiveURLConnection.java:232)
at
org.eclipse.emf.ecore.resource.impl.URIConverterImpl.createArchiveInputStream(URIConverterImpl.java:615)
at
org.eclipse.emf.ecore.resource.impl.URIConverterImpl.createInputStream(URIConverterImpl.java:534)
at
org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1152)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:256)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:271)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:369)
On a related note: Why does URI#createURI(String) not take care of
encoding, while URI#createURI(String, boolean) and other creational
methods do?