From fbd040d4481cefb747516cc36af20369f5c696da Mon Sep 17 00:00:00 2001 From: Dancovich Date: Tue, 22 Oct 2013 15:09:30 -0300 Subject: [PATCH] Resolvido bug que derrubava o contexto que cuida do ViewScope no momento errado. --- impl/core/src/main/java/br/gov/frameworkdemoiselle/context/CustomContext.java | 3 ++- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractCustomContext.java | 8 +++++--- impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrap.java | 3 +-- 3 files changed, 8 insertions(+), 6 deletions(-) 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