[shrinkwrap-issues] [JBoss JIRA] (SHRINKWRAP-474) getAsType fail if the ArchiveAsset exists

Andrew Rubinger (JIRA) issues at jboss.org
Sun Mar 2 19:10:47 EST 2014


     [ https://issues.jboss.org/browse/SHRINKWRAP-474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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 at 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


More information about the shrinkwrap-issues mailing list