[jboss-cvs] JBossAS SVN: r62196 - in trunk/embedded: docs/tutorial/junit and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Apr 9 22:00:53 EDT 2007


Author: bill.burke at jboss.com
Date: 2007-04-09 22:00:53 -0400 (Mon, 09 Apr 2007)
New Revision: 62196

Added:
   trunk/embedded/docs/tutorial/junit/.classpath
   trunk/embedded/docs/tutorial/junit/.project
Modified:
   trunk/embedded/build.xml
   trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/EjbTestCase.java
   trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java
   trunk/embedded/src/main/java/org/jboss/embedded/DeploymentGroup.java
Log:
expand tomcat tutorial

Modified: trunk/embedded/build.xml
===================================================================
--- trunk/embedded/build.xml	2007-04-10 01:56:31 UTC (rev 62195)
+++ trunk/embedded/build.xml	2007-04-10 02:00:53 UTC (rev 62196)
@@ -459,7 +459,13 @@
             <include name="**"/>
             <exclude name="**/.svn/**"/>
             <exclude name="**/*.wiki"/>
+            <exclude name="docs/tutorial/junit/.project"/>
+            <exclude name="docs/tutorial/junit/.classpath"/>
          </zipfileset>
+         <zipfileset dir="docs/tutorial/junit" prefix="${embedded.version}">
+            <include name=".project"/>
+            <include name=".classpath"/>
+         </zipfileset>
          <zipfileset dir="../testsuite/src" prefix="${embedded.version}/docs/tutorial/junit/ide">
             <include name="stylesheets/**"/>
          </zipfileset>

Added: trunk/embedded/docs/tutorial/junit/.classpath
===================================================================
--- trunk/embedded/docs/tutorial/junit/.classpath	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/.classpath	2007-04-10 02:00:53 UTC (rev 62196)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="docs/tutorial/junit/ide/src/main/java"/>
+	<classpathentry kind="src" path="bootstrap"/>
+	<classpathentry kind="src" path="docs/tutorial/junit/ide/src/main/resources"/>
+	<classpathentry kind="src" path="docs/tutorial/junit/ide/src/test/java"/>
+	<classpathentry kind="lib" path="lib/hibernate-all.jar"/>
+	<classpathentry kind="lib" path="lib/jboss-embedded-all.jar"/>
+	<classpathentry kind="lib" path="lib/jboss-embedded-tomcat-bootstrap.jar"/>
+	<classpathentry kind="lib" path="lib/thirdparty-all.jar"/>
+	<classpathentry kind="lib" path="optional-lib/jboss-test.jar"/>
+	<classpathentry kind="lib" path="optional-lib/junit.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="output" path="docs/tutorial/junit/ide/output"/>
+</classpath>

Added: trunk/embedded/docs/tutorial/junit/.project
===================================================================
--- trunk/embedded/docs/tutorial/junit/.project	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/.project	2007-04-10 02:00:53 UTC (rev 62196)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>embedded-jboss</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Modified: trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/EjbTestCase.java
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/EjbTestCase.java	2007-04-10 01:56:31 UTC (rev 62195)
+++ trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/EjbTestCase.java	2007-04-10 02:00:53 UTC (rev 62196)
@@ -124,6 +124,7 @@
    protected void setUp() throws Exception
    {
       if (globalSetup) return;
+      Bootstrap.getInstance().bootstrap();
       deploy();
    }
 

Modified: trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java
===================================================================
--- trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java	2007-04-10 01:56:31 UTC (rev 62195)
+++ trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java	2007-04-10 02:00:53 UTC (rev 62196)
@@ -41,6 +41,7 @@
 import java.net.MalformedURLException;
 import java.io.IOException;
 import java.util.List;
+import java.util.Enumeration;
 
 /**
  * Basic bootstrap class for embeddable JBoss
@@ -271,18 +272,18 @@
    }
 
    /**
-    * Deploy a URL pointing to the classpath the resource is located in.
+    * Deploy the classpath directories or .jar files a classloader resource is located in.
+    * ClassLoader.getResources() is used to find the base resources.
     *
     * i.e.
     *
-    * classpath is "/home/wburke/lib/tutorial.jar"
-    * tutorial.jar has "META-INF/persistence.xml" resource within it.
+    * classpath is "/home/wburke/lib/tutorial.jar:/home/wburke/lib/pu.jar"
+    * tutorial.jar and pu.jar has "META-INF/persistence.xml" resource within it.
     *
-    * addResourceBase("META-INF/persistence.xml") will try and deploy tutorial.jar
+    * addResourceBases("META-INF/persistence.xml") will try and deploy tutorial.jar  and pu.jar because
+    * the both have the META-INF/persistence.xml resource within them.
     *
-    * classloader.getResource("META-INF/persistence.xml") is used to determine the base location
     *
-    *
     * @param baseResource
     * @throws DeploymentException
     */
@@ -294,6 +295,19 @@
    }
 
    /**
+    *
+    *
+    * @param baseResource
+    * @throws DeploymentException
+    */
+   public void deployResourceBases(String baseResource) throws DeploymentException
+   {
+      DeploymentGroup group = createDeploymentGroup();
+      group.addResourceBases(baseResource);
+      group.process();
+   }
+
+   /**
     * Find the .class resource of the given class
     * Deploy a URL pointing to the classpath the resource is located in.
     *
@@ -394,6 +408,12 @@
       if (loader != null) classLoader = loader;
       URL url = classLoader.getResource(baseResource);
       if (url == null) throw new RuntimeException("Could not find baseResource: " + baseResource);
+      undeployResourceBase(url, baseResource);
+   }
+
+   private void undeployResourceBase(URL url, String baseResource)
+           throws DeploymentException
+   {
       String urlString = url.toString();
       int idx = urlString.lastIndexOf(baseResource);
       urlString = urlString.substring(0, idx);
@@ -409,6 +429,26 @@
       undeploy(deployUrl);
    }
 
+   public void undeployResourceBases(String baseResource) throws DeploymentException
+   {
+      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+      if (loader != null) classLoader = loader;
+      try
+      {
+         Enumeration<URL> urls = loader.getResources(baseResource);
+         while (urls.hasMoreElements())
+         {
+            URL url = urls.nextElement();
+            undeployResourceBase(url, baseResource);
+         }
+      }
+      catch (IOException e)
+      {
+         throw new RuntimeException(e);
+      }
+
+   }
+
    /**
     * opposite of deployResourceBase()
     *

Modified: trunk/embedded/src/main/java/org/jboss/embedded/DeploymentGroup.java
===================================================================
--- trunk/embedded/src/main/java/org/jboss/embedded/DeploymentGroup.java	2007-04-10 01:56:31 UTC (rev 62195)
+++ trunk/embedded/src/main/java/org/jboss/embedded/DeploymentGroup.java	2007-04-10 02:00:53 UTC (rev 62196)
@@ -330,7 +330,7 @@
    }
 
    /**
-    * Return a URL pointing to the classpath the resource is located in.
+    * Deploy the classpath directory or .jar file a classloader resource is located in.
     *
     * i.e.
     *
@@ -349,6 +349,14 @@
       if (classLoader != null) loader = classLoader;
       URL url = loader.getResource(baseResource);
       if (url == null) throw new RuntimeException("Could not find baseResource: " + baseResource);
+      addBaseResource(url, baseResource);
+
+
+   }
+
+   protected void addBaseResource(URL url, String baseResource)
+           throws DeploymentException
+   {
       String urlString = url.toString();
       int idx = urlString.lastIndexOf(baseResource);
       urlString = urlString.substring(0, idx);
@@ -362,10 +370,45 @@
          throw new RuntimeException(e);
       }
       add(deployUrl);
+   }
 
-
+   /**
+    * Deploy the classpath directories or .jar files a classloader resource is located in.
+    * ClassLoader.getResources() is used to find the base resources.
+    *
+    * i.e.
+    *
+    * classpath is "/home/wburke/lib/tutorial.jar:/home/wburke/lib/pu.jar"
+    * tutorial.jar and pu.jar has "META-INF/persistence.xml" resource within it.
+    *
+    * addResourceBases("META-INF/persistence.xml") will try and deploy tutorial.jar  and pu.jar because
+    * the both have the META-INF/persistence.xml resource within them.
+    *
+    *
+    * @param baseResource
+    * @throws DeploymentException
+    */
+   public void addResourceBases(String baseResource) throws DeploymentException
+   {
+      ClassLoader loader = Thread.currentThread().getContextClassLoader();
+      if (classLoader != null) loader = classLoader;
+      try
+      {
+         Enumeration<URL> urls = loader.getResources(baseResource);
+         while (urls.hasMoreElements())
+         {
+            URL url = urls.nextElement();
+            addBaseResource(url, baseResource);
+         }
+      }
+      catch (IOException e)
+      {
+         throw new RuntimeException(e);
+      }
    }
 
+
+
    /**
     * Find the .class file resource of provided class
     * Return a URL pointing to the classpath the resource is located in.




More information about the jboss-cvs-commits mailing list