commit e2f6d5d49fd54c37099f11d2043243d107be131d
Author:     Mauro Talevi <mauro.tal...@aquilonia.org>
AuthorDate: Wed, 26 Feb 2014 08:47:01 +0000
Commit:     Mauro Talevi <mauro.tal...@aquilonia.org>
CommitDate: Wed, 26 Feb 2014 08:49:12 +0000

    JBEHAVE-970:  Made ignoring context failure configurable, default to true 
for backward compatibility.

diff --git 
a/jbehave-spring/src/main/java/org/jbehave/core/annotations/spring/UsingSpring.java
 
b/jbehave-spring/src/main/java/org/jbehave/core/annotations/spring/UsingSpring.java
index 9b122fa..e6b3ae1 100755
--- 
a/jbehave-spring/src/main/java/org/jbehave/core/annotations/spring/UsingSpring.java
+++ 
b/jbehave-spring/src/main/java/org/jbehave/core/annotations/spring/UsingSpring.java
@@ -15,4 +15,6 @@ public @interface UsingSpring {
 
     boolean inheritResources() default true;
     
+    boolean ignoreContextFailure() default true;
+
 }
diff --git 
a/jbehave-spring/src/main/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilder.java
 
b/jbehave-spring/src/main/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilder.java
index db1374b..9da65a3 100755
--- 
a/jbehave-spring/src/main/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilder.java
+++ 
b/jbehave-spring/src/main/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilder.java
@@ -47,9 +47,12 @@ public class SpringAnnotationBuilder extends 
AnnotationBuilder {
                     context = 
createApplicationContext(annotatedClass().getClassLoader(), resources);
                 } catch (Exception e) {
                     
annotationMonitor().elementCreationFailed(ApplicationContext.class, e);
+                    boolean ignoreContextFailure = 
annotationFinder().getAnnotatedValue(UsingSpring.class, boolean.class, 
"ignoreContextFailure");
+                                       if ( !ignoreContextFailure ){
                        throw new InstantiationFailed(annotatedClass(), e);
                     }
                 }
+            }
         } else {
             annotationMonitor().annotationNotFound(UsingSpring.class, 
annotatedClass());
         }
diff --git 
a/jbehave-spring/src/test/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilderBehaviour.java
 
b/jbehave-spring/src/test/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilderBehaviour.java
index d4f0af9..25b9de7 100755
--- 
a/jbehave-spring/src/test/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilderBehaviour.java
+++ 
b/jbehave-spring/src/test/java/org/jbehave/core/configuration/spring/SpringAnnotationBuilderBehaviour.java
@@ -195,7 +195,7 @@ public class SpringAnnotationBuilderBehaviour {
     }
 
     @Configure()
-    @UsingSpring(resources = { "inexistent"} )
+    @UsingSpring(resources = { "inexistent"}, ignoreContextFailure = false )
     private static class AnnotatedWithUnloadableResource {
 
     }



Reply via email to