[Yanel-commits] rev 24164 - public/yanel/trunk/src/core/java/org/wyona/yanel/servlet

michi at wyona.com michi at wyona.com
Fri May 4 12:23:59 CEST 2007


Author: michi
Date: 2007-05-04 12:23:57 +0200 (Fri, 04 May 2007)
New Revision: 24164

Modified:
   public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
get global data refactored

Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java	2007-05-04 10:04:02 UTC (rev 24163)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java	2007-05-04 10:23:57 UTC (rev 24164)
@@ -204,25 +204,8 @@
         Resource resource = getResource(request, response);
         String path = resource.getPath();
         if (path.indexOf("/" + reservedPrefix + "/") == 0) {
-            File globalFile = org.wyona.commons.io.FileUtil.file(servletContextRealPath, "htdocs" + File.separator + path.substring(reservedPrefix.length() + 2));
-            if (globalFile.exists()) {
-                log.debug("Global data: " + globalFile);
-                // TODO: Set HTTP header (mime-type, size, etc.)
-                byte buffer[] = new byte[8192];
-                int bytesRead;
-                InputStream in = new java.io.FileInputStream(globalFile);
-                OutputStream out = response.getOutputStream();
-                while ((bytesRead = in.read(buffer)) != -1) {
-                    out.write(buffer, 0, bytesRead);
-                }
-                String mimeType = guessMimeType(FilenameUtils.getExtension(globalFile.getName()));
-                response.setHeader("Content-Type", mimeType);
-                return;
-            } else {
-                log.error("No such file or directory: " + globalFile);
-                response.setStatus(javax.servlet.http.HttpServletResponse.SC_NOT_FOUND);
-                return;
-            }
+            getGlobalData(request, response);
+            return;
         }
 
         // Check for toolbar ...
@@ -2013,4 +1996,39 @@
         org.w3c.dom.DocumentType doctype = null;
         return impl.createDocument(namespace, localname, doctype);
     }
+
+    /**
+     * Get global data located below reserved prefix
+     */
+    public void getGlobalData(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        Resource resource = getResource(request, response);
+        String path = resource.getPath();
+        if (path.indexOf("users") > 0) {
+            log.error("No such user: " + path);
+            response.setStatus(javax.servlet.http.HttpServletResponse.SC_NOT_FOUND);
+            return;
+        } else {
+            File globalFile = org.wyona.commons.io.FileUtil.file(servletContextRealPath, "htdocs" + File.separator + path.substring(reservedPrefix.length() + 2));
+            if (globalFile.exists()) {
+                log.debug("Global data: " + globalFile);
+
+                // TODO: Set HTTP header (mime-type, size, etc.)
+                String mimeType = guessMimeType(FilenameUtils.getExtension(globalFile.getName()));
+                response.setHeader("Content-Type", mimeType);
+
+                byte buffer[] = new byte[8192];
+                int bytesRead;
+                InputStream in = new java.io.FileInputStream(globalFile);
+                OutputStream out = response.getOutputStream();
+                while ((bytesRead = in.read(buffer)) != -1) {
+                    out.write(buffer, 0, bytesRead);
+                }
+                return;
+            } else {
+                log.error("No such file or directory: " + globalFile);
+                response.setStatus(javax.servlet.http.HttpServletResponse.SC_NOT_FOUND);
+                return;
+            }
+        }
+    }
 }




More information about the Yanel-commits mailing list