[Yanel-commits] rev 55756 - public/yanel/trunk/src/resources/directory/src/java/org/wyona/yanel/impl/resources/collection

michi at wyona.com michi at wyona.com
Sun Dec 26 11:38:48 CET 2010


Author: michi
Date: 2010-12-26 11:38:47 +0100 (Sun, 26 Dec 2010)
New Revision: 55756

Modified:
   public/yanel/trunk/src/resources/directory/src/java/org/wyona/yanel/impl/resources/collection/CollectionResource.java
Log:
output file system listing

Modified: public/yanel/trunk/src/resources/directory/src/java/org/wyona/yanel/impl/resources/collection/CollectionResource.java
===================================================================
--- public/yanel/trunk/src/resources/directory/src/java/org/wyona/yanel/impl/resources/collection/CollectionResource.java	2010-12-26 10:25:19 UTC (rev 55755)
+++ public/yanel/trunk/src/resources/directory/src/java/org/wyona/yanel/impl/resources/collection/CollectionResource.java	2010-12-26 10:38:47 UTC (rev 55756)
@@ -84,7 +84,7 @@
      * Get file system directory listing as XML
      */
     private StringBuilder getContentXMLOfFileSystemDirectory(String path) throws Exception {
-        log.warn("DEBUG: Selected path: " + path);
+        log.debug("Selected path: " + path);
 
         if (new File(path).isFile()) {
             log.warn("Path '" + path + "' is a File instead a Directory, hence use parent of path!");
@@ -96,22 +96,20 @@
             return new StringBuilder("<no-such-directory>" + path + "</no-such-directory>");
         }
 
-/*
         // NOTE: The schema is according to
         // http://cocoon.apache.org/2.1/userdocs/directory-generator.html
         StringBuilder sb = new StringBuilder();
-        sb.append("<dir:directory yanel:repository-configuration-file=\"" + repo.getConfigFile() + "\" yanel:path=\"" + getPath() + "\" dir:name=\"" + repo.getNode(path).getName() + "\" dir:path=\"" + path + "\" xmlns:dir=\"http://apache.org/cocoon/directory/2.0\" xmlns:yanel=\"http://www.wyona.org/yanel/resource/directory/1.0\">");
-        // TODO: Do not show the children with suffix .yanel-rti resp. make this configurable!
-        // NOTE: Do not hardcode the .yanel-rti, but rather use Path.getRTIPath ...
-        Node[] children = repo.getNode(path).getNodes();
+        sb.append("<dir:directory yanel:path=\"" + getPath() + "\" dir:name=\"" + new File(path).getName() + "\" dir:path=\"" + path + "\" xmlns:dir=\"http://apache.org/cocoon/directory/2.0\" xmlns:yanel=\"http://www.wyona.org/yanel/resource/directory/1.0\">");
+
+        File[] children = new File(path).listFiles();
         Calendar calendar = Calendar.getInstance();
         if (children != null) {
             for (int i = 0; i < children.length; i++) {
-                if (children[i].isResource()) {
-                    calendar.setTimeInMillis(children[i].getLastModified());
+                if (children[i].isFile()) {
+                    calendar.setTimeInMillis(children[i].lastModified());
                     String lastModified = DateUtil.format(calendar.getTime());
-                    sb.append("<dir:file path=\"" + children[i].getPath() + "\" name=\"" + children[i].getName() + "\" lastModified=\"" + children[i].getLastModified() + "\" date=\"" + lastModified + "\" size=\"" + children[i].getSize() + "\"/>");
-                } else if (children[i].isCollection()) {
+                    sb.append("<dir:file path=\"" + children[i].getPath() + "\" name=\"" + children[i].getName() + "\" lastModified=\"" + children[i].lastModified() + "\" date=\"" + lastModified + "\" size=\"" + children[i].length() + "\"/>");
+                } else if (children[i].isDirectory()) {
                     sb.append("<dir:directory path=\"" + children[i].getPath() + "\" name=\"" + children[i].getName() + "\"/>");
                 } else {
                     sb.append("<yanel:exception yanel:path=\"" + children[i] + "\"/>");
@@ -126,8 +124,6 @@
         sb.append("</dir:directory>");
 
         return sb;
-*/
-        return new StringBuilder("<directory>" + path + "</directory>");
     }
 
     /**



More information about the Yanel-commits mailing list