Index: src/uk/ac/gla/terrier/utility/io/HadoopPlugin.java
===================================================================
RCS file: /usr/local/cvs/javair/terrier/src/uk/ac/gla/terrier/utility/io/HadoopPlugin.java,v
retrieving revision 1.3
diff -u -r1.3 HadoopPlugin.java
--- src/uk/ac/gla/terrier/utility/io/HadoopPlugin.java	28 Jan 2009 20:17:02 -0000	1.3
+++ src/uk/ac/gla/terrier/utility/io/HadoopPlugin.java	28 Jan 2009 21:22:59 -0000
@@ -41,6 +41,7 @@
 import org.apache.hadoop.fs.FSDataInputStream;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.permission.FsAction;
+import org.apache.hadoop.fs.FileStatus;
 
 import uk.ac.gla.terrier.utility.ApplicationSetup;
 import uk.ac.gla.terrier.utility.Files;
@@ -519,7 +520,8 @@
 			/** capabilities of the filesystem */
 			public byte capabilities() 
 			{
-				return FSCapability.READ | FSCapability.WRITE | FSCapability.RANDOM_READ | FSCapability.STAT | FSCapability.DEL_ON_EXIT;
+				return FSCapability.READ | FSCapability.WRITE | FSCapability.RANDOM_READ 
+					| FSCapability.STAT | FSCapability.DEL_ON_EXIT | FSCapability.LS_DIR;
 			}
 			public String[] schemes() { return new String[]{"dfs", "hdfs"}; }
 	
@@ -570,7 +572,13 @@
 
 			public String[] list(String path) throws IOException
 			{
-				throw new IOException("List not supported yet! TODO");
+				final FileStatus[] contents = DFS.listStatus(new Path(path));
+				final String[] names = new String[contents.length];
+				for(int i=0; i<contents.length; i++)
+				{
+					names[i] = contents[i].getPath().getName();
+				}
+				return names;
 			}
 
 			public String getParent(String path) throws IOException

