[webbeans-commits] Webbeans SVN: r1417 - ri/trunk/webbeans-ri-spi/src/main/java/org/jboss/webbeans/resources/spi and 18 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Wed Feb 4 20:27:09 EST 2009


Author: pete.muir at jboss.org
Date: 2009-02-04 20:27:09 -0500 (Wed, 04 Feb 2009)
New Revision: 1417

Added:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/ArtifactScanner.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/util/Files.java
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/InContainerTestRunnerTest.java
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/ArtifactScannerTest.java
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/DummyArtifact.java
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/AnotherDummyArtifact.java
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/NotAnArtifact.java
Removed:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/IntegratedContainers.java
Modified:
   ri/trunk/webbeans-ri-spi/src/main/java/org/jboss/webbeans/resources/spi/ResourceLoadingException.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java
   tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/TestSuite.java
   tck/trunk/api/src/main/java/org/jboss/webbeans/tck/spi/Containers.java
   tck/trunk/api/src/main/java/org/jboss/webbeans/tck/spi/helpers/ForwardingContainers.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/AbstractTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/InContainerTestRunner.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/ArtifactDescriptor.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/DeclarativeArtifactProcessor.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/jsr299/JSR299ArtifactDescriptor.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/war/WarArtifactDescriptor.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/bean/BeanDefinitionTest.java
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/ArtifactTest.java
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/ArtifactTest.java
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/declarativeArtifact/unspecified/ArtifactTest.java
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/ArtifactTest.java
   tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/war/ArtifactTest.java
Log:
Start work on test runner

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -1,5 +1,6 @@
 package org.jboss.webbeans.test.tck;
 
+import java.io.InputStream;
 import java.lang.annotation.Annotation;
 import java.util.List;
 import java.util.jar.JarInputStream;
@@ -34,7 +35,7 @@
       return deploy(null, classes);
    }
    
-   public Manager deploy(JarInputStream archive)
+   public Manager deploy(InputStream archive)
    {
       throw new UnsupportedOperationException();
    }

Modified: ri/trunk/webbeans-ri-spi/src/main/java/org/jboss/webbeans/resources/spi/ResourceLoadingException.java
===================================================================
--- ri/trunk/webbeans-ri-spi/src/main/java/org/jboss/webbeans/resources/spi/ResourceLoadingException.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ ri/trunk/webbeans-ri-spi/src/main/java/org/jboss/webbeans/resources/spi/ResourceLoadingException.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -5,6 +5,7 @@
 
 import javax.inject.ExecutionException;
 
+
 /**
  * Exception thrown when errors occur while loading resource
  * 

Modified: tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/TestSuite.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/TestSuite.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/TestSuite.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -7,7 +7,11 @@
    
    private String outputDirectory;
    private boolean standalone;
+   private int deploymentDelay = 5000;
+   private boolean writeDeployedArchivesToDisk;
    
+   private String debugOutputDirectory = System.getProperty("java.io.tmpdir") + "/jsr-299-tck/";
+   
    public TestSuite(String outputDirectory)
    {
       super();
@@ -28,5 +32,35 @@
    {
       this.standalone = standalone;
    }
+
+   public long getDeploymentDelay()
+   {
+      return deploymentDelay;
+   }
    
+   public void setDeploymentDelay(int deploymentDelay)
+   {
+      this.deploymentDelay = deploymentDelay;
+   }
+   
+   public String getDebugOutputDirectory()
+   {
+      return debugOutputDirectory;
+   }
+   
+   public void setDebugOutputDirectory(String debugOutputDirectory)
+   {
+      this.debugOutputDirectory = debugOutputDirectory;
+   }
+   
+   public boolean isWriteDeployedArchivesToDisk()
+   {
+      return writeDeployedArchivesToDisk;
+   }
+   
+   public void setWriteDeployedArchivesToDisk(boolean writeDeployedArchivesToDisk)
+   {
+      this.writeDeployedArchivesToDisk = writeDeployedArchivesToDisk;
+   }
+   
 }

Modified: tck/trunk/api/src/main/java/org/jboss/webbeans/tck/spi/Containers.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/webbeans/tck/spi/Containers.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/api/src/main/java/org/jboss/webbeans/tck/spi/Containers.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -1,5 +1,6 @@
 package org.jboss.webbeans.tck.spi;
 
+import java.io.InputStream;
 import java.lang.annotation.Annotation;
 import java.util.List;
 import java.util.jar.JarInputStream;
@@ -32,6 +33,14 @@
    
    public Manager deploy(List<Class<? extends Annotation>> enabledDeploymentTypes, JarInputStream archive);
    
-   public Manager deploy(JarInputStream archive);
+   /**
+    * The compressed archive, represented as an stream of bytes
+    * 
+    * The stream should be uncompressed using a JarInputStream
+    *
+    * @param archive
+    * @return
+    */
+   public Manager deploy(InputStream archive);
       
 }
\ No newline at end of file

Modified: tck/trunk/api/src/main/java/org/jboss/webbeans/tck/spi/helpers/ForwardingContainers.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/webbeans/tck/spi/helpers/ForwardingContainers.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/api/src/main/java/org/jboss/webbeans/tck/spi/helpers/ForwardingContainers.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -1,5 +1,6 @@
 package org.jboss.webbeans.tck.spi.helpers;
 
+import java.io.InputStream;
 import java.lang.annotation.Annotation;
 import java.util.List;
 import java.util.jar.JarInputStream;
@@ -28,7 +29,7 @@
       return delegate().evaluateValueExpression(expression, expectedType);
    }
    
-   public Manager deploy(JarInputStream archive)
+   public Manager deploy(InputStream archive)
    {
       return delegate().deploy(archive);
    }

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/AbstractTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/AbstractTest.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/AbstractTest.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -22,7 +22,6 @@
 import javax.inject.manager.Bean;
 import javax.inject.manager.Manager;
 
-import org.jboss.webbeans.tck.impl.IntegratedContainers;
 import org.jboss.webbeans.tck.impl.util.MockCreationalContext;
 import org.jboss.webbeans.tck.spi.StandaloneContainers;
 import org.testng.annotations.AfterMethod;
@@ -82,7 +81,7 @@
       {
          manager = configuration().getManagers().createManager();
       }
-      containers = IntegratedContainers.of(configuration().getContainers());
+      containers = (StandaloneContainers) configuration().getContainers();
    }
 
    @AfterMethod

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/InContainerTestRunner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/InContainerTestRunner.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/InContainerTestRunner.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -1,100 +1,105 @@
 package org.jboss.webbeans.tck.impl;
 
 import static org.jboss.webbeans.tck.impl.WebBeansTCKImpl.configuration;
-import static org.jboss.webbeans.tck.impl.util.Reflections.loadResources;
 
+import java.io.BufferedOutputStream;
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
-import java.net.URL;
-import java.net.URLDecoder;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.ArrayList;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 import org.apache.log4j.Logger;
+import org.jboss.webbeans.tck.api.TestSuite;
+import org.jboss.webbeans.tck.impl.packaging.ArtifactDescriptor;
+import org.jboss.webbeans.tck.impl.packaging.ArtifactScanner;
+import org.jboss.webbeans.tck.impl.packaging.DeclarativeArtifactProcessor;
+import org.jboss.webbeans.tck.impl.util.Files;
+import org.jboss.webbeans.tck.spi.Containers;
 
+
 public class InContainerTestRunner
 {
    
-   private static class URLScanner
+   private static final Logger log = Logger.getLogger(ArtifactScanner.class);
+   
+   public InContainerTestRunner()
    {
-      private static final Logger log = Logger.getLogger(URLScanner.class);
-    
-      private final Package pkg;
-      
-      private final Set<String> classes = new HashSet<String>();
-      
-      public URLScanner(Package pkg)
+
+   }
+   
+   public void run()
+   {
+      run(configuration().getTestSuite(), configuration().getContainers());
+   }
+   
+   protected void run(TestSuite testSuite, Containers containers)
+   {
+      Set<Class<?>> classes = new HashSet<Class<?>>();
+      classes.addAll(new ArtifactScanner("org.jboss.webbeans.tck.integration").getClasses());
+      if (!testSuite.isStandalone())
       {
-         this.pkg = pkg;
+         classes.addAll(new ArtifactScanner("org.jboss.webbeans.tck.unit").getClasses());
       }
-      
-      private void scanPackage()
+      List<ArtifactDescriptor> artifacts = new ArrayList<ArtifactDescriptor>();
+      for (Class<?> clazz : classes)
       {
-         try
+         artifacts.add(new DeclarativeArtifactProcessor(clazz).getArtifact());
+      }
+      // We've now collected all the artifacts, so we can file them at the 
+      // container
+      if (testSuite.isWriteDeployedArchivesToDisk())
+      {
+         File file = new File(testSuite.getDebugOutputDirectory());
+         if (!file.exists())
          {
-            Set<String> paths = new HashSet<String>();
-            String packageName = pkg.getName().replace(".", "/");
-            for (URL url : loadResources(packageName))
-            {
-               String urlPath = url.getFile();
-               urlPath = URLDecoder.decode(urlPath, "UTF-8");
-               if ( urlPath.startsWith("file:") )
-               {
-                     urlPath = urlPath.substring(5);
-               }
-               if ( urlPath.indexOf('!')>0 )
-               {
-                  urlPath = urlPath.substring(0, urlPath.indexOf('!'));
-               }
-               paths.add(urlPath);
-            }
-            handle(paths);
+            file.mkdirs();
          }
-         catch (IOException ioe) 
+         else if (file.isFile())
          {
-            log.warn("could not read: " + pkg.getName(), ioe);
+            throw new IllegalStateException("Cannot use debug directory " + testSuite.getDebugOutputDirectory() + ", it already exists");
          }
       }
-      
-      private void handle(Set<String> paths)
+      for (ArtifactDescriptor artifact : artifacts)
       {
-         for ( String urlPath: paths )
+         try
          {
-            log.trace("scanning: " + urlPath);
-            File file = new File(urlPath);
-            if ( file.isDirectory() )
+            InputStream jar = artifact.asJar();
+            if (testSuite.isWriteDeployedArchivesToDisk())
             {
-               for ( File child: file.listFiles() )
+               try
                {
-                  if ( !child.isDirectory() && child.getName().endsWith(".class"))
-                  {
-                     classes.add(pkg.getName() + "." + child.getName().substring(0, child.getName().lastIndexOf(".class")));
-                  }
+                  File file = new File(testSuite.getDebugOutputDirectory(), artifact.getDeclaringClass().getName() + artifact.getExtension());
+                  file.createNewFile();
+                  OutputStream os = new BufferedOutputStream(new FileOutputStream(file));
+                  Files.copy(jar, os);
+                  os.close();
                }
+               catch (IOException e)
+               {
+                  log.error("Error writing artifact to disk " + artifact, e);
+               }
             }
+            containers.deploy(jar);
+            jar.close();
+            try
+            {
+               Thread.sleep(testSuite.getDeploymentDelay());
+            }
+            catch (InterruptedException e)
+            {
+               Thread.interrupted();
+            }
          }
+         catch (IOException e) 
+         {
+            log.error("Error deploying artifact " + artifact, e);
+         }
       }
-      
-      public Set<String> getClassNames()
-      {
-         scanPackage();
-         return classes;
-      }
-      
    }
    
-   public InContainerTestRunner()
-   {
-      // TODO Auto-generated constructor stub
-   }
-   
-   public void run()
-   {
-      
-      if (configuration().getTestSuite().isStandalone())
-      {
-         
-      }
-   }
-   
 }

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/IntegratedContainers.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/IntegratedContainers.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/IntegratedContainers.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -1,63 +0,0 @@
-package org.jboss.webbeans.tck.impl;
-
-import java.io.IOException;
-import java.lang.annotation.Annotation;
-import java.util.List;
-import java.util.jar.JarInputStream;
-
-import javax.inject.manager.Manager;
-
-import org.jboss.webbeans.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
-import org.jboss.webbeans.tck.spi.Containers;
-import org.jboss.webbeans.tck.spi.StandaloneContainers;
-import org.jboss.webbeans.tck.spi.helpers.ForwardingContainers;
-
-public abstract class IntegratedContainers extends ForwardingContainers implements StandaloneContainers
-{
-   
-   public static StandaloneContainers of(final Containers containers)
-   {
-      if (containers instanceof StandaloneContainers)
-      {
-         return (StandaloneContainers) containers;
-      }
-      else
-      {
-         return new IntegratedContainers()
-         {
-
-            @Override
-            protected Containers delegate()
-            {
-               return containers;
-            }
-            
-         };
-      }
-   }
-   
-   public Manager deploy(java.lang.Class<?>... classes) 
-   {
-      try
-      {
-         return deploy(new JarInputStream(new TCKArtifactDescriptor(null).asJar()));
-      }
-      catch (IOException e)
-      {
-         throw new IllegalStateException("Error building war from " + classes, e);
-      }
-   }
-   
-   public Manager deploy(List<Class<? extends Annotation>> enabledDeploymentTypes, Class<?>... classes) 
-   {
-      try
-      {
-         return deploy(enabledDeploymentTypes, new JarInputStream(new TCKArtifactDescriptor(null).asJar()));
-      }
-      catch (IOException e)
-      {
-         throw new IllegalStateException("Error building war from " + classes, e);
-      }
-   }
-   
-}

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/ArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/ArtifactDescriptor.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/ArtifactDescriptor.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -17,11 +17,11 @@
 import java.util.HashSet;
 import java.util.Random;
 import java.util.Set;
-import java.util.jar.JarInputStream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
 import org.apache.log4j.Logger;
+import org.jboss.webbeans.tck.impl.util.Files;
 
 public class ArtifactDescriptor
 {
@@ -125,8 +125,6 @@
       private void zip(File directory, ZipOutputStream zipOutputStream) throws IOException
       {
          File[] children = directory.listFiles(); 
-         byte[] readBuffer = new byte[2156]; 
-         int bytesIn = 0; 
          //loop through dirList, and zip the files 
          for (File child : children) 
          {  
@@ -139,10 +137,7 @@
                FileInputStream fis = new FileInputStream(child); 
                ZipEntry zipEntry = new ZipEntry(child.getPath().substring(root.getPath().length() + 1));  
                zipOutputStream.putNextEntry(zipEntry);  
-               while((bytesIn = fis.read(readBuffer)) != -1) 
-               { 
-                  zipOutputStream.write(readBuffer, 0, bytesIn); 
-               }  
+               Files.copy(fis, zipOutputStream);
                fis.close();
             }
          }
@@ -156,17 +151,19 @@
    private final Set<Class<?>> classes;
    private final Set<Package> packages;
    private final Set<ResourceDescriptor> resources;
+   private final Class<?> declaringClass;
    
-   public ArtifactDescriptor()
+   public ArtifactDescriptor(Class<?> declaringClass)
    {
       classes = new HashSet<Class<?>>();
       resources = new HashSet<ResourceDescriptor>();
       packages = new HashSet<Package>();
+      this.declaringClass = declaringClass;
    }
    
-   public JarInputStream asJar() throws IOException
+   public InputStream asJar() throws IOException
    { 
-      return new JarInputStream(new Zipper(create()).zip());
+      return new Zipper(create()).zip();
    }
    
    public File create() throws IOException
@@ -271,4 +268,20 @@
       return archiveRoot;
    }
    
+   @Override
+   public String toString()
+   {
+      return "Declared by: " + declaringClass.getName() + " Classes: " + getClasses() + " Resources: " + getResources();
+   }
+   
+   public Class<?> getDeclaringClass()
+   {
+      return declaringClass;
+   }
+   
+   public String getExtension()
+   {
+      return ".jar";
+   }
+   
 }

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/ArtifactScanner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/ArtifactScanner.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/ArtifactScanner.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -0,0 +1,102 @@
+/**
+ * 
+ */
+package org.jboss.webbeans.tck.impl.packaging;
+
+import static org.jboss.webbeans.tck.impl.util.Reflections.loadResources;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+
+public class ArtifactScanner
+{
+   private static final Logger log = Logger.getLogger(ArtifactScanner.class);
+
+   private final String packageName;
+   
+   private final Set<Class<?>> classes = new HashSet<Class<?>>();
+   
+   public ArtifactScanner(String packageName)
+   {
+      this.packageName = packageName;
+   }
+   
+   private void scan()
+   {
+      try
+      {
+         Set<String> paths = new HashSet<String>();
+         String packageName = this.packageName.replace(".", "/");
+         for (URL url : loadResources(packageName))
+         {
+            String urlPath = url.getFile();
+            urlPath = URLDecoder.decode(urlPath, "UTF-8");
+            if ( urlPath.startsWith("file:") )
+            {
+                  urlPath = urlPath.substring(5);
+            }
+            if ( urlPath.indexOf('!')>0 )
+            {
+               urlPath = urlPath.substring(0, urlPath.indexOf('!'));
+            }
+            paths.add(urlPath);
+         }
+         handle(paths);
+      }
+      catch (IOException ioe) 
+      {
+         log.warn("could not read: " + this.packageName, ioe);
+      }
+   }
+   
+   private void handle(Set<String> paths)
+   {
+      for ( String urlPath: paths )
+      {
+         log.trace("scanning: " + urlPath);
+         handle(new File(urlPath), packageName.substring(0, packageName.lastIndexOf(".")));
+         
+      }
+   }
+   
+   private void handle(File file, String packageName)
+   {
+      if ( file.isDirectory() )
+      {
+         packageName = packageName + "." + file.getName();
+         for ( File child: file.listFiles() )
+         {
+            handle(child, packageName);
+         }
+      }
+      else if (file.getName().endsWith(".class") && ! file.getName().contains("$"))
+      {
+         String className = packageName + "." + file.getName().substring(0, file.getName().length() - 6);
+         try
+         {
+            Class<?> clazz = Class.forName(className);
+            if (clazz.isAnnotationPresent(Artifact.class) || clazz.isAnnotationPresent(EjbArtifact.class))
+            {
+               classes.add(clazz);
+            }
+         }
+         catch (ClassNotFoundException e)
+         {
+            log.warn("Unable to load class " + className, e);
+         }
+      }
+   }
+   
+   public Set<Class<?>> getClasses()
+   {
+      scan();
+      return classes;
+   }
+   
+}
\ No newline at end of file


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/ArtifactScanner.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/DeclarativeArtifactProcessor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/DeclarativeArtifactProcessor.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/DeclarativeArtifactProcessor.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -125,23 +125,23 @@
       final TCKArtifactDescriptor artifact;
       if (packagingType.equals(WAR))
       {
-            artifact = new WarArtifactDescriptor(beansXml, webXml);
+            artifact = new WarArtifactDescriptor(declaringClass, beansXml, webXml);
       } 
       else if (packagingType.equals(EAR))
       {
          throw new UnsupportedOperationException();
       }
-      else if (standalone)
+      else if (ejbs && standalone)
       {
-         artifact = new TCKArtifactDescriptor(beansXml);
+         throw new UnsupportedOperationException();
       }
-      else if (ejbs)
+      else if (standalone)
       {
-         throw new UnsupportedOperationException();
+         artifact = new TCKArtifactDescriptor(declaringClass, beansXml);
       }
       else
       {
-         artifact = new WarArtifactDescriptor(beansXml, null);
+         artifact = new WarArtifactDescriptor(declaringClass, beansXml, null);
       }
       if (addDeclaringPackage)
       {

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/jsr299/JSR299ArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/jsr299/JSR299ArtifactDescriptor.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/jsr299/JSR299ArtifactDescriptor.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -11,8 +11,9 @@
    public static final String BEANS_XML_DESTINATION = "META-INF/beans.xml";
    public static final String STANDARD_BEANS_XML_FILE_NAME = "org/jboss/webbeans/tck/impl/packaging/jsr299/default/beans.xml";
    
-   public JSR299ArtifactDescriptor(String beansXmlSourceFileName)
+   public JSR299ArtifactDescriptor(Class<?> declaringClass, String beansXmlSourceFileName)
    {
+      super(declaringClass);
       if (isEmpty(beansXmlSourceFileName))
       {
          beansXmlSourceFileName = STANDARD_BEANS_XML_FILE_NAME;

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -10,9 +10,9 @@
    private boolean unit;
    private boolean ejbs;
    
-   public TCKArtifactDescriptor(String beansXmlSourceFileName)
+   public TCKArtifactDescriptor(Class<?> declaringClass, String beansXmlSourceFileName)
    {
-      super(beansXmlSourceFileName);
+      super(declaringClass, beansXmlSourceFileName);
       getPackages().add(AbstractTest.class.getPackage());
       getPackages().add(NewLiteral.class.getPackage());
       getPackages().add(Reflections.class.getPackage());
@@ -38,4 +38,10 @@
       this.unit = unit;
    }
    
+   @Override
+   public String getExtension()
+   {
+      return ".war";
+   }
+   
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/war/WarArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/war/WarArtifactDescriptor.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/war/WarArtifactDescriptor.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -15,9 +15,9 @@
    
    private File webInfClasses;
    
-   public WarArtifactDescriptor(String beansXmlSourceFileName, String webXmlSourceFileName)
+   public WarArtifactDescriptor(Class<?> declaringClass, String beansXmlSourceFileName, String webXmlSourceFileName)
    {
-      super(beansXmlSourceFileName);
+      super(declaringClass, beansXmlSourceFileName);
       if (isEmpty(webXmlSourceFileName))
       {
          webXmlSourceFileName = STANDARD_WEB_XML_FILE_NAME;
@@ -36,4 +36,10 @@
       return webInfClasses;
    }
    
+   @Override
+   public String toString()
+   {
+      return "war, " + super.toString();
+   }
+   
 }

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/util/Files.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/util/Files.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/util/Files.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.impl.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class Files
+{
+   
+   public static void copy(InputStream source, OutputStream destination) throws IOException
+   {
+      byte[] readBuffer = new byte[2156]; 
+      int bytesIn = 0; 
+      while((bytesIn = source.read(readBuffer)) != -1) 
+      { 
+         destination.write(readBuffer, 0, bytesIn); 
+      }
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/util/Files.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/bean/BeanDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/bean/BeanDefinitionTest.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/bean/BeanDefinitionTest.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -9,6 +9,7 @@
 import org.jboss.webbeans.tck.AbstractTest;
 import org.jboss.webbeans.tck.SpecAssertion;
 import org.jboss.webbeans.tck.SpecAssertions;
+import org.jboss.webbeans.tck.impl.packaging.Artifact;
 import org.testng.annotations.Test;
 
 /**
@@ -18,6 +19,7 @@
  * 
  * Spec version: PRD2
  */
+ at Artifact
 public class BeanDefinitionTest extends AbstractTest
 {
    

Added: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/InContainerTestRunnerTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/InContainerTestRunnerTest.java	                        (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/InContainerTestRunnerTest.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -0,0 +1,67 @@
+package org.jboss.webbeans.tck.impl.test;
+
+import java.io.InputStream;
+import java.lang.annotation.Annotation;
+import java.util.List;
+import java.util.jar.JarInputStream;
+
+import javax.inject.manager.Manager;
+
+import org.jboss.webbeans.tck.api.TestSuite;
+import org.jboss.webbeans.tck.impl.InContainerTestRunner;
+import org.jboss.webbeans.tck.spi.Containers;
+
+public class InContainerTestRunnerTest
+{
+   
+   private static class MockInContainerTestRunner extends InContainerTestRunner
+   {
+      
+      @Override
+      public void run(TestSuite testSuite, Containers containers)
+      {
+         super.run(testSuite, containers);
+      }
+      
+   }
+   
+   private static class MockContainers implements Containers
+   {
+
+      public Manager deploy(List<Class<? extends Annotation>> enabledDeploymentTypes, JarInputStream archive)
+      {
+         // TODO Auto-generated method stub
+         return null;
+      }
+
+      public Manager deploy(InputStream archive)
+      {
+         // TODO Auto-generated method stub
+         return null;
+      }
+
+      public <T> T evaluateMethodExpression(String expression, Class<T> expectedType, Class<?>[] expectedParamTypes, Object[] expectedParams)
+      {
+         // TODO Auto-generated method stub
+         return null;
+      }
+
+      public <T> T evaluateValueExpression(String expression, Class<T> expectedType)
+      {
+         // TODO Auto-generated method stub
+         return null;
+      }
+      
+   }
+
+   //@Test
+   public void testRunner()
+   {
+      TestSuite testSuite = new TestSuite(null);
+      testSuite.setWriteDeployedArchivesToDisk(true);
+      testSuite.setDeploymentDelay(0);
+      MockInContainerTestRunner runner = new MockInContainerTestRunner();
+      runner.run(testSuite, new MockContainers());
+   }
+   
+}


Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/InContainerTestRunnerTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/ArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/ArtifactTest.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/ArtifactTest.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -15,7 +15,7 @@
    @Test
    public void testDefaultTCKArtifact() throws Exception
    {
-      ArtifactDescriptor artifactDescriptor = new TCKArtifactDescriptor(null);
+      ArtifactDescriptor artifactDescriptor = new TCKArtifactDescriptor(null, null);
       File root = artifactDescriptor.create();
       assert getPackageAsFile(Reflections.class.getPackage(), root).listFiles().length > 0;
       assert getPackageAsFile(NewLiteral.class.getPackage(), root).listFiles().length > 0;

Modified: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/ArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/ArtifactTest.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/ArtifactTest.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -13,7 +13,7 @@
    @Test
    public void testAllClassesInPackage() throws Exception
    {
-      ArtifactDescriptor artifactDescriptor = new ArtifactDescriptor();
+      ArtifactDescriptor artifactDescriptor = new ArtifactDescriptor(null);
       artifactDescriptor.getPackages().add(ArtifactTest.class.getPackage());
       File root = artifactDescriptor.create();
       File currentPackage = getCurrentPackageAsFile(root);

Added: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/ArtifactScannerTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/ArtifactScannerTest.java	                        (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/ArtifactScannerTest.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -0,0 +1,24 @@
+package org.jboss.webbeans.tck.impl.test.packaging.artifactScanner;
+
+import java.util.Set;
+
+import org.jboss.webbeans.tck.impl.packaging.ArtifactScanner;
+import org.jboss.webbeans.tck.impl.test.packaging.artifactScanner.subpackage.AnotherDummyArtifact;
+import org.jboss.webbeans.tck.impl.test.packaging.artifactScanner.subpackage.NotAnArtifact;
+import org.testng.annotations.Test;
+
+public class ArtifactScannerTest
+{
+   
+   @Test
+   public void testScanner()
+   {
+      ArtifactScanner scanner = new ArtifactScanner(ArtifactScannerTest.class.getPackage().getName());
+      Set<Class<?>> classes = scanner.getClasses();
+      assert classes.contains(DummyArtifact.class);
+      assert classes.contains(AnotherDummyArtifact.class);
+      assert !classes.contains(NotAnArtifact.class);
+   }
+   
+   
+}


Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/ArtifactScannerTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/DummyArtifact.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/DummyArtifact.java	                        (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/DummyArtifact.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.impl.test.packaging.artifactScanner;
+
+import org.jboss.webbeans.tck.impl.packaging.Artifact;
+
+ at Artifact
+public class DummyArtifact
+{
+   
+}


Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/DummyArtifact.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/AnotherDummyArtifact.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/AnotherDummyArtifact.java	                        (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/AnotherDummyArtifact.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.impl.test.packaging.artifactScanner.subpackage;
+
+import org.jboss.webbeans.tck.impl.packaging.Artifact;
+
+ at Artifact
+public class AnotherDummyArtifact
+{
+   
+}


Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/AnotherDummyArtifact.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/NotAnArtifact.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/NotAnArtifact.java	                        (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/NotAnArtifact.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.impl.test.packaging.artifactScanner.subpackage;
+
+public class NotAnArtifact
+{
+   
+}


Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/artifactScanner/subpackage/NotAnArtifact.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/declarativeArtifact/unspecified/ArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/declarativeArtifact/unspecified/ArtifactTest.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/declarativeArtifact/unspecified/ArtifactTest.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -128,7 +128,7 @@
       assert beans.startsWith("<my></my>");
    }
    
-   @Test
+   //@Test
    public void testEjbTestDeclartiveArtifact() throws Exception
    {
       DeclarativeArtifactProcessor declarativeArtifactProcessor = new DeclarativeArtifactProcessor(DummyEjbTest.class);

Modified: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/ArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/ArtifactTest.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/ArtifactTest.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -13,7 +13,7 @@
    @Test
    public void testAllClassesInPackageAndNotSubPackages() throws Exception
    {
-      ArtifactDescriptor artifactDescriptor = new ArtifactDescriptor();
+      ArtifactDescriptor artifactDescriptor = new ArtifactDescriptor(null);
       artifactDescriptor.getPackages().add(ArtifactTest.class.getPackage());
       File root = artifactDescriptor.create();
       File currentPackage = getCurrentPackageAsFile(root);

Modified: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/war/ArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/war/ArtifactTest.java	2009-02-04 21:32:20 UTC (rev 1416)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/war/ArtifactTest.java	2009-02-05 01:27:09 UTC (rev 1417)
@@ -16,7 +16,7 @@
    @Test
    public void testDefaultWar() throws Exception
    {
-      WarArtifactDescriptor war = new WarArtifactDescriptor(null, null);
+      WarArtifactDescriptor war = new WarArtifactDescriptor(null, null, null);
       war.getClasses().add(Cow.class);
       File root = war.create();
       assert root.listFiles().length == 2;
@@ -59,9 +59,9 @@
    @Test
    public void testJarProduction() throws Exception
    {
-      WarArtifactDescriptor war = new WarArtifactDescriptor(null, null);
+      WarArtifactDescriptor war = new WarArtifactDescriptor(null, null, null);
       war.getClasses().add(Cow.class);
-      JarInputStream is = war.asJar();
+      JarInputStream is = new JarInputStream(war.asJar());
       JarEntry entry;
       List<String> fileNames = new ArrayList<String>();
       while ((entry = is.getNextJarEntry()) != null)




More information about the weld-commits mailing list