- Revision
- 1070
- Author
- mauro
- Date
- 2009-02-09 17:28:58 -0600 (Mon, 09 Feb 2009)
Log Message
Added failure cause to scenario context to display stack trace.
Modified Paths
- sandbox/jbehave-web/web-waffle/src/main/java/org/jbehave/web/waffle/controllers/ScenarioContext.java
- sandbox/jbehave-web/web-waffle/src/main/java/org/jbehave/web/waffle/controllers/ScenarioController.java
- sandbox/jbehave-web/web-waffle/src/main/webapp/ftl/scenario/scenario.ftl
Diff
Modified: sandbox/jbehave-web/web-waffle/src/main/java/org/jbehave/web/waffle/controllers/ScenarioContext.java (1069 => 1070)
--- sandbox/jbehave-web/web-waffle/src/main/java/org/jbehave/web/waffle/controllers/ScenarioContext.java 2009-02-08 17:04:03 UTC (rev 1069) +++ sandbox/jbehave-web/web-waffle/src/main/java/org/jbehave/web/waffle/controllers/ScenarioContext.java 2009-02-09 23:28:58 UTC (rev 1070) @@ -2,6 +2,8 @@ import static java.util.Arrays.asList; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.ArrayList; import java.util.List; @@ -15,6 +17,7 @@ private String input; private String output; private List<String> messages; + private Throwable cause; public ScenarioContext() { this(EMPTY, EMPTY, EMPTY_LIST); @@ -45,7 +48,7 @@ public void addMessage(String message) { this.messages.add(message); - } + } public List<String> getMessages() { return messages; @@ -55,11 +58,21 @@ this.messages.clear(); } + public void setFailureCause(Throwable cause) { + this.cause = cause; + } + + public String getFailureCauseAsString() { + StringWriter writer = new StringWriter(); + if (cause != null) { + cause.printStackTrace(new PrintWriter(writer)); + } + return writer.getBuffer().toString(); + } + @Override public String toString() { return ToStringBuilder.reflectionToString(this); } - - }
Modified: sandbox/jbehave-web/web-waffle/src/main/java/org/jbehave/web/waffle/controllers/ScenarioController.java (1069 => 1070)
--- sandbox/jbehave-web/web-waffle/src/main/java/org/jbehave/web/waffle/controllers/ScenarioController.java 2009-02-08 17:04:03 UTC (rev 1069) +++ sandbox/jbehave-web/web-waffle/src/main/java/org/jbehave/web/waffle/controllers/ScenarioController.java 2009-02-09 23:28:58 UTC (rev 1070) @@ -53,6 +53,7 @@ scenarioContext.clearMessages(); scenarioRunner.run(storyDefinition(), configuration, steps); } catch (Throwable e) { + scenarioContext.setFailureCause(e); scenarioContext.addMessage(e.getMessage()); } scenarioContext.setOutput(outputStream.toString());
Modified: sandbox/jbehave-web/web-waffle/src/main/webapp/ftl/scenario/scenario.ftl (1069 => 1070)
--- sandbox/jbehave-web/web-waffle/src/main/webapp/ftl/scenario/scenario.ftl 2009-02-08 17:04:03 UTC (rev 1069) +++ sandbox/jbehave-web/web-waffle/src/main/webapp/ftl/scenario/scenario.ftl 2009-02-09 23:28:58 UTC (rev 1070) @@ -15,7 +15,7 @@ <legend><@i.messageFor "scenarioInput" "Scenario Input"/></legend> <p> <p> - <@w.textarea "scenarioContext.input" "${scenarioContext.input}" "rows='20' cols='60'"/> + <@w.textarea "scenarioContext.input" "${scenarioContext.input}" "rows='20' cols='70'"/> </p> <a href="" "runScenario" "Run Scenario"/></a> </fieldset> @@ -26,7 +26,7 @@ <fieldset> <legend><@i.messageFor "scenarioOutput" "Scenario Output"/></legend> <p> - <@w.textarea "scenarioContext.output" "${scenarioContext.output}" "rows='20' cols='60' disabled='true'"/> + <@w.textarea "scenarioContext.output" "${scenarioContext.output}" "rows='20' cols='70' disabled='true'"/> </p> </fieldset> </div> @@ -40,10 +40,22 @@ <#list messages as message> <p>${message}</p> </#list> - </table> + </fieldset> </div> </#if> + <#assign failureCause = scenarioContext.failureCauseAsString /> + <#if (failureCause.length() > 0) > + <div id="failureCause"> + <fieldset> + <legend><@i.messageFor "failureCause" "Failure Cause"/></legend> + <p> + <@w.textarea "failureCause" "${failureCause}" "rows='35' cols='70' disabled='true'"/> + </p> + </fieldset> + </div> + </#if> + </form> </div>
To unsubscribe from this list please visit: