Commit fbd040d4481cefb747516cc36af20369f5c696da
1 parent
2374298d
Exists in
master
Resolvido bug que derrubava o contexto que cuida do ViewScope no momento
errado.
Showing
3 changed files
with
8 additions
and
6 deletions
Show diff stats
impl/core/src/main/java/br/gov/frameworkdemoiselle/context/CustomContext.java
| ... | ... | @@ -51,7 +51,8 @@ public interface CustomContext extends Context { |
| 51 | 51 | * Activates a custom context |
| 52 | 52 | * |
| 53 | 53 | * @return <code>true</code> if context was activated, <code>false</code> if there was already another active |
| 54 | - * context for the same scope and the activation of this scope failed. | |
| 54 | + * context for the same scope and the activation of this scope failed, or if it was already activated before | |
| 55 | + * this call. | |
| 55 | 56 | */ |
| 56 | 57 | boolean activate(); |
| 57 | 58 | ... | ... |
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractCustomContext.java
| ... | ... | @@ -113,6 +113,8 @@ public abstract class AbstractCustomContext implements CustomContext { |
| 113 | 113 | |
| 114 | 114 | @Override |
| 115 | 115 | public boolean activate() { |
| 116 | + boolean success = false; | |
| 117 | + | |
| 116 | 118 | if (!this.active){ |
| 117 | 119 | BeanManager beanManager = Beans.getBeanManager(); |
| 118 | 120 | if (beanManager!=null){ |
| ... | ... | @@ -123,17 +125,17 @@ public abstract class AbstractCustomContext implements CustomContext { |
| 123 | 125 | } |
| 124 | 126 | } |
| 125 | 127 | catch(ContextNotActiveException ce){ |
| 126 | - this.active = true; | |
| 128 | + success = this.active = true; | |
| 127 | 129 | getLogger().debug( getBundle().getString("custom-context-was-activated" , this.getClass().getCanonicalName() , this.getScope().getSimpleName() ) ); |
| 128 | 130 | } |
| 129 | 131 | } |
| 130 | 132 | else{ |
| 131 | - this.active = true; | |
| 133 | + success = this.active = true; | |
| 132 | 134 | getLogger().debug( getBundle().getString("custom-context-was-activated" , this.getClass().getCanonicalName() , this.getScope().getSimpleName() ) ); |
| 133 | 135 | } |
| 134 | 136 | } |
| 135 | 137 | |
| 136 | - return this.active; | |
| 138 | + return success; | |
| 137 | 139 | } |
| 138 | 140 | |
| 139 | 141 | @Override | ... | ... |
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrap.java
| ... | ... | @@ -66,8 +66,7 @@ public class JsfBootstrap implements Extension { |
| 66 | 66 | |
| 67 | 67 | //Ativa o ViewContext |
| 68 | 68 | if (!context.isActive()){ |
| 69 | - context.activate(); | |
| 70 | - contextActivatedHere = true; | |
| 69 | + contextActivatedHere = context.activate(); | |
| 71 | 70 | } |
| 72 | 71 | else{ |
| 73 | 72 | contextActivatedHere = false; | ... | ... |