[webbeans-commits] Webbeans SVN: r1398 - in tck/trunk/impl/src: main/java/org/jboss/webbeans/tck/impl/packaging/standard/war and 8 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Tue Feb 3 18:23:24 EST 2009
Author: pete.muir at jboss.org
Date: 2009-02-03 18:23:24 -0500 (Tue, 03 Feb 2009)
New Revision: 1398
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/TCKArtifact.java
tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/
tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/AbstractArtifactTest.java
tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/
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/Cow.java
tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/Fox.java
tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/
tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/ArtifactTest.java
tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/Cow.java
tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/
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/Cow.java
tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/pests/
tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/pests/Fox.java
Modified:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/Artifact.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/standard/war/WarArtifact.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/util/Reflections.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/ChunkyBinding.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/HairyBinding.java
Log:
Support for including all classes in a package
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/Artifact.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/Artifact.java 2009-02-03 22:14:04 UTC (rev 1397)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/Artifact.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -1,28 +1,115 @@
package org.jboss.webbeans.tck.impl.packaging;
+import static org.jboss.webbeans.tck.impl.util.Reflections.loadResourceAsStream;
+import static org.jboss.webbeans.tck.impl.util.Reflections.loadResources;
+
import java.io.File;
import java.io.FileOutputStream;
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.HashSet;
import java.util.Random;
import java.util.Set;
import java.util.jar.JarInputStream;
+import org.apache.log4j.Logger;
+
public class Artifact
{
+ /**
+ * Implementation of {@link Scanner} which can scan a {@link URLClassLoader}
+ *
+ * @author Thomas Heute
+ * @author Gavin King
+ * @author Norman Richards
+ * @author Pete Muir
+ *
+ */
+ private static class URLPackageScanner
+ {
+ private static final Logger log = Logger.getLogger(URLPackageScanner.class);
+
+ private final Package pkg;
+
+ private final Set<String> classes = new HashSet<String>();
+
+ public URLPackageScanner(Package pkg)
+ {
+ this.pkg = pkg;
+ }
+
+ private void scanPackage()
+ {
+ try
+ {
+ 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);
+ }
+ catch (IOException ioe)
+ {
+ log.warn("could not read: " + pkg.getName(), ioe);
+ }
+ }
+
+ private void handle(Set<String> paths)
+ {
+ for ( String urlPath: paths )
+ {
+ log.trace("scanning: " + urlPath);
+ File file = new File(urlPath);
+ if ( file.isDirectory() )
+ {
+ for ( File child: file.listFiles() )
+ {
+ if ( !child.isDirectory() )
+ {
+ classes.add(pkg.getName() + "." + child.getName().substring(0, child.getName().lastIndexOf(".class")));
+ }
+ }
+ }
+ }
+ }
+
+ public Set<String> getClassNames()
+ {
+ scanPackage();
+ return classes;
+ }
+
+ }
+
+
public static final Random random = new Random(System.currentTimeMillis());
- private Set<Class<?>> classes;
- private Set<ResourceDescriptor> resources;
+ private final Set<Class<?>> classes;
+ private final Set<Package> packages;
+ private final Set<ResourceDescriptor> resources;
public Artifact()
{
classes = new HashSet<Class<?>>();
resources = new HashSet<ResourceDescriptor>();
+ packages = new HashSet<Package>();
}
public JarInputStream asJar() throws IOException
@@ -37,15 +124,16 @@
root.deleteOnExit();
for (Class<?> clazz : getClasses())
{
- String classFilePathName = getClassFileName(clazz.getName());
- String directoryName = classFilePathName.substring(0, classFilePathName.lastIndexOf("/"));
- String classFileName = classFilePathName.substring(classFilePathName.lastIndexOf("/") + 1);
- File packageDirectory = makeDirectoryStructure(root, directoryName);
- File classFile = new File(packageDirectory, classFileName);
- classFile.createNewFile();
- classFile.deleteOnExit();
- copy(loadResourceAsStream(classFilePathName), classFile);
+ copyClass(clazz, root);
}
+ for (Package pkg : getPackages())
+ {
+ URLPackageScanner packageScanner = new URLPackageScanner(pkg);
+ for (String className : packageScanner.getClassNames())
+ {
+ copyClass(className, root);
+ }
+ }
for (ResourceDescriptor resourceDescriptor : getResources())
{
String directoryName = resourceDescriptor.getName().substring(0, resourceDescriptor.getName().lastIndexOf("/"));
@@ -59,6 +147,23 @@
return root;
}
+ private static void copyClass(Class<?> clazz, File root) throws IOException
+ {
+ copyClass(clazz.getName(), root);
+ }
+
+ private static void copyClass(String className, File root) throws IOException
+ {
+ String classFilePathName = getClassFileName(className);
+ String directoryName = classFilePathName.substring(0, classFilePathName.lastIndexOf("/"));
+ String classFileName = classFilePathName.substring(classFilePathName.lastIndexOf("/") + 1);
+ File packageDirectory = makeDirectoryStructure(root, directoryName);
+ File classFile = new File(packageDirectory, classFileName);
+ classFile.createNewFile();
+ classFile.deleteOnExit();
+ copy(loadResourceAsStream(classFilePathName), classFile);
+ }
+
private static File makeDirectoryStructure(File root, String directoryName)
{
for (String directory : directoryName.split("\\/"))
@@ -94,39 +199,6 @@
}
- protected static InputStream loadResourceAsStream(String name)
- {
- InputStream is = null;
- if (Thread.currentThread().getContextClassLoader() != null)
- {
- is = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
- }
- if (is == null)
- {
- is = Artifact.class.getResourceAsStream(name);
- }
- return is;
- }
-
- protected static URL loadResource(String name)
- {
- URL url = null;
- if (Thread.currentThread().getContextClassLoader() != null)
- {
- url = Thread.currentThread().getContextClassLoader().getResource(name);
- }
- if (url == null)
- {
- url = Artifact.class.getResource(name);
- }
- return url;
- }
-
- public void setClasses(Set<Class<?>> classes)
- {
- this.classes = classes;
- }
-
public Set<Class<?>> getClasses()
{
return classes;
@@ -137,9 +209,9 @@
return resources;
}
- public void setResources(Set<ResourceDescriptor> resources)
+ public Set<Package> getPackages()
{
- this.resources = resources;
+ return packages;
}
}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/TCKArtifact.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/TCKArtifact.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/TCKArtifact.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.tck.impl.packaging;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.WebBeansTCKImpl;
+
+public class TCKArtifact extends Artifact
+{
+
+ public TCKArtifact()
+ {
+ super();
+ getClasses().add(AbstractTest.class);
+ getClasses().add(WebBeansTCKImpl.class);
+ }
+
+
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/TCKArtifact.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/standard/war/WarArtifact.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/standard/war/WarArtifact.java 2009-02-03 22:14:04 UTC (rev 1397)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/packaging/standard/war/WarArtifact.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -1,5 +1,7 @@
package org.jboss.webbeans.tck.impl.packaging.standard.war;
+import static org.jboss.webbeans.tck.impl.util.Reflections.loadResource;
+
import java.net.URL;
import java.util.Arrays;
import java.util.HashSet;
@@ -20,7 +22,7 @@
public static WarArtifact of(Class<?>... classes)
{
WarArtifact war = new WarArtifact();
- war.setClasses(new HashSet<Class<?>>(Arrays.asList(classes)));
+ war.getClasses().addAll(new HashSet<Class<?>>(Arrays.asList(classes)));
return war;
}
@@ -29,7 +31,7 @@
Set<ResourceDescriptor> standardResources = new HashSet<ResourceDescriptor>();
standardResources.add(new ResourceDescriptor(BEANS_XML_DESTINATION, getBeansXmlSource()));
standardResources.add(new ResourceDescriptor(WEB_XML_DESTINATION, getWebXmlSource()));
- setResources(standardResources);
+ getResources().addAll((standardResources));
}
public URL getBeansXmlSource()
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/util/Reflections.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/util/Reflections.java 2009-02-03 22:14:04 UTC (rev 1397)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/util/Reflections.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -1,11 +1,17 @@
package org.jboss.webbeans.tck.impl.util;
+import java.io.IOException;
+import java.io.InputStream;
import java.lang.annotation.Annotation;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Enumeration;
import java.util.List;
import java.util.Set;
+import org.jboss.webbeans.tck.impl.packaging.Artifact;
+
/**
* Utility class for static reflection-type operations
*
@@ -38,5 +44,47 @@
}
return annotationTypeList.size() == 0;
}
+
+ public static InputStream loadResourceAsStream(String name)
+ {
+ InputStream is = null;
+ if (Thread.currentThread().getContextClassLoader() != null)
+ {
+ is = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
+ }
+ if (is == null)
+ {
+ is = Artifact.class.getResourceAsStream(name);
+ }
+ return is;
+ }
+
+ public static URL loadResource(String name)
+ {
+ URL url = null;
+ if (Thread.currentThread().getContextClassLoader() != null)
+ {
+ url = Thread.currentThread().getContextClassLoader().getResource(name);
+ }
+ if (url == null)
+ {
+ url = Artifact.class.getResource(name);
+ }
+ return url;
+ }
+
+ public static Iterable<URL> loadResources(String name) throws IOException
+ {
+ Enumeration<URL> urls = null;
+ if (Thread.currentThread().getContextClassLoader() != null)
+ {
+ urls = Thread.currentThread().getContextClassLoader().getResources(name);
+ }
+ if (urls == null)
+ {
+ urls = Artifact.class.getClassLoader().getResources(name);
+ }
+ return new EnumerationIterable<URL>(urls);
+ }
}
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/ChunkyBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/ChunkyBinding.java 2009-02-03 22:14:04 UTC (rev 1397)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/ChunkyBinding.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -11,7 +11,6 @@
this.chunky = chunky;
}
- @Override
public boolean realChunky()
{
return chunky;
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/HairyBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/HairyBinding.java 2009-02-03 22:14:04 UTC (rev 1397)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/HairyBinding.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -11,7 +11,6 @@
this.clipped = clipped;
}
- @Override
public boolean clipped()
{
return clipped;
Added: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/AbstractArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/AbstractArtifactTest.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/AbstractArtifactTest.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -0,0 +1,66 @@
+package org.jboss.webbeans.tck.impl.test.packaging;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.util.Arrays;
+
+public abstract class AbstractArtifactTest
+{
+
+ protected static final FilenameFilter WEB_INF_FILTER = new FilenameFilter()
+ {
+ public boolean accept(File dir, String name)
+ {
+ return name.equals("WEB-INF");
+ }
+ };
+
+ protected static final FilenameFilter BEANS_XML_FILTER = new FilenameFilter()
+ {
+
+ public boolean accept(File dir, String name)
+ {
+ return name.equals("beans.xml");
+ }
+
+ };
+
+
+
+ protected static final FilenameFilter WEB_XML_FILTER = new FilenameFilter()
+ {
+
+ public boolean accept(File dir, String name)
+ {
+ return name.equals("web.xml");
+ }
+
+ };
+
+ protected File getCurrentPackageAsFile(File root)
+ {
+ String[] packageHierarchy = getClass().getPackage().getName().split("\\.");
+ for (final String packageName : packageHierarchy)
+ {
+ File[] files = root.listFiles(new FilenameFilter()
+ {
+
+ public boolean accept(File dir, String name)
+ {
+ return name.equals(packageName);
+ }
+
+ });
+ if (files.length == 1)
+ {
+ root = files[0];
+ }
+ else
+ {
+ throw new IllegalStateException("Unable to traverse package hierarchy " + Arrays.asList(packageHierarchy) + ", unable to open directory " + packageName);
+ }
+ }
+ return root;
+ }
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/AbstractArtifactTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/ArtifactTest.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -0,0 +1,61 @@
+package org.jboss.webbeans.tck.impl.test.packaging.all;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.util.Arrays;
+
+import org.jboss.webbeans.tck.impl.packaging.standard.war.WarArtifact;
+import org.jboss.webbeans.tck.impl.test.packaging.AbstractArtifactTest;
+import org.testng.annotations.Test;
+
+public class ArtifactTest extends AbstractArtifactTest
+{
+
+ @Test
+ public void testAllClassesInPackage() throws Exception
+ {
+ WarArtifact war = new WarArtifact();
+ war.getPackages().add(ArtifactTest.class.getPackage());
+ File root = war.create();
+ File currentPackage = getCurrentPackageAsFile(root);
+ System.out.println(Arrays.asList(currentPackage.listFiles()));
+ assert currentPackage.listFiles().length == 6;
+ File[] cowClasses = currentPackage.listFiles(new FilenameFilter()
+ {
+
+ public boolean accept(File dir, String name)
+ {
+ return name.equals("Cow.class");
+ }
+
+ });
+ assert cowClasses.length == 1;
+ assert cowClasses[0].getName().equals("Cow.class");
+ assert cowClasses[0].isFile();
+ File[] foxClasses = currentPackage.listFiles(new FilenameFilter()
+ {
+
+ public boolean accept(File dir, String name)
+ {
+ return name.equals("Fox.class");
+ }
+
+ });
+ assert foxClasses.length == 1;
+ assert foxClasses[0].getName().equals("Fox.class");
+ assert foxClasses[0].isFile();
+
+ File[] testClasses = currentPackage.listFiles(new FilenameFilter()
+ {
+
+ public boolean accept(File dir, String name)
+ {
+ return name.startsWith("ArtifactTest");
+ }
+
+ });
+ assert testClasses.length == 4;
+
+ }
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/ArtifactTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/Cow.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/Cow.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/Cow.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.impl.test.packaging.all;
+
+class Cow
+{
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/Cow.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/Fox.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/Fox.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/Fox.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.impl.test.packaging.all;
+
+class Fox
+{
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/all/Fox.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/ArtifactTest.java (from rev 1396, tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/ArtifactTest.java)
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/ArtifactTest.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/ArtifactTest.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -0,0 +1,51 @@
+package org.jboss.webbeans.tck.impl.test.packaging.defined;
+
+import java.io.File;
+import java.io.FilenameFilter;
+
+import org.jboss.webbeans.tck.impl.packaging.standard.war.WarArtifact;
+import org.jboss.webbeans.tck.impl.test.packaging.AbstractArtifactTest;
+import org.testng.annotations.Test;
+
+public class ArtifactTest extends AbstractArtifactTest
+{
+
+ @Test
+ public void testDefaultWar() throws Exception
+ {
+ WarArtifact war = new WarArtifact();
+ war.getClasses().add(Cow.class);
+ File root = war.create();
+ assert root.listFiles().length == 2;
+ assert root.isDirectory();
+ assert root.listFiles(WEB_INF_FILTER).length == 1;
+ File webInf = root.listFiles(WEB_INF_FILTER)[0];
+ assert webInf.getName().equals("WEB-INF");
+ assert webInf.isDirectory();
+ assert webInf.listFiles().length == 2;
+ assert webInf.listFiles(BEANS_XML_FILTER).length == 1;
+ File beansXml = webInf.listFiles(BEANS_XML_FILTER)[0];
+ assert beansXml.isFile();
+ assert beansXml.getName().equals("beans.xml");
+ assert beansXml.length() == 0;
+ assert webInf.listFiles(WEB_XML_FILTER).length == 1;
+ File webXml = webInf.listFiles(WEB_XML_FILTER)[0];
+ assert webXml.isFile();
+ assert webXml.getName().equals("web.xml");
+ assert webXml.length() != 0;
+ File currentPackage = getCurrentPackageAsFile(root);
+ File[] cowClasses = currentPackage.listFiles(new FilenameFilter()
+ {
+
+ public boolean accept(File dir, String name)
+ {
+ return name.equals("Cow.class");
+ }
+
+ });
+ assert cowClasses.length == 1;
+ assert cowClasses[0].getName().equals("Cow.class");
+ assert cowClasses[0].isFile();
+ }
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/ArtifactTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/Cow.java (from rev 1396, tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/Cow.java)
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/Cow.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/Cow.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.impl.test.packaging.defined;
+
+class Cow
+{
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/defined/Cow.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: 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 (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/ArtifactTest.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -0,0 +1,46 @@
+package org.jboss.webbeans.tck.impl.test.packaging.subpackages;
+
+import java.io.File;
+import java.io.FilenameFilter;
+
+import org.jboss.webbeans.tck.impl.packaging.standard.war.WarArtifact;
+import org.jboss.webbeans.tck.impl.test.packaging.AbstractArtifactTest;
+import org.testng.annotations.Test;
+
+public class ArtifactTest extends AbstractArtifactTest
+{
+
+ @Test
+ public void testAllClassesInPackageAndNotSubPackages() throws Exception
+ {
+ WarArtifact war = new WarArtifact();
+ war.getPackages().add(ArtifactTest.class.getPackage());
+ File root = war.create();
+ File currentPackage = getCurrentPackageAsFile(root);
+ assert currentPackage.listFiles().length == 4;
+ File[] cowClasses = currentPackage.listFiles(new FilenameFilter()
+ {
+
+ public boolean accept(File dir, String name)
+ {
+ return name.equals("Cow.class");
+ }
+
+ });
+ assert cowClasses.length == 1;
+ assert cowClasses[0].getName().equals("Cow.class");
+ assert cowClasses[0].isFile();
+
+ File[] testClasses = currentPackage.listFiles(new FilenameFilter()
+ {
+
+ public boolean accept(File dir, String name)
+ {
+ return name.startsWith("ArtifactTest");
+ }
+
+ });
+ assert testClasses.length == 3;
+ }
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/ArtifactTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/Cow.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/Cow.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/Cow.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.impl.test.packaging.subpackages;
+
+class Cow
+{
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/Cow.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/pests/Fox.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/pests/Fox.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/pests/Fox.java 2009-02-03 23:23:24 UTC (rev 1398)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.impl.test.packaging.subpackages.pests;
+
+class Fox
+{
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/webbeans/tck/impl/test/packaging/subpackages/pests/Fox.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
More information about the weld-commits
mailing list