[jboss-cvs] JBossAS SVN: r101738 - in projects/jboss-classpool/trunk: classpool and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Mar 2 16:13:44 EST 2010
Author: flavia.rainone at jboss.com
Date: 2010-03-02 16:13:43 -0500 (Tue, 02 Mar 2010)
New Revision: 101738
Modified:
projects/jboss-classpool/trunk/
projects/jboss-classpool/trunk/classpool/
projects/jboss-classpool/trunk/classpool/pom.xml
projects/jboss-classpool/trunk/jbosscl/
projects/jboss-classpool/trunk/jbosscl/pom.xml
projects/jboss-classpool/trunk/jbosscl/src/main/java/org/jboss/classpool/plugins/jbosscl/ToClassInvoker.java
projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/SupportArchives.java
projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/TestVFSClassLoaderPolicyModule.java
projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTest.java
projects/jboss-classpool/trunk/pom.xml
projects/jboss-classpool/trunk/scopedpool/
projects/jboss-classpool/trunk/ucl/
Log:
[JBREFLECT-98] Integrated VFS3
Property changes on: projects/jboss-classpool/trunk
___________________________________________________________________
Name: svn:ignore
- target
.classpath
.project
.settings
bin
+ target
.classpath
.project
.settings
bin
PROFILE
Property changes on: projects/jboss-classpool/trunk/classpool
___________________________________________________________________
Name: svn:ignore
+ target
Modified: projects/jboss-classpool/trunk/classpool/pom.xml
===================================================================
--- projects/jboss-classpool/trunk/classpool/pom.xml 2010-03-02 21:07:29 UTC (rev 101737)
+++ projects/jboss-classpool/trunk/classpool/pom.xml 2010-03-02 21:13:43 UTC (rev 101738)
@@ -77,7 +77,7 @@
<artifactId>jboss-common-core</artifactId>
</dependency>
<dependency>
- <groupId>jboss</groupId>
+ <groupId>org.jboss.test</groupId>
<artifactId>jboss-test</artifactId>
</dependency>
<dependency>
Property changes on: projects/jboss-classpool/trunk/jbosscl
___________________________________________________________________
Name: svn:ignore
+ target
Modified: projects/jboss-classpool/trunk/jbosscl/pom.xml
===================================================================
--- projects/jboss-classpool/trunk/jbosscl/pom.xml 2010-03-02 21:07:29 UTC (rev 101737)
+++ projects/jboss-classpool/trunk/jbosscl/pom.xml 2010-03-02 21:13:43 UTC (rev 101738)
@@ -75,7 +75,7 @@
<artifactId>jboss-kernel</artifactId>
</dependency>
<dependency>
- <groupId>jboss</groupId>
+ <groupId>org.jboss.test</groupId>
<artifactId>jboss-test</artifactId>
</dependency>
<dependency>
Modified: projects/jboss-classpool/trunk/jbosscl/src/main/java/org/jboss/classpool/plugins/jbosscl/ToClassInvoker.java
===================================================================
--- projects/jboss-classpool/trunk/jbosscl/src/main/java/org/jboss/classpool/plugins/jbosscl/ToClassInvoker.java 2010-03-02 21:07:29 UTC (rev 101737)
+++ projects/jboss-classpool/trunk/jbosscl/src/main/java/org/jboss/classpool/plugins/jbosscl/ToClassInvoker.java 2010-03-02 21:13:43 UTC (rev 101738)
@@ -31,7 +31,9 @@
import org.jboss.classloading.spi.RealClassLoader;
import org.jboss.logging.Logger;
-import org.jboss.virtual.plugins.context.memory.MemoryContextFactory;
+import org.jboss.vfs.VFS;
+import org.jboss.vfs.VFSUtils;
+import org.jboss.vfs.VirtualFile;
/**
*
@@ -79,8 +81,8 @@
out.close();
byte[] classBytes = byteout.toByteArray();
- MemoryContextFactory factory = MemoryContextFactory.getInstance();
- factory.putFile(outputURL, classBytes);
+ VirtualFile classFile = VFS.getChild(outputURL);
+ VFSUtils.writeFile(classFile, classBytes);
if (myloader instanceof RealClassLoader)
{
Modified: projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/SupportArchives.java
===================================================================
--- projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/SupportArchives.java 2010-03-02 21:07:29 UTC (rev 101737)
+++ projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/SupportArchives.java 2010-03-02 21:13:43 UTC (rev 101738)
@@ -114,6 +114,18 @@
public final static URL PARENT_JAR_URL = getURL(PARENT_JAR);
public final static URL CHILD_JAR_URL = getURL(CHILD_JAR);
+ private static final URL[] ALL_ARCHIVES = new URL[]{JAR_A_URL, JAR_B_URL, JAR_C_URL,
+ JAR_D_URL, SIMPLE_JAR_URL, SIMPLE_SAR_URL, EJB_JAR_URL, getURL(SIMPLE_WAR),
+ getURL(SIMPLE_EAR), SIMPLE_EAR_WAR1_URL, SIMPLE_EAR_WAR2_URL, getURL(TOP_EAR),
+ getURL(WAR_IN_EAR), WAR_IN_EAR_WAR_URL, getURL(JAR_IN_EAR),
+ SERVLET_JAR_URL, getURL(PTD_EAR), PTD_JSF_WAR_URL, PTD_WS_WAR_URL,
+ PARENT_JAR_URL, CHILD_JAR_URL};
+
+ public static URL[] getAllArchives()
+ {
+ return ALL_ARCHIVES;
+ }
+
/** Returns the relative URL to the project root */
private static URL getURL(String relativePath)
{
Modified: projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/TestVFSClassLoaderPolicyModule.java
===================================================================
--- projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/TestVFSClassLoaderPolicyModule.java 2010-03-02 21:07:29 UTC (rev 101737)
+++ projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/TestVFSClassLoaderPolicyModule.java 2010-03-02 21:13:43 UTC (rev 101738)
@@ -21,7 +21,7 @@
*/
package org.jboss.test.classpool.jbosscl.support;
-import java.io.IOException;
+import java.io.Closeable;
import java.net.URI;
import java.net.URL;
import java.util.HashMap;
@@ -29,13 +29,16 @@
import java.util.ListIterator;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.concurrent.Executors;
import org.jboss.classloading.spi.vfs.dependency.VFSClassLoaderPolicyModule;
import org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory;
import org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy;
import org.jboss.util.id.GUID;
-import org.jboss.virtual.MemoryFileFactory;
-import org.jboss.virtual.VirtualFile;
+import org.jboss.vfs.TempFileProvider;
+import org.jboss.vfs.VFS;
+import org.jboss.vfs.VFSUtils;
+import org.jboss.vfs.VirtualFile;
/**
* VFSClassLoaderPolicyModule used by tests.
@@ -52,6 +55,7 @@
/** In AS we need a URL to create the temporary files */
URL dynamicClassRoot;
VirtualFile classes;
+ Closeable tempDirectoryHandle;
private List<String> excludedRoots;
public TestVFSClassLoaderPolicyModule(VFSClassLoaderFactory classLoadingMetaData, String contextName)
@@ -60,6 +64,14 @@
super(classLoadingMetaData, contextName);
}
+
+ @Override
+ public void reset()
+ {
+ super.reset();
+ VFSUtils.safeClose(tempDirectoryHandle);
+ }
+
public void setExcludedRoots(List<String> excludedRoots)
{
this.excludedRoots = excludedRoots;
@@ -141,7 +153,7 @@
try
{
URI uri = new URI(root);
- vfsRoots[i] = getVirtualFile(uri);
+ vfsRoots[i] = VFS.getChild(uri);
}
catch (RuntimeException e)
{
@@ -161,8 +173,9 @@
{
try
{
- dynamicClassRoot = new URL("vfsmemory", GUID.asString(), "");
- classes = MemoryFileFactory.createRoot(dynamicClassRoot).getRoot();
+ classes = VFS.getChild("/" + GUID.asString());
+ tempDirectoryHandle = VFS.mountTemp(classes, TempFileProvider.create("classes", Executors.newScheduledThreadPool(2)));
+ dynamicClassRoot = classes.toURL();
}
catch (Exception e)
{
@@ -225,21 +238,15 @@
{
int archiveIndex = path.indexOf('.');
int lastSlash = archiveIndex > 0? path.indexOf('/', archiveIndex): -1;
- try
+ if (lastSlash > 0)
{
- if (lastSlash > 0)
- {
- file = file.getChild(path.substring(0, lastSlash));
- path = path.substring(lastSlash + 1);
- }
- else
- {
- file = file.getChild(path);
- path = null;
- }
- } catch (IOException e)
+ file = file.getChild(path.substring(0, lastSlash));
+ path = path.substring(lastSlash + 1);
+ }
+ else
{
- throw new RuntimeException("Can't find path " + path + " on root " + file, e);
+ file = file.getChild(path);
+ path = null;
}
} while(path != null);
paths[pathIndex] = file;
Modified: projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTest.java
===================================================================
--- projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTest.java 2010-03-02 21:07:29 UTC (rev 101737)
+++ projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTest.java 2010-03-02 21:13:43 UTC (rev 101738)
@@ -21,7 +21,15 @@
*/
package org.jboss.test.classpool.jbosscl.test;
+import java.io.Closeable;
+import java.io.File;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.LinkedList;
+import java.util.List;
import java.util.Set;
+import java.util.concurrent.Executors;
import junit.framework.Test;
@@ -34,10 +42,14 @@
import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
import org.jboss.test.classpool.jbosscl.support.JBossCLFactory;
import org.jboss.test.classpool.jbosscl.support.MicrocontainerFacade;
+import org.jboss.test.classpool.jbosscl.support.SupportArchives;
import org.jboss.test.classpool.support.ClassLoaderFactory;
import org.jboss.test.classpool.support.TestScenario;
import org.jboss.test.kernel.junit.MicrocontainerTest;
-import org.jboss.virtual.VFS;
+import org.jboss.vfs.TempFileProvider;
+import org.jboss.vfs.VFS;
+import org.jboss.vfs.VFSUtils;
+import org.jboss.vfs.VirtualFile;
/**
* Base class for testing the JBossClDelegatingClassPools.
@@ -85,21 +97,43 @@
protected abstract TestScenario<C, L, CLDeploymentBuilder> getTestScenario();
+ private final List<Closeable> mountHandles = new LinkedList<Closeable>();
+
@Override
protected void setUp() throws Exception
{
super.setUp();
- VFS.init();
+ mountJars(SupportArchives.getAllArchives());
+ mountDirs(SupportArchives.EXCLUDED_CLASSPATH_URL);
// excluding class that knows how to load from system classloader
Set<Class<?>> excluded = AbstractJDKChecker.getExcluded();
excluded.add(TestScenario.class);
system = (ClassLoaderSystem) getBean("ClassLoaderSystem");
this.testScenario = getTestScenario();
}
+
+ protected void mountJars(URL... jarUrls) throws IOException, URISyntaxException
+ {
+ TempFileProvider tempFileProvider = TempFileProvider.create("test", Executors.newScheduledThreadPool(2));
+ for(URL jarUrl : jarUrls)
+ {
+ VirtualFile jarFile = VFS.getChild(jarUrl);
+ mountHandles.add(VFS.mountZip(jarFile, jarFile, tempFileProvider));
+ }
+ }
+ protected void mountDirs(URL... dirUrls) throws IOException, URISyntaxException
+ {
+ for(URL dirUrl : dirUrls)
+ {
+ VirtualFile dirFile = VFS.getChild(dirUrl);
+ mountHandles.add(VFS.mountReal(new File(dirUrl.toURI()), dirFile));
+ }
+ }
@Override
protected void tearDown() throws Exception
{
+ VFSUtils.safeClose(mountHandles);
try
{
this.testScenario.destroyLoaders();
Modified: projects/jboss-classpool/trunk/pom.xml
===================================================================
--- projects/jboss-classpool/trunk/pom.xml 2010-03-02 21:07:29 UTC (rev 101737)
+++ projects/jboss-classpool/trunk/pom.xml 2010-03-02 21:13:43 UTC (rev 101738)
@@ -28,15 +28,15 @@
<properties>
<version.javassist>3.11.0.GA</version.javassist>
<version.org.jboss.common>2.2.17.GA</version.org.jboss.common>
- <version.org.jboss.logging>2.1.1.GA</version.org.jboss.logging>
- <version.org.jboss.mdr>2.0.2.GA</version.org.jboss.mdr>
+ <version.org.jboss.logging>2.2.0.CR1</version.org.jboss.logging>
+ <version.org.jboss.mdr>2.2.0.Alpha1</version.org.jboss.mdr>
<version.org.jboss.jmx>6.0.0.M1</version.org.jboss.jmx>
- <version.org.jboss.vfs>2.2.0.Alpha2</version.org.jboss.vfs>
+ <version.org.jboss.vfs>3.0.0.CR1</version.org.jboss.vfs>
<version.org.jboss.man>2.1.1.SP1</version.org.jboss.man>
- <version.org.jboss.cl>2.0.8.GA</version.org.jboss.cl>
- <version.org.jboss.kernel>2.2.0.Alpha5</version.org.jboss.kernel>
- <version.org.jboss.deployers>2.0.9.GA</version.org.jboss.deployers>
- <version.org.jboss.test>1.0.5.GA</version.org.jboss.test>
+ <version.org.jboss.cl>2.2.0.Alpha3</version.org.jboss.cl>
+ <version.org.jboss.kernel>2.2.0.Alpha7</version.org.jboss.kernel>
+ <version.org.jboss.deployers>2.2.0.Alpha3</version.org.jboss.deployers>
+ <version.org.jboss.test>1.1.1.GA</version.org.jboss.test>
<version.junit>3.8</version.junit>
<version.jaxb>2.1.9</version.jaxb>
</properties>
@@ -281,7 +281,7 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>jboss</groupId>
+ <groupId>org.jboss.test</groupId>
<artifactId>jboss-test</artifactId>
<version>${version.org.jboss.test}</version>
<scope>test</scope>
Property changes on: projects/jboss-classpool/trunk/scopedpool
___________________________________________________________________
Name: svn:ignore
+ target
Property changes on: projects/jboss-classpool/trunk/ucl
___________________________________________________________________
Name: svn:ignore
+ target
More information about the jboss-cvs-commits
mailing list