[jboss-cvs] JBossAS SVN: r91901 - projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jul 31 18:15:44 EDT 2009
Author: david.lloyd at jboss.com
Date: 2009-07-31 18:15:44 -0400 (Fri, 31 Jul 2009)
New Revision: 91901
Modified:
projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/FileSystem.java
projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/JZipFileSystem.java
projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/JavaZipFileSystem.java
projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/RealFileSystem.java
Log:
Fix NPE in getDirectoryEntries
Modified: projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/FileSystem.java
===================================================================
--- projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/FileSystem.java 2009-07-31 21:46:58 UTC (rev 91900)
+++ projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/FileSystem.java 2009-07-31 22:15:44 UTC (rev 91901)
@@ -121,7 +121,8 @@
boolean isDirectory(VirtualFile mountPoint, VirtualFile target) throws IOException;
/**
- * Read a directory. Returns all the simple path names (excluding "." and "..").
+ * Read a directory. Returns all the simple path names (excluding "." and ".."). The returned list will be
+ * empty if the node is not a directory.
*
* @param mountPoint the mount point of the filesystem instance (guaranteed to be a parent of {@code target})
* @param target the virtual file to act upon
Modified: projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/JZipFileSystem.java
===================================================================
--- projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/JZipFileSystem.java 2009-07-31 21:46:58 UTC (rev 91900)
+++ projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/JZipFileSystem.java 2009-07-31 22:15:44 UTC (rev 91901)
@@ -44,6 +44,7 @@
import java.util.Collection;
import java.util.HashMap;
import java.util.ArrayList;
+import java.util.Collections;
/**
* {@inheritDoc}
@@ -202,6 +203,9 @@
{
final ZipNode zipNode = getExistingZipNode(mountPoint, target);
final Map<String, ZipNode> children = zipNode.children;
+ if (children == null) {
+ return Collections.emptyList();
+ }
final Collection<ZipNode> values = children.values();
final List<String> names = new ArrayList<String>(values.size());
for (ZipNode node : values)
Modified: projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/JavaZipFileSystem.java
===================================================================
--- projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/JavaZipFileSystem.java 2009-07-31 21:46:58 UTC (rev 91900)
+++ projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/JavaZipFileSystem.java 2009-07-31 22:15:44 UTC (rev 91901)
@@ -42,6 +42,7 @@
import java.util.Enumeration;
import java.util.Collection;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.zip.ZipFile;
import java.util.zip.ZipEntry;
@@ -209,6 +210,9 @@
{
final ZipNode zipNode = getExistingZipNode(mountPoint, target);
final Map<String, ZipNode> children = zipNode.children;
+ if (children == null) {
+ return Collections.emptyList();
+ }
final Collection<ZipNode> values = children.values();
final List<String> names = new ArrayList<String>(values.size());
for (ZipNode node : values)
Modified: projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/RealFileSystem.java
===================================================================
--- projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/RealFileSystem.java 2009-07-31 21:46:58 UTC (rev 91900)
+++ projects/vfs/branches/dml-zip-rework/src/main/java/org/jboss/virtual/spi/RealFileSystem.java 2009-07-31 22:15:44 UTC (rev 91901)
@@ -30,6 +30,7 @@
import java.io.FileInputStream;
import java.util.List;
import java.util.Arrays;
+import java.util.Collections;
/**
* A real filesystem.
@@ -109,7 +110,8 @@
/** {@inheritDoc} */
public List<String> getDirectoryEntries(VirtualFile mountPoint, VirtualFile target) throws IOException
{
- return Arrays.asList(getFile(mountPoint, target).list());
+ final String[] names = getFile(mountPoint, target).list();
+ return names == null ? Collections.<String>emptyList() : Arrays.asList(names);
}
/** {@inheritDoc} */
More information about the jboss-cvs-commits
mailing list