[
https://issues.jboss.org/browse/SHRINKWRAP-306?page=com.atlassian.jira.pl...
]
Andrew Rubinger updated SHRINKWRAP-306:
---------------------------------------
Description:
This case should show the problem:
{code}
// 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{code}
Due to:
https://github.com/shrinkwrap/shrinkwrap/blob/1.0.0-beta-4/api/src/main/j...
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.
was:
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/j...
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.
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:
{code}
// 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{code}
Due to:
https://github.com/shrinkwrap/shrinkwrap/blob/1.0.0-beta-4/api/src/main/j...
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