[jboss-svn-commits] JBoss Common SVN: r4670 - in arquillian/trunk: impl-base/src/main/java/org/jboss/arquillian/impl/handler and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jul 2 17:18:07 EDT 2010
Author: aslak
Date: 2010-07-02 17:18:06 -0400 (Fri, 02 Jul 2010)
New Revision: 4670
Modified:
arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ApplicationArchiveDeploymentGenerator.java
arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ClientDeploymentGenerator.java
arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGenerator.java
arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentGenerator.java
arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveGenerator.java
arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ArchiveGeneratorTestCase.java
arquillian/trunk/packagers/applicationarchive/src/main/java/org/jboss/arquillian/packager/applicationarchive/ApplicationArchiveDeploymentPackager.java
arquillian/trunk/packagers/javaee/src/main/java/org/jboss/arquillian/packager/javaee/EEDeploymentPackager.java
arquillian/trunk/packagers/javaee/src/test/java/org/jboss/arquillian/packager/javaee/EEDeploymentPackagerTestCase.java
arquillian/trunk/packagers/osgi/src/main/java/org/jboss/arquillian/packager/osgi/OSGiDeploymentPackager.java
arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/DeploymentPackager.java
arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestClass.java
Log:
ARQ-205 Reverted SPI change: adding Context to DeploymentPackager
Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ApplicationArchiveDeploymentGenerator.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ApplicationArchiveDeploymentGenerator.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ApplicationArchiveDeploymentGenerator.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -18,7 +18,6 @@
import org.jboss.arquillian.api.RunModeType;
import org.jboss.arquillian.spi.ApplicationArchiveGenerator;
-import org.jboss.arquillian.spi.Context;
import org.jboss.arquillian.spi.ServiceLoader;
import org.jboss.arquillian.spi.TestClass;
import org.jboss.shrinkwrap.api.Archive;
@@ -37,9 +36,11 @@
{
this.serviceLoader = serviceLoader;
}
-
- @Override
- public Archive<?> generate(Context context, TestClass testCase)
+
+ /* (non-Javadoc)
+ * @see org.jboss.arquillian.impl.DeploymentGenerator#generate(java.lang.Class)
+ */
+ public Archive<?> generate(TestClass testCase)
{
return serviceLoader.onlyOne(ApplicationArchiveGenerator.class).generateApplicationArchive(testCase);
}
Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ClientDeploymentGenerator.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ClientDeploymentGenerator.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ClientDeploymentGenerator.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -24,7 +24,6 @@
import org.jboss.arquillian.spi.ApplicationArchiveProcessor;
import org.jboss.arquillian.spi.AuxiliaryArchiveAppender;
import org.jboss.arquillian.spi.AuxiliaryArchiveProcessor;
-import org.jboss.arquillian.spi.Context;
import org.jboss.arquillian.spi.DeployableContainer;
import org.jboss.arquillian.spi.DeploymentPackager;
import org.jboss.arquillian.spi.ServiceLoader;
@@ -50,20 +49,19 @@
this.serviceLoader = serviceLoader;
}
- @Override
- public Archive<?> generate(Context context, TestClass testCase)
+ public Archive<?> generate(TestClass testCase)
{
Validate.notNull(testCase, "TestCase must be specified");
DeploymentPackager packager = serviceLoader.onlyOne(DeploymentPackager.class);
- Archive<?> archive = serviceLoader.onlyOne(ApplicationArchiveGenerator.class).generateApplicationArchive(testCase);
- applyApplicationProcessors(archive, testCase);
+ Archive<?> applicationArchive = serviceLoader.onlyOne(ApplicationArchiveGenerator.class).generateApplicationArchive(testCase);
+ applyApplicationProcessors(applicationArchive, testCase);
List<Archive<?>> auxiliaryArchives = loadAuxiliaryArchives();
applyAuxiliaryProcessors(auxiliaryArchives);
- return packager.generateDeployment(context, archive, auxiliaryArchives);
+ return packager.generateDeployment(applicationArchive, auxiliaryArchives);
}
private List<Archive<?>> loadAuxiliaryArchives()
Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGenerator.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGenerator.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGenerator.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -33,12 +33,11 @@
*/
public class DeploymentAnnotationArchiveGenerator implements ApplicationArchiveGenerator
{
- @Override
public Archive<?> generateApplicationArchive(TestClass testCase)
{
Validate.notNull(testCase, "TestCase must be specified");
- Method deploymentMethod = findDeploymentMethod(testCase);
+ Method deploymentMethod = testCase.getMethod(Deployment.class);
if(deploymentMethod == null)
{
throw new IllegalArgumentException("No method annotated with " + Deployment.class.getName() + " found");
@@ -79,17 +78,4 @@
throw new RuntimeException("Could not get Deployment", e);
}
}
-
- private Method findDeploymentMethod(TestClass testClass)
- {
- Method[] methods = testClass.getJavaClass().getMethods();
- for(Method method: methods)
- {
- if(method.isAnnotationPresent(Deployment.class))
- {
- return method;
- }
- }
- return null;
- }
}
Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentGenerator.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentGenerator.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentGenerator.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -16,7 +16,6 @@
*/
package org.jboss.arquillian.impl;
-import org.jboss.arquillian.spi.Context;
import org.jboss.arquillian.spi.TestClass;
import org.jboss.shrinkwrap.api.Archive;
@@ -28,9 +27,11 @@
*/
public interface DeploymentGenerator
{
+
/**
- * Generate a deployment archive for the given test case
+ * @param testCase
+ * @return
*/
- Archive<?> generate(Context context, TestClass testCase);
+ Archive<?> generate(TestClass testCase);
}
Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveGenerator.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveGenerator.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveGenerator.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -19,7 +19,6 @@
import org.jboss.arquillian.impl.DeploymentGenerator;
import org.jboss.arquillian.impl.Validate;
import org.jboss.arquillian.spi.Context;
-import org.jboss.arquillian.spi.TestClass;
import org.jboss.arquillian.spi.event.suite.ClassEvent;
import org.jboss.arquillian.spi.event.suite.EventHandler;
import org.jboss.shrinkwrap.api.Archive;
@@ -50,10 +49,8 @@
DeploymentGenerator generator = context.get(DeploymentGenerator.class);
Validate.stateNotNull(generator, "No " + DeploymentGenerator.class.getName() + " found in context");
- TestClass testClass = event.getTestClass();
- context.add(TestClass.class, testClass);
+ Archive<?> deployment = generator.generate(event.getTestClass());
- Archive<?> deployment = generator.generate(context, testClass);
context.add(Archive.class, deployment);
}
}
Modified: arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ArchiveGeneratorTestCase.java
===================================================================
--- arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ArchiveGeneratorTestCase.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ArchiveGeneratorTestCase.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -64,7 +64,7 @@
TestClass testClass = new TestClass(getClass());
ClassContext context = new ClassContext(new SuiteContext(serviceLoader));
- Mockito.when(generator.generate(context, testClass)).thenAnswer(new Answer<Archive<?>>()
+ Mockito.when(generator.generate(testClass)).thenAnswer(new Answer<Archive<?>>()
{
public Archive<?> answer(org.mockito.invocation.InvocationOnMock invocation) throws Throwable {
return deployment;
Modified: arquillian/trunk/packagers/applicationarchive/src/main/java/org/jboss/arquillian/packager/applicationarchive/ApplicationArchiveDeploymentPackager.java
===================================================================
--- arquillian/trunk/packagers/applicationarchive/src/main/java/org/jboss/arquillian/packager/applicationarchive/ApplicationArchiveDeploymentPackager.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/packagers/applicationarchive/src/main/java/org/jboss/arquillian/packager/applicationarchive/ApplicationArchiveDeploymentPackager.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -18,7 +18,6 @@
import java.util.Collection;
-import org.jboss.arquillian.spi.Context;
import org.jboss.arquillian.spi.DeploymentPackager;
import org.jboss.shrinkwrap.api.Archive;
@@ -31,10 +30,8 @@
*/
public class ApplicationArchiveDeploymentPackager implements DeploymentPackager
{
- @Override
- public Archive<?> generateDeployment(Context context, Archive<?> applicationArchive, Collection<Archive<?>> auxiliaryArchives)
+ public Archive<?> generateDeployment(Archive<?> applicationArchive, Collection<Archive<?>> auxiliaryArchives)
{
return applicationArchive;
}
-
}
Modified: arquillian/trunk/packagers/javaee/src/main/java/org/jboss/arquillian/packager/javaee/EEDeploymentPackager.java
===================================================================
--- arquillian/trunk/packagers/javaee/src/main/java/org/jboss/arquillian/packager/javaee/EEDeploymentPackager.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/packagers/javaee/src/main/java/org/jboss/arquillian/packager/javaee/EEDeploymentPackager.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -18,7 +18,6 @@
import java.util.Collection;
-import org.jboss.arquillian.spi.Context;
import org.jboss.arquillian.spi.DeploymentPackager;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
@@ -34,8 +33,10 @@
*/
public class EEDeploymentPackager implements DeploymentPackager
{
- @Override
- public Archive<?> generateDeployment(Context context, Archive<?> applicationArchive, Collection<Archive<?>> auxiliaryArchives)
+ /* (non-Javadoc)
+ * @see org.jboss.arquillian.spi.DeploymentPackager#generateDeployment(org.jboss.shrinkwrap.api.Archive, java.util.Collection)
+ */
+ public Archive<?> generateDeployment(Archive<?> applicationArchive, Collection<Archive<?>> auxiliaryArchives)
{
if(EnterpriseArchive.class.isInstance(applicationArchive))
{
Modified: arquillian/trunk/packagers/javaee/src/test/java/org/jboss/arquillian/packager/javaee/EEDeploymentPackagerTestCase.java
===================================================================
--- arquillian/trunk/packagers/javaee/src/test/java/org/jboss/arquillian/packager/javaee/EEDeploymentPackagerTestCase.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/packagers/javaee/src/test/java/org/jboss/arquillian/packager/javaee/EEDeploymentPackagerTestCase.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -20,16 +20,15 @@
import java.util.Collection;
import java.util.List;
-import org.jboss.arquillian.spi.Context;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ArchivePaths;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.impl.base.asset.ArchiveAsset;
import org.junit.Assert;
import org.junit.Test;
-import org.mockito.Mockito;
/**
@@ -43,8 +42,7 @@
@Test
public void shouldHandleJavaArchiveEE5Protocol() throws Exception
{
- Context context = Mockito.mock(Context.class);
- Archive<?> archive = new EEDeploymentPackager().generateDeployment(context,
+ Archive<?> archive = new EEDeploymentPackager().generateDeployment(
ShrinkWrap.create("applicationArchive.jar", JavaArchive.class),
createAuxiliaryArchivesEE5());
@@ -68,8 +66,7 @@
@Test
public void shouldHandleJavaArchiveEE6Protocol() throws Exception
{
- Context context = Mockito.mock(Context.class);
- Archive<?> archive = new EEDeploymentPackager().generateDeployment(context,
+ Archive<?> archive = new EEDeploymentPackager().generateDeployment(
ShrinkWrap.create("applicationArchive.jar", JavaArchive.class),
createAuxiliaryArchivesEE6());
@@ -94,8 +91,7 @@
@Test(expected = IllegalArgumentException.class)
public void shouldHandleWebArchiveEE5Protocol() throws Exception
{
- Context context = Mockito.mock(Context.class);
- new EEDeploymentPackager().generateDeployment(context,
+ new EEDeploymentPackager().generateDeployment(
ShrinkWrap.create("applicationArchive.war", WebArchive.class),
createAuxiliaryArchivesEE5());
@@ -104,8 +100,7 @@
@Test
public void shouldHandleWebArchiveEE6Protocol() throws Exception
{
- Context context = Mockito.mock(Context.class);
- Archive<?> archive = new EEDeploymentPackager().generateDeployment(context,
+ Archive<?> archive = new EEDeploymentPackager().generateDeployment(
ShrinkWrap.create("applicationArchive.war", WebArchive.class),
createAuxiliaryArchivesEE6());
@@ -125,8 +120,7 @@
@Test
public void shouldHandleEnterpriseArchiveEE5Protocol() throws Exception
{
- Context context = Mockito.mock(Context.class);
- Archive<?> archive = new EEDeploymentPackager().generateDeployment(context,
+ Archive<?> archive = new EEDeploymentPackager().generateDeployment(
ShrinkWrap.create("applicationArchive.ear", EnterpriseArchive.class),
createAuxiliaryArchivesEE5());
@@ -143,8 +137,7 @@
@Test
public void shouldHandleEnterpriseArchiveEE6Protocol() throws Exception
{
- Context context = Mockito.mock(Context.class);
- Archive<?> archive = new EEDeploymentPackager().generateDeployment(context,
+ Archive<?> archive = new EEDeploymentPackager().generateDeployment(
ShrinkWrap.create("applicationArchive.ear", EnterpriseArchive.class),
createAuxiliaryArchivesEE6());
@@ -157,6 +150,35 @@
archive.contains(ArchivePaths.create("/lib/auxiliaryArchive2.jar")));
}
+ @Test
+ public void shouldHandleEnterpriseArchiveEE6ProtocolWithExistingWAR() throws Exception
+ {
+ Archive<?> archive = new EEDeploymentPackager().generateDeployment(
+ ShrinkWrap.create("applicationArchive.ear", EnterpriseArchive.class)
+ .addModule(ShrinkWrap.create("test.war", WebArchive.class)
+ .addClass(Test.class)),
+ createAuxiliaryArchivesEE6());
+
+ Assert.assertTrue(
+ "Verify that the applicationArchive still contains WebArchive in /",
+ archive.contains(ArchivePaths.create("test.war")));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /lib",
+ archive.contains(ArchivePaths.create("/lib/auxiliaryArchive2.jar")));
+
+ Archive<?> applicationArchive = ((ArchiveAsset)archive.get(ArchivePaths.create("test.war")).getAsset()).getArchive();
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchive protocol is placed in applicationArchive WebArchive",
+ applicationArchive.contains(ArchivePaths.create("/WEB-INF/lib/arquillian-protocol.jar")));
+
+ Assert.assertTrue(
+ "Verify that the applicationArchive has not been overwritten",
+ applicationArchive.contains(ArchivePaths.create("/WEB-INF/classes/org/junit/Test.class")));
+
+
+ }
+
private Collection<Archive<?>> createAuxiliaryArchivesEE6()
{
List<Archive<?>> archives = new ArrayList<Archive<?>>();
Modified: arquillian/trunk/packagers/osgi/src/main/java/org/jboss/arquillian/packager/osgi/OSGiDeploymentPackager.java
===================================================================
--- arquillian/trunk/packagers/osgi/src/main/java/org/jboss/arquillian/packager/osgi/OSGiDeploymentPackager.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/packagers/osgi/src/main/java/org/jboss/arquillian/packager/osgi/OSGiDeploymentPackager.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -19,9 +19,7 @@
import java.io.File;
import java.util.Collection;
-import org.jboss.arquillian.spi.Context;
import org.jboss.arquillian.spi.DeploymentPackager;
-import org.jboss.arquillian.spi.TestClass;
import org.jboss.osgi.spi.util.BundleInfo;
import org.jboss.osgi.vfs.AbstractVFS;
import org.jboss.osgi.vfs.VirtualFile;
@@ -38,25 +36,21 @@
public class OSGiDeploymentPackager implements DeploymentPackager
{
@Override
- public Archive<?> generateDeployment(Context context, Archive<?> bundleArchive, Collection<Archive<?>> auxiliaryArchives)
+ public Archive<?> generateDeployment(Archive<?> bundleArchive, Collection<Archive<?>> auxiliaryArchives)
{
if(JavaArchive.class.isInstance(bundleArchive))
{
- return handleArchive(context, JavaArchive.class.cast(bundleArchive), auxiliaryArchives);
+ return handleArchive(JavaArchive.class.cast(bundleArchive), auxiliaryArchives);
}
throw new IllegalArgumentException(OSGiDeploymentPackager.class.getName() +
" can not handle archive of type " + bundleArchive.getClass().getName());
}
- private Archive<?> handleArchive(Context context, JavaArchive archive, Collection<Archive<?>> auxiliaryArchives)
+ private Archive<?> handleArchive(JavaArchive archive, Collection<Archive<?>> auxiliaryArchives)
{
try
{
- TestClass testClass = context.get(TestClass.class);
- //if (testClass == null)
- // throw new IllegalStateException("Cannot obtain TestClass");
-
validateBundleArchive(archive);
return archive;
}
Modified: arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/DeploymentPackager.java
===================================================================
--- arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/DeploymentPackager.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/DeploymentPackager.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -32,16 +32,9 @@
public interface DeploymentPackager
{
/**
- * Inspect, validate and optionally modify the user defined archive.
- *
- * Additional archives can be added to the given list of auxiliaryArchives.
- * The returned archive together with the auxiliaryArchives will get deployed
- * to the container.
- *
- * @param context The test lifecycle context
- * @param archive The user defined deployment archive
+ * @param applicationArchive The user defined deployment archive
* @param auxiliaryArchives All found system defined deployment archives
* @return A archive to deploy
*/
- Archive<?> generateDeployment(Context context, Archive<?> archive, Collection<Archive<?>> auxiliaryArchives);
+ Archive<?> generateDeployment(Archive<?> applicationArchive, Collection<Archive<?>> auxiliaryArchives);
}
Modified: arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestClass.java
===================================================================
--- arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestClass.java 2010-07-02 16:31:44 UTC (rev 4669)
+++ arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestClass.java 2010-07-02 21:18:06 UTC (rev 4670)
@@ -17,6 +17,7 @@
package org.jboss.arquillian.spi;
import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
/**
@@ -56,4 +57,17 @@
{
return testClass.getAnnotation(annotation);
}
+
+ public Method getMethod(Class<? extends Annotation> annotation)
+ {
+ Method[] methods = testClass.getMethods();
+ for(Method method: methods)
+ {
+ if(method.isAnnotationPresent(annotation))
+ {
+ return method;
+ }
+ }
+ return null;
+ }
}
More information about the jboss-svn-commits
mailing list