[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