[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