You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ag...@apache.org on 2006/07/20 20:11:18 UTC
svn commit: r424010 - in
/incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity:
VelocityRenderer.java VelocityRendererFactory.java
VelocityWeblogPageRenderer.java
Author: agilliland
Date: Thu Jul 20 11:11:18 2006
New Revision: 424010
URL: http://svn.apache.org/viewvc?rev=424010&view=rev
Log:
cleaning up velocity renderer error page handling and adding support to VelocityWeblogPageRenderer.
Modified:
incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityRenderer.java
incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityRendererFactory.java
incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityWeblogPageRenderer.java
Modified: incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityRenderer.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityRenderer.java?rev=424010&r1=424009&r2=424010&view=diff
==============================================================================
--- incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityRenderer.java (original)
+++ incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityRenderer.java Thu Jul 20 11:11:18 2006
@@ -27,6 +27,7 @@
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.context.Context;
+import org.apache.velocity.exception.ParseErrorException;
/**
@@ -38,30 +39,41 @@
private String resourceId = null;
private Template resourceTemplate = null;
- private Exception exception = null;
- private String exceptionSource = null;
+ private Exception parseException = null;
+
public VelocityRenderer(String resource) throws Exception {
this.resourceId = resource;
- // make sure that we can locate the template
- // if we can't then this will throw an exception
- resourceTemplate = RollerVelocity.getTemplate(this.resourceId, "UTF-8");
- }
-
- /** Construct rendering for displaying exception */
- public VelocityRenderer(Exception exception, String exceptionSource, String resource) throws Exception {
- this(resource);
- this.exception = exception;
- this.exceptionSource = exceptionSource;
+ try {
+ // make sure that we can locate the template
+ // if we can't then this will throw an exception
+ resourceTemplate = RollerVelocity.getTemplate(this.resourceId, "UTF-8");
+ } catch(ParseErrorException ex) {
+ // in the case of a parsing error we want to render an
+ // error page instead so the user knows what was wrong
+ parseException = ex;
+
+ // need to lookup error page template
+ resourceTemplate = RollerVelocity.getTemplate("templates/error-page.vm");
+ }
}
public void render(Map model, Writer out) throws Exception {
- if (exception != null) {
- renderException(model, out);
+ if(parseException != null) {
+
+ Context ctx = new VelocityContext(model);
+ ctx.put("exception", parseException);
+ ctx.put("exceptionSource", resourceId);
+ ctx.put("utils", new UtilitiesModel());
+
+ // render output to Writer
+ resourceTemplate.merge(ctx, out);
+
+ // and we're done
return;
}
@@ -78,20 +90,5 @@
log.debug("Rendered ["+this.resourceId+"] in "+renderTime+" secs");
}
-
-
- private void renderException(Map model, Writer out) throws Exception {
-
- // add exception to Velocity Context and utils for formatting
- Context ctx = new VelocityContext(model);
- ctx.put("exception", exception);
- ctx.put("exceptionSource", exceptionSource);
- ctx.put("utils", new UtilitiesModel());
-
- // render output to Writer
- resourceTemplate.merge(ctx, out);
- }
-
-
}
Modified: incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityRendererFactory.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityRendererFactory.java?rev=424010&r1=424009&r2=424010&view=diff
==============================================================================
--- incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityRendererFactory.java (original)
+++ incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityRendererFactory.java Thu Jul 20 11:11:18 2006
@@ -43,15 +43,8 @@
// standard velocity template
try {
renderer = new VelocityRenderer(resourceId);
- } catch (ParseErrorException pe) {
- // Author needs to see parsing error so display error page
- try {
- renderer = new VelocityRenderer(pe, resourceId, "templates/error-page.vm");
- } catch (Throwable t) {
- throw new RuntimeException("ERROR displaying error page", t);
- }
} catch(Exception ignored) {
- // couldn't find the given resource, can't render
+ // can't render
}
} else if("velocityWeblogPage".equals(rendererType)) {
@@ -60,15 +53,8 @@
// needed because of the way we do the decorator stuff
try {
renderer = new VelocityWeblogPageRenderer(resourceId);
- } catch (ParseErrorException pe) {
- // Author needs to see parsing error so display error page
- try {
- renderer = new VelocityRenderer(pe, resourceId, "templates/error-page.vm");
- } catch (Throwable t) {
- throw new RuntimeException("ERROR displaying error page", t);
- }
} catch(Exception ignored) {
- // couldn't find the given resource, can't render
+ // can't render
}
}
Modified: incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityWeblogPageRenderer.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityWeblogPageRenderer.java?rev=424010&r1=424009&r2=424010&view=diff
==============================================================================
--- incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityWeblogPageRenderer.java (original)
+++ incubator/roller/branches/roller_3.0/src/org/apache/roller/ui/rendering/velocity/VelocityWeblogPageRenderer.java Thu Jul 20 11:11:18 2006
@@ -26,9 +26,11 @@
import org.apache.roller.pojos.WebsiteData;
import org.apache.roller.pojos.wrapper.WebsiteDataWrapper;
import org.apache.roller.ui.rendering.Renderer;
+import org.apache.roller.ui.rendering.model.UtilitiesModel;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.context.Context;
+import org.apache.velocity.exception.ParseErrorException;
/**
@@ -43,19 +45,43 @@
private String resourceId = null;
private Template resourceTemplate = null;
+ private Exception parseException = null;
public VelocityWeblogPageRenderer(String resource) throws Exception {
this.resourceId = resource;
- // make sure that we can locate the template
- // if we can't then this will throw an exception
- resourceTemplate = RollerVelocity.getTemplate(this.resourceId, "UTF-8");
+ try {
+ // make sure that we can locate the template
+ // if we can't then this will throw an exception
+ resourceTemplate = RollerVelocity.getTemplate(this.resourceId, "UTF-8");
+ } catch(ParseErrorException ex) {
+ // in the case of a parsing error we want to render an
+ // error page instead so the user knows what was wrong
+ parseException = ex;
+
+ // need to lookup error page template
+ resourceTemplate = RollerVelocity.getTemplate("templates/error-page.vm");
+ }
}
public void render(Map model, Writer out) throws Exception {
+
+ if(parseException != null) {
+
+ Context ctx = new VelocityContext(model);
+ ctx.put("exception", parseException);
+ ctx.put("exceptionSource", resourceId);
+ ctx.put("utils", new UtilitiesModel());
+
+ // render output to Writer
+ resourceTemplate.merge(ctx, out);
+
+ // and we're done
+ return;
+ }
long startTime = System.currentTimeMillis();