Title: [1513] trunk/core/jbehave-core/src/main/java/org/jbehave/scenario/parser: Clean up handling of story parsing from non-file input, i.e.

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:

http://xircles.codehaus.org/manage_email

Reply via email to