Package org.jboss.forge.arquillian

Source Code of org.jboss.forge.arquillian.ForgeDeploymentPackager

package org.jboss.forge.arquillian;

import java.util.Collection;

import org.jboss.arquillian.container.test.spi.TestDeployment;
import org.jboss.arquillian.container.test.spi.client.deployment.DeploymentPackager;
import org.jboss.arquillian.container.test.spi.client.deployment.ProtocolArchiveProcessor;
import org.jboss.forge.arquillian.archive.ForgeArchive;
import org.jboss.forge.arquillian.archive.ForgeRemoteAddon;
import org.jboss.shrinkwrap.api.Archive;

public class ForgeDeploymentPackager implements DeploymentPackager
{
   @Override
   public Archive<?> generateDeployment(TestDeployment testDeployment, Collection<ProtocolArchiveProcessor> processors)
   {
      if (testDeployment.getApplicationArchive() instanceof ForgeArchive)
      {
         ForgeArchive deployment = ForgeArchive.class.cast(testDeployment.getApplicationArchive());

         deployment.addAsLibraries(testDeployment.getAuxiliaryArchives());
         deployment.addClasses(ForgeArchive.class);

         return deployment;
      }
      else if (testDeployment.getApplicationArchive() instanceof ForgeRemoteAddon)
      {
         return testDeployment.getApplicationArchive();
      }
      else
      {
         throw new IllegalArgumentException(
                  "Invalid Archive type. Ensure that your @Deployment method returns type 'ForgeArchive'.");
      }
   }
}
TOP

Related Classes of org.jboss.forge.arquillian.ForgeDeploymentPackager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.