- Revision
- 1513
- Author
- mauro
- Date
- 2010-01-10 07:39:05 -0600 (Sun, 10 Jan 2010)
Log Message
Clean up handling of story parsing from non-file input, i.e. from web, in which story path is null.
Modified Paths
- trunk/core/jbehave-core/src/behaviour/java/org/jbehave/scenario/reporters/PrintStreamScenarioReporterBehaviour.java
- trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/definition/StoryDefinition.java
- trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java
- trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/PatternScenarioParser.java
- trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/ScenarioParser.java
- trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/reporters/PrintStreamScenarioReporter.java
Diff
Modified: trunk/core/jbehave-core/src/behaviour/java/org/jbehave/scenario/reporters/PrintStreamScenarioReporterBehaviour.java (1512 => 1513)
--- trunk/core/jbehave-core/src/behaviour/java/org/jbehave/scenario/reporters/PrintStreamScenarioReporterBehaviour.java 2010-01-10 02:26:45 UTC (rev 1512) +++ trunk/core/jbehave-core/src/behaviour/java/org/jbehave/scenario/reporters/PrintStreamScenarioReporterBehaviour.java 2010-01-10 13:39:05 UTC (rev 1513) @@ -188,7 +188,7 @@ private void narrateAnInterestingStory(ScenarioReporter reporter) { StoryDefinition story = new StoryDefinition(new Blurb("An interesting story"), - new ArrayList<ScenarioDefinition>(), "/path/to/story"); + "/path/to/story", new ArrayList<ScenarioDefinition>()); boolean embeddedStory = true; reporter.beforeStory(story, embeddedStory); String title = "I ask for a loan";
Modified: trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/definition/StoryDefinition.java (1512 => 1513)
--- trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/definition/StoryDefinition.java 2010-01-10 02:26:45 UTC (rev 1512) +++ trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/definition/StoryDefinition.java 2010-01-10 13:39:05 UTC (rev 1513) @@ -10,7 +10,7 @@ private final Blurb blurb; private final List<ScenarioDefinition> scenarioDefinitions; private String name = "Story"; - private String storyPath; + private String path = ""; public StoryDefinition(ScenarioDefinition... scenarioDefinitions) { this(asList(scenarioDefinitions)); @@ -19,21 +19,21 @@ public StoryDefinition(List<ScenarioDefinition> scenarioDefinitions) { this(Blurb.EMPTY, scenarioDefinitions); } - + public StoryDefinition(Blurb blurb, ScenarioDefinition... scenarioDefinitions) { this(blurb, asList(scenarioDefinitions)); } - + public StoryDefinition(Blurb blurb, List<ScenarioDefinition> scenarioDefinitions) { + this(blurb, "", scenarioDefinitions); + } + + public StoryDefinition(Blurb blurb, String path, List<ScenarioDefinition> scenarioDefinitions) { this.blurb = blurb; + this.path = path; this.scenarioDefinitions = scenarioDefinitions; } - public StoryDefinition(Blurb blurb, List<ScenarioDefinition> scenarioDefinitions, String storyPath) { - this(blurb, scenarioDefinitions); - this.storyPath = storyPath; - } - public Blurb getBlurb() { return blurb; } @@ -41,16 +41,16 @@ public List<ScenarioDefinition> getScenarios() { return unmodifiableList(scenarioDefinitions); } - - public String getName(){ + + public String getName() { return name; } - - public void namedAs(String name){ + + public void namedAs(String name) { this.name = name; } - public String getStoryPath() { - return storyPath; + public String getPath() { + return (path != null ? path : ""); } }
Modified: trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java (1512 => 1513)
--- trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java 2010-01-10 02:26:45 UTC (rev 1512) +++ trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java 2010-01-10 13:39:05 UTC (rev 1513) @@ -45,20 +45,19 @@ public StoryDefinition loadScenarioDefinitionsFor(Class<? extends RunnableScenario> scenarioClass) { String storyPath = resolver.resolve(scenarioClass); - String wholeFileAsString = asString(loadInputStreamFor(storyPath)); - return parser.defineStoryFrom(wholeFileAsString, storyPath); + String wholeStoryAsString = asString(loadInputStreamFor(storyPath)); + return parser.defineStoryFrom(wholeStoryAsString, storyPath); } - public StoryDefinition loadScenarioDefinitionsFor(String scenarioPath) { - String wholeFileAsString = asString(loadInputStreamFor(scenarioPath)); - return parser.defineStoryFrom(wholeFileAsString, scenarioPath); + public StoryDefinition loadScenarioDefinitionsFor(String storyPath) { + String wholeStoryAsString = asString(loadInputStreamFor(storyPath)); + return parser.defineStoryFrom(wholeStoryAsString, storyPath); } - - private InputStream loadInputStreamFor(String scenarioPath) { - InputStream stream = classLoader.getResourceAsStream(scenarioPath); + private InputStream loadInputStreamFor(String path) { + InputStream stream = classLoader.getResourceAsStream(path); if (stream == null) { - throw new ScenarioNotFoundException("Scenario " + scenarioPath + " could not be found by classloader " + throw new ScenarioNotFoundException("Path '" + path + "' could not be found by classloader " + classLoader); } return stream; @@ -72,7 +71,7 @@ output.write(bytes); return output.toString(); } catch (IOException e) { - throw new InvalidScenarioResourceException("Failed to convert scenario resource to string", e); + throw new InvalidScenarioResourceException("Failed to convert input resource to string", e); } }
Modified: trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/PatternScenarioParser.java (1512 => 1513)
--- trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/PatternScenarioParser.java 2010-01-10 02:26:45 UTC (rev 1512) +++ trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/PatternScenarioParser.java 2010-01-10 13:39:05 UTC (rev 1513) @@ -44,7 +44,7 @@ public StoryDefinition defineStoryFrom(String wholeStoryAsString, String storyPath) { Blurb blurb = parseBlurbFrom(wholeStoryAsString); List<ScenarioDefinition> scenarioDefinitions = parseScenariosFrom(wholeStoryAsString); - return new StoryDefinition(blurb, scenarioDefinitions, storyPath); + return new StoryDefinition(blurb, storyPath, scenarioDefinitions); } private List<ScenarioDefinition> parseScenariosFrom(
Modified: trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/ScenarioParser.java (1512 => 1513)
--- trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/ScenarioParser.java 2010-01-10 02:26:45 UTC (rev 1512) +++ trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser/ScenarioParser.java 2010-01-10 13:39:05 UTC (rev 1513) @@ -9,6 +9,13 @@ */ public interface ScenarioParser { - StoryDefinition defineStoryFrom(String wholeStory, String storyPath); + /** + * Defines story from its textual representation + * + * @param storyAsText the textual representation + * @param storyPath the story path, may be <code>null</code> if not loaded from filesystem + * @return The StoryDefinition + */ + StoryDefinition defineStoryFrom(String storyAsText, String storyPath); }
Modified: trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/reporters/PrintStreamScenarioReporter.java (1512 => 1513)
--- trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/reporters/PrintStreamScenarioReporter.java 2010-01-10 02:26:45 UTC (rev 1512) +++ trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/reporters/PrintStreamScenarioReporter.java 2010-01-10 13:39:05 UTC (rev 1513) @@ -127,11 +127,11 @@ } public void beforeStory(StoryDefinition story, boolean embeddedStory) { - print(format("beforeStory", "{0}\n({1})\n", story.getBlurb().asString(), story.getStoryPath())); + print(format("beforeStory", "{0}\n({1})\n", story.getBlurb().asString(), story.getPath())); } public void beforeStory(Blurb blurb) { - print(format("beforeStory", "{0}\n", blurb.asString())); + beforeStory(new StoryDefinition(blurb), false); } public void afterStory(boolean embeddedStory) { @@ -142,7 +142,7 @@ } public void afterStory() { - print(format("afterStory", "\n")); + afterStory(false); } public void givenScenarios(List<String> givenScenarios) {
To unsubscribe from this list please visit:
