[Yanel-commits] rev 26645 -
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet
josias at wyona.com
josias at wyona.com
Thu Aug 9 15:02:58 CEST 2007
Author: josias
Date: 2007-08-09 15:02:57 +0200 (Thu, 09 Aug 2007)
New Revision: 26645
Modified:
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
make sure the toolbar is inserted only once. fixes bug #5451, thanks to simon
Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2007-08-09 12:36:33 UTC (rev 26644)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2007-08-09 13:02:57 UTC (rev 26645)
@@ -1959,6 +1959,8 @@
int c;
int state = OUTSIDE_TAG;
StringBuffer tagBuf = null;
+ int headcount = 0;
+ int bodycount = 0;
while ((c = reader.read()) != -1) {
switch (state) {
case OUTSIDE_TAG:
@@ -1976,17 +1978,32 @@
tagBuf.append((char)c);
String tag = tagBuf.toString();
if (tag.startsWith("<head")) {
- writer.write(tag, 0, tag.length());
- String toolbarString = getToolbarHeader(resource, request);
- writer.write(toolbarString, 0, toolbarString.length());
+ if (headcount == 0) {
+ writer.write(tag, 0, tag.length());
+ String toolbarString = getToolbarHeader(resource, request);
+ writer.write(toolbarString, 0, toolbarString.length());
+ } else {
+ writer.write(tag, 0, tag.length());
+ }
+ headcount++;
} else if (tag.startsWith("<body")) {
- writer.write(tag, 0, tag.length());
- String toolbarString = getToolbarBodyStart(resource, request);
- writer.write(toolbarString, 0, toolbarString.length());
+ if (bodycount == 0) {
+ writer.write(tag, 0, tag.length());
+ String toolbarString = getToolbarBodyStart(resource, request);
+ writer.write(toolbarString, 0, toolbarString.length());
+ } else {
+ writer.write(tag, 0, tag.length());
+ }
+ bodycount++;
} else if (tag.equals("</body>")) {
- String toolbarString = getToolbarBodyEnd(resource, request);
- writer.write(toolbarString, 0, toolbarString.length());
- writer.write(tag, 0, tag.length());
+ bodycount--;
+ if (bodycount == 0) {
+ String toolbarString = getToolbarBodyEnd(resource, request);
+ writer.write(toolbarString, 0, toolbarString.length());
+ writer.write(tag, 0, tag.length());
+ } else {
+ writer.write(tag, 0, tag.length());
+ }
} else {
writer.write(tag, 0, tag.length());
}
More information about the Yanel-commits
mailing list