[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