Title: [1100] trunk/core/jbehave-ant/src/main/java/org/jbehave/ant: Pulled up stepdoc generation method to RunnableScenario to avoid duplicaition in Ant/Maven integration and to allow standard JBehave configuration.

Diff

Modified: trunk/core/jbehave-ant/src/main/java/org/jbehave/ant/StepdocTask.java (1099 => 1100)

--- trunk/core/jbehave-ant/src/main/java/org/jbehave/ant/StepdocTask.java	2009-02-22 13:22:55 UTC (rev 1099)
+++ trunk/core/jbehave-ant/src/main/java/org/jbehave/ant/StepdocTask.java	2009-02-22 13:35:52 UTC (rev 1100)
@@ -3,16 +3,8 @@
 import static org.apache.tools.ant.Project.MSG_INFO;
 import static org.apache.tools.ant.Project.MSG_WARN;
 
-import java.util.List;
-
 import org.apache.tools.ant.BuildException;
 import org.jbehave.scenario.RunnableScenario;
-import org.jbehave.scenario.reporters.PrintStreamStepDocReporter;
-import org.jbehave.scenario.reporters.StepDocReporter;
-import org.jbehave.scenario.steps.CandidateSteps;
-import org.jbehave.scenario.steps.DefaultStepDocGenerator;
-import org.jbehave.scenario.steps.StepDoc;
-import org.jbehave.scenario.steps.StepDocGenerator;
 
 /**
  * Ant task that generate stepdocs
@@ -30,9 +22,6 @@
 	 */
 	private boolean ignoreFailure = false;
 
-	private StepDocGenerator generator = new DefaultStepDocGenerator();
-	private StepDocReporter reporter = new PrintStreamStepDocReporter();
-	
 	public void execute() throws BuildException {
 		if (skip) {
 			log("Skipped running scenarios", MSG_INFO);
@@ -42,10 +31,7 @@
 			String scenarioName = scenario.getClass().getName();
 			try {
 				log("Generating stepdoc for " + scenarioName);
-				for (CandidateSteps steps : scenario.getSteps()) {
-					List<StepDoc> stepdocs = generator.generate(steps.getClass());
-					reporter.report(stepdocs);
-				}
+				scenario.generateStepdoc();
 			} catch (Throwable e) {
 				String message = "Failed to generate stepdoc for " + scenarioName;
 				if (ignoreFailure) {

Modified: trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/ScenarioBehaviour.java (1099 => 1100)

--- trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/ScenarioBehaviour.java	2009-02-22 13:22:55 UTC (rev 1099)
+++ trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/ScenarioBehaviour.java	2009-02-22 13:35:52 UTC (rev 1100)
@@ -13,8 +13,10 @@
 import org.jbehave.scenario.errors.PendingErrorStrategy;
 import org.jbehave.scenario.parser.ScenarioDefiner;
 import org.jbehave.scenario.reporters.ScenarioReporter;
+import org.jbehave.scenario.reporters.StepDocReporter;
 import org.jbehave.scenario.steps.CandidateSteps;
 import org.jbehave.scenario.steps.StepCreator;
+import org.jbehave.scenario.steps.StepDocGenerator;
 import org.jbehave.scenario.steps.Steps;
 import org.junit.Test;
 
@@ -64,6 +66,10 @@
         public ScenarioReporter forReportingScenarios() { return null; }
 
         public KeyWords keywords() { return null; }
+
+		public StepDocGenerator forGeneratingStepdoc() { return null; }
+
+		public StepDocReporter forReportingStepdoc() { return null; }
         
     }
 }

Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/AbstractScenario.java (1099 => 1100)

--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/AbstractScenario.java	2009-02-22 13:22:55 UTC (rev 1099)
+++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/AbstractScenario.java	2009-02-22 13:35:52 UTC (rev 1100)
@@ -8,7 +8,10 @@
 import org.jbehave.scenario.definition.KeyWords;
 import org.jbehave.scenario.definition.StoryDefinition;
 import org.jbehave.scenario.parser.ScenarioNameResolver;
+import org.jbehave.scenario.reporters.StepDocReporter;
 import org.jbehave.scenario.steps.CandidateSteps;
+import org.jbehave.scenario.steps.StepDoc;
+import org.jbehave.scenario.steps.StepDocGenerator;
 
 /**
  * <p>
@@ -80,4 +83,13 @@
 		return candidateSteps;
 	}    
     
+	public void generateStepdoc(){
+		StepDocGenerator generator = configuration.forGeneratingStepdoc();
+		for ( CandidateSteps steps : candidateSteps ){
+			List<StepDoc> stepdocs = generator.generate(steps.getClass());
+			StepDocReporter reporter = configuration.forReportingStepdoc();
+			reporter.report(stepdocs);
+		}
+	}
+
 }

Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/Configuration.java (1099 => 1100)

--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/Configuration.java	2009-02-22 13:22:55 UTC (rev 1099)
+++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/Configuration.java	2009-02-22 13:35:52 UTC (rev 1100)
@@ -5,7 +5,9 @@
 import org.jbehave.scenario.errors.PendingErrorStrategy;
 import org.jbehave.scenario.parser.ScenarioDefiner;
 import org.jbehave.scenario.reporters.ScenarioReporter;
+import org.jbehave.scenario.reporters.StepDocReporter;
 import org.jbehave.scenario.steps.StepCreator;
+import org.jbehave.scenario.steps.StepDocGenerator;
 
 /**
  * Provides the configuration with which JBehave runs.
@@ -35,4 +37,8 @@
     
     KeyWords keywords();
 
+	StepDocGenerator forGeneratingStepdoc();
+
+	StepDocReporter forReportingStepdoc();
+
 }

Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java (1099 => 1100)

--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java	2009-02-22 13:22:55 UTC (rev 1099)
+++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java	2009-02-22 13:35:52 UTC (rev 1100)
@@ -59,7 +59,11 @@
     	return delegate.getSteps();
     }
     
-    /**
+    public void generateStepdoc() {
+    	this.delegate.generateStepdoc();
+	}
+
+	/**
      * A JUnit 3-compatibile runnable method which simply delegates
      * {...@link RunnableScenario#runScenario()}
      * 

Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/MostUsefulConfiguration.java (1099 => 1100)

--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/MostUsefulConfiguration.java	2009-02-22 13:22:55 UTC (rev 1099)
+++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/MostUsefulConfiguration.java	2009-02-22 13:35:52 UTC (rev 1100)
@@ -4,13 +4,17 @@
 import org.jbehave.scenario.definition.ScenarioGivenWhenThenAnd;
 import org.jbehave.scenario.errors.ErrorStrategy;
 import org.jbehave.scenario.errors.PendingErrorStrategy;
+import org.jbehave.scenario.parser.ClasspathScenarioDefiner;
 import org.jbehave.scenario.parser.PatternScenarioParser;
 import org.jbehave.scenario.parser.ScenarioDefiner;
-import org.jbehave.scenario.parser.ClasspathScenarioDefiner;
 import org.jbehave.scenario.reporters.PassSilentlyDecorator;
 import org.jbehave.scenario.reporters.PrintStreamScenarioReporter;
+import org.jbehave.scenario.reporters.PrintStreamStepDocReporter;
 import org.jbehave.scenario.reporters.ScenarioReporter;
+import org.jbehave.scenario.reporters.StepDocReporter;
+import org.jbehave.scenario.steps.DefaultStepDocGenerator;
 import org.jbehave.scenario.steps.StepCreator;
+import org.jbehave.scenario.steps.StepDocGenerator;
 import org.jbehave.scenario.steps.UnmatchedToPendingStepCreator;
 
 /**
@@ -82,4 +86,12 @@
         return new ScenarioGivenWhenThenAnd();
     }
 
+	public StepDocGenerator forGeneratingStepdoc() {
+		return new DefaultStepDocGenerator();
+	}
+
+	public StepDocReporter forReportingStepdoc() {
+		return new PrintStreamStepDocReporter();
+	}
+
 }

Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/PropertyBasedConfiguration.java (1099 => 1100)

--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/PropertyBasedConfiguration.java	2009-02-22 13:22:55 UTC (rev 1099)
+++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/PropertyBasedConfiguration.java	2009-02-22 13:35:52 UTC (rev 1100)
@@ -6,7 +6,9 @@
 import org.jbehave.scenario.parser.ScenarioDefiner;
 import org.jbehave.scenario.reporters.PrintStreamScenarioReporter;
 import org.jbehave.scenario.reporters.ScenarioReporter;
+import org.jbehave.scenario.reporters.StepDocReporter;
 import org.jbehave.scenario.steps.StepCreator;
+import org.jbehave.scenario.steps.StepDocGenerator;
 
 /**
  * This is backed by the MostUsefulConfiguration, but has different
@@ -87,5 +89,14 @@
      */
     public KeyWords keywords() {
         return defaults.keywords();
-    }    
+    }
+
+	public StepDocGenerator forGeneratingStepdoc() {		
+		return defaults.forGeneratingStepdoc();
+	}
+
+	public StepDocReporter forReportingStepdoc() {
+		return defaults.forReportingStepdoc();
+	}    
+	
 }

Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/RunnableScenario.java (1099 => 1100)

--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/RunnableScenario.java	2009-02-22 13:22:55 UTC (rev 1099)
+++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/RunnableScenario.java	2009-02-22 13:35:52 UTC (rev 1100)
@@ -25,4 +25,6 @@
 
     List<CandidateSteps> getSteps();
 
+	void generateStepdoc();
+
 }

Modified: trunk/core/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/StepdocMojo.java (1099 => 1100)

--- trunk/core/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/StepdocMojo.java	2009-02-22 13:22:55 UTC (rev 1099)
+++ trunk/core/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/StepdocMojo.java	2009-02-22 13:35:52 UTC (rev 1100)
@@ -1,16 +1,8 @@
 package org.jbehave.mojo;
 
-import java.util.List;
-
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.jbehave.scenario.RunnableScenario;
-import org.jbehave.scenario.reporters.PrintStreamStepDocReporter;
-import org.jbehave.scenario.reporters.StepDocReporter;
-import org.jbehave.scenario.steps.CandidateSteps;
-import org.jbehave.scenario.steps.DefaultStepDocGenerator;
-import org.jbehave.scenario.steps.StepDoc;
-import org.jbehave.scenario.steps.StepDocGenerator;
 
 /**
  * Mojo to generate stepdocs
@@ -34,9 +26,6 @@
 	 */
 	private boolean ignoreFailure;
 
-	private StepDocGenerator generator = new DefaultStepDocGenerator();
-	private StepDocReporter reporter = new PrintStreamStepDocReporter();
-
 	public void execute() throws MojoExecutionException, MojoFailureException {
 		if (skip) {
 			getLog().info("Skipped generating stepdoc");
@@ -46,10 +35,7 @@
 			String scenarioName = scenario.getClass().getName();
 			try {
 				getLog().info("Generating stepdoc for " + scenarioName);
-				for (CandidateSteps steps : scenario.getSteps()) {
-					List<StepDoc> stepdocs = generator.generate(steps.getClass());
-					reporter.report(stepdocs);
-				}
+				scenario.generateStepdoc();
 			} catch (Throwable e) {
 				String message = "Failed to generate stepdoc for "+scenarioName;						
 				if (ignoreFailure) {


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to