annotate client/digitallibrary/dirInfo-xml.jsp @ 453:fb2b2c41431d

nicer xml directory listing - size tag for directory - mo=dir outputs only top level directory
author robcast
date Thu, 02 Feb 2006 18:50:33 +0100
parents 965562ffcddd
children ce3031f00c44
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
211
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
1 <%@ page language="java" %><%!
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
2 // create DocumentBean instance for all JSP requests
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
3 digilib.servlet.DocumentBean docBean = new digilib.servlet.DocumentBean();
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
4
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
5 // initialize DocumentBean instance in JSP init
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
6 public void jspInit() {
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
7 try {
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
8 // set servlet init-parameter
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
9 docBean.setConfig(getServletConfig());
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
10 } catch (javax.servlet.ServletException e) {
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
11 System.out.println(e);
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
12 }
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
13 }
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
14 %><?xml version="1.0" encoding="UTF-8" ?>
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
15 <%
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
16 // process request
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
17 // get digilib config
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
18 digilib.servlet.DigilibConfiguration dlConfig = docBean.getDlConfig();
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
19 // parsing the query
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
20 digilib.servlet.DigilibRequest dlRequest = new digilib.servlet.DigilibRequest(request);
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
21 // dir cache
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
22 digilib.io.DocuDirCache dirCache = (digilib.io.DocuDirCache) dlConfig.getValue("servlet.dir.cache");
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
23 // get directory
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
24 digilib.io.DocuDirectory dir = dirCache.getDirectory(dlRequest.getFilePath());
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
25
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
26 %><!-- Automatically generated XML snippet with directory info -->
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
27 <dir><% if (dir != null) { %>
452
965562ffcddd fixed bug in dirInfo-xml.jsp
robcast
parents: 211
diff changeset
28 <size><%= dir.size() %></size>
211
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
29 <name><%= dir.getDirName() %></name>
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
30 <fsname><%= dir.getDir().getPath() %></fsname>
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
31 <%
453
fb2b2c41431d nicer xml directory listing
robcast
parents: 452
diff changeset
32 if (!dlRequest.hasOption("mo", "dir")) {
fb2b2c41431d nicer xml directory listing
robcast
parents: 452
diff changeset
33 int l = dir.size();
fb2b2c41431d nicer xml directory listing
robcast
parents: 452
diff changeset
34 for (int i = 0; i < l; i++) {
fb2b2c41431d nicer xml directory listing
robcast
parents: 452
diff changeset
35 digilib.io.DocuDirent f = dir.get(i);
452
965562ffcddd fixed bug in dirInfo-xml.jsp
robcast
parents: 211
diff changeset
36 String fn = (f != null) ? f.getName() : "null";
211
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
37 %> <file>
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
38 <index><%= i+1 %></index>
452
965562ffcddd fixed bug in dirInfo-xml.jsp
robcast
parents: 211
diff changeset
39 <name><%= digilib.io.FileOps.basename(fn) %></name>
965562ffcddd fixed bug in dirInfo-xml.jsp
robcast
parents: 211
diff changeset
40 <fsname><%= fn %></fsname>
965562ffcddd fixed bug in dirInfo-xml.jsp
robcast
parents: 211
diff changeset
41 </file>
211
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
42 <%
453
fb2b2c41431d nicer xml directory listing
robcast
parents: 452
diff changeset
43 } // for
fb2b2c41431d nicer xml directory listing
robcast
parents: 452
diff changeset
44 } // if not dironly
211
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
45 } // if dir
ab690d1ec129 directory listing in XML
robcast
parents:
diff changeset
46 %></dir>