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

michi at wyona.com michi at wyona.com
Fri Feb 23 14:40:03 CET 2007


Author: michi
Date: 2007-02-23 14:40:01 +0100 (Fri, 23 Feb 2007)
New Revision: 22909

Modified:
   public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
merge method added

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-02-23 13:22:46 UTC (rev 22908)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java	2007-02-23 13:40:01 UTC (rev 22909)
@@ -248,34 +248,13 @@
             }
             if (mimeType != null && mimeType.indexOf("html") > 0) {
                 if (toolbarMasterSwitch.equals("on")) {
-                    String backToRealm = org.wyona.yanel.core.util.PathUtil.backToRealm(path);
-                    StringBuffer tb = new StringBuffer();
-                    tb.append("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">");
-                    tb.append("<html>");
-                    tb.append("<head>");
-                    // TODO: compute relative path ...
-                    tb.append("<link type=\"text/css\" href=\"" + backToRealm+reservedPrefix + "/toolbar.css\" rel=\"stylesheet\"/>");
-                    tb.append("</head>");
-                    tb.append("<body>");
-                    tb.append("<div id=\"headerwrap\">");
-                    tb.append("<div id=\"menu\">");
-                    tb.append(getToolbarMenus());
-                    tb.append("</div>");
-                    Identity identity = (Identity) session.getAttribute(IDENTITY_KEY);
-                    if (identity != null) {
-                        tb.append("<span id=\"user\">User: " + identity.getUsername() + "</span>");
-                    } else {
-                        tb.append("<span id=\"user\">User: Not signed in!</span>");
+                    InputStream in = mergeToolbarWithContent(resource, request);
+                    byte buffer[] = new byte[8192];
+                    int bytesRead;
+                    OutputStream out = response.getOutputStream();
+                    while ((bytesRead = in.read(buffer)) != -1) {
+                        out.write(buffer, 0, bytesRead);
                     }
-                    
-                    tb.append("&#160;&#160;<img src=\"" + backToRealm+reservedPrefix + "/yanel_toolbar_logo.png\" id=\"toolbar_logo\"/>");
-                    tb.append("</div>");
-                    tb.append("<div id=\"middlewrap\">");
-                    tb.append("<br/><br/>Hello Toolbar");
-                    tb.append("</div>");
-                    tb.append("</body>");
-                    tb.append("</html>");
-                    response.getWriter().print(tb);
                     return;
                 } else {
                     log.info("Toolbar has been disabled. Please check web.xml!");
@@ -1709,4 +1688,38 @@
         sb.append("</ul></li></ul>");
         return sb.toString();
     }
+
+    /**
+     *
+     */
+    private InputStream mergeToolbarWithContent(Resource resource, HttpServletRequest request) throws ServletException, IOException {
+        String backToRealm = org.wyona.yanel.core.util.PathUtil.backToRealm(resource.getPath());
+        StringBuffer tb = new StringBuffer();
+                    tb.append("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">");
+                    tb.append("<html>");
+                    tb.append("<head>");
+                    // TODO: compute relative path ...
+                    tb.append("<link type=\"text/css\" href=\"" + backToRealm+reservedPrefix + "/toolbar.css\" rel=\"stylesheet\"/>");
+                    tb.append("</head>");
+                    tb.append("<body>");
+                    tb.append("<div id=\"headerwrap\">");
+                    tb.append("<div id=\"menu\">");
+                    tb.append(getToolbarMenus());
+                    tb.append("</div>");
+                    Identity identity = (Identity) request.getSession().getAttribute(IDENTITY_KEY);
+                    if (identity != null) {
+                        tb.append("<span id=\"user\">User: " + identity.getUsername() + "</span>");
+                    } else {
+                        tb.append("<span id=\"user\">User: Not signed in!</span>");
+                    }
+                    
+                    tb.append("&#160;&#160;<img src=\"" + backToRealm+reservedPrefix + "/yanel_toolbar_logo.png\" id=\"toolbar_logo\"/>");
+                    tb.append("</div>");
+                    tb.append("<div id=\"middlewrap\">");
+                    tb.append("<br/><br/>Hello Toolbar");
+                    tb.append("</div>");
+                    tb.append("</body>");
+                    tb.append("</html>");
+        return new java.io.ByteArrayInputStream(tb.toString().getBytes());
+    }
 }




More information about the Yanel-commits mailing list