[webbeans-commits] Webbeans SVN: r1489 - ri/trunk/jboss-tck-runner/src/main/resources/META-INF and 8 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Wed Feb 11 15:44:55 EST 2009


Author: pete.muir at jboss.org
Date: 2009-02-11 15:44:55 -0500 (Wed, 11 Feb 2009)
New Revision: 1489

Added:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/ForwardingITestNGMethod.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/ForwardingITestResult.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/SaneITestNGMethod.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/Produced.java
Removed:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/DeclarativeArtifactProcessor.java
Modified:
   ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java
   ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties
   ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactGenerator.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/BindingDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/SpiderProducer.java
   tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/standalone/DeclarativeStandaloneTest.java
   tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/war/DeclarativeWarTest.java
Log:
Fix the TCK :-/

Modified: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java	2009-02-11 19:13:27 UTC (rev 1488)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -114,7 +114,7 @@
       File file = new File(deployDir, name);
       if (file.exists())
       {
-         //file.delete();
+         file.delete();
       }
       Thread.sleep(1000);
    }

Modified: ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties	2009-02-11 19:13:27 UTC (rev 1488)
+++ ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties	2009-02-11 20:44:55 UTC (rev 1489)
@@ -1,2 +1,4 @@
 org.jboss.jsr299.tck.spi.Containers=org.jboss.webbeans.tck.integration.jbossas.ContainersImpl
-org.jboss.jsr299.tck.api.TestLauncher=org.jboss.jsr299.tck.impl.runner.servlet.ServletTestLauncher
\ No newline at end of file
+org.jboss.jsr299.tck.api.TestLauncher=org.jboss.jsr299.tck.impl.runner.servlet.ServletTestLauncher
+org.jboss.jsr299.tck.connectDelay=1500
+org.jboss.jsr299.tck.connectRetries=8
\ No newline at end of file

Modified: ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml
===================================================================
--- ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml	2009-02-11 19:13:27 UTC (rev 1488)
+++ ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml	2009-02-11 20:44:55 UTC (rev 1489)
@@ -47,6 +47,10 @@
         <priority value="ERROR"/>
     </category>
     
+    <category name="org.jboss.jsr299">
+        <priority value="INFO"/>
+    </category>
+    
     <root>
         <priority value="INFO"/>
         <appender-ref ref="CONSOLE"/>

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java	2009-02-11 19:13:27 UTC (rev 1488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -21,17 +21,18 @@
 import javax.inject.manager.Bean;
 import javax.inject.manager.Manager;
 
+import org.jboss.jsr299.tck.api.Configuration;
 import org.jboss.jsr299.tck.impl.ConfigurationImpl;
-import org.jboss.jsr299.tck.impl.packaging.Artifact;
-import org.jboss.jsr299.tck.impl.packaging.ArtifactDescriptor;
-import org.jboss.jsr299.tck.impl.packaging.DeclarativeArtifactProcessor;
-import org.jboss.jsr299.tck.impl.packaging.EjbArtifact;
+import org.jboss.jsr299.tck.impl.packaging.ArtifactGenerator;
+import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
 import org.jboss.jsr299.tck.impl.util.MockCreationalContext;
 import org.jboss.jsr299.tck.spi.StandaloneContainers;
 import org.testng.IHookCallBack;
 import org.testng.IHookable;
 import org.testng.ITestResult;
+import org.testng.annotations.AfterClass;
 import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 
 @SuppressWarnings("unchecked")
@@ -73,20 +74,26 @@
 
    protected Manager manager;
    private StandaloneContainers containers;
+   private TCKArtifactDescriptor artifact;
+   private ArtifactGenerator generator;
+   private Configuration configuration;
+   
+   @BeforeClass
+   public final void beforeSuite()
+   {
+      configuration = ConfigurationImpl.get();
+      generator = new ArtifactGenerator(configuration);
+   }
 
-   public static boolean visited = false;
-
    @BeforeMethod
-   public final void before(Method method)
+   public final void beforeMethod(Method method)
    {
-      if (ConfigurationImpl.get().isStandalone())
+      artifact = generator.createArtifact(method.getDeclaringClass());
+      if (configuration.isStandalone())
       {
-         containers = ConfigurationImpl.get().getStandaloneContainers();
-         Class<?> declaringClass = method.getDeclaringClass();
-         if (declaringClass.isAnnotationPresent(Artifact.class) || declaringClass.isAnnotationPresent(EjbArtifact.class))
+         containers = configuration.getStandaloneContainers();
+         if (artifact != null)
          {
-            DeclarativeArtifactProcessor processor = new DeclarativeArtifactProcessor(declaringClass, true, null);
-            ArtifactDescriptor artifact = processor.getArtifact();
             Set<Class<?>> classes = artifact.getClasses();
             if (getEnabledDeploymentTypes().size() > 0)
             {
@@ -113,10 +120,17 @@
    }
 
    @AfterMethod
-   public void after()
+   public void afterMethod()
    {
       manager = null;
+      artifact = null;
    }
+   
+   @AfterClass
+   public void afterClass()
+   {
+      this.generator = null;
+   }
 
    @Deprecated
    public <T> Bean<T> createSimpleBean(Class<T> beanClass)
@@ -171,8 +185,11 @@
     * This method should be overridden by test classes which need to enable
     * additional deployment types beyond the normal ones.
     * 
+    * Deprecated, need to use beans.xml
+    * 
     * @return the list of enabled deployment types
     */
+   @Deprecated
    protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
    {
       return Collections.emptyList();
@@ -233,19 +250,13 @@
 
    public void run(IHookCallBack callback, ITestResult testResult)
    {
-      if ()
-   }
-   
-   private static boolean isInContainerTest()
-   {
-      if (!ConfigurationImpl.get().isStandalone())
+      if (artifact== null || artifact.isUnit())
       {
-         // We aren't in standalone mode, so everything runs in the container
-         return false;
+         callback.runTestMethod(testResult);
       }
       else
       {
-         
+         // Run the test in the container
       }
    }
 }
\ No newline at end of file

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java	2009-02-11 19:13:27 UTC (rev 1488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -1,5 +1,8 @@
 package org.jboss.jsr299.tck.impl.packaging;
 
+import static org.jboss.jsr299.tck.impl.packaging.PackagingType.EAR;
+import static org.jboss.jsr299.tck.impl.packaging.PackagingType.UNSPECIFIED;
+import static org.jboss.jsr299.tck.impl.packaging.PackagingType.WAR;
 import static org.jboss.jsr299.tck.impl.util.Reflections.loadClass;
 import static org.jboss.jsr299.tck.impl.util.Reflections.loadResourceAsStream;
 import static org.jboss.jsr299.tck.impl.util.Reflections.loadResources;
@@ -10,15 +13,22 @@
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
+import java.io.FilenameFilter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Random;
 import java.util.Set;
 import java.util.zip.ZipEntry;
@@ -27,6 +37,9 @@
 import java.util.zip.ZipOutputStream;
 
 import org.apache.log4j.Logger;
+import org.jboss.jsr299.tck.impl.packaging.jsr299.BeansXml;
+import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
+import org.jboss.jsr299.tck.impl.packaging.war.WarArtifactDescriptor;
 import org.jboss.jsr299.tck.impl.util.Files;
 
 public class ArtifactDescriptor
@@ -200,7 +213,198 @@
       
    }
 
+   private static class DeclarativeArtifact
+   {
+      
+      private static final Logger log = Logger.getLogger(DeclarativeArtifact.class);
+      
+      private final boolean unit;
+      private final boolean ejbs;
+      private final boolean addDeclaringPackage;
+      private final String beansXml;
+      private final PackagingType packagingType;
+      private final Collection<ResourceDescriptor> resources;
+      private final Collection<Class<?>> classes;
+      private final Set<ResourceDescriptor> extraLibraries;
+      
+      private final Class<?> declaringClass;
+      private final boolean standalone;
+
+      public DeclarativeArtifact(Class<?> declaringClass, boolean standalone, String extraLibrariesDirectory)
+      {
+         this.standalone = standalone;
+         this.declaringClass = declaringClass;
+         
+         if (declaringClass.isAnnotationPresent(Artifact.class))
+         {
+            this.addDeclaringPackage = declaringClass.getAnnotation(Artifact.class).addCurrentPackage();
+            this.ejbs = false;
+         }
+         else if (declaringClass.isAnnotationPresent(EjbArtifact.class))
+         {
+            this.addDeclaringPackage = declaringClass.getAnnotation(EjbArtifact.class).addCurrentPackage();
+            this.ejbs = true;
+         }
+         else
+         {
+            throw new IllegalStateException("Unable to find @Artifact on " + declaringClass);
+         }
+         
+         if (declaringClass.isAnnotationPresent(BeansXml.class))
+         {
+            this.beansXml = asAbsolutePath(declaringClass.getAnnotation(BeansXml.class).value());
+         }
+         else
+         {
+            this.beansXml = null;
+         }
+         
+         if (declaringClass.isAnnotationPresent(Packaging.class))
+         {
+            this.packagingType = declaringClass.getAnnotation(Packaging.class).value();
+         }
+         else
+         {
+            this.packagingType = UNSPECIFIED;
+         }
+         
+         if (declaringClass.isAnnotationPresent(IntegrationTest.class))
+         {
+            this.unit = false;
+         }
+         else
+         {
+            this.unit = true;
+         }
+         
+         if (unit && (packagingType.equals(WAR) || packagingType.equals(EAR)))
+         {
+            throw new IllegalArgumentException("Cannot specify @Packaging(WAR) or @Packaging(EAR) if @Integration test is not present");
+         }
+         
+         if (declaringClass.isAnnotationPresent(Resources.class))
+         {
+            this.resources = asResourceDescriptors(declaringClass.getAnnotation(Resources.class).value());
+         }
+         else
+         {
+            this.resources = Collections.emptyList();
+         }
+         
+         if (declaringClass.isAnnotationPresent(Classes.class))
+         {
+            this.classes = Arrays.asList(declaringClass.getAnnotation(Classes.class).value());
+         }
+         else
+         {
+            this.classes = Collections.emptyList();
+         }
+         if (extraLibrariesDirectory != null)
+         {
+            File directory = new File(extraLibrariesDirectory);
+            this.extraLibraries = new HashSet<ResourceDescriptor>();
+            if (directory.isDirectory())
+            {
+               for (File file : directory.listFiles(new FilenameFilter()
+                  {
+                     
+                     public boolean accept(File dir, String name)
+                     {
+                        return name.endsWith(".jar");
+                     }
+                     
+                  }))
+               {
+                  try
+                  {
+                     this.extraLibraries.add(new ResourceDescriptor(file.getName(), new FileInputStream(file)));
+                  }
+                  catch (FileNotFoundException e)
+                  {
+                     log.warn("Unable to load extra library", e);
+                  }
+               }
+            }
+         }
+         else
+         {
+            this.extraLibraries = Collections.emptySet();
+         }
+      }
+      
+      public TCKArtifactDescriptor createArtifact()
+      {
+         final TCKArtifactDescriptor artifact = newArtifact(packagingType, declaringClass, beansXml, standalone, ejbs, addDeclaringPackage);
+         artifact.setEjbs(ejbs);
+         artifact.setUnit(unit);
+         artifact.getClasses().addAll(classes);
+         artifact.getResources().addAll(resources);
+         artifact.getLibraries().addAll(extraLibraries);
+         return artifact;
+      }
+      
+      private Collection<ResourceDescriptor> asResourceDescriptors(Resource[] resources)
+      {
+         List<ResourceDescriptor> resourceDescriptors = new ArrayList<ResourceDescriptor>();
+         for (Resource resource : resources)
+         {
+            resourceDescriptors.add(new ResourceDescriptor(resource.destination(), asAbsolutePath(resource.source())));
+         }
+         return resourceDescriptors;
+      }
+      
+      private String asAbsolutePath(String path)
+      {
+         if (path.startsWith("/"))
+         {
+            return path.substring(1);
+         }
+         else
+         {
+            return declaringClass.getPackage().getName().replace(".", "/") + "/" + path;
+         }
+      }
+      
+      public static TCKArtifactDescriptor newArtifact(PackagingType packagingType, Class<?> declaringClass, String beansXml, boolean standalone, boolean ejbs, boolean addDeclaringPackage)
+      {
+         TCKArtifactDescriptor artifact;
+         if (packagingType.equals(WAR))
+         {
+               artifact = new WarArtifactDescriptor(declaringClass, beansXml);
+         } 
+         else if (packagingType.equals(EAR))
+         {
+            throw new UnsupportedOperationException();
+         }
+         else if (!standalone && ejbs)
+         {
+            throw new UnsupportedOperationException();
+         }
+         else if (!standalone)
+         {
+            artifact = new WarArtifactDescriptor(declaringClass, beansXml);
+         }
+         else
+         {
+            artifact = new TCKArtifactDescriptor(declaringClass, beansXml);
+         }
+         
+         if (addDeclaringPackage)
+         {
+            artifact.addPackage(declaringClass.getPackage());
+         }
+         return artifact;
+      }
+      
+      public boolean isUnit()
+      {
+         return unit;
+      };
+      
+   }
+
    
+   
    public static final Random random = new Random(System.currentTimeMillis());
    
    private final Set<Class<?>> classes;

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactGenerator.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactGenerator.java	2009-02-11 19:13:27 UTC (rev 1488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactGenerator.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -1,18 +1,221 @@
 package org.jboss.jsr299.tck.impl.packaging;
 
+import static org.jboss.jsr299.tck.impl.packaging.PackagingType.EAR;
+import static org.jboss.jsr299.tck.impl.packaging.PackagingType.UNSPECIFIED;
+import static org.jboss.jsr299.tck.impl.packaging.PackagingType.WAR;
+
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FilenameFilter;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
 import org.apache.log4j.Logger;
 import org.jboss.jsr299.tck.api.Configuration;
+import org.jboss.jsr299.tck.impl.packaging.jsr299.BeansXml;
+import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
+import org.jboss.jsr299.tck.impl.packaging.war.WarArtifactDescriptor;
 
 public class ArtifactGenerator
 {
    
+   private static class ArtifactProcessor
+   {
+      
+      private static final Logger log = Logger.getLogger(ArtifactProcessor.class);
+      
+      private final boolean unit;
+      private final boolean ejbs;
+      private final boolean addDeclaringPackage;
+      private final String beansXml;
+      private final PackagingType packagingType;
+      private final Collection<ResourceDescriptor> resources;
+      private final Collection<Class<?>> classes;
+      private final Set<ResourceDescriptor> extraLibraries;
+      
+      private final Class<?> declaringClass;
+      private final boolean standalone;
+
+      public ArtifactProcessor(Class<?> declaringClass, boolean standalone, String extraLibrariesDirectory)
+      {
+         this.standalone = standalone;
+         this.declaringClass = declaringClass;
+         
+         if (declaringClass.isAnnotationPresent(Artifact.class))
+         {
+            this.addDeclaringPackage = declaringClass.getAnnotation(Artifact.class).addCurrentPackage();
+            this.ejbs = false;
+         }
+         else if (declaringClass.isAnnotationPresent(EjbArtifact.class))
+         {
+            this.addDeclaringPackage = declaringClass.getAnnotation(EjbArtifact.class).addCurrentPackage();
+            this.ejbs = true;
+         }
+         else
+         {
+            throw new IllegalStateException("Unable to find @Artifact on " + declaringClass);
+         }
+         
+         if (declaringClass.isAnnotationPresent(BeansXml.class))
+         {
+            this.beansXml = asAbsolutePath(declaringClass.getAnnotation(BeansXml.class).value());
+         }
+         else
+         {
+            this.beansXml = null;
+         }
+         
+         if (declaringClass.isAnnotationPresent(Packaging.class))
+         {
+            this.packagingType = declaringClass.getAnnotation(Packaging.class).value();
+         }
+         else
+         {
+            this.packagingType = UNSPECIFIED;
+         }
+         
+         if (declaringClass.isAnnotationPresent(IntegrationTest.class))
+         {
+            this.unit = false;
+         }
+         else
+         {
+            this.unit = true;
+         }
+         
+         if (unit && (packagingType.equals(WAR) || packagingType.equals(EAR)))
+         {
+            throw new IllegalArgumentException("Cannot specify @Packaging(WAR) or @Packaging(EAR) if @Integration test is not present");
+         }
+         
+         if (declaringClass.isAnnotationPresent(Resources.class))
+         {
+            this.resources = asResourceDescriptors(declaringClass.getAnnotation(Resources.class).value());
+         }
+         else
+         {
+            this.resources = Collections.emptyList();
+         }
+         
+         if (declaringClass.isAnnotationPresent(Classes.class))
+         {
+            this.classes = Arrays.asList(declaringClass.getAnnotation(Classes.class).value());
+         }
+         else
+         {
+            this.classes = Collections.emptyList();
+         }
+         if (extraLibrariesDirectory != null)
+         {
+            File directory = new File(extraLibrariesDirectory);
+            this.extraLibraries = new HashSet<ResourceDescriptor>();
+            if (directory.isDirectory())
+            {
+               for (File file : directory.listFiles(new FilenameFilter()
+                  {
+                     
+                     public boolean accept(File dir, String name)
+                     {
+                        return name.endsWith(".jar");
+                     }
+                     
+                  }))
+               {
+                  try
+                  {
+                     this.extraLibraries.add(new ResourceDescriptor(file.getName(), new FileInputStream(file)));
+                  }
+                  catch (FileNotFoundException e)
+                  {
+                     log.warn("Unable to load extra library", e);
+                  }
+               }
+            }
+         }
+         else
+         {
+            this.extraLibraries = Collections.emptySet();
+         }
+      }
+      
+      public TCKArtifactDescriptor createArtifact()
+      {
+         final TCKArtifactDescriptor artifact = newArtifact(packagingType, declaringClass, beansXml, standalone, ejbs, addDeclaringPackage);
+         artifact.setEjbs(ejbs);
+         artifact.setUnit(unit);
+         artifact.getClasses().addAll(classes);
+         artifact.getResources().addAll(resources);
+         artifact.getLibraries().addAll(extraLibraries);
+         return artifact;
+      }
+      
+      private Collection<ResourceDescriptor> asResourceDescriptors(Resource[] resources)
+      {
+         List<ResourceDescriptor> resourceDescriptors = new ArrayList<ResourceDescriptor>();
+         for (Resource resource : resources)
+         {
+            resourceDescriptors.add(new ResourceDescriptor(resource.destination(), asAbsolutePath(resource.source())));
+         }
+         return resourceDescriptors;
+      }
+      
+      private String asAbsolutePath(String path)
+      {
+         if (path.startsWith("/"))
+         {
+            return path.substring(1);
+         }
+         else
+         {
+            return declaringClass.getPackage().getName().replace(".", "/") + "/" + path;
+         }
+      }
+      
+      private static TCKArtifactDescriptor newArtifact(PackagingType packagingType, Class<?> declaringClass, String beansXml, boolean standalone, boolean ejbs, boolean addDeclaringPackage)
+      {
+         TCKArtifactDescriptor artifact;
+         if (packagingType.equals(WAR))
+         {
+               artifact = new WarArtifactDescriptor(declaringClass, beansXml);
+         } 
+         else if (packagingType.equals(EAR))
+         {
+            throw new UnsupportedOperationException();
+         }
+         else if (!standalone && ejbs)
+         {
+            throw new UnsupportedOperationException();
+         }
+         else if (!standalone)
+         {
+            artifact = new WarArtifactDescriptor(declaringClass, beansXml);
+         }
+         else
+         {
+            artifact = new TCKArtifactDescriptor(declaringClass, beansXml);
+         }
+         
+         if (addDeclaringPackage)
+         {
+            artifact.addPackage(declaringClass.getPackage());
+         }
+         return artifact;
+      }
+      
+      public boolean isUnit()
+      {
+         return unit;
+      };
+      
+   }
+   
    private static final Logger log = Logger.getLogger(ArtifactGenerator.class);
    
    private final Configuration configuration;
@@ -21,7 +224,7 @@
    {
       if (configuration == null)
       {
-         throw new IllegalArgumentException("packageNames must not be null");
+         throw new IllegalArgumentException("configuration must not be null");
       }
       this.configuration = configuration;
    }
@@ -41,11 +244,6 @@
       return artifacts;
    }
    
-   public ArtifactDescriptor createArtifact(Class<?> clazz)
-   {
-      return new DeclarativeArtifactProcessor(clazz, configuration.isStandalone(), configuration.getLibraryDirectory()).getArtifact();
-   }
-   
    public void dumpArtifacts() 
    {
       List<ArtifactDescriptor> artifacts = createArtifacts();
@@ -72,5 +270,17 @@
          }
       }
    }
+
+   public TCKArtifactDescriptor createArtifact(Class<?> declaringClass)
+   {
+      if (declaringClass.isAnnotationPresent(Artifact.class) || declaringClass.isAnnotationPresent(EjbArtifact.class))
+      {
+         return new ArtifactProcessor(declaringClass, configuration.isStandalone(), configuration.getLibraryDirectory()).createArtifact();
+      }
+      else
+      {
+         return null;
+      }
+   }
    
 }

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/DeclarativeArtifactProcessor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/DeclarativeArtifactProcessor.java	2009-02-11 19:13:27 UTC (rev 1488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/DeclarativeArtifactProcessor.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -1,175 +0,0 @@
-package org.jboss.jsr299.tck.impl.packaging;
-
-import static org.jboss.jsr299.tck.impl.packaging.PackagingType.EAR;
-import static org.jboss.jsr299.tck.impl.packaging.PackagingType.UNSPECIFIED;
-import static org.jboss.jsr299.tck.impl.packaging.PackagingType.WAR;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.log4j.Logger;
-import org.jboss.jsr299.tck.impl.packaging.jsr299.BeansXml;
-import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
-
-public class DeclarativeArtifactProcessor
-{
-   
-   private static final Logger log = Logger.getLogger(DeclarativeArtifactProcessor.class);
-   
-   private final boolean unit;
-   private final boolean ejbs;
-   private final boolean addDeclaringPackage;
-   private final String beansXml;
-   private final PackagingType packagingType;
-   private final Collection<ResourceDescriptor> resources;
-   private final Collection<Class<?>> classes;
-   private final Set<ResourceDescriptor> extraLibraries;
-   
-   private final Class<?> declaringClass;
-   private final boolean standalone;
-
-   public DeclarativeArtifactProcessor(Class<?> declaringClass, boolean standalone, String extraLibrariesDirectory)
-   {
-      this.standalone = standalone;
-      this.declaringClass = declaringClass;
-      
-      if (declaringClass.isAnnotationPresent(Artifact.class))
-      {
-         this.addDeclaringPackage = declaringClass.getAnnotation(Artifact.class).addCurrentPackage();
-         this.ejbs = false;
-      }
-      else if (declaringClass.isAnnotationPresent(EjbArtifact.class))
-      {
-         this.addDeclaringPackage = declaringClass.getAnnotation(EjbArtifact.class).addCurrentPackage();
-         this.ejbs = true;
-      }
-      else
-      {
-         throw new IllegalStateException("Unable to find @Artifact on " + declaringClass);
-      }
-      
-      if (declaringClass.isAnnotationPresent(BeansXml.class))
-      {
-         this.beansXml = asAbsolutePath(declaringClass.getAnnotation(BeansXml.class).value());
-      }
-      else
-      {
-         this.beansXml = null;
-      }
-      
-      if (declaringClass.isAnnotationPresent(Packaging.class))
-      {
-         this.packagingType = declaringClass.getAnnotation(Packaging.class).value();
-      }
-      else
-      {
-         this.packagingType = UNSPECIFIED;
-      }
-      
-      if (declaringClass.isAnnotationPresent(IntegrationTest.class))
-      {
-         this.unit = false;
-      }
-      else
-      {
-         this.unit = true;
-      }
-      
-      if (unit && (packagingType.equals(WAR) || packagingType.equals(EAR)))
-      {
-         throw new IllegalArgumentException("Cannot specify @Packaging(WAR) or @Packaging(EAR) if @Integration test is not present");
-      }
-      
-      if (declaringClass.isAnnotationPresent(Resources.class))
-      {
-         this.resources = asResourceDescriptors(declaringClass.getAnnotation(Resources.class).value());
-      }
-      else
-      {
-         this.resources = Collections.emptyList();
-      }
-      
-      if (declaringClass.isAnnotationPresent(Classes.class))
-      {
-         this.classes = Arrays.asList(declaringClass.getAnnotation(Classes.class).value());
-      }
-      else
-      {
-         this.classes = Collections.emptyList();
-      }
-      if (extraLibrariesDirectory != null)
-      {
-         File directory = new File(extraLibrariesDirectory);
-         this.extraLibraries = new HashSet<ResourceDescriptor>();
-         if (directory.isDirectory())
-         {
-            for (File file : directory.listFiles(new FilenameFilter()
-               {
-                  
-                  public boolean accept(File dir, String name)
-                  {
-                     return name.endsWith(".jar");
-                  }
-                  
-               }))
-            {
-               try
-               {
-                  this.extraLibraries.add(new ResourceDescriptor(file.getName(), new FileInputStream(file)));
-               }
-               catch (FileNotFoundException e)
-               {
-                  log.warn("Unable to load extra library", e);
-               }
-            }
-         }
-      }
-      else
-      {
-         this.extraLibraries = Collections.emptySet();
-      }
-   }
-   
-   public TCKArtifactDescriptor getArtifact()
-   {
-      final TCKArtifactDescriptor artifact = ArtifactFactory.newArtifact(packagingType, declaringClass, beansXml, standalone, ejbs, addDeclaringPackage);
-      artifact.setEjbs(ejbs);
-      artifact.setUnit(unit);
-      artifact.getClasses().addAll(classes);
-      artifact.getResources().addAll(resources);
-      artifact.getLibraries().addAll(extraLibraries);
-      return artifact;
-   }
-   
-   private Collection<ResourceDescriptor> asResourceDescriptors(Resource[] resources)
-   {
-      List<ResourceDescriptor> resourceDescriptors = new ArrayList<ResourceDescriptor>();
-      for (Resource resource : resources)
-      {
-         resourceDescriptors.add(new ResourceDescriptor(resource.destination(), asAbsolutePath(resource.source())));
-      }
-      return resourceDescriptors;
-   }
-   
-   private String asAbsolutePath(String path)
-   {
-      if (path.startsWith("/"))
-      {
-         return path.substring(1);
-      }
-      else
-      {
-         return declaringClass.getPackage().getName().replace(".", "/") + "/" + path;
-      }
-   }
-   
-}

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/ForwardingITestNGMethod.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/ForwardingITestNGMethod.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/ForwardingITestNGMethod.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -0,0 +1,277 @@
+package org.jboss.jsr299.tck.impl.testng;
+
+import java.lang.reflect.Method;
+
+import org.testng.IClass;
+import org.testng.IRetryAnalyzer;
+import org.testng.ITestClass;
+import org.testng.ITestNGMethod;
+
+public abstract class ForwardingITestNGMethod implements ITestNGMethod
+{
+   
+   private static final long serialVersionUID = 2534386487509877598L;
+
+   protected abstract ITestNGMethod delegate();
+   
+   @Override
+   public ITestNGMethod clone()
+   {
+      return delegate().clone();
+   }
+
+   public void addMethodDependedUpon(String methodName)
+   {
+      delegate().addMethodDependedUpon(methodName);
+   }
+
+   public boolean canRunFromClass(IClass testClass)
+   {
+      return delegate().canRunFromClass(testClass);
+   }
+
+   public String[] getAfterGroups()
+   {
+      return delegate().getAfterGroups();
+   }
+
+   public String[] getBeforeGroups()
+   {
+      return delegate().getBeforeGroups();
+   }
+
+   public int getCurrentInvocationCount()
+   {
+      return delegate().getCurrentInvocationCount();
+   }
+
+   public long getDate()
+   {
+      return delegate().getDate();
+   }
+
+   public String getDescription()
+   {
+      return delegate().getDescription();
+   }
+
+   public String[] getGroups()
+   {
+      return delegate().getGroups();
+   }
+
+   public String[] getGroupsDependedUpon()
+   {
+      return delegate().getGroupsDependedUpon();
+   }
+
+   public String getId()
+   {
+      return delegate().getId();
+   }
+
+   public long[] getInstanceHashCodes()
+   {
+      return delegate().getInstanceHashCodes();
+   }
+
+   public Object[] getInstances()
+   {
+      return delegate().getInstances();
+   }
+
+   public int getInvocationCount()
+   {
+      return delegate().getInvocationCount();
+   }
+
+   public Method getMethod()
+   {
+      return delegate().getMethod();
+   }
+
+   public String getMethodName()
+   {
+      return delegate().getMethodName();
+   }
+
+   public String[] getMethodsDependedUpon()
+   {
+      return delegate().getMethodsDependedUpon();
+   }
+
+   public String getMissingGroup()
+   {
+      return delegate().getMissingGroup();
+   }
+
+   public int getParameterInvocationCount()
+   {
+      return delegate().getParameterInvocationCount();
+   }
+
+   @SuppressWarnings("unchecked")
+   public Class getRealClass()
+   {
+      return delegate().getRealClass();
+   }
+
+   public IRetryAnalyzer getRetryAnalyzer()
+   {
+      return delegate().getRetryAnalyzer();
+   }
+
+   public int getSuccessPercentage()
+   {
+      return delegate().getSuccessPercentage();
+   }
+
+   public ITestClass getTestClass()
+   {
+      return delegate().getTestClass();
+   }
+
+   public int getThreadPoolSize()
+   {
+      return delegate().getThreadPoolSize();
+   }
+
+   public long getTimeOut()
+   {
+      return delegate().getTimeOut();
+   }
+
+   public void incrementCurrentInvocationCount()
+   {
+      delegate().incrementCurrentInvocationCount();
+   }
+
+   public boolean isAfterClassConfiguration()
+   {
+      return delegate().isAfterClassConfiguration();
+   }
+
+   public boolean isAfterGroupsConfiguration()
+   {
+      return delegate().isAfterGroupsConfiguration();
+   }
+
+   public boolean isAfterMethodConfiguration()
+   {
+      return delegate().isAfterMethodConfiguration();
+   }
+
+   public boolean isAfterSuiteConfiguration()
+   {
+      return delegate().isAfterSuiteConfiguration();
+   }
+
+   public boolean isAfterTestConfiguration()
+   {
+      return delegate().isAfterTestConfiguration();
+   }
+
+   public boolean isAlwaysRun()
+   {
+      return delegate().isAlwaysRun();
+   }
+
+   public boolean isBeforeClassConfiguration()
+   {
+      return delegate().isBeforeClassConfiguration();
+   }
+
+   public boolean isBeforeGroupsConfiguration()
+   {
+      return delegate().isBeforeGroupsConfiguration();
+   }
+
+   public boolean isBeforeMethodConfiguration()
+   {
+      return delegate().isBeforeMethodConfiguration();
+   }
+
+   public boolean isBeforeSuiteConfiguration()
+   {
+      return delegate().isBeforeSuiteConfiguration();
+   }
+
+   public boolean isBeforeTestConfiguration()
+   {
+      return delegate().isBeforeTestConfiguration();
+   }
+
+   public boolean isTest()
+   {
+      return delegate().isTest();
+   }
+
+   public void setDate(long date)
+   {
+      delegate().setDate(date);
+   }
+
+   public void setId(String id)
+   {
+      delegate().setId(id);
+   }
+
+   public void setInvocationCount(int count)
+   {
+      delegate().setInvocationCount(count);
+   }
+
+   public void setMissingGroup(String group)
+   {
+       delegate().setMissingGroup(group);
+   }
+
+   public void setParameterInvocationCount(int n)
+   {
+      delegate().setParameterInvocationCount(n);
+   }
+
+   public void setRetryAnalyzer(IRetryAnalyzer retryAnalyzer)
+   {
+      delegate().setRetryAnalyzer(retryAnalyzer);
+   }
+
+   public void setSkipFailedInvocations(boolean skip)
+   {
+      delegate().setSkipFailedInvocations(skip);
+   }
+
+   public void setTestClass(ITestClass cls)
+   {
+      delegate().setTestClass(cls);
+   }
+
+   public void setThreadPoolSize(int threadPoolSize)
+   {
+      delegate().setThreadPoolSize(threadPoolSize);
+   }
+
+   public boolean skipFailedInvocations()
+   {
+      return delegate().skipFailedInvocations();
+   }
+
+   @SuppressWarnings("unchecked")
+   public int compareTo(Object arg0)
+   {
+      return delegate().compareTo(arg0);
+   }
+   
+   @Override
+   public boolean equals(Object obj)
+   {
+      return delegate().equals(obj);
+   }
+   
+   @Override
+   public int hashCode()
+   {
+      return delegate().hashCode();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/ForwardingITestNGMethod.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/ForwardingITestResult.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/ForwardingITestResult.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/ForwardingITestResult.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -0,0 +1,82 @@
+package org.jboss.jsr299.tck.impl.testng;
+
+import org.testng.IClass;
+import org.testng.ITestNGMethod;
+import org.testng.ITestResult;
+
+public abstract class ForwardingITestResult implements ITestResult
+{
+   
+   protected abstract ITestResult delegate();
+   
+   public long getEndMillis()
+   {
+      return delegate().getEndMillis();
+   }
+   
+   public String getHost()
+   {
+      return delegate().getHost();
+   }
+   
+   public ITestNGMethod getMethod()
+   {
+      return new SaneITestNGMethod(delegate().getMethod());
+   }
+   
+   public String getName()
+   {
+      return delegate().getName();
+   }
+   
+   public Object[] getParameters()
+   {
+      return delegate().getParameters();
+   }
+   
+   public long getStartMillis()
+   {
+      return delegate().getStartMillis();
+   }
+   
+   public int getStatus()
+   {
+      return delegate().getStatus();
+   }
+   
+   public IClass getTestClass()
+   {
+      return delegate().getTestClass();
+   }
+   
+   public Throwable getThrowable()
+   {
+      return delegate().getThrowable();
+   }
+   
+   public boolean isSuccess()
+   {
+      return delegate().isSuccess();
+   }
+   
+   public void setEndMillis(long millis)
+   {
+      delegate().setEndMillis(millis);
+   }
+   
+   public void setParameters(Object[] parameters)
+   {
+      delegate().setParameters(parameters);
+   }
+   
+   public void setStatus(int status)
+   {
+      delegate().setStatus(status);
+   }
+   
+   public void setThrowable(Throwable throwable)
+   {
+      delegate().setThrowable(throwable);      
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/ForwardingITestResult.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/SaneITestNGMethod.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/SaneITestNGMethod.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/SaneITestNGMethod.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -0,0 +1,49 @@
+/**
+ * 
+ */
+package org.jboss.jsr299.tck.impl.testng;
+
+import org.testng.ITestNGMethod;
+
+public class SaneITestNGMethod extends ForwardingITestNGMethod
+{
+   private final ITestNGMethod method;
+   
+   public SaneITestNGMethod(ITestNGMethod method)
+   {
+      this.method = method;
+   }
+   
+   @Override
+   protected ITestNGMethod delegate()
+   {
+      return method;
+   }
+   
+   @Override
+   public boolean equals(Object obj)
+   {
+      if (obj instanceof ITestNGMethod && method != null)
+      {
+         ITestNGMethod other = (ITestNGMethod) method;
+         return method.getMethodName().equals(other.getMethodName()) && method.getTestClass().equals(other.getTestClass());
+      }
+      else
+      {
+         return false;
+      }
+   }
+   
+   @Override
+   public int hashCode()
+   {
+      if (method != null && method.getMethodName() != null)
+      {
+         return method.getMethodName().hashCode();
+      }
+      else
+      {
+         return 0;
+      }
+   }
+}
\ No newline at end of file


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/testng/SaneITestNGMethod.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/BindingDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/BindingDefinitionTest.java	2009-02-11 19:13:27 UTC (rev 1488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/BindingDefinitionTest.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -4,6 +4,7 @@
 import java.util.List;
 import java.util.Set;
 
+import javax.inject.AnnotationLiteral;
 import javax.inject.Current;
 import javax.inject.Production;
 import javax.inject.manager.Bean;
@@ -174,9 +175,20 @@
    @Test(groups = { "injection", "producerMethod" })
    public void testMethodWithBindingAnnotationsOnParametersAreInjected() throws Exception
    {
-      Spider spider = manager.resolveByType(Spider.class).iterator().next().create(new MockCreationalContext<Spider>());
-      assert spider != null;
-      assert spider instanceof DefangedTarantula;
+      new RunInDependentContext()
+      {
+         
+         @Override
+         protected void execute() throws Exception
+         {
+            Spider spider = manager.getInstanceByType(Spider.class, new AnnotationLiteral<Produced>() {});
+            assert spider != null;
+            assert spider instanceof DefangedTarantula;
+         }
+         
+      }.run();
+         
+         
    }
 
    @Test(groups = { "stub", "injection", "webbeansxml" })

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/Produced.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/Produced.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/Produced.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.definition.binding;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Produced
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/Produced.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/SpiderProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/SpiderProducer.java	2009-02-11 19:13:27 UTC (rev 1488)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/SpiderProducer.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -10,7 +10,7 @@
       return new DefangedTarantula();
    }
    
-   @Produces public Spider produceSpiderFromInjection(@Tame Tarantula tarantula) 
+   @Produces @Produced public Spider produceSpiderFromInjection(@Tame Tarantula tarantula) 
    {
       return tarantula;
    }

Modified: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/standalone/DeclarativeStandaloneTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/standalone/DeclarativeStandaloneTest.java	2009-02-11 19:13:27 UTC (rev 1488)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/standalone/DeclarativeStandaloneTest.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -3,19 +3,30 @@
 import java.io.File;
 import java.io.FilenameFilter;
 
-import org.jboss.jsr299.tck.impl.packaging.DeclarativeArtifactProcessor;
+import org.jboss.jsr299.tck.api.Configuration;
+import org.jboss.jsr299.tck.impl.packaging.ArtifactGenerator;
 import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
+import org.jboss.jsr299.tck.test.impl.mock.MockConfiguration;
 import org.jboss.jsr299.tck.test.impl.packaging.AbstractArtifactTest;
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 public class DeclarativeStandaloneTest extends AbstractArtifactTest
 {
    
+   private Configuration configuration;
+   
+   @BeforeClass
+   public void beforeClass()
+   {
+      configuration = new MockConfiguration();
+      configuration.setStandalone(true);
+   }
+   
    @Test
    public void testDefaultDeclartiveArtifact() throws Exception
    {
-      DeclarativeArtifactProcessor declarativeArtifactProcessor = new DeclarativeArtifactProcessor(DummyTest.class, true, null);
-      TCKArtifactDescriptor artifact =  declarativeArtifactProcessor.getArtifact();
+      TCKArtifactDescriptor artifact = new ArtifactGenerator(configuration).createArtifact(DummyTest.class);
       assert !artifact.isEjbs();
       assert artifact.isUnit();
       File root = artifact.getExplodedJar();
@@ -66,8 +77,7 @@
    @Test
    public void testClassesSpecifiedArtifact() throws Exception
    {
-      DeclarativeArtifactProcessor declarativeArtifactProcessor = new DeclarativeArtifactProcessor(DummyClassesSpecifiedTest.class, true, null);
-      TCKArtifactDescriptor artifact =  declarativeArtifactProcessor.getArtifact();
+      TCKArtifactDescriptor artifact = new ArtifactGenerator(configuration).createArtifact(DummyClassesSpecifiedTest.class);
       File root = artifact.getExplodedJar();
       File currentPackage = getCurrentPackageAsFile(root);
       assert currentPackage.listFiles().length == 1;
@@ -89,12 +99,10 @@
    @Test
    public void testResourcesSpecifiedArtifact() throws Exception
    {
-      DeclarativeArtifactProcessor declarativeArtifactProcessor = new DeclarativeArtifactProcessor(DummyResourcesSpecifiedTest.class, false, null);
-      TCKArtifactDescriptor artifact =  declarativeArtifactProcessor.getArtifact();
+      TCKArtifactDescriptor artifact = new ArtifactGenerator(configuration).createArtifact(DummyResourcesSpecifiedTest.class);
       File root = artifact.getExplodedJar();
       assert root.listFiles(META_INF_FILTER).length == 1;
       File metaInf = root.listFiles(META_INF_FILTER)[0];
-      assert metaInf.listFiles().length == 1;
       assert metaInf.listFiles(new FilenameFilter()
       {
          
@@ -109,34 +117,33 @@
    @Test
    public void testIntegrationTestDeclartiveArtifact() throws Exception
    {
-      DeclarativeArtifactProcessor declarativeArtifactProcessor = new DeclarativeArtifactProcessor(DummyIntegrationTest.class, false, null);
-      assert !declarativeArtifactProcessor.getArtifact().isUnit();
+      TCKArtifactDescriptor artifact = new ArtifactGenerator(configuration).createArtifact(DummyIntegrationTest.class);
+      assert !artifact.isUnit();
    }
    
    @Test
    public void testCustomBeansXml() throws Exception
    {
-      DeclarativeArtifactProcessor declarativeArtifactProcessor = new DeclarativeArtifactProcessor(DummyCustomBeansXmlTest.class, false, null);
-      TCKArtifactDescriptor artifact =  declarativeArtifactProcessor.getArtifact();
+      TCKArtifactDescriptor artifact = new ArtifactGenerator(configuration).createArtifact(DummyCustomBeansXmlTest.class);
       File root = artifact.getExplodedJar();
-      File webInf = root.listFiles(WEB_INF_FILTER)[0];
-      assert webInf.listFiles(BEANS_XML_FILTER).length == 1;
-      assert webInf.listFiles(BEANS_XML_FILTER)[0].length() != 0;
-      String beans = readFile(webInf.listFiles(BEANS_XML_FILTER)[0]);
+      File metaInf = root.listFiles(META_INF_FILTER)[0];
+      assert metaInf.listFiles(BEANS_XML_FILTER).length == 1;
+      assert metaInf.listFiles(BEANS_XML_FILTER)[0].length() != 0;
+      String beans = readFile(metaInf.listFiles(BEANS_XML_FILTER)[0]);
       assert beans.startsWith("<my></my>");
    }
    
    //@Test
    public void testEjbTestDeclartiveArtifact() throws Exception
    {
-      DeclarativeArtifactProcessor declarativeArtifactProcessor = new DeclarativeArtifactProcessor(DummyEjbTest.class, false, null);
-      assert declarativeArtifactProcessor.getArtifact().isEjbs();
+      TCKArtifactDescriptor artifact = new ArtifactGenerator(configuration).createArtifact(DummyEjbTest.class);
+      assert artifact.isEjbs();
    }
    
    @Test(expectedExceptions=IllegalArgumentException.class)
    public void testWrongPackaging()
    {
-      DeclarativeArtifactProcessor declarativeArtifactProcessor = new DeclarativeArtifactProcessor(DummyWarUnitTest_Broken.class, false, null);
+      TCKArtifactDescriptor artifact = new ArtifactGenerator(configuration).createArtifact(DummyWarUnitTest_Broken.class);
    }
    
 }

Modified: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/war/DeclarativeWarTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/war/DeclarativeWarTest.java	2009-02-11 19:13:27 UTC (rev 1488)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/war/DeclarativeWarTest.java	2009-02-11 20:44:55 UTC (rev 1489)
@@ -2,19 +2,30 @@
 
 import java.io.File;
 
-import org.jboss.jsr299.tck.impl.packaging.DeclarativeArtifactProcessor;
+import org.jboss.jsr299.tck.api.Configuration;
+import org.jboss.jsr299.tck.impl.packaging.ArtifactGenerator;
 import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
+import org.jboss.jsr299.tck.test.impl.mock.MockConfiguration;
 import org.jboss.jsr299.tck.test.impl.packaging.AbstractArtifactTest;
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 public class DeclarativeWarTest extends AbstractArtifactTest
 {
    
+   private Configuration configuration;
+   
+   @BeforeClass
+   public void beforeClass()
+   {
+      configuration = new MockConfiguration();
+      configuration.setStandalone(true);
+   }
+   
    @Test
    public void testDefaultWebXml() throws Exception
    {
-      DeclarativeArtifactProcessor declarativeArtifactProcessor = new DeclarativeArtifactProcessor(DummyTest.class, false, null);
-      TCKArtifactDescriptor artifact =  declarativeArtifactProcessor.getArtifact();
+      TCKArtifactDescriptor artifact = new ArtifactGenerator(configuration).createArtifact(DummyTest.class);
       File root = artifact.getExplodedJar();
       assert root.listFiles(WEB_INF_FILTER).length == 1;
       File webInf = root.listFiles(WEB_INF_FILTER)[0];




More information about the weld-commits mailing list