Search in sources :

Example 1 with ShrinkWrapResource

use of cloud.piranha.resource.shrinkwrap.ShrinkWrapResource in project piranha by piranhacloud.

the class MicroInnerDeployer method getWebApplication.

WebApplication getWebApplication(Archive<?> archive, ClassLoader newClassLoader) {
    WebApplication webApplication = new DefaultWebApplication();
    webApplication.setClassLoader(newClassLoader);
    // The main resource representing the (war) archive itself.
    webApplication.addResource(new ShrinkWrapResource(archive));
    // Get the list of embedded archives containing a "/META-INF/resources" folder.
    Node resourceNodes = archive.get("/META-INF/piranha/resource-libs");
    if (resourceNodes != null) {
        for (Node resourceNode : resourceNodes.getChildren()) {
            ArchiveAsset resourceArchiveAsset = (ArchiveAsset) resourceNode.getAsset();
            // Add the archive as a resource with the "/META-INF/resources" folder shifted to its root
            webApplication.addResource(new ShrinkWrapResource("/META-INF/resources", resourceArchiveAsset.getArchive()));
        }
    }
    return webApplication;
}
Also used : DefaultWebApplication(cloud.piranha.core.impl.DefaultWebApplication) ShrinkWrapResource(cloud.piranha.resource.shrinkwrap.ShrinkWrapResource) Node(org.jboss.shrinkwrap.api.Node) ArchiveAsset(org.jboss.shrinkwrap.api.asset.ArchiveAsset) DefaultWebApplication(cloud.piranha.core.impl.DefaultWebApplication) WebApplication(cloud.piranha.core.api.WebApplication)

Aggregations

WebApplication (cloud.piranha.core.api.WebApplication)1 DefaultWebApplication (cloud.piranha.core.impl.DefaultWebApplication)1 ShrinkWrapResource (cloud.piranha.resource.shrinkwrap.ShrinkWrapResource)1 Node (org.jboss.shrinkwrap.api.Node)1 ArchiveAsset (org.jboss.shrinkwrap.api.asset.ArchiveAsset)1