You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by il...@apache.org on 2011/07/01 09:59:11 UTC
svn commit: r1141861 - in /cocoon/cocoon3/trunk:
cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java
cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java
Author: ilgrosso
Date: Fri Jul 1 07:59:10 2011
New Revision: 1141861
URL: http://svn.apache.org/viewvc?rev=1141861&view=rev
Log:
Using cocoon-spring-configurator for sitemap reload and exception unroll
Modified:
cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java
cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java
Modified: cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java?rev=1141861&r1=1141860&r2=1141861&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java (original)
+++ cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java Fri Jul 1 07:59:10 2011
@@ -24,6 +24,7 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.cocoon.configuration.Settings;
import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.commons.logging.Log;
@@ -57,7 +58,12 @@ public class XMLSitemapServlet extends H
throws ServletException {
synchronized (this) {
- if (this.requestProcessor != null) {
+ final Settings settings = (Settings) WebAppContextUtils.
+ getCurrentWebApplicationContext().getBean(
+ Settings.class.getName());
+
+ if (!settings.isReloadingEnabled("sitemap")
+ && this.requestProcessor != null) {
return;
}
Modified: cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java?rev=1141861&r1=1141860&r2=1141861&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java (original)
+++ cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/InvocationImpl.java Fri Jul 1 07:59:10 2011
@@ -27,6 +27,7 @@ import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.cocoon.configuration.Settings;
import org.apache.cocoon.pipeline.Pipeline;
import org.apache.cocoon.pipeline.component.Finisher;
@@ -38,6 +39,7 @@ import org.apache.cocoon.sitemap.util.Ex
import org.apache.cocoon.sitemap.util.ParameterHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Autowired;
public class InvocationImpl implements Invocation {
@@ -62,6 +64,9 @@ public class InvocationImpl implements I
private ObjectModel objectModel;
private boolean hasFinisher;
+
+ @Autowired
+ private Settings settings;
public InvocationImpl() {
}
@@ -319,7 +324,18 @@ public class InvocationImpl implements I
*/
public void setThrowable(final Throwable throwable) {
Throwable cause = ExceptionHandler.getCause(throwable);
-
+ // settings might be null when this instance is not managed by Spring
+ if (null != cause && null != settings) {
+ final String unroll =
+ settings.getProperty("org.apache.cocoon.exception."
+ + cause.getClass().getSimpleName() + ".unroll");
+ if (unroll != null && "true".equalsIgnoreCase(unroll)) {
+ while (cause.getCause() != null) {
+ cause = cause.getCause();
+ }
+ }
+ }
+
this.objectModel.getCocoonObject().put("exception", cause);
ParameterHelper.setThrowable(this.parameters, cause);