- Revision
- 1597
- Author
- paul
- Date
- 2010-03-13 09:58:41 -0600 (Sat, 13 Mar 2010)
Log Message
no need to process scenarios that are abstract
Modified Paths
Diff
Modified: trunk/core/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/AbstractScenarioMojo.java (1596 => 1597)
--- trunk/core/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/AbstractScenarioMojo.java 2010-03-09 07:47:27 UTC (rev 1596) +++ trunk/core/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/AbstractScenarioMojo.java 2010-03-13 15:58:41 UTC (rev 1597) @@ -1,15 +1,16 @@ package org.jbehave.mojo; -import java.net.MalformedURLException; -import java.util.ArrayList; -import java.util.List; - import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.jbehave.scenario.RunnableScenario; import org.jbehave.scenario.ScenarioClassLoader; import org.jbehave.scenario.parser.ScenarioClassNameFinder; +import java.lang.reflect.Modifier; +import java.net.MalformedURLException; +import java.util.ArrayList; +import java.util.List; + /** * Abstract mojo that holds all the configuration parameters to specify and load * scenarios. @@ -195,7 +196,9 @@ List<RunnableScenario> scenarios = new ArrayList<RunnableScenario>(); for (String name : names) { try { - scenarios.add(scenarioFor(classLoader, name)); + if (!isScenarioAbstract(classLoader, name)) { + scenarios.add(scenarioFor(classLoader, name)); + } } catch (Exception e) { throw new MojoExecutionException("Failed to instantiate scenario '" + name + "'", e); } @@ -203,6 +206,10 @@ return scenarios; } + private boolean isScenarioAbstract(ScenarioClassLoader classLoader, String name) throws ClassNotFoundException { + return Modifier.isAbstract(classLoader.loadClass(name).getModifiers()); + } + private RunnableScenario scenarioFor(ScenarioClassLoader classLoader, String name) { if ( classLoaderInjected ){ return classLoader.newScenario(name, ClassLoader.class);
To unsubscribe from this list please visit:
