[webbeans-commits] Webbeans SVN: r1552 - in tck/trunk/impl/src: main/java/org/jboss/jsr299/tck/impl/packaging/ear and 10 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Mon Feb 16 17:19:44 EST 2009
Author: pete.muir at jboss.org
Date: 2009-02-16 17:19:44 -0500 (Mon, 16 Feb 2009)
New Revision: 1552
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EarArtifactDescriptor.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EjbJarArtifactDescriptor.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/war/WarArtifactDescriptor.java
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/ear/
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/ear/ejb-jar.xml
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/web.xml
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/Cow.java
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/DeclarativeEarTest.java
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/DummyTest.java
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/Fox.java
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/Cow.java
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/DummyTest.java
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/EarArtifactTest.java
Removed:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/war/WarArtifactDescriptor.java
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/default/
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/ArtifactGenerator.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/JSR299ArtifactDescriptor.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/AbstractArtifactTest.java
Log:
Add support for EAR/EJB artifacts
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-16 22:17:19 UTC (rev 1551)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -266,17 +266,20 @@
File root = new File(System.getProperty("java.io.tmpdir") + "/" + getClass().getName() + "." + random.nextInt());
root.mkdir();
root.deleteOnExit();
- for (Class<?> clazz : getClasses())
+ for (Class<?> clazz : classes)
{
copyClass(clazz, getClassesRoot(root));
}
- for (ResourceDescriptor resourceDescriptor : getResources())
+ for (ResourceDescriptor resourceDescriptor : resources)
{
copyResource(resourceDescriptor, root);
}
- for (ResourceDescriptor resourceDescriptor : getLibraries())
+ if (isLibrariesSupported())
{
- copyResource(resourceDescriptor, getLibraryRoot(root));
+ for (ResourceDescriptor resourceDescriptor : libraries)
+ {
+ copyResource(resourceDescriptor, getLibraryRoot(root));
+ }
}
this.explodedJar = root;
}
@@ -341,7 +344,7 @@
public void writeArtifactToDisk(String outputDirectory, String fileName) throws IOException
{
- File file = new File(outputDirectory, fileName + getExtension());
+ File file = new File(outputDirectory, fileName);
file.createNewFile();
OutputStream os = new BufferedOutputStream(new FileOutputStream(file));
InputStream jar = getJarAsStream();
@@ -425,7 +428,7 @@
@Override
public String toString()
{
- return "Declared by: " + declaringClass.getName() + " Classes: " + getClasses() + " Resources: " + getResources();
+ return "Declared by: " + declaringClass.getName() + " Classes: " + classes + " Resources: " + resources;
}
public Class<?> getDeclaringClass()
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-16 22:17:19 UTC (rev 1551)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactGenerator.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -17,6 +17,7 @@
import org.apache.log4j.Logger;
import org.jboss.jsr299.tck.api.Configuration;
+import org.jboss.jsr299.tck.impl.packaging.ear.EarArtifactDescriptor;
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;
@@ -196,11 +197,11 @@
}
else if (packagingType.equals(EAR))
{
- throw new UnsupportedOperationException();
+ artifact = new EarArtifactDescriptor(declaringClass, beansXml);
}
else if (!standalone && ejbs)
{
- throw new UnsupportedOperationException();
+ artifact = new EarArtifactDescriptor(declaringClass, beansXml);
}
else if (!standalone)
{
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EarArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EarArtifactDescriptor.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EarArtifactDescriptor.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,133 @@
+package org.jboss.jsr299.tck.impl.packaging.ear;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.Writer;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.jboss.jsr299.tck.impl.packaging.ResourceDescriptor;
+import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
+import org.jboss.jsr299.tck.impl.packaging.war.WarArtifactDescriptor;
+
+public class EarArtifactDescriptor extends TCKArtifactDescriptor
+{
+
+ private static final Logger log = Logger.getLogger(EarArtifactDescriptor.class);
+
+ public static final String APPLICATION_XML_DESTINATION = "META-INF/application.xml";
+
+ private final EjbJarArtifactDescriptor ejbJar;
+ private final WarArtifactDescriptor war;
+
+ public EarArtifactDescriptor(Class<?> declaringClass, String beansXmlSourceFileName)
+ {
+ super(declaringClass, beansXmlSourceFileName);
+ this.ejbJar = new EjbJarArtifactDescriptor(declaringClass);
+ this.war = new WarArtifactDescriptor(declaringClass, null)
+ {
+
+ @Override
+ protected boolean isAddBeansXml()
+ {
+ return false;
+ }
+
+ @Override
+ public boolean isLibrariesSupported()
+ {
+ return false;
+ }
+
+ };
+ try
+ {
+ getResources().add(new ResourceDescriptor(APPLICATION_XML_DESTINATION, getApplicationXml(declaringClass)));
+ }
+ catch (IOException e)
+ {
+ log.warn("Error generating ear");
+ }
+
+ }
+
+ @Override
+ public Set<Class<?>> getClasses()
+ {
+ return getEjbJar().getClasses();
+ }
+
+ public EjbJarArtifactDescriptor getEjbJar()
+ {
+ return ejbJar;
+ }
+
+ public WarArtifactDescriptor getWar()
+ {
+ return war;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "ear, " + super.toString();
+ }
+
+ @Override
+ public String getExtension()
+ {
+ return ".ear";
+ }
+
+ @Override
+ public boolean isLibrariesSupported()
+ {
+ return true;
+ }
+
+ @Override
+ protected String getLibrariesRoot()
+ {
+ return "lib";
+ }
+
+ @Override
+ public String getBeansDestination()
+ {
+ return "META-INF/web-beans.xml";
+ }
+
+ @Override
+ public void create() throws IOException
+ {
+ getResources().add(new ResourceDescriptor(war.getDefaultName(), war.getJar()));
+ getResources().add(new ResourceDescriptor(ejbJar.getDefaultName(), ejbJar.getJar()));
+ super.create();
+ }
+
+ private static InputStream getApplicationXml(Class<?> declaringClass) throws IOException
+ {
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ Writer writer = new PrintWriter(os);
+ writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ writer.write("<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n" +
+ "\t\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n" +
+ "\t\txsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd\" \n" +
+ "\t\tversion=\"5\">\n\n");
+ writer.write("\t<display-name>JSR-99 TCK: " + declaringClass.getName() + "</display-name>\n\n");
+ writer.write("\t<module>\n" +
+ "\t\t<web>\n" +
+ "\t\t\t<web-uri>" + declaringClass.getName() +".war</web-uri>\n" +
+ "\t\t\t<context-root>/" + declaringClass.getName() + "</context-root>\n" +
+ "\t\t</web>\n" +
+ "\t</module>\n\n");
+ writer.write("\t<module>\n" +
+ "\t\t<ejb>" + declaringClass.getName() +".jar</ejb>\n" +
+ "\t</module>\n\n");
+ writer.write("</application>\n");
+ writer.flush();
+ return new ByteArrayInputStream(os.toByteArray());
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EarArtifactDescriptor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EjbJarArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EjbJarArtifactDescriptor.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EjbJarArtifactDescriptor.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,39 @@
+package org.jboss.jsr299.tck.impl.packaging.ear;
+import static org.jboss.jsr299.tck.impl.util.Reflections.loadResource;
+
+import java.net.URL;
+
+import org.jboss.jsr299.tck.impl.packaging.ArtifactDescriptor;
+import org.jboss.jsr299.tck.impl.packaging.ResourceDescriptor;
+
+public class EjbJarArtifactDescriptor extends ArtifactDescriptor
+{
+
+ public static final String EJB_JAR_XML_DESTINATION = "META-INF/ejb-jar.xml";
+ public static final String STANDARD_EJB_JAR_XML_FILE_NAME = "org/jboss/jsr299/tck/impl/packaging/ear/ejb-jar.xml";
+ public static final String CUSTOM_EJB_JAR_XML_FILE_NAME = "org/jboss/jsr299/tck/impl/packaging/ear/custom-ejb-jar.xml";
+
+ public EjbJarArtifactDescriptor(Class<?> declaringClass)
+ {
+ super(declaringClass);
+ URL ejbJarXml = loadResource(CUSTOM_EJB_JAR_XML_FILE_NAME);
+ if (ejbJarXml == null)
+ {
+ ejbJarXml = loadResource(STANDARD_EJB_JAR_XML_FILE_NAME);
+ }
+ getResources().add(new ResourceDescriptor(EJB_JAR_XML_DESTINATION, ejbJarXml));
+ }
+
+ @Override
+ public String toString()
+ {
+ return "ejb jar, " + super.toString();
+ }
+
+ @Override
+ public boolean isLibrariesSupported()
+ {
+ return false;
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EjbJarArtifactDescriptor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/JSR299ArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/JSR299ArtifactDescriptor.java 2009-02-16 22:17:19 UTC (rev 1551)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/JSR299ArtifactDescriptor.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -16,12 +16,19 @@
public JSR299ArtifactDescriptor(Class<?> declaringClass, String beansXmlSourceFileName)
{
super(declaringClass);
- if (isEmpty(beansXmlSourceFileName))
+ if (!isAddBeansXml())
{
- beansXmlSourceFileName = STANDARD_BEANS_XML_FILE_NAME;
+ this.beansXml = null;
}
- this.beansXml = new ResourceDescriptor(getBeansDestination(), beansXmlSourceFileName);
- getResources().add(beansXml);
+ else
+ {
+ if (isEmpty(beansXmlSourceFileName))
+ {
+ beansXmlSourceFileName = STANDARD_BEANS_XML_FILE_NAME;
+ }
+ this.beansXml = new ResourceDescriptor(getBeansDestination(), beansXmlSourceFileName);
+ getResources().add(beansXml);
+ }
}
public String getBeansDestination()
@@ -34,4 +41,9 @@
return beansXml;
}
+ protected boolean isAddBeansXml()
+ {
+ return true;
+ }
+
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java 2009-02-16 22:17:19 UTC (rev 1551)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -46,17 +46,20 @@
public TCKArtifactDescriptor(Class<?> declaringClass, String beansXmlSourceFileName)
{
super(declaringClass, beansXmlSourceFileName);
- getLibraries().add(new ResourceDescriptor("testng.jar", "/lib/testng-jdk15.jar"));
- getLibraries().add(new ResourceDescriptor("jsr-299-tck-api.jar", "/lib/jsr299-tck-api.jar"));
- getLibraries().add(getTckSupportJar());
- try
+ if (isLibrariesSupported())
{
- getResources().add(new ResourceDescriptor(getClassesRoot() + DeploymentProperties.RESOURCE_BUNDLE, getDeploymentProperties(declaringClass)));
+ getLibraries().add(new ResourceDescriptor("testng.jar", "/lib/testng-jdk15.jar"));
+ getLibraries().add(new ResourceDescriptor("jsr-299-tck-api.jar", "/lib/jsr299-tck-api.jar"));
+ getLibraries().add(getTckSupportJar());
+ try
+ {
+ getResources().add(new ResourceDescriptor(getClassesRoot() + DeploymentProperties.RESOURCE_BUNDLE, getDeploymentProperties(declaringClass)));
+ }
+ catch (IOException e)
+ {
+ log.warn("Error generating deployment properties", e);
+ }
}
- catch (IOException e)
- {
- log.warn("Error generating deployment properties", e);
- }
}
private static InputStream getDeploymentProperties(Class<?> declaringClass) throws IOException
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/war/WarArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/war/WarArtifactDescriptor.java 2009-02-16 22:17:19 UTC (rev 1551)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/war/WarArtifactDescriptor.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -1,66 +0,0 @@
-package org.jboss.jsr299.tck.impl.packaging.war;
-import static org.jboss.jsr299.tck.impl.util.Reflections.loadResource;
-
-import java.io.File;
-import java.net.URL;
-
-import org.jboss.jsr299.tck.impl.packaging.ResourceDescriptor;
-import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
-
-public class WarArtifactDescriptor extends TCKArtifactDescriptor
-{
-
- public static final String WEB_XML_DESTINATION = "WEB-INF/web.xml";
- public static final String STANDARD_WEB_XML_FILE_NAME = "org/jboss/jsr299/tck/impl/packaging/war/default/web.xml";
- public static final String CUSTOM_WEB_XML_FILE_NAME = "org/jboss/jsr299/tck/impl/packaging/war/default/custom-web.xml";
-
- private File webInfClasses;
- private File webInfLib;
-
- public WarArtifactDescriptor(Class<?> declaringClass, String beansXmlSourceFileName)
- {
- super(declaringClass, beansXmlSourceFileName);
- URL webXml = loadResource(CUSTOM_WEB_XML_FILE_NAME);
- if (webXml == null)
- {
- webXml = loadResource(STANDARD_WEB_XML_FILE_NAME);
- }
- getResources().add(new ResourceDescriptor(WEB_XML_DESTINATION, webXml));
- }
-
- @Override
- public String getClassesRoot()
- {
- return "WEB-INF/classes/";
- }
-
- @Override
- public String toString()
- {
- return "war, " + super.toString();
- }
-
- @Override
- public String getExtension()
- {
- return ".war";
- }
-
- @Override
- public boolean isLibrariesSupported()
- {
- return true;
- }
-
- @Override
- protected String getLibrariesRoot()
- {
- return "WEB-INF/lib";
- }
-
- @Override
- public String getBeansDestination()
- {
- return "WEB-INF/web-beans.xml";
- }
-}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/war/WarArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/war/WarArtifactDescriptor.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/war/WarArtifactDescriptor.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,62 @@
+package org.jboss.jsr299.tck.impl.packaging.war;
+import static org.jboss.jsr299.tck.impl.util.Reflections.loadResource;
+
+import java.net.URL;
+
+import org.jboss.jsr299.tck.impl.packaging.ResourceDescriptor;
+import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
+
+public class WarArtifactDescriptor extends TCKArtifactDescriptor
+{
+
+ public static final String WEB_XML_DESTINATION = "WEB-INF/web.xml";
+ public static final String STANDARD_WEB_XML_FILE_NAME = "org/jboss/jsr299/tck/impl/packaging/war/web.xml";
+ public static final String CUSTOM_WEB_XML_FILE_NAME = "org/jboss/jsr299/tck/impl/packaging/war/custom-web.xml";
+
+ public WarArtifactDescriptor(Class<?> declaringClass, String beansXmlSourceFileName)
+ {
+ super(declaringClass, beansXmlSourceFileName);
+ URL webXml = loadResource(CUSTOM_WEB_XML_FILE_NAME);
+ if (webXml == null)
+ {
+ webXml = loadResource(STANDARD_WEB_XML_FILE_NAME);
+ }
+ getResources().add(new ResourceDescriptor(WEB_XML_DESTINATION, webXml));
+ }
+
+ @Override
+ public String getClassesRoot()
+ {
+ return "WEB-INF/classes/";
+ }
+
+ @Override
+ public String toString()
+ {
+ return "war, " + super.toString();
+ }
+
+ @Override
+ public String getExtension()
+ {
+ return ".war";
+ }
+
+ @Override
+ public boolean isLibrariesSupported()
+ {
+ return true;
+ }
+
+ @Override
+ protected String getLibrariesRoot()
+ {
+ return "WEB-INF/lib";
+ }
+
+ @Override
+ public String getBeansDestination()
+ {
+ return "WEB-INF/web-beans.xml";
+ }
+}
Added: tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/ear/ejb-jar.xml
===================================================================
--- tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/ear/ejb-jar.xml (rev 0)
+++ tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/ear/ejb-jar.xml 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+ version="3.0">
+
+</ejb-jar>
Property changes on: tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/ear/ejb-jar.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/web.xml (from rev 1546, tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/default/web.xml)
===================================================================
--- tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/web.xml (rev 0)
+++ tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/web.xml 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<web-app version="2.5"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+
+ <display-name>JSR-299 TCK</display-name>
+
+ <servlet>
+ <servlet-name>JSR-299 TCK Test Runner</servlet-name>
+ <servlet-class>org.jboss.jsr299.tck.impl.runner.servlet.ServletTestRunner</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>JSR-299 TCK Test Runner</servlet-name>
+ <url-pattern>/*</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Property changes on: tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/web.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/AbstractArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/AbstractArtifactTest.java 2009-02-16 22:17:19 UTC (rev 1551)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/AbstractArtifactTest.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -3,9 +3,12 @@
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStreamReader;
+import java.io.OutputStream;
import java.io.Reader;
import java.util.Arrays;
@@ -109,4 +112,23 @@
}
}
+ protected static void copy(InputStream inputStream, File file) throws IOException
+ {
+ OutputStream os = new FileOutputStream(file);
+ try
+ {
+ byte[] buf = new byte[1024];
+ int i = 0;
+ while ((i = inputStream.read(buf)) != -1)
+ {
+ os.write(buf, 0, i);
+ }
+ }
+ finally
+ {
+ os.close();
+ }
+
+ }
+
}
Added: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/Cow.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/Cow.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/Cow.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.test.impl.packaging.declarative.ear;
+
+class Cow
+{
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/Cow.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/DeclarativeEarTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/DeclarativeEarTest.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/DeclarativeEarTest.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,39 @@
+package org.jboss.jsr299.tck.test.impl.packaging.declarative.ear;
+
+import java.io.File;
+
+import org.jboss.jsr299.tck.api.Configuration;
+import org.jboss.jsr299.tck.impl.packaging.ArtifactGenerator;
+import org.jboss.jsr299.tck.impl.packaging.ear.EarArtifactDescriptor;
+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 DeclarativeEarTest extends AbstractArtifactTest
+{
+
+ private Configuration configuration;
+
+ @BeforeClass
+ public void beforeClass()
+ {
+ configuration = new MockConfiguration();
+ configuration.setStandalone(true);
+ }
+
+ @Test
+ public void testDeclarativeEar() throws Exception
+ {
+ TCKArtifactDescriptor artifact = new ArtifactGenerator(configuration).createArtifact(DummyTest.class);
+ assert artifact instanceof EarArtifactDescriptor;
+ EarArtifactDescriptor earArtifact = (EarArtifactDescriptor) artifact;
+ assert artifact.getExplodedJar().list().length == 4;
+ File currentPackage = getCurrentPackageAsFile(earArtifact.getEjbJar().getExplodedJar());
+ assert new File(currentPackage, "Cow.class").isFile();
+ assert new File(currentPackage, "DummyTest.class").isFile();
+ assert new File(currentPackage, "Fox.class").isFile();
+ }
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/DeclarativeEarTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/DummyTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/DummyTest.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/DummyTest.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.test.impl.packaging.declarative.ear;
+
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.jboss.jsr299.tck.impl.packaging.IntegrationTest;
+import org.jboss.jsr299.tck.impl.packaging.Packaging;
+import org.jboss.jsr299.tck.impl.packaging.PackagingType;
+
+
+ at Artifact
+ at IntegrationTest
+ at Packaging(PackagingType.EAR)
+class DummyTest
+{
+
+ public void test()
+ {
+ assert true;
+ }
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/DummyTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/Fox.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/Fox.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/Fox.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.test.impl.packaging.declarative.ear;
+
+class Fox
+{
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/declarative/ear/Fox.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/Cow.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/Cow.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/Cow.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.test.impl.packaging.descriptors.ear;
+
+class Cow
+{
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/Cow.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/DummyTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/DummyTest.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/DummyTest.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.test.impl.packaging.descriptors.ear;
+
+public class DummyTest
+{
+
+}
Property changes on: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/DummyTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/EarArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/EarArtifactTest.java (rev 0)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/EarArtifactTest.java 2009-02-16 22:19:44 UTC (rev 1552)
@@ -0,0 +1,148 @@
+package org.jboss.jsr299.tck.test.impl.packaging.descriptors.ear;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FilenameFilter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.jar.JarEntry;
+import java.util.jar.JarInputStream;
+
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.ear.EarArtifactDescriptor;
+import org.jboss.jsr299.tck.test.impl.packaging.AbstractArtifactTest;
+import org.testng.annotations.Test;
+
+public class EarArtifactTest extends AbstractArtifactTest
+{
+ @Test
+ public void testDefaultEar() throws Exception
+ {
+ EarArtifactDescriptor ear = new EarArtifactDescriptor(DummyTest.class, null);
+ ear.getClasses().add(Cow.class);
+ File root = ear.getExplodedJar();
+ assert root.isDirectory();
+ assert root.listFiles().length == 4;
+
+ File warRoot = ear.getWar().getExplodedJar();
+ assert warRoot.listFiles().length == 1;
+ assert warRoot.isDirectory();
+ assert warRoot.listFiles(WEB_INF_FILTER).length == 1;
+ File webInf = warRoot.listFiles(WEB_INF_FILTER)[0];
+ assert webInf.getName().equals("WEB-INF");
+ assert webInf.isDirectory();
+ assert webInf.listFiles().length == 1;
+ 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;
+ assert !new File(webInf, "web-beans.xml").exists();
+
+ File webInfLib = new File(webInf, "lib");
+ assert !webInfLib.exists();
+
+ File webInfClasses = new File(webInf, "classes");
+ assert !webInfClasses.exists();
+
+ File ejbJar = new File(root, DummyTest.class.getName() + ".jar");
+ assert ejbJar.exists();
+ assert ejbJar.length() > 0;
+
+ File war = new File(root, DummyTest.class.getName() + ".war");
+ assert war.exists();
+ assert war.length() > 0;
+
+ File lib = new File(root, "lib");
+ assert lib.isDirectory();
+ assert lib.list().length == 3;
+ List<String> libs = Arrays.asList(lib.list());
+ assert libs.contains("jsr-299-tck-api.jar");
+ assert libs.contains("testng.jar");
+ assert libs.contains("tck-support.jar");
+
+ File metaInf = new File(root, "META-INF");
+ assert metaInf.isDirectory();
+ assert metaInf.list().length == 3;
+ List<String> metaInfs = Arrays.asList(metaInf.list());
+ assert metaInfs.contains("application.xml");
+ assert metaInfs.contains("web-beans-tck.properties");
+ assert metaInfs.contains("web-beans.xml");
+
+
+
+ File applicationXml = new File(metaInf, "application.xml");
+ assert applicationXml.length() > 0;
+
+ File ejbJarRoot = ear.getEjbJar().getExplodedJar();
+
+ File ejbJarXml = new File(ejbJarRoot, "META-INF/ejb-jar.xml");
+ assert ejbJarXml.isFile();
+ assert ejbJarXml.length() > 0;
+
+ File currentPackage = getCurrentPackageAsFile(ejbJarRoot);
+ 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 tckPackage = getPackageAsFile(AbstractDeclarativeTest.class.getPackage(), ejbJarRoot);
+ File[] abstractTestClasses = tckPackage.listFiles(new FilenameFilter()
+ {
+
+ public boolean accept(File dir, String name)
+ {
+ return name.equals("AbstractTest.class");
+ }
+
+ });
+
+
+ }
+
+ @Test
+ public void testJarProduction() throws Exception
+ {
+ EarArtifactDescriptor ear = new EarArtifactDescriptor(DummyTest.class, null);
+ ear.getClasses().add(Cow.class);
+ JarInputStream is = new JarInputStream(ear.getJarAsStream());
+ JarEntry entry;
+ List<String> fileNames = new ArrayList<String>();
+ while ((entry = is.getNextJarEntry()) != null)
+ {
+ fileNames.add(entry.getName().replace(File.separator, "/"));
+ }
+ is.close();
+ assert fileNames.contains("META-INF/application.xml");
+ assert fileNames.contains("META-INF/web-beans.xml");
+ assert fileNames.contains("META-INF/web-beans-tck.properties");
+ assert fileNames.contains("lib/tck-support.jar");
+ assert fileNames.contains(DummyTest.class.getName() + ".jar");
+ assert fileNames.contains(DummyTest.class.getName() + ".war");
+
+
+ File ejbJar = new File(ear.getExplodedJar(), DummyTest.class.getName() + ".jar");
+ assert ejbJar.exists();
+ assert ejbJar.isFile();
+ assert ejbJar.length() > 0;
+ is = new JarInputStream(new FileInputStream(ejbJar));
+ fileNames = new ArrayList<String>();
+ while ((entry = is.getNextJarEntry()) != null)
+ {
+ fileNames.add(entry.getName().replace(File.separator, "/"));
+ }
+ is.close();
+ assert fileNames.contains("META-INF/ejb-jar.xml");
+ assert fileNames.contains("org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/Cow.class");
+ }
+
+}
+
Property changes on: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/ear/EarArtifactTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
More information about the weld-commits
mailing list