[jboss-cvs] JBossAS SVN: r83779 - in projects/vfs/trunk/src: test/java/org/jboss/test/virtual/test and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Feb 2 09:32:30 EST 2009
Author: alesj
Date: 2009-02-02 09:32:30 -0500 (Mon, 02 Feb 2009)
New Revision: 83779
Modified:
projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/copy/AbstractCopyMechanism.java
projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/copy/TempContext.java
projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileCleanupUnitTestCase.java
Log:
Add new temp lookup/cleanup tests.
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/copy/AbstractCopyMechanism.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/copy/AbstractCopyMechanism.java 2009-02-02 14:22:39 UTC (rev 83778)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/copy/AbstractCopyMechanism.java 2009-02-02 14:32:30 UTC (rev 83779)
@@ -34,11 +34,11 @@
import org.jboss.logging.Logger;
import org.jboss.util.id.GUID;
+import org.jboss.virtual.VFSUtils;
import org.jboss.virtual.VirtualFile;
-import org.jboss.virtual.VFSUtils;
import org.jboss.virtual.plugins.context.DelegatingHandler;
+import org.jboss.virtual.plugins.context.file.FileSystemContext;
import org.jboss.virtual.plugins.context.temp.BasicTempInfo;
-import org.jboss.virtual.plugins.context.file.FileSystemContext;
import org.jboss.virtual.spi.ExceptionHandler;
import org.jboss.virtual.spi.VFSContext;
import org.jboss.virtual.spi.VirtualFileHandler;
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/copy/TempContext.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/copy/TempContext.java 2009-02-02 14:22:39 UTC (rev 83778)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/copy/TempContext.java 2009-02-02 14:32:30 UTC (rev 83779)
@@ -27,6 +27,7 @@
import org.jboss.virtual.plugins.context.file.FileSystemContext;
import org.jboss.virtual.spi.VFSContext;
+import org.jboss.virtual.spi.TempInfo;
/**
* Temp context;
@@ -46,9 +47,21 @@
super(file);
this.oldContext = oldContext;
this.relativePath = relativePath;
+ if (relativePath.endsWith("/") == false)
+ this.relativePath += "/";
}
@Override
+ public TempInfo getTempInfo(String path)
+ {
+ TempInfo tempInfo = super.getTempInfo(path);
+ if (tempInfo != null)
+ return tempInfo;
+
+ return oldContext.getTempInfo(relativePath + path);
+ }
+
+ @Override
public void cleanupTempInfo(String path)
{
// this path should be ""?
Modified: projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileCleanupUnitTestCase.java
===================================================================
--- projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileCleanupUnitTestCase.java 2009-02-02 14:22:39 UTC (rev 83778)
+++ projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileCleanupUnitTestCase.java 2009-02-02 14:32:30 UTC (rev 83779)
@@ -23,6 +23,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.FilenameFilter;
import java.lang.reflect.Field;
import java.net.URI;
import java.net.URL;
@@ -125,18 +126,35 @@
{
File dir = new File(tempDir, "vfs-nested.tmp");
File[] files = dir.listFiles();
- assertNotNull(files);
- assertEquals(size, files.length);
+ if (dir.exists())
+ {
+ assertEquals(size, files.length);
+ }
+ else if (size == 0)
+ {
+ assertNull(files);
+ }
+ else
+ {
+ fail("Illegal dir: " + dir);
+ }
}
protected void assertCopyMechanismFiles(int size) throws Exception
{
- File[] files = tempDir.listFiles();
+ File[] files = tempDir.listFiles(new FilenameFilter()
+ {
+ public boolean accept(File dir, String name)
+ {
+ return name.contains("vfs-nested.tmp") == false;
+ }
+ });
assertNotNull(files);
int counter = 0;
for (File dir : files)
{
- counter += dir.listFiles().length;
+ File[] realFiles = dir.listFiles();
+ counter += realFiles.length;
}
assertEquals(size, counter);
}
@@ -195,4 +213,51 @@
root.cleanup();
assertNoRegistryEntry(root.toURI());
}
+
+ public void test3Levels() throws Exception
+ {
+ URL url = getResource("/vfs/test");
+ VFS root = VFS.getVFS(url);
+
+ VirtualFile ear = root.getChild("level1.zip");
+ VirtualFile earCopy = VFSUtils.temp(ear);
+
+ VirtualFile l3 = ear.getChild("level2.zip/level3.zip/test3.txt");
+ assertNotNull(l3);
+ assertTempFiles(2);
+
+ VirtualFile l3copy = earCopy.getChild("level2.zip/level3.zip/test3.txt");
+ assertNotNull(l3copy);
+ assertCopyMechanismFiles(1);
+
+ earCopy.cleanup();
+
+ assertTempFiles(0);
+ assertCopyMechanismFiles(0);
+ }
+
+ public void testDirectURLUsage() throws Exception
+ {
+ URL url = getResource("/vfs/test");
+ VFS root = VFS.getVFS(url);
+
+ VirtualFile ear = root.getChild("level1.zip");
+ assertTempFiles(0);
+ VirtualFile earCopy = VFSUtils.temp(ear);
+
+ VirtualFile l3 = earCopy.getChild("level2.zip/level3.zip/test3.txt");
+ assertNotNull(l3);
+ assertCopyMechanismFiles(1);
+
+ url = new URL(root.getRoot().toURL().toExternalForm() + "level1.zip/level2.zip/level3.zip/test3.txt");
+ VirtualFile l3url = VFS.getRoot(url);
+
+ assertEquals(l3, l3url);
+ assertTempFiles(2);
+ assertCopyMechanismFiles(1);
+
+ earCopy.cleanup();
+
+ assertCopyMechanismFiles(0);
+ }
}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list