Author: jdonnerstag
Date: Fri Jun 10 21:42:21 2011
New Revision: 1134450
URL: http://svn.apache.org/viewvc?rev=1134450&view=rev
Log:
fixed: MarkupException appends the markup stream to the message
Issue: WICKET-3614
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupException.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/WebPage.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/AccessDeniedPage.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/ExceptionErrorPage.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/InternalErrorPage.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/PageExpiredErrorPage.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageTest.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/io/PageA.java
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/encodings/Home.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupException.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupException.java?rev=1134450&r1=1134449&r2=1134450&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupException.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupException.java
Fri Jun 10 21:42:21 2011
@@ -78,7 +78,7 @@ public final class MarkupException exten
*/
public MarkupException(final MarkupStream markupStream, final String
message)
{
- super(message + "\n" + markupStream.toString());
+ super(message);
this.markupStream = markupStream;
}
@@ -93,7 +93,7 @@ public final class MarkupException exten
public MarkupException(final MarkupStream markupStream, final String
message,
final Throwable cause)
{
- super(message + "\n" + markupStream.toString(), cause);
+ super(message, cause);
this.markupStream = markupStream;
}
@@ -126,4 +126,11 @@ public final class MarkupException exten
{
this.markupStream = markupStream;
}
+
+ @Override
+ public String toString()
+ {
+ return getMessage() + "\n MarkupStream: " +
+ (markupStream == null ? "[unknown]" :
markupStream.toString());
+ }
}
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/WebPage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/WebPage.java?rev=1134450&r1=1134449&r2=1134450&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/WebPage.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/WebPage.java
Fri Jun 10 21:42:21 2011
@@ -129,7 +129,7 @@ public class WebPage extends Page
protected void onRender()
{
// Configure the response such as headers etc.
- configureResponse();
+
configureResponse((WebResponse)RequestCycle.get().getResponse());
// The rules if and when to insert an xml decl in the response
are a it tricky. Allow the
// user to replace the default per page and per application.
@@ -153,12 +153,14 @@ public class WebPage extends Page
* (@see #getMarkupType()) and the encoding. The response (and request)
encoding is determined
* by an application setting (@see
ApplicationSettings#getResponseRequestEncoding()). If null,
* no xml decl will be written.
+ *
+ * @param response
+ * The WebResponse object
*/
- protected void configureResponse()
+ protected void configureResponse(final WebResponse response)
{
final RequestCycle cycle = getRequestCycle();
final WebApplication application = WebApplication.get();
- final WebResponse response = (WebResponse)cycle.getResponse();
// Users may sublcass setHeader() to set there own headers
setHeaders(response);
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/AccessDeniedPage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/AccessDeniedPage.java?rev=1134450&r1=1134449&r2=1134450&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/AccessDeniedPage.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/AccessDeniedPage.java
Fri Jun 10 21:42:21 2011
@@ -18,7 +18,6 @@ package org.apache.wicket.markup.html.pa
import javax.servlet.http.HttpServletResponse;
-import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.http.WebResponse;
@@ -39,15 +38,9 @@ public class AccessDeniedPage extends Ab
add(homePageLink("homePageLink"));
}
- /**
- * @see org.apache.wicket.markup.html.WebPage#configureResponse()
- */
@Override
- protected void configureResponse()
+ protected void setHeaders(final WebResponse response)
{
- super.configureResponse();
- WebResponse response =
(WebResponse)RequestCycle.get().getResponse();
response.setStatus(HttpServletResponse.SC_FORBIDDEN);
}
-
}
\ No newline at end of file
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/ExceptionErrorPage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/ExceptionErrorPage.java?rev=1134450&r1=1134449&r2=1134450&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/ExceptionErrorPage.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/ExceptionErrorPage.java
Fri Jun 10 21:42:21 2011
@@ -16,7 +16,6 @@
*/
package org.apache.wicket.markup.html.pages;
-import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
@@ -31,7 +30,7 @@ import org.apache.wicket.markup.html.bas
import org.apache.wicket.markup.html.debug.PageView;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.request.http.WebResponse;
-import org.apache.wicket.util.string.AppendingStringBuffer;
+import org.apache.wicket.util.lang.Generics;
/**
@@ -120,7 +119,7 @@ public class ExceptionErrorPage extends
{
if (throwable != null)
{
- AppendingStringBuffer sb = new
AppendingStringBuffer(256);
+ StringBuilder sb = new StringBuilder(256);
// first print the last cause
List<Throwable> al = convertToList(throwable);
@@ -130,22 +129,25 @@ public class ExceptionErrorPage extends
if (throwable instanceof WicketRuntimeException)
{
String msg = throwable.getMessage();
- if (throwable instanceof MarkupException)
+ if ((msg != null) &&
(msg.equals(cause.getMessage()) == false))
{
- MarkupStream stream =
((MarkupException)throwable).getMarkupStream();
- if (stream != null)
+ if (throwable instanceof
MarkupException)
{
- String text = "\n" +
stream.toString();
- if (msg.endsWith(text))
+ MarkupStream stream =
((MarkupException)throwable).getMarkupStream();
+ if (stream != null)
{
- msg = msg.substring(0,
msg.length() - text.length());
+ String text = "\n" +
stream.toString();
+ if (msg.endsWith(text))
+ {
+ msg =
msg.substring(0, msg.length() - text.length());
+ }
}
}
- }
- sb.append("WicketMessage: ");
- sb.append(msg);
- sb.append("\n\n");
+ sb.append("WicketMessage: ");
+ sb.append(msg);
+ sb.append("\n\n");
+ }
}
return sb.toString();
}
@@ -168,7 +170,7 @@ public class ExceptionErrorPage extends
{
List<Throwable> al = convertToList(throwable);
- AppendingStringBuffer sb = new
AppendingStringBuffer(256);
+ StringBuilder sb = new StringBuilder(256);
// first print the last cause
int length = al.size() - 1;
@@ -200,10 +202,10 @@ public class ExceptionErrorPage extends
*/
private List<Throwable> convertToList(final Throwable throwable)
{
- List<Throwable> al = new ArrayList<Throwable>();
+ List<Throwable> al = Generics.newArrayList();
Throwable cause = throwable;
al.add(cause);
- while (cause.getCause() != null && cause != cause.getCause())
+ while ((cause.getCause() != null) && (cause !=
cause.getCause()))
{
cause = cause.getCause();
al.add(cause);
@@ -220,8 +222,7 @@ public class ExceptionErrorPage extends
* @param sb
* @param stopAtWicketServlet
*/
- private void outputThrowable(Throwable cause, AppendingStringBuffer sb,
- boolean stopAtWicketServlet)
+ private void outputThrowable(Throwable cause, StringBuilder sb, boolean
stopAtWicketServlet)
{
sb.append(cause);
sb.append("\n");
@@ -243,19 +244,10 @@ public class ExceptionErrorPage extends
}
}
- /**
- * @see org.apache.wicket.markup.html.WebPage#configureResponse()
- */
@Override
- protected void configureResponse()
+ protected void setHeaders(final WebResponse response)
{
- super.configureResponse();
-
- if (getRequestCycle().getResponse() instanceof WebResponse)
- {
- WebResponse response =
(WebResponse)getRequestCycle().getResponse();
-
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- }
+
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
}
/**
@@ -267,5 +259,4 @@ public class ExceptionErrorPage extends
{
return throwable;
}
-
}
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/InternalErrorPage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/InternalErrorPage.java?rev=1134450&r1=1134449&r2=1134450&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/InternalErrorPage.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/InternalErrorPage.java
Fri Jun 10 21:42:21 2011
@@ -18,7 +18,6 @@ package org.apache.wicket.markup.html.pa
import javax.servlet.http.HttpServletResponse;
-import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.http.WebResponse;
@@ -39,14 +38,9 @@ public class InternalErrorPage extends A
add(homePageLink("homePageLink"));
}
- /**
- * @see org.apache.wicket.markup.html.WebPage#configureResponse()
- */
@Override
- protected void configureResponse()
+ protected void setHeaders(final WebResponse response)
{
- super.configureResponse();
- WebResponse response =
(WebResponse)RequestCycle.get().getResponse();
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
}
}
\ No newline at end of file
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/PageExpiredErrorPage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/PageExpiredErrorPage.java?rev=1134450&r1=1134449&r2=1134450&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/PageExpiredErrorPage.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/PageExpiredErrorPage.java
Fri Jun 10 21:42:21 2011
@@ -18,7 +18,6 @@ package org.apache.wicket.markup.html.pa
import javax.servlet.http.HttpServletResponse;
-import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.http.WebResponse;
@@ -39,14 +38,9 @@ public class PageExpiredErrorPage extend
add(homePageLink("homePageLink"));
}
- /**
- * @see org.apache.wicket.markup.html.WebPage#configureResponse()
- */
@Override
- protected void configureResponse()
+ protected void setHeaders(final WebResponse response)
{
- super.configureResponse();
- WebResponse response =
(WebResponse)RequestCycle.get().getResponse();
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
}
}
\ No newline at end of file
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageTest.java?rev=1134450&r1=1134449&r2=1134450&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageTest.java
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageTest.java
Fri Jun 10 21:42:21 2011
@@ -229,7 +229,7 @@ public class SimplePageTest extends Wick
assertNotNull(mex.getMarkupStream());
assertTrue(mex.getMessage().contains("<span>"));
-
assertTrue(mex.getMessage().contains("SimplePage_4.html"));
+
assertTrue(mex.toString().contains("SimplePage_4.html"));
}
assertTrue("Did expect a MarkupException", hit);
}
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java?rev=1134450&r1=1134449&r2=1134450&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java
Fri Jun 10 21:42:21 2011
@@ -59,7 +59,7 @@ public class PanelTest extends WicketTes
assertNotNull(mex.getMarkupStream());
assertTrue(mex.getMessage().contains("Tag does not have
a close tag"));
-
assertTrue(mex.getMessage().contains("SimplePanel_1.html"));
+
assertTrue(mex.toString().contains("SimplePanel_1.html"));
}
assertTrue("Did expect a MarkupException", hit);
}
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/io/PageA.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/io/PageA.java?rev=1134450&r1=1134449&r2=1134450&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/io/PageA.java
(original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/io/PageA.java
Fri Jun 10 21:42:21 2011
@@ -17,6 +17,7 @@
package org.apache.wicket.util.io;
import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.request.http.WebResponse;
/**
* @author jcompagner
@@ -42,9 +43,9 @@ public class PageA extends WebPage
}
@Override
- protected void configureResponse()
+ protected void configureResponse(final WebResponse response)
{
- super.configureResponse();
+ super.configureResponse(response);
}
/**
Modified:
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/encodings/Home.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/encodings/Home.java?rev=1134450&r1=1134449&r2=1134450&view=diff
==============================================================================
---
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/encodings/Home.java
(original)
+++
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/encodings/Home.java
Fri Jun 10 21:42:21 2011
@@ -20,6 +20,7 @@ import java.util.Locale;
import org.apache.wicket.examples.WicketExamplePage;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.request.http.WebResponse;
import org.apache.wicket.request.mapper.parameter.PageParameters;
@@ -47,12 +48,12 @@ public class Home extends WicketExampleP
* descriptors, this is a workaround for servlet 2.3
*/
@Override
- protected void configureResponse()
+ protected void configureResponse(final WebResponse response)
{
final Locale originalLocale = getSession().getLocale();
getSession().setLocale(Locale.GERMANY);
- super.configureResponse();
+ super.configureResponse(response);
// This is no longer useful in many cases, since we now forward
the
// <?xml ..encoding=".." ?> from the Page's markup and use it
explicitly