diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/context/CustomContext.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/context/CustomContext.java
index 0ad5e3c..5c5c414 100644
--- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/context/CustomContext.java
+++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/context/CustomContext.java
@@ -51,7 +51,8 @@ public interface CustomContext extends Context {
* Activates a custom context
*
* @return true
if context was activated, false
if there was already another active
- * context for the same scope and the activation of this scope failed.
+ * context for the same scope and the activation of this scope failed, or if it was already activated before
+ * this call.
*/
boolean activate();
diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractCustomContext.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractCustomContext.java
index 3adfddc..dbf2575 100644
--- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractCustomContext.java
+++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractCustomContext.java
@@ -113,6 +113,8 @@ public abstract class AbstractCustomContext implements CustomContext {
@Override
public boolean activate() {
+ boolean success = false;
+
if (!this.active){
BeanManager beanManager = Beans.getBeanManager();
if (beanManager!=null){
@@ -123,17 +125,17 @@ public abstract class AbstractCustomContext implements CustomContext {
}
}
catch(ContextNotActiveException ce){
- this.active = true;
+ success = this.active = true;
getLogger().debug( getBundle().getString("custom-context-was-activated" , this.getClass().getCanonicalName() , this.getScope().getSimpleName() ) );
}
}
else{
- this.active = true;
+ success = this.active = true;
getLogger().debug( getBundle().getString("custom-context-was-activated" , this.getClass().getCanonicalName() , this.getScope().getSimpleName() ) );
}
}
- return this.active;
+ return success;
}
@Override
diff --git a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrap.java b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrap.java
index 3639e24..a89bbac 100644
--- a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrap.java
+++ b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrap.java
@@ -66,8 +66,7 @@ public class JsfBootstrap implements Extension {
//Ativa o ViewContext
if (!context.isActive()){
- context.activate();
- contextActivatedHere = true;
+ contextActivatedHere = context.activate();
}
else{
contextActivatedHere = false;
--
libgit2 0.21.2