[shrinkwrap-issues] [JBoss JIRA] Resolved: (SHRINKWRAP-306) URL.openStream on directory URLs from the ShrinkWrapClassLoader throw an NPE
Andrew Rubinger (JIRA)
jira-events at lists.jboss.org
Thu Jul 21 21:47:23 EDT 2011
[ https://issues.jboss.org/browse/SHRINKWRAP-306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Rubinger resolved SHRINKWRAP-306.
----------------------------------------
Fix Version/s: 1.0.0-beta-5
Resolution: Done
Upstream: https://github.com/shrinkwrap/shrinkwrap/commit/fd9301f0b8bbeed2315929491b48f712e1b8fe68
> URL.openStream on directory URLs from the ShrinkWrapClassLoader throw an NPE
> ----------------------------------------------------------------------------
>
> Key: SHRINKWRAP-306
> URL: https://issues.jboss.org/browse/SHRINKWRAP-306
> Project: ShrinkWrap
> Issue Type: Bug
> Components: api
> Affects Versions: 1.0.0-beta-4
> Reporter: Andrew Rubinger
> Assignee: Andrew Rubinger
> Fix For: 1.0.0-beta-5
>
>
> This case should show the problem:
> // Make a new Archive with some content in a directory
> final String nestedResourceName = "nested/test";
> final Asset testAsset = new StringAsset("testContent");
> final GenericArchive archive = ShrinkWrap.create(GenericArchive.class).add(testAsset, nestedResourceName);
>
> // Make a CL to load the content
> final ClassLoader swCl = new ShrinkWrapClassLoader(archive);
> // Get the URL to the parent directory
> final URL nestedResourceUrl = swCl.getResource(nestedResourceName);
> final URL nestedResourceUpALevelUrl = new URL(nestedResourceUrl, "../");
>
> // openStream on the URL to the parent directory; should return null, not throw an exception
> final InputStream in = nestedResourceUpALevelUrl.openStream(); // << NPE
> Due to:
> https://github.com/shrinkwrap/shrinkwrap/blob/1.0.0-beta-4/api/src/main/java/org/jboss/shrinkwrap/api/classloader/ShrinkWrapClassLoader.java#L134
> If "getAsset" from Node is returning null, this is a directory. So return a null InputStream to denote as such; don't throw an NPE.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the shrinkwrap-issues
mailing list