[JBoss JIRA] (SHRINKWRAP-474) getAsType fail if the ArchiveAsset exists
by Andrew Rubinger (JIRA)
[ https://issues.jboss.org/browse/SHRINKWRAP-474?page=com.atlassian.jira.pl... ]
Andrew Rubinger reassigned SHRINKWRAP-474:
------------------------------------------
Assignee: Andrew Rubinger
> getAsType fail if the ArchiveAsset exists
> -----------------------------------------
>
> Key: SHRINKWRAP-474
> URL: https://issues.jboss.org/browse/SHRINKWRAP-474
> Project: ShrinkWrap
> Issue Type: Bug
> Components: impl-base
> Affects Versions: 1.2.1
> Reporter: Aslak Knutsen
> Assignee: Andrew Rubinger
>
> Two issues with the current impl:
> 1. the represented ArchivePath already exists as ArchiveAsset, so there is no need to attempt to import it
> 2. it silently fail to delete the existing ArchivePath after import, so it throws exception when trying to overwrite the existing path.
> {code}
> String path = "a.jar";
> ShrinkWrap.create(WebArchive.class)
> .addAsLibraries(
> ShrinkWrap.create(JavaArchive.class, path)
> .add(EmptyAsset.INSTANCE, "something"))
> .getAsType(
> GenericArchive.class,
> ArchivePaths.create("WEB-INF/lib", path),
> ArchiveFormat.ZIP);
> {code}
> {code}
> org.jboss.shrinkwrap.api.IllegalOverwriteException: Cannot add requested asset org.jboss.shrinkwrap.api.asset.ArchiveAsset@49873ad9 to path /WEB-INF/lib/a.jar to archive 77b80d55-7637-4b87-9ac6-802aab489af3.war; path already exists as directory
> at org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase.addAsset(MemoryMapArchiveBase.java:195)
> at org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase.add(MemoryMapArchiveBase.java:127)
> at org.jboss.shrinkwrap.impl.base.ArchiveBase.getAsType(ArchiveBase.java:305)
> at org.jboss.shrinkwrap.impl.base.container.ContainerBase.getAsType(ContainerBase.java:467)
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira