[
https://issues.apache.org/jira/browse/OWB-1220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Struberg reassigned OWB-1220:
----------------------------------
Assignee: Mark Struberg
> URL-encoding issue in AbstractMetaDataDiscovery
> -----------------------------------------------
>
> Key: OWB-1220
> URL: https://issues.apache.org/jira/browse/OWB-1220
> Project: OpenWebBeans
> Issue Type: Bug
> Affects Versions: 1.7.4, 2.0.2
> Reporter: Harald Wellmann
> Assignee: Mark Struberg
>
> h3. Scenario
> I have a certain integration test using OWB and DeltaSpike which fails when
> the working directory contains a '+' character and passes otherwise.
> What's worse, the failure only occurs when running the test under Maven
> Surefire, it does not occur when running the test from my IDE.
> h3. Analysis
> Maven Surefire by default builds a manifest-only JAR defining a classpath as
> as list of URLs, e.g.
> {noformat}
> Class-Path: ... file:/home/hwellmann/work/ops4j/org.ops4j.pax.e
> xam2/itest/cdi/src/it/regression%2bdeltaspike/target/test-classes/ ...
> {noformat}
> The following snippet from
> {{AbstractMetaDataDiscovery.registerBeanArchives()}}
> {code}
> Iterator<URL> cpIt = classPathUrls.iterator();
> while (cpIt.hasNext())
> {
> URL cpUrl = cpIt.next();
> if (beansXml.startsWith(stripProtocol(cpUrl.toExternalForm())))
> {
> cpIt.remove();
> addDeploymentUrl(beansXml, cpUrl);
> break;
> }
> }
> {code}
> does not behave as expected as can be seen from the following log output:
> {noformat}
> 11:48:21.234 [main] INFO o.a.w.c.s.AbstractMetaDataDiscovery - added beans
> archive URL:
> file:/home/hwellmann/work/ops4j/org.ops4j.pax.exam2/itest/cdi/src/it/regression%2bdeltaspike/target/test-classes/META-INF/beans.xml
> 11:48:21.252 [main] INFO o.a.w.c.s.AbstractMetaDataDiscovery - added beans
> archive URL:
> file:/home/hwellmann/work/ops4j/org.ops4j.pax.exam2/itest/cdi/src/it/regression+deltaspike/target/test-classes
> {noformat}
> A classpath element containing a {{beans.xml}} is *not* removed from the
> classpath, since the path prefix does not match due to varying encoding (i.e.
> {{regression%2bdeltaspike}} vs. {{regression-deltaspike}}).
> By the way, the log message "added beans archive URL" seems to be left
> unchanged since CDI 1.0. It would be helpful if the message indicated the
> difference between explicit and implicit bean archives. This is only
> mentioned in the inline comments in the source code.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)