Commit 4b5516e7d166e508597f4c66d56e9f68b281262a

Authored by Cleverson Sacramento
1 parent 04970ec9
Exists in master

FWK-202: Injeção de java.util.logging.Logger

Task-Url: https://demoiselle.atlassian.net/browse/FWK-202
Showing 30 changed files with 628 additions and 592 deletions   Show diff stats
impl/core/pom.xml
@@ -34,7 +34,8 @@ @@ -34,7 +34,8 @@
34 ou escreva para a Fundação do Software Livre (FSF) Inc., 34 ou escreva para a Fundação do Software Livre (FSF) Inc.,
35 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. 35 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
36 --> 36 -->
37 -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 37 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  38 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
38 39
39 <modelVersion>4.0.0</modelVersion> 40 <modelVersion>4.0.0</modelVersion>
40 41
@@ -117,10 +118,6 @@ @@ -117,10 +118,6 @@
117 <groupId>javax.validation</groupId> 118 <groupId>javax.validation</groupId>
118 </dependency> 119 </dependency>
119 <dependency> 120 <dependency>
120 - <groupId>org.slf4j</groupId>  
121 - <artifactId>slf4j-api</artifactId>  
122 - </dependency>  
123 - <dependency>  
124 <groupId>org.javassist</groupId> 121 <groupId>org.javassist</groupId>
125 <artifactId>javassist</artifactId> 122 <artifactId>javassist</artifactId>
126 </dependency> 123 </dependency>
@@ -129,6 +126,12 @@ @@ -129,6 +126,12 @@
129 <artifactId>commons-configuration</artifactId> 126 <artifactId>commons-configuration</artifactId>
130 </dependency> 127 </dependency>
131 128
  129 + <!-- @Deprecated -->
  130 + <dependency>
  131 + <groupId>org.slf4j</groupId>
  132 + <artifactId>slf4j-api</artifactId>
  133 + </dependency>
  134 +
132 <!-- for tests --> 135 <!-- for tests -->
133 <dependency> 136 <dependency>
134 <groupId>junit</groupId> 137 <groupId>junit</groupId>
@@ -143,7 +146,6 @@ @@ -143,7 +146,6 @@
143 <dependency> 146 <dependency>
144 <groupId>org.jboss.arquillian.container</groupId> 147 <groupId>org.jboss.arquillian.container</groupId>
145 <artifactId>arquillian-weld-se-embedded-1.1</artifactId> 148 <artifactId>arquillian-weld-se-embedded-1.1</artifactId>
146 -<!-- <version>1.0.0.CR7</version> -->  
147 <scope>test</scope> 149 <scope>test</scope>
148 </dependency> 150 </dependency>
149 <dependency> 151 <dependency>
@@ -156,11 +158,6 @@ @@ -156,11 +158,6 @@
156 <artifactId>hibernate-validator</artifactId> 158 <artifactId>hibernate-validator</artifactId>
157 <scope>test</scope> 159 <scope>test</scope>
158 </dependency> 160 </dependency>
159 - <dependency>  
160 - <groupId>org.slf4j</groupId>  
161 - <artifactId>slf4j-log4j12</artifactId>  
162 - <scope>test</scope>  
163 - </dependency>  
164 </dependencies> 161 </dependencies>
165 162
166 <repositories> 163 <repositories>
impl/core/src/main/java/br/gov/frameworkdemoiselle/exception/ExceptionHandlerInterceptor.java
@@ -44,13 +44,12 @@ import java.util.Arrays; @@ -44,13 +44,12 @@ import java.util.Arrays;
44 import java.util.HashMap; 44 import java.util.HashMap;
45 import java.util.List; 45 import java.util.List;
46 import java.util.Map; 46 import java.util.Map;
  47 +import java.util.logging.Logger;
47 48
48 import javax.interceptor.AroundInvoke; 49 import javax.interceptor.AroundInvoke;
49 import javax.interceptor.Interceptor; 50 import javax.interceptor.Interceptor;
50 import javax.interceptor.InvocationContext; 51 import javax.interceptor.InvocationContext;
51 52
52 -import org.slf4j.Logger;  
53 -  
54 import br.gov.frameworkdemoiselle.DemoiselleException; 53 import br.gov.frameworkdemoiselle.DemoiselleException;
55 import br.gov.frameworkdemoiselle.stereotype.Controller; 54 import br.gov.frameworkdemoiselle.stereotype.Controller;
56 import br.gov.frameworkdemoiselle.util.Beans; 55 import br.gov.frameworkdemoiselle.util.Beans;
@@ -93,6 +92,9 @@ import br.gov.frameworkdemoiselle.util.ResourceBundle; @@ -93,6 +92,9 @@ import br.gov.frameworkdemoiselle.util.ResourceBundle;
93 * } 92 * }
94 * } 93 * }
95 * 94 *
  95 + *
  96 + *
  97 + *
96 * </pre> 98 * </pre>
97 * 99 *
98 * </blockquote> 100 * </blockquote>
@@ -255,7 +257,7 @@ public class ExceptionHandlerInterceptor implements Serializable { @@ -255,7 +257,7 @@ public class ExceptionHandlerInterceptor implements Serializable {
255 257
256 private Logger getLogger() { 258 private Logger getLogger() {
257 if (logger == null) { 259 if (logger == null) {
258 - logger = Beans.getReference(Logger.class, new NameQualifier(ExceptionHandlerInterceptor.class.getName())); 260 + logger = Beans.getReference(Logger.class, new NameQualifier("br.gov.frameworkdemoiselle.exception"));
259 } 261 }
260 262
261 return logger; 263 return logger;
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/AbstractLifecycleBootstrap.java
@@ -42,6 +42,7 @@ import java.util.Collections; @@ -42,6 +42,7 @@ import java.util.Collections;
42 import java.util.HashMap; 42 import java.util.HashMap;
43 import java.util.Iterator; 43 import java.util.Iterator;
44 import java.util.List; 44 import java.util.List;
  45 +import java.util.logging.Logger;
45 46
46 import javax.enterprise.event.Observes; 47 import javax.enterprise.event.Observes;
47 import javax.enterprise.inject.spi.AnnotatedMethod; 48 import javax.enterprise.inject.spi.AnnotatedMethod;
@@ -49,8 +50,6 @@ import javax.enterprise.inject.spi.AnnotatedType; @@ -49,8 +50,6 @@ import javax.enterprise.inject.spi.AnnotatedType;
49 import javax.enterprise.inject.spi.Extension; 50 import javax.enterprise.inject.spi.Extension;
50 import javax.enterprise.inject.spi.ProcessAnnotatedType; 51 import javax.enterprise.inject.spi.ProcessAnnotatedType;
51 52
52 -import org.slf4j.Logger;  
53 -  
54 import br.gov.frameworkdemoiselle.DemoiselleException; 53 import br.gov.frameworkdemoiselle.DemoiselleException;
55 import br.gov.frameworkdemoiselle.context.ConversationContext; 54 import br.gov.frameworkdemoiselle.context.ConversationContext;
56 import br.gov.frameworkdemoiselle.context.CustomContext; 55 import br.gov.frameworkdemoiselle.context.CustomContext;
@@ -73,11 +72,11 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement @@ -73,11 +72,11 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
73 .synchronizedList(new ArrayList<AnnotatedMethodProcessor>()); 72 .synchronizedList(new ArrayList<AnnotatedMethodProcessor>());
74 73
75 private transient static ResourceBundle bundle; 74 private transient static ResourceBundle bundle;
76 - 75 +
77 private boolean registered = false; 76 private boolean registered = false;
78 - 77 +
79 private HashMap<String, Boolean> startedContextHere = new HashMap<String, Boolean>(); 78 private HashMap<String, Boolean> startedContextHere = new HashMap<String, Boolean>();
80 - 79 +
81 private transient CustomContext backupContext = null; 80 private transient CustomContext backupContext = null;
82 81
83 protected abstract Logger getLogger(); 82 protected abstract Logger getLogger();
@@ -115,13 +114,13 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement @@ -115,13 +114,13 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
115 114
116 @SuppressWarnings({ "unchecked", "rawtypes" }) 115 @SuppressWarnings({ "unchecked", "rawtypes" })
117 protected synchronized void proccessEvent() { 116 protected synchronized void proccessEvent() {
118 - getLogger().debug(getBundle().getString("executing-all", getAnnotationClass().getSimpleName())); 117 + getLogger().fine(getBundle().getString("executing-all", getAnnotationClass().getSimpleName()));
119 118
120 Collections.sort(processors); 119 Collections.sort(processors);
121 Exception failure = null; 120 Exception failure = null;
122 - 121 +
123 startContexts(); 122 startContexts();
124 - 123 +
125 for (Iterator<AnnotatedMethodProcessor> iter = processors.iterator(); iter.hasNext();) { 124 for (Iterator<AnnotatedMethodProcessor> iter = processors.iterator(); iter.hasNext();) {
126 AnnotatedMethodProcessor<?> processor = iter.next(); 125 AnnotatedMethodProcessor<?> processor = iter.next();
127 126
@@ -138,49 +137,48 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement @@ -138,49 +137,48 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
138 failure = cause; 137 failure = cause;
139 } 138 }
140 } 139 }
141 - 140 +
142 stopContexts(); 141 stopContexts();
143 142
144 if (failure != null) { 143 if (failure != null) {
145 throw new DemoiselleException(failure); 144 throw new DemoiselleException(failure);
146 } 145 }
147 } 146 }
148 -  
149 - private void startContexts(){  
150 - if (!registered){ 147 +
  148 + private void startContexts() {
  149 + if (!registered) {
151 RequestContext requestContext = Beans.getReference(RequestContext.class); 150 RequestContext requestContext = Beans.getReference(RequestContext.class);
152 SessionContext sessionContext = Beans.getReference(SessionContext.class); 151 SessionContext sessionContext = Beans.getReference(SessionContext.class);
153 ViewContext viewContext = Beans.getReference(ViewContext.class); 152 ViewContext viewContext = Beans.getReference(ViewContext.class);
154 ConversationContext conversationContext = Beans.getReference(ConversationContext.class); 153 ConversationContext conversationContext = Beans.getReference(ConversationContext.class);
155 -  
156 - if (requestContext!=null){ 154 +
  155 + if (requestContext != null) {
157 startedContextHere.put("request", requestContext.activate()); 156 startedContextHere.put("request", requestContext.activate());
158 } 157 }
159 -  
160 - if (sessionContext!=null){ 158 +
  159 + if (sessionContext != null) {
161 startedContextHere.put("session", sessionContext.activate()); 160 startedContextHere.put("session", sessionContext.activate());
162 } 161 }
163 -  
164 -  
165 - if (conversationContext!=null){ 162 +
  163 + if (conversationContext != null) {
166 startedContextHere.put("conversation", conversationContext.activate()); 164 startedContextHere.put("conversation", conversationContext.activate());
167 } 165 }
168 -  
169 - //Contexto temporário de visão precisa de tratamento especial  
170 - //para evitar conflito com o contexto presente na extensão demoiselle-jsf  
171 - if (viewContext!=null){  
172 - if (TemporaryViewContextImpl.class.isInstance(viewContext)){ 166 +
  167 + // Contexto temporário de visão precisa de tratamento especial
  168 + // para evitar conflito com o contexto presente na extensão demoiselle-jsf
  169 + if (viewContext != null) {
  170 + if (TemporaryViewContextImpl.class.isInstance(viewContext)) {
173 startedContextHere.put("view", viewContext.activate()); 171 startedContextHere.put("view", viewContext.activate());
174 - }  
175 - else{  
176 - //Precisamos desativar temporariamente o contexto  
177 - if (viewContext.isActive()){ 172 + } else {
  173 + // Precisamos desativar temporariamente o contexto
  174 + if (viewContext.isActive()) {
178 backupContext = viewContext; 175 backupContext = viewContext;
179 viewContext.deactivate(); 176 viewContext.deactivate();
180 -  
181 - CustomContextBootstrap customContextBootstrap = Beans.getReference(CustomContextBootstrap.class);  
182 - for (CustomContext customContext : customContextBootstrap.getCustomContexts()){  
183 - if ( TemporaryViewContextImpl.class.isInstance(customContext) ){ 177 +
  178 + CustomContextBootstrap customContextBootstrap = Beans
  179 + .getReference(CustomContextBootstrap.class);
  180 + for (CustomContext customContext : customContextBootstrap.getCustomContexts()) {
  181 + if (TemporaryViewContextImpl.class.isInstance(customContext)) {
184 startedContextHere.put("view", customContext.activate()); 182 startedContextHere.put("view", customContext.activate());
185 break; 183 break;
186 } 184 }
@@ -188,37 +186,37 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement @@ -188,37 +186,37 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
188 } 186 }
189 } 187 }
190 } 188 }
191 - 189 +
192 registered = true; 190 registered = true;
193 } 191 }
194 } 192 }
195 -  
196 - private void stopContexts(){  
197 - if (registered){ 193 +
  194 + private void stopContexts() {
  195 + if (registered) {
198 RequestContext requestContext = Beans.getReference(RequestContext.class); 196 RequestContext requestContext = Beans.getReference(RequestContext.class);
199 SessionContext sessionContext = Beans.getReference(SessionContext.class); 197 SessionContext sessionContext = Beans.getReference(SessionContext.class);
200 ViewContext viewContext = Beans.getReference(ViewContext.class); 198 ViewContext viewContext = Beans.getReference(ViewContext.class);
201 ConversationContext conversationContext = Beans.getReference(ConversationContext.class); 199 ConversationContext conversationContext = Beans.getReference(ConversationContext.class);
202 -  
203 - if (requestContext!=null && Boolean.TRUE.equals(startedContextHere.get("request"))){ 200 +
  201 + if (requestContext != null && Boolean.TRUE.equals(startedContextHere.get("request"))) {
204 requestContext.deactivate(); 202 requestContext.deactivate();
205 } 203 }
206 -  
207 - if (sessionContext!=null && Boolean.TRUE.equals(startedContextHere.get("session"))){ 204 +
  205 + if (sessionContext != null && Boolean.TRUE.equals(startedContextHere.get("session"))) {
208 sessionContext.deactivate(); 206 sessionContext.deactivate();
209 } 207 }
210 -  
211 - if (conversationContext!=null && Boolean.TRUE.equals(startedContextHere.get("conversation"))){ 208 +
  209 + if (conversationContext != null && Boolean.TRUE.equals(startedContextHere.get("conversation"))) {
212 conversationContext.deactivate(); 210 conversationContext.deactivate();
213 } 211 }
214 -  
215 - //Contexto temporário de visão precisa de tratamento especial  
216 - //para evitar conflito com o contexto presente na extensão demoiselle-jsf  
217 - if (viewContext!=null){  
218 - if (TemporaryViewContextImpl.class.isInstance(viewContext) && startedContextHere.get("view")){ 212 +
  213 + // Contexto temporário de visão precisa de tratamento especial
  214 + // para evitar conflito com o contexto presente na extensão demoiselle-jsf
  215 + if (viewContext != null) {
  216 + if (TemporaryViewContextImpl.class.isInstance(viewContext) && startedContextHere.get("view")) {
219 viewContext.deactivate(); 217 viewContext.deactivate();
220 -  
221 - if (backupContext!=null){ 218 +
  219 + if (backupContext != null) {
222 backupContext.activate(); 220 backupContext.activate();
223 backupContext = null; 221 backupContext = null;
224 } 222 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/AbstractStrategyBootstrap.java
@@ -3,14 +3,13 @@ package br.gov.frameworkdemoiselle.internal.bootstrap; @@ -3,14 +3,13 @@ package br.gov.frameworkdemoiselle.internal.bootstrap;
3 import java.util.Collection; 3 import java.util.Collection;
4 import java.util.Collections; 4 import java.util.Collections;
5 import java.util.HashSet; 5 import java.util.HashSet;
  6 +import java.util.logging.Logger;
6 7
7 import javax.enterprise.event.Observes; 8 import javax.enterprise.event.Observes;
8 import javax.enterprise.inject.spi.AnnotatedType; 9 import javax.enterprise.inject.spi.AnnotatedType;
9 import javax.enterprise.inject.spi.Extension; 10 import javax.enterprise.inject.spi.Extension;
10 import javax.enterprise.inject.spi.ProcessAnnotatedType; 11 import javax.enterprise.inject.spi.ProcessAnnotatedType;
11 12
12 -import org.slf4j.Logger;  
13 -  
14 import br.gov.frameworkdemoiselle.util.Reflections; 13 import br.gov.frameworkdemoiselle.util.Reflections;
15 14
16 public abstract class AbstractStrategyBootstrap<I> implements Extension { 15 public abstract class AbstractStrategyBootstrap<I> implements Extension {
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/ConfigurationBootstrap.java
@@ -42,6 +42,7 @@ import java.util.Collections; @@ -42,6 +42,7 @@ import java.util.Collections;
42 import java.util.HashMap; 42 import java.util.HashMap;
43 import java.util.List; 43 import java.util.List;
44 import java.util.Map; 44 import java.util.Map;
  45 +import java.util.logging.Logger;
45 46
46 import javassist.ClassPool; 47 import javassist.ClassPool;
47 import javassist.CtClass; 48 import javassist.CtClass;
@@ -55,8 +56,6 @@ import javax.enterprise.inject.spi.AnnotatedType; @@ -55,8 +56,6 @@ import javax.enterprise.inject.spi.AnnotatedType;
55 import javax.enterprise.inject.spi.BeanManager; 56 import javax.enterprise.inject.spi.BeanManager;
56 import javax.enterprise.inject.spi.ProcessAnnotatedType; 57 import javax.enterprise.inject.spi.ProcessAnnotatedType;
57 58
58 -import org.slf4j.Logger;  
59 -  
60 import br.gov.frameworkdemoiselle.configuration.Configuration; 59 import br.gov.frameworkdemoiselle.configuration.Configuration;
61 import br.gov.frameworkdemoiselle.configuration.ConfigurationValueExtractor; 60 import br.gov.frameworkdemoiselle.configuration.ConfigurationValueExtractor;
62 import br.gov.frameworkdemoiselle.internal.implementation.ConfigurationImpl; 61 import br.gov.frameworkdemoiselle.internal.implementation.ConfigurationImpl;
@@ -139,7 +138,7 @@ public class ConfigurationBootstrap extends AbstractStrategyBootstrap&lt;Configurat @@ -139,7 +138,7 @@ public class ConfigurationBootstrap extends AbstractStrategyBootstrap&lt;Configurat
139 @Override 138 @Override
140 protected Logger getLogger() { 139 protected Logger getLogger() {
141 if (logger == null) { 140 if (logger == null) {
142 - logger = LoggerProducer.create(ConfigurationBootstrap.class); 141 + logger = LoggerProducer.create("br.gov.frameworkdemoiselle.configuration");
143 } 142 }
144 143
145 return logger; 144 return logger;
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/CoreBootstrap.java
@@ -37,6 +37,7 @@ @@ -37,6 +37,7 @@
37 package br.gov.frameworkdemoiselle.internal.bootstrap; 37 package br.gov.frameworkdemoiselle.internal.bootstrap;
38 38
39 import java.util.Locale; 39 import java.util.Locale;
  40 +import java.util.logging.Logger;
40 41
41 import javax.enterprise.event.Observes; 42 import javax.enterprise.event.Observes;
42 import javax.enterprise.inject.spi.AfterDeploymentValidation; 43 import javax.enterprise.inject.spi.AfterDeploymentValidation;
@@ -45,8 +46,6 @@ import javax.enterprise.inject.spi.BeforeBeanDiscovery; @@ -45,8 +46,6 @@ import javax.enterprise.inject.spi.BeforeBeanDiscovery;
45 import javax.enterprise.inject.spi.BeforeShutdown; 46 import javax.enterprise.inject.spi.BeforeShutdown;
46 import javax.enterprise.inject.spi.Extension; 47 import javax.enterprise.inject.spi.Extension;
47 48
48 -import org.slf4j.Logger;  
49 -  
50 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; 49 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
51 import br.gov.frameworkdemoiselle.util.Beans; 50 import br.gov.frameworkdemoiselle.util.Beans;
52 import br.gov.frameworkdemoiselle.util.ResourceBundle; 51 import br.gov.frameworkdemoiselle.util.ResourceBundle;
@@ -56,10 +55,10 @@ public class CoreBootstrap implements Extension { @@ -56,10 +55,10 @@ public class CoreBootstrap implements Extension {
56 private Logger logger; 55 private Logger logger;
57 56
58 private transient ResourceBundle bundle; 57 private transient ResourceBundle bundle;
59 - 58 +
60 private Logger getLogger() { 59 private Logger getLogger() {
61 if (this.logger == null) { 60 if (this.logger == null) {
62 - this.logger = LoggerProducer.create(CoreBootstrap.class); 61 + this.logger = LoggerProducer.create("br.gov.frameworkdemoiselle.lifecycle");
63 } 62 }
64 63
65 return this.logger; 64 return this.logger;
@@ -77,14 +76,14 @@ public class CoreBootstrap implements Extension { @@ -77,14 +76,14 @@ public class CoreBootstrap implements Extension {
77 getLogger().info(getBundle().getString("engine-on")); 76 getLogger().info(getBundle().getString("engine-on"));
78 77
79 Beans.setBeanManager(beanManager); 78 Beans.setBeanManager(beanManager);
80 - getLogger().trace(getBundle().getString("setting-up-bean-manager", Beans.class.getCanonicalName())); 79 + getLogger().finer(getBundle().getString("setting-up-bean-manager", Beans.class.getCanonicalName()));
81 } 80 }
82 - 81 +
83 public void takeOff(@Observes final AfterDeploymentValidation event) { 82 public void takeOff(@Observes final AfterDeploymentValidation event) {
84 - getLogger().trace(getBundle().getString("taking-off")); 83 + getLogger().fine(getBundle().getString("taking-off"));
85 } 84 }
86 85
87 public void engineOff(@Observes final BeforeShutdown event) { 86 public void engineOff(@Observes final BeforeShutdown event) {
88 - getLogger().trace(getBundle().getString("engine-off")); 87 + getLogger().fine(getBundle().getString("engine-off"));
89 } 88 }
90 } 89 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/ShutdownBootstrap.java
@@ -36,9 +36,9 @@ @@ -36,9 +36,9 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.internal.bootstrap; 37 package br.gov.frameworkdemoiselle.internal.bootstrap;
38 38
39 -import javax.enterprise.event.Observes; 39 +import java.util.logging.Logger;
40 40
41 -import org.slf4j.Logger; 41 +import javax.enterprise.event.Observes;
42 42
43 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; 43 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
44 import br.gov.frameworkdemoiselle.lifecycle.AfterShutdownProccess; 44 import br.gov.frameworkdemoiselle.lifecycle.AfterShutdownProccess;
@@ -54,7 +54,7 @@ public class ShutdownBootstrap extends AbstractLifecycleBootstrap&lt;Shutdown&gt; { @@ -54,7 +54,7 @@ public class ShutdownBootstrap extends AbstractLifecycleBootstrap&lt;Shutdown&gt; {
54 @Override 54 @Override
55 protected Logger getLogger() { 55 protected Logger getLogger() {
56 if (logger == null) { 56 if (logger == null) {
57 - logger = LoggerProducer.create(ShutdownBootstrap.class); 57 + logger = LoggerProducer.create("br.gov.frameworkdemoiselle.lifecycle");
58 } 58 }
59 59
60 return logger; 60 return logger;
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/StartupBootstrap.java
@@ -36,9 +36,9 @@ @@ -36,9 +36,9 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.internal.bootstrap; 37 package br.gov.frameworkdemoiselle.internal.bootstrap;
38 38
39 -import javax.enterprise.event.Observes; 39 +import java.util.logging.Logger;
40 40
41 -import org.slf4j.Logger; 41 +import javax.enterprise.event.Observes;
42 42
43 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; 43 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
44 import br.gov.frameworkdemoiselle.lifecycle.AfterStartupProccess; 44 import br.gov.frameworkdemoiselle.lifecycle.AfterStartupProccess;
@@ -54,7 +54,7 @@ public class StartupBootstrap extends AbstractLifecycleBootstrap&lt;Startup&gt; { @@ -54,7 +54,7 @@ public class StartupBootstrap extends AbstractLifecycleBootstrap&lt;Startup&gt; {
54 @Override 54 @Override
55 protected Logger getLogger() { 55 protected Logger getLogger() {
56 if (logger == null) { 56 if (logger == null) {
57 - logger = LoggerProducer.create(StartupBootstrap.class); 57 + logger = LoggerProducer.create("br.gov.frameworkdemoiselle.lifecycle");
58 } 58 }
59 59
60 return logger; 60 return logger;
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractCustomContext.java
@@ -38,6 +38,7 @@ package br.gov.frameworkdemoiselle.internal.context; @@ -38,6 +38,7 @@ package br.gov.frameworkdemoiselle.internal.context;
38 38
39 import java.lang.annotation.Annotation; 39 import java.lang.annotation.Annotation;
40 import java.util.Locale; 40 import java.util.Locale;
  41 +import java.util.logging.Logger;
41 42
42 import javax.enterprise.context.ContextNotActiveException; 43 import javax.enterprise.context.ContextNotActiveException;
43 import javax.enterprise.context.spi.Context; 44 import javax.enterprise.context.spi.Context;
@@ -46,8 +47,6 @@ import javax.enterprise.context.spi.CreationalContext; @@ -46,8 +47,6 @@ import javax.enterprise.context.spi.CreationalContext;
46 import javax.enterprise.inject.spi.Bean; 47 import javax.enterprise.inject.spi.Bean;
47 import javax.enterprise.inject.spi.BeanManager; 48 import javax.enterprise.inject.spi.BeanManager;
48 49
49 -import org.slf4j.Logger;  
50 -  
51 import br.gov.frameworkdemoiselle.DemoiselleException; 50 import br.gov.frameworkdemoiselle.DemoiselleException;
52 import br.gov.frameworkdemoiselle.context.CustomContext; 51 import br.gov.frameworkdemoiselle.context.CustomContext;
53 import br.gov.frameworkdemoiselle.internal.bootstrap.CustomContextBootstrap; 52 import br.gov.frameworkdemoiselle.internal.bootstrap.CustomContextBootstrap;
@@ -60,9 +59,9 @@ public abstract class AbstractCustomContext implements CustomContext { @@ -60,9 +59,9 @@ public abstract class AbstractCustomContext implements CustomContext {
60 private boolean active; 59 private boolean active;
61 60
62 private final Class<? extends Annotation> scope; 61 private final Class<? extends Annotation> scope;
63 - 62 +
64 private transient Logger logger; 63 private transient Logger logger;
65 - 64 +
66 private transient ResourceBundle bundle; 65 private transient ResourceBundle bundle;
67 66
68 protected AbstractCustomContext(final Class<? extends Annotation> scope) { 67 protected AbstractCustomContext(final Class<? extends Annotation> scope) {
@@ -71,7 +70,7 @@ public abstract class AbstractCustomContext implements CustomContext { @@ -71,7 +70,7 @@ public abstract class AbstractCustomContext implements CustomContext {
71 } 70 }
72 71
73 protected abstract BeanStore getStore(); 72 protected abstract BeanStore getStore();
74 - 73 +
75 protected abstract boolean isStoreInitialized(); 74 protected abstract boolean isStoreInitialized();
76 75
77 @Override 76 @Override
@@ -90,17 +89,16 @@ public abstract class AbstractCustomContext implements CustomContext { @@ -90,17 +89,16 @@ public abstract class AbstractCustomContext implements CustomContext {
90 89
91 String id = getContextualStore().putIfAbsentAndGetId(contextual); 90 String id = getContextualStore().putIfAbsentAndGetId(contextual);
92 BeanStore store = getStore(); 91 BeanStore store = getStore();
93 - if (store!=null){ 92 + if (store != null) {
94 if (store.contains(id)) { 93 if (store.contains(id)) {
95 instance = (T) store.getInstance(id); 94 instance = (T) store.getInstance(id);
96 - }  
97 - else if (creationalContext!=null){ 95 + } else if (creationalContext != null) {
98 instance = contextual.create(creationalContext); 96 instance = contextual.create(creationalContext);
99 - store.put(id, instance,creationalContext); 97 + store.put(id, instance, creationalContext);
100 } 98 }
101 - }  
102 - else{  
103 - throw new DemoiselleException(getBundle().getString("store-not-found" , ((Bean<?>)contextual).getBeanClass().getName() , getScope().getName())); 99 + } else {
  100 + throw new DemoiselleException(getBundle().getString("store-not-found",
  101 + ((Bean<?>) contextual).getBeanClass().getName(), getScope().getName()));
104 } 102 }
105 103
106 return instance; 104 return instance;
@@ -114,34 +112,39 @@ public abstract class AbstractCustomContext implements CustomContext { @@ -114,34 +112,39 @@ public abstract class AbstractCustomContext implements CustomContext {
114 @Override 112 @Override
115 public boolean activate() { 113 public boolean activate() {
116 boolean success = false; 114 boolean success = false;
117 -  
118 - if (!this.active){ 115 +
  116 + if (!this.active) {
119 BeanManager beanManager = Beans.getBeanManager(); 117 BeanManager beanManager = Beans.getBeanManager();
120 - if (beanManager!=null){  
121 - try{ 118 + if (beanManager != null) {
  119 + try {
122 Context ctx = beanManager.getContext(this.getScope()); 120 Context ctx = beanManager.getContext(this.getScope());
123 - if (ctx!=null){  
124 - getLogger().trace( getBundle().getString("custom-context-already-activated" , this.getClass().getCanonicalName() , this.getScope().getSimpleName() , ctx.getClass().getCanonicalName() ) ); 121 + if (ctx != null) {
  122 + getLogger().finest(
  123 + getBundle().getString("custom-context-already-activated",
  124 + this.getClass().getCanonicalName(), this.getScope().getSimpleName(),
  125 + ctx.getClass().getCanonicalName()));
125 } 126 }
126 - }  
127 - catch(ContextNotActiveException ce){ 127 + } catch (ContextNotActiveException ce) {
128 success = this.active = true; 128 success = this.active = true;
129 - getLogger().trace( getBundle().getString("custom-context-was-activated" , this.getClass().getCanonicalName() , this.getScope().getSimpleName() ) ); 129 + getLogger().finest(
  130 + getBundle().getString("custom-context-was-activated", this.getClass().getCanonicalName(),
  131 + this.getScope().getSimpleName()));
130 } 132 }
131 - }  
132 - else{ 133 + } else {
133 success = this.active = true; 134 success = this.active = true;
134 - getLogger().trace( getBundle().getString("custom-context-was-activated" , this.getClass().getCanonicalName() , this.getScope().getSimpleName() ) ); 135 + getLogger().finer(
  136 + getBundle().getString("custom-context-was-activated", this.getClass().getCanonicalName(),
  137 + this.getScope().getSimpleName()));
135 } 138 }
136 } 139 }
137 - 140 +
138 return success; 141 return success;
139 } 142 }
140 - 143 +
141 @Override 144 @Override
142 - public void deactivate(){  
143 - if (this.active){  
144 - if (isStoreInitialized()){ 145 + public void deactivate() {
  146 + if (this.active) {
  147 + if (isStoreInitialized()) {
145 clearInstances(); 148 clearInstances();
146 149
147 getStore().clear(); 150 getStore().clear();
@@ -152,26 +155,27 @@ public abstract class AbstractCustomContext implements CustomContext { @@ -152,26 +155,27 @@ public abstract class AbstractCustomContext implements CustomContext {
152 155
153 Logger logger = getLogger(); 156 Logger logger = getLogger();
154 ResourceBundle bundle = getBundle(); 157 ResourceBundle bundle = getBundle();
155 - logger.trace( bundle.getString("custom-context-was-deactivated" , this.getClass().getCanonicalName() , this.getScope().getSimpleName() ) ); 158 + logger.finer(bundle.getString("custom-context-was-deactivated", this.getClass().getCanonicalName(), this
  159 + .getScope().getSimpleName()));
156 } 160 }
157 } 161 }
158 - 162 +
159 @SuppressWarnings({ "rawtypes", "unchecked" }) 163 @SuppressWarnings({ "rawtypes", "unchecked" })
160 - public void clearInstances(){ 164 + public void clearInstances() {
161 BeanStore store = getStore(); 165 BeanStore store = getStore();
162 - if (store!=null){  
163 - for (String id : store){ 166 + if (store != null) {
  167 + for (String id : store) {
164 Contextual contextual = getContextualStore().getContextual(id); 168 Contextual contextual = getContextualStore().getContextual(id);
165 Object instance = store.getInstance(id); 169 Object instance = store.getInstance(id);
166 CreationalContext creationalContext = store.getCreationalContext(id); 170 CreationalContext creationalContext = store.getCreationalContext(id);
167 -  
168 - if (contextual!=null && instance!=null){ 171 +
  172 + if (contextual != null && instance != null) {
169 contextual.destroy(instance, creationalContext); 173 contextual.destroy(instance, creationalContext);
170 } 174 }
171 } 175 }
172 } 176 }
173 } 177 }
174 - 178 +
175 @Override 179 @Override
176 public Class<? extends Annotation> getScope() { 180 public Class<? extends Annotation> getScope() {
177 return this.scope; 181 return this.scope;
@@ -180,39 +184,39 @@ public abstract class AbstractCustomContext implements CustomContext { @@ -180,39 +184,39 @@ public abstract class AbstractCustomContext implements CustomContext {
180 protected static BeanStore createStore() { 184 protected static BeanStore createStore() {
181 return new BeanStore(); 185 return new BeanStore();
182 } 186 }
183 - 187 +
184 protected static ContextualStore createContextualStore() { 188 protected static ContextualStore createContextualStore() {
185 return new ContextualStore(); 189 return new ContextualStore();
186 } 190 }
187 -  
188 - private ResourceBundle getBundle(){  
189 - if (bundle==null){ 191 +
  192 + private ResourceBundle getBundle() {
  193 + if (bundle == null) {
190 bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault()); 194 bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
191 } 195 }
192 - 196 +
193 return bundle; 197 return bundle;
194 } 198 }
195 -  
196 - private Logger getLogger(){  
197 - if (logger==null){  
198 - logger = LoggerProducer.create(this.getClass()); 199 +
  200 + private Logger getLogger() {
  201 + if (logger == null) {
  202 + logger = LoggerProducer.create("br.gov.frameworkdemoiselle.context");
199 } 203 }
200 - 204 +
201 return logger; 205 return logger;
202 } 206 }
203 -  
204 - protected ContextualStore getContextualStore(){ 207 +
  208 + protected ContextualStore getContextualStore() {
205 CustomContextBootstrap bootstrap = Beans.getReference(CustomContextBootstrap.class); 209 CustomContextBootstrap bootstrap = Beans.getReference(CustomContextBootstrap.class);
206 return bootstrap.getContextualStore(); 210 return bootstrap.getContextualStore();
207 } 211 }
208 - 212 +
209 @Override 213 @Override
210 public boolean equals(Object obj) { 214 public boolean equals(Object obj) {
211 if (this == obj) 215 if (this == obj)
212 return true; 216 return true;
213 if (obj == null) 217 if (obj == null)
214 return false; 218 return false;
215 - if ( !this.getClass().equals(obj.getClass()) ) 219 + if (!this.getClass().equals(obj.getClass()))
216 return false; 220 return false;
217 AbstractCustomContext other = (AbstractCustomContext) obj; 221 AbstractCustomContext other = (AbstractCustomContext) obj;
218 if (scope == null) { 222 if (scope == null) {
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/CustomContextProducer.java
@@ -51,6 +51,7 @@ package br.gov.frameworkdemoiselle.internal.context; @@ -51,6 +51,7 @@ package br.gov.frameworkdemoiselle.internal.context;
51 import java.util.ArrayList; 51 import java.util.ArrayList;
52 import java.util.List; 52 import java.util.List;
53 import java.util.Locale; 53 import java.util.Locale;
  54 +import java.util.logging.Logger;
54 55
55 import javax.annotation.PreDestroy; 56 import javax.annotation.PreDestroy;
56 import javax.enterprise.context.ApplicationScoped; 57 import javax.enterprise.context.ApplicationScoped;
@@ -58,8 +59,6 @@ import javax.enterprise.inject.Produces; @@ -58,8 +59,6 @@ import javax.enterprise.inject.Produces;
58 import javax.enterprise.inject.spi.AfterBeanDiscovery; 59 import javax.enterprise.inject.spi.AfterBeanDiscovery;
59 import javax.enterprise.inject.spi.InjectionPoint; 60 import javax.enterprise.inject.spi.InjectionPoint;
60 61
61 -import org.slf4j.Logger;  
62 -  
63 import br.gov.frameworkdemoiselle.annotation.Priority; 62 import br.gov.frameworkdemoiselle.annotation.Priority;
64 import br.gov.frameworkdemoiselle.context.ConversationContext; 63 import br.gov.frameworkdemoiselle.context.ConversationContext;
65 import br.gov.frameworkdemoiselle.context.CustomContext; 64 import br.gov.frameworkdemoiselle.context.CustomContext;
@@ -74,37 +73,38 @@ import br.gov.frameworkdemoiselle.util.Beans; @@ -74,37 +73,38 @@ import br.gov.frameworkdemoiselle.util.Beans;
74 import br.gov.frameworkdemoiselle.util.ResourceBundle; 73 import br.gov.frameworkdemoiselle.util.ResourceBundle;
75 74
76 /** 75 /**
77 - * Produces instances of {@link CustomContext} to control contexts not activated  
78 - * by the container 76 + * Produces instances of {@link CustomContext} to control contexts not activated by the container
79 * 77 *
80 * @author serpro 78 * @author serpro
81 - *  
82 */ 79 */
83 @ApplicationScoped 80 @ApplicationScoped
84 public class CustomContextProducer { 81 public class CustomContextProducer {
85 - 82 +
86 private Logger logger; 83 private Logger logger;
87 84
88 private transient ResourceBundle bundle; 85 private transient ResourceBundle bundle;
89 - 86 +
90 /** 87 /**
91 - * <p>Store a context into this producer. The context must have  
92 - * been registered into CDI (unsing {@link AfterBeanDiscovery#addContext(javax.enterprise.context.spi.Context context)}) by a portable extension,  
93 - * this method will not do this.</p>  
94 - *  
95 - * <p>This producer can only produce contexts registered through this method.</p>  
96 - * 88 + * <p>
  89 + * Store a context into this producer. The context must have been registered into CDI (unsing
  90 + * {@link AfterBeanDiscovery#addContext(javax.enterprise.context.spi.Context context)}) by a portable extension,
  91 + * this method will not do this.
  92 + * </p>
  93 + * <p>
  94 + * This producer can only produce contexts registered through this method.
  95 + * </p>
97 */ 96 */
98 - public void addRegisteredContext(CustomContext context){ 97 + public void addRegisteredContext(CustomContext context) {
99 Logger logger = getLogger(); 98 Logger logger = getLogger();
100 ResourceBundle bundle = getBundle(); 99 ResourceBundle bundle = getBundle();
101 -  
102 - if (!getContexts().contains(context)){ 100 +
  101 + if (!getContexts().contains(context)) {
103 getContexts().add(context); 102 getContexts().add(context);
104 - logger.trace( bundle.getString("bootstrap-context-added", context.getClass().getCanonicalName() , context.getScope().getSimpleName() ) );  
105 - }  
106 - else{  
107 - logger.warn( bundle.getString("bootstrap-context-already-managed", context.getClass().getCanonicalName() , context.getScope().getSimpleName() ) ); 103 + logger.finest(bundle.getString("bootstrap-context-added", context.getClass().getCanonicalName(), context
  104 + .getScope().getSimpleName()));
  105 + } else {
  106 + logger.finest(bundle.getString("bootstrap-context-already-managed", context.getClass().getCanonicalName(),
  107 + context.getScope().getSimpleName()));
108 } 108 }
109 } 109 }
110 110
@@ -112,140 +112,138 @@ public class CustomContextProducer { @@ -112,140 +112,138 @@ public class CustomContextProducer {
112 * Deactivates all registered contexts and clear the context collection 112 * Deactivates all registered contexts and clear the context collection
113 */ 113 */
114 @PreDestroy 114 @PreDestroy
115 - public void closeContexts(){  
116 - //Desativa todos os contextos registrados.  
117 - for (CustomContext context : getContexts()){ 115 + public void closeContexts() {
  116 + // Desativa todos os contextos registrados.
  117 + for (CustomContext context : getContexts()) {
118 context.deactivate(); 118 context.deactivate();
119 } 119 }
120 - 120 +
121 getContexts().clear(); 121 getContexts().clear();
122 } 122 }
123 -  
124 - private List<CustomContext> getContexts(){  
125 - /* The demoiselle-core CustomContextBootstrap class creates default contexts for the main  
126 - * scopes of an application (request, session and conversation) and some custom contexts  
127 - * (view and static). This method injects a reference to the CustomContextBootstrap to obtain those  
128 - * contexts. Also any context registered after application start-up will be obtained by this method. */  
129 - 123 +
  124 + private List<CustomContext> getContexts() {
  125 + /*
  126 + * The demoiselle-core CustomContextBootstrap class creates default contexts for the main scopes of an
  127 + * application (request, session and conversation) and some custom contexts (view and static). This method
  128 + * injects a reference to the CustomContextBootstrap to obtain those contexts. Also any context registered after
  129 + * application start-up will be obtained by this method.
  130 + */
  131 +
130 CustomContextBootstrap contextBootstrap = Beans.getReference(CustomContextBootstrap.class); 132 CustomContextBootstrap contextBootstrap = Beans.getReference(CustomContextBootstrap.class);
131 return contextBootstrap.getCustomContexts(); 133 return contextBootstrap.getCustomContexts();
132 } 134 }
133 -  
134 - /////////////PRODUCERS///////////////////  
135 - 135 +
  136 + // ///////////PRODUCERS///////////////////
  137 +
136 @Produces 138 @Produces
137 - protected RequestContext getRequestContext(InjectionPoint ip){  
138 - if (ip!=null){ 139 + protected RequestContext getRequestContext(InjectionPoint ip) {
  140 + if (ip != null) {
139 return getContext(ip); 141 return getContext(ip);
140 - }  
141 - else{ 142 + } else {
142 return getContext(RequestContext.class); 143 return getContext(RequestContext.class);
143 } 144 }
144 } 145 }
145 - 146 +
146 @Produces 147 @Produces
147 - protected SessionContext getSessionContext(InjectionPoint ip){  
148 - if (ip!=null){ 148 + protected SessionContext getSessionContext(InjectionPoint ip) {
  149 + if (ip != null) {
149 return getContext(ip); 150 return getContext(ip);
150 - }  
151 - else{ 151 + } else {
152 return getContext(SessionContext.class); 152 return getContext(SessionContext.class);
153 } 153 }
154 } 154 }
155 - 155 +
156 @Produces 156 @Produces
157 - protected ViewContext getViewContext(InjectionPoint ip){  
158 - if (ip!=null){ 157 + protected ViewContext getViewContext(InjectionPoint ip) {
  158 + if (ip != null) {
159 return getContext(ip); 159 return getContext(ip);
160 - }  
161 - else{ 160 + } else {
162 return getContext(ViewContext.class); 161 return getContext(ViewContext.class);
163 } 162 }
164 } 163 }
165 - 164 +
166 @Produces 165 @Produces
167 - protected StaticContext getStaticContext(InjectionPoint ip){  
168 - if (ip!=null){ 166 + protected StaticContext getStaticContext(InjectionPoint ip) {
  167 + if (ip != null) {
169 return getContext(ip); 168 return getContext(ip);
170 - }  
171 - else{ 169 + } else {
172 return getContext(StaticContext.class); 170 return getContext(StaticContext.class);
173 } 171 }
174 } 172 }
175 - 173 +
176 @Produces 174 @Produces
177 - protected ConversationContext getConversationContext(InjectionPoint ip){  
178 - if (ip!=null){ 175 + protected ConversationContext getConversationContext(InjectionPoint ip) {
  176 + if (ip != null) {
179 return getContext(ip); 177 return getContext(ip);
180 - }  
181 - else{ 178 + } else {
182 return getContext(ConversationContext.class); 179 return getContext(ConversationContext.class);
183 } 180 }
184 } 181 }
185 -  
186 - /////////////END OF PRODUCERS///////////////////  
187 - 182 +
  183 + // ///////////END OF PRODUCERS///////////////////
  184 +
188 /** 185 /**
189 * Obtain a custom context for the provided injection point. 186 * Obtain a custom context for the provided injection point.
190 * 187 *
191 - * @param ip The object containing information about the injection point - most importantly  
192 - * the declared type of the injection point, to decide the context to return  
193 - *  
194 - * @return A context of a type compatible with the type of the injection point, or <code>null</code> if there is  
195 - * no such context. 188 + * @param ip
  189 + * The object containing information about the injection point - most importantly the declared type of
  190 + * the injection point, to decide the context to return
  191 + * @return A context of a type compatible with the type of the injection point, or <code>null</code> if there is no
  192 + * such context.
196 */ 193 */
197 @SuppressWarnings("unchecked") 194 @SuppressWarnings("unchecked")
198 - public <T extends CustomContext> T getContext(InjectionPoint ip){ 195 + public <T extends CustomContext> T getContext(InjectionPoint ip) {
199 T producedContext = null; 196 T producedContext = null;
200 -  
201 - if (ip!=null){ 197 +
  198 + if (ip != null) {
202 Class<T> beanClass = (Class<T>) ip.getType(); 199 Class<T> beanClass = (Class<T>) ip.getType();
203 producedContext = (T) getContext(beanClass); 200 producedContext = (T) getContext(beanClass);
204 } 201 }
205 -  
206 - if (producedContext!=null){  
207 - getLogger().trace( getBundle().getString("custom-context-selected" , producedContext.getClass().getCanonicalName()) ); 202 +
  203 + if (producedContext != null) {
  204 + getLogger().finest(
  205 + getBundle().getString("custom-context-selected", producedContext.getClass().getCanonicalName()));
208 } 206 }
209 - 207 +
210 return producedContext; 208 return producedContext;
211 } 209 }
212 - 210 +
213 /** 211 /**
214 * Obtain a context compatible with the provided type. 212 * Obtain a context compatible with the provided type.
215 * 213 *
216 - * @param contextClass The type of the desired context. The returned context will be compatible with this type, if there  
217 - * is more than one compatible type, this method will decide witch one to return based on the {@link Priority} annotation.  
218 - * 214 + * @param contextClass
  215 + * The type of the desired context. The returned context will be compatible with this type, if there is
  216 + * more than one compatible type, this method will decide witch one to return based on the
  217 + * {@link Priority} annotation.
219 * @return A context of a type compatible with the informed type, or <code>null</code> if there is no such context. 218 * @return A context of a type compatible with the informed type, or <code>null</code> if there is no such context.
220 */ 219 */
221 @SuppressWarnings("unchecked") 220 @SuppressWarnings("unchecked")
222 - public <T extends CustomContext> T getContext(Class<T> contextClass){ 221 + public <T extends CustomContext> T getContext(Class<T> contextClass) {
223 CustomContext producedContext = null; 222 CustomContext producedContext = null;
224 - 223 +
225 ArrayList<CustomContext> selectableContexts = new ArrayList<CustomContext>(); 224 ArrayList<CustomContext> selectableContexts = new ArrayList<CustomContext>();
226 -  
227 - for (CustomContext context : getContexts()){  
228 - if ( contextClass.isAssignableFrom( context.getClass() ) ){  
229 - if (context.isActive()){ 225 +
  226 + for (CustomContext context : getContexts()) {
  227 + if (contextClass.isAssignableFrom(context.getClass())) {
  228 + if (context.isActive()) {
230 producedContext = context; 229 producedContext = context;
231 break; 230 break;
232 - }  
233 - else{ 231 + } else {
234 selectableContexts.add(context); 232 selectableContexts.add(context);
235 } 233 }
236 } 234 }
237 } 235 }
238 -  
239 - if (producedContext==null && !selectableContexts.isEmpty()){ 236 +
  237 + if (producedContext == null && !selectableContexts.isEmpty()) {
240 producedContext = StrategySelector.selectInstance(CustomContext.class, selectableContexts); 238 producedContext = StrategySelector.selectInstance(CustomContext.class, selectableContexts);
241 } 239 }
242 - 240 +
243 return (T) producedContext; 241 return (T) producedContext;
244 } 242 }
245 - 243 +
246 private Logger getLogger() { 244 private Logger getLogger() {
247 if (this.logger == null) { 245 if (this.logger == null) {
248 - this.logger = LoggerProducer.create(this.getClass()); 246 + this.logger = LoggerProducer.create("br.gov.frameworkdemoiselle.context");
249 } 247 }
250 248
251 return this.logger; 249 return this.logger;
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/AnnotatedMethodProcessor.java
@@ -36,12 +36,13 @@ @@ -36,12 +36,13 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.internal.implementation; 37 package br.gov.frameworkdemoiselle.internal.implementation;
38 38
  39 +import static java.util.logging.Level.SEVERE;
  40 +
39 import java.lang.reflect.InvocationTargetException; 41 import java.lang.reflect.InvocationTargetException;
  42 +import java.util.logging.Logger;
40 43
41 import javax.enterprise.inject.spi.AnnotatedMethod; 44 import javax.enterprise.inject.spi.AnnotatedMethod;
42 45
43 -import org.slf4j.Logger;  
44 -  
45 import br.gov.frameworkdemoiselle.annotation.Priority; 46 import br.gov.frameworkdemoiselle.annotation.Priority;
46 import br.gov.frameworkdemoiselle.exception.ApplicationException; 47 import br.gov.frameworkdemoiselle.exception.ApplicationException;
47 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; 48 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
@@ -110,11 +111,11 @@ public class AnnotatedMethodProcessor&lt;T&gt; implements Comparable&lt;AnnotatedMethodPr @@ -110,11 +111,11 @@ public class AnnotatedMethodProcessor&lt;T&gt; implements Comparable&lt;AnnotatedMethodPr
110 break; 111 break;
111 112
112 case WARN: 113 case WARN:
113 - getLogger().warn(cause.getMessage()); 114 + getLogger().warning(cause.getMessage());
114 break; 115 break;
115 116
116 default: 117 default:
117 - getLogger().error(getBundle().getString("processing-fail"), cause); 118 + getLogger().log(SEVERE, getBundle().getString("processing-fail"), cause);
118 break; 119 break;
119 } 120 }
120 } 121 }
@@ -140,6 +141,6 @@ public class AnnotatedMethodProcessor&lt;T&gt; implements Comparable&lt;AnnotatedMethodPr @@ -140,6 +141,6 @@ public class AnnotatedMethodProcessor&lt;T&gt; implements Comparable&lt;AnnotatedMethodPr
140 } 141 }
141 142
142 protected Logger getLogger() { 143 protected Logger getLogger() {
143 - return LoggerProducer.create(this.getClass()); 144 + return LoggerProducer.create("br.gov.frameworkdemoiselle.lifecycle");
144 } 145 }
145 } 146 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/ConfigurationEnumValueExtractor.java
@@ -38,7 +38,6 @@ package br.gov.frameworkdemoiselle.internal.implementation; @@ -38,7 +38,6 @@ package br.gov.frameworkdemoiselle.internal.implementation;
38 38
39 import static br.gov.frameworkdemoiselle.annotation.Priority.L2_PRIORITY; 39 import static br.gov.frameworkdemoiselle.annotation.Priority.L2_PRIORITY;
40 40
41 -  
42 import java.lang.reflect.Field; 41 import java.lang.reflect.Field;
43 import java.util.Locale; 42 import java.util.Locale;
44 43
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/ConfigurationLoader.java
@@ -45,6 +45,7 @@ import java.util.Collection; @@ -45,6 +45,7 @@ import java.util.Collection;
45 import java.util.HashSet; 45 import java.util.HashSet;
46 import java.util.Iterator; 46 import java.util.Iterator;
47 import java.util.Set; 47 import java.util.Set;
  48 +import java.util.logging.Logger;
48 49
49 import javax.validation.ConstraintViolation; 50 import javax.validation.ConstraintViolation;
50 import javax.validation.ConstraintViolationException; 51 import javax.validation.ConstraintViolationException;
@@ -58,7 +59,6 @@ import org.apache.commons.configuration.FileConfiguration; @@ -58,7 +59,6 @@ import org.apache.commons.configuration.FileConfiguration;
58 import org.apache.commons.configuration.PropertiesConfiguration; 59 import org.apache.commons.configuration.PropertiesConfiguration;
59 import org.apache.commons.configuration.SystemConfiguration; 60 import org.apache.commons.configuration.SystemConfiguration;
60 import org.apache.commons.configuration.XMLConfiguration; 61 import org.apache.commons.configuration.XMLConfiguration;
61 -import org.slf4j.Logger;  
62 62
63 import br.gov.frameworkdemoiselle.annotation.Ignore; 63 import br.gov.frameworkdemoiselle.annotation.Ignore;
64 import br.gov.frameworkdemoiselle.annotation.Name; 64 import br.gov.frameworkdemoiselle.annotation.Name;
@@ -105,7 +105,7 @@ public class ConfigurationLoader implements Serializable { @@ -105,7 +105,7 @@ public class ConfigurationLoader implements Serializable {
105 105
106 public void load(Object object, boolean logLoadingProcess) throws ConfigurationException { 106 public void load(Object object, boolean logLoadingProcess) throws ConfigurationException {
107 if (logLoadingProcess) { 107 if (logLoadingProcess) {
108 - getLogger().debug(getBundle().getString("loading-configuration-class", object.getClass().getName())); 108 + getLogger().fine(getBundle().getString("loading-configuration-class", object.getClass().getName()));
109 } 109 }
110 110
111 this.object = object; 111 this.object = object;
@@ -167,7 +167,7 @@ public class ConfigurationLoader implements Serializable { @@ -167,7 +167,7 @@ public class ConfigurationLoader implements Serializable {
167 ((FileConfiguration) config).load(); 167 ((FileConfiguration) config).load();
168 168
169 } catch (org.apache.commons.configuration.ConfigurationException cause) { 169 } catch (org.apache.commons.configuration.ConfigurationException cause) {
170 - getLogger().warn(getBundle().getString("file-not-found", this.resource)); 170 + getLogger().warning(getBundle().getString("file-not-found", this.resource));
171 config = null; 171 config = null;
172 } 172 }
173 } 173 }
@@ -199,7 +199,7 @@ public class ConfigurationLoader implements Serializable { @@ -199,7 +199,7 @@ public class ConfigurationLoader implements Serializable {
199 String prefix = this.object.getClass().getAnnotation(Configuration.class).prefix(); 199 String prefix = this.object.getClass().getAnnotation(Configuration.class).prefix();
200 200
201 if (prefix.endsWith(".")) { 201 if (prefix.endsWith(".")) {
202 - getLogger().warn(getBundle().getString("configuration-dot-after-prefix", this.resource)); 202 + getLogger().warning(getBundle().getString("configuration-dot-after-prefix", this.resource));
203 } else if (!prefix.isEmpty()) { 203 } else if (!prefix.isEmpty()) {
204 prefix += "."; 204 prefix += ".";
205 } 205 }
@@ -223,11 +223,11 @@ public class ConfigurationLoader implements Serializable { @@ -223,11 +223,11 @@ public class ConfigurationLoader implements Serializable {
223 Object finalValue = (loadedValue == null ? defaultValue : loadedValue); 223 Object finalValue = (loadedValue == null ? defaultValue : loadedValue);
224 224
225 if (loadedValue == null) { 225 if (loadedValue == null) {
226 - getLogger().trace(getBundle().getString("configuration-key-not-found", this.prefix + getKey(field))); 226 + getLogger().fine(getBundle().getString("configuration-key-not-found", this.prefix + getKey(field)));
227 } 227 }
228 228
229 Reflections.setFieldValue(field, this.object, finalValue); 229 Reflections.setFieldValue(field, this.object, finalValue);
230 - getLogger().debug( 230 + getLogger().finer(
231 getBundle().getString("configuration-field-loaded", this.prefix + getKey(field), field.getName(), 231 getBundle().getString("configuration-field-loaded", this.prefix + getKey(field), field.getName(),
232 finalValue == null ? "null" : finalValue)); 232 finalValue == null ? "null" : finalValue));
233 } 233 }
@@ -329,7 +329,8 @@ public class ConfigurationLoader implements Serializable { @@ -329,7 +329,8 @@ public class ConfigurationLoader implements Serializable {
329 329
330 private Logger getLogger() { 330 private Logger getLogger() {
331 if (logger == null) { 331 if (logger == null) {
332 - logger = Beans.getReference(Logger.class, new NameQualifier(ConfigurationLoader.class.getName())); 332 + logger = Beans.getReference(Logger.class, new NameQualifier("br.gov.frameworkdemoiselle.configuration"));
  333 +
333 } 334 }
334 335
335 return logger; 336 return logger;
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/LoggerMessageAppender.java
@@ -38,9 +38,9 @@ package br.gov.frameworkdemoiselle.internal.implementation; @@ -38,9 +38,9 @@ package br.gov.frameworkdemoiselle.internal.implementation;
38 38
39 import static br.gov.frameworkdemoiselle.annotation.Priority.L1_PRIORITY; 39 import static br.gov.frameworkdemoiselle.annotation.Priority.L1_PRIORITY;
40 40
41 -import javax.inject.Inject; 41 +import java.util.logging.Logger;
42 42
43 -import org.slf4j.Logger; 43 +import javax.inject.Inject;
44 44
45 import br.gov.frameworkdemoiselle.annotation.Priority; 45 import br.gov.frameworkdemoiselle.annotation.Priority;
46 import br.gov.frameworkdemoiselle.message.Message; 46 import br.gov.frameworkdemoiselle.message.Message;
@@ -64,11 +64,11 @@ public class LoggerMessageAppender implements MessageAppender { @@ -64,11 +64,11 @@ public class LoggerMessageAppender implements MessageAppender {
64 break; 64 break;
65 65
66 case WARN: 66 case WARN:
67 - logger.warn(text); 67 + logger.warning(text);
68 break; 68 break;
69 69
70 default: 70 default:
71 - logger.error(text); 71 + logger.severe(text);
72 } 72 }
73 } 73 }
74 } 74 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/Management.java
@@ -42,6 +42,7 @@ import java.util.ArrayList; @@ -42,6 +42,7 @@ import java.util.ArrayList;
42 import java.util.Collection; 42 import java.util.Collection;
43 import java.util.List; 43 import java.util.List;
44 import java.util.Set; 44 import java.util.Set;
  45 +import java.util.logging.Logger;
45 46
46 import javax.enterprise.context.ApplicationScoped; 47 import javax.enterprise.context.ApplicationScoped;
47 import javax.inject.Inject; 48 import javax.inject.Inject;
@@ -51,8 +52,6 @@ import javax.validation.Validation; @@ -51,8 +52,6 @@ import javax.validation.Validation;
51 import javax.validation.ValidationException; 52 import javax.validation.ValidationException;
52 import javax.validation.Validator; 53 import javax.validation.Validator;
53 54
54 -import org.slf4j.Logger;  
55 -  
56 import br.gov.frameworkdemoiselle.annotation.ManagedProperty; 55 import br.gov.frameworkdemoiselle.annotation.ManagedProperty;
57 import br.gov.frameworkdemoiselle.annotation.Name; 56 import br.gov.frameworkdemoiselle.annotation.Name;
58 import br.gov.frameworkdemoiselle.context.ConversationContext; 57 import br.gov.frameworkdemoiselle.context.ConversationContext;
@@ -93,7 +92,7 @@ public class Management implements Serializable { @@ -93,7 +92,7 @@ public class Management implements Serializable {
93 92
94 public void addManagedType(ManagedType managedType) { 93 public void addManagedType(ManagedType managedType) {
95 managedTypes.add(managedType); 94 managedTypes.add(managedType);
96 - logger.debug(bundle.getString("management-debug-registering-managed-type", managedType.getType() 95 + logger.fine(bundle.getString("management-debug-registering-managed-type", managedType.getType()
97 .getCanonicalName())); 96 .getCanonicalName()));
98 } 97 }
99 98
@@ -134,12 +133,12 @@ public class Management implements Serializable { @@ -134,12 +133,12 @@ public class Management implements Serializable {
134 activateContexts(managedType.getType()); 133 activateContexts(managedType.getType());
135 134
136 try { 135 try {
137 - Object delegate = Beans.getReference(managedType.getType() , managedType.getQualifiers()); 136 + Object delegate = Beans.getReference(managedType.getType(), managedType.getQualifiers());
138 MethodDetail method = managedType.getOperationMethods().get(actionName); 137 MethodDetail method = managedType.getOperationMethods().get(actionName);
139 138
140 if (method != null) { 139 if (method != null) {
141 try { 140 try {
142 - logger.debug(bundle.getString("management-debug-invoking-operation", actionName, managedType 141 + logger.fine(bundle.getString("management-debug-invoking-operation", actionName, managedType
143 .getType().getCanonicalName())); 142 .getType().getCanonicalName()));
144 return method.getMethod().invoke(delegate, params); 143 return method.getMethod().invoke(delegate, params);
145 } catch (Exception e) { 144 } catch (Exception e) {
@@ -171,8 +170,10 @@ public class Management implements Serializable { @@ -171,8 +170,10 @@ public class Management implements Serializable {
171 * @param propertyName 170 * @param propertyName
172 * The name of the property 171 * The name of the property
173 * @return The current value of the property 172 * @return The current value of the property
174 - * @throws ManagedAttributeNotFoundException If the given property doesn't exist or there was a problem trying to read the property value.  
175 - * @throws ManagedInvokationException If there was an error trying to invoke the getter method to read the propery value. 173 + * @throws ManagedAttributeNotFoundException
  174 + * If the given property doesn't exist or there was a problem trying to read the property value.
  175 + * @throws ManagedInvokationException
  176 + * If there was an error trying to invoke the getter method to read the propery value.
176 */ 177 */
177 public Object getProperty(ManagedType managedType, String propertyName) { 178 public Object getProperty(ManagedType managedType, String propertyName) {
178 179
@@ -180,23 +181,24 @@ public class Management implements Serializable { @@ -180,23 +181,24 @@ public class Management implements Serializable {
180 Method getterMethod = managedType.getFields().get(propertyName).getGetterMethod(); 181 Method getterMethod = managedType.getFields().get(propertyName).getGetterMethod();
181 182
182 if (getterMethod != null) { 183 if (getterMethod != null) {
183 - logger.debug(bundle.getString("management-debug-acessing-property", getterMethod.getName(), managedType 184 + logger.fine(bundle.getString("management-debug-acessing-property", getterMethod.getName(), managedType
184 .getType().getCanonicalName())); 185 .getType().getCanonicalName()));
185 186
186 activateContexts(managedType.getType()); 187 activateContexts(managedType.getType());
187 188
188 try { 189 try {
189 - Object delegate = Beans.getReference(managedType.getType() , managedType.getQualifiers()); 190 + Object delegate = Beans.getReference(managedType.getType(), managedType.getQualifiers());
190 191
191 return getterMethod.invoke(delegate, (Object[]) null); 192 return getterMethod.invoke(delegate, (Object[]) null);
192 } catch (Exception e) { 193 } catch (Exception e) {
193 - throw new ManagedInvokationException(bundle.getString("management-invoke-error", getterMethod.getName()),  
194 - e); 194 + throw new ManagedInvokationException(bundle.getString("management-invoke-error",
  195 + getterMethod.getName()), e);
195 } finally { 196 } finally {
196 deactivateContexts(managedType.getType()); 197 deactivateContexts(managedType.getType());
197 } 198 }
198 } else { 199 } else {
199 - throw new ManagedAttributeNotFoundException(bundle.getString("management-read-value-error", propertyName)); 200 + throw new ManagedAttributeNotFoundException(bundle.getString("management-read-value-error",
  201 + propertyName));
200 } 202 }
201 } else { 203 } else {
202 throw new ManagedInvokationException(bundle.getString("management-type-not-found")); 204 throw new ManagedInvokationException(bundle.getString("management-type-not-found"));
@@ -219,9 +221,13 @@ public class Management implements Serializable { @@ -219,9 +221,13 @@ public class Management implements Serializable {
219 * The name of the property 221 * The name of the property
220 * @param newValue 222 * @param newValue
221 * The new value of the property 223 * The new value of the property
222 - * @throws ManagedInvokationException If there was an error trying to call the setter method for this property.  
223 - * @throws ManagedAttributeNotFoundException If the giver property doesn't exist or could'n be written to.  
224 - * @throws ConstraintViolationException If the property defined one or more validation constraints and setting this value violates some of those constraints. 224 + * @throws ManagedInvokationException
  225 + * If there was an error trying to call the setter method for this property.
  226 + * @throws ManagedAttributeNotFoundException
  227 + * If the giver property doesn't exist or could'n be written to.
  228 + * @throws ConstraintViolationException
  229 + * If the property defined one or more validation constraints and setting this value violates some of
  230 + * those constraints.
225 */ 231 */
226 @SuppressWarnings("unchecked") 232 @SuppressWarnings("unchecked")
227 public void setProperty(ManagedType managedType, String propertyName, Object newValue) { 233 public void setProperty(ManagedType managedType, String propertyName, Object newValue) {
@@ -230,7 +236,7 @@ public class Management implements Serializable { @@ -230,7 +236,7 @@ public class Management implements Serializable {
230 // Procura o método set do atributo em questão 236 // Procura o método set do atributo em questão
231 Method method = managedType.getFields().get(propertyName).getSetterMethod(); 237 Method method = managedType.getFields().get(propertyName).getSetterMethod();
232 if (method != null) { 238 if (method != null) {
233 - logger.debug(bundle.getString("management-debug-setting-property", method.getName(), managedType 239 + logger.fine(bundle.getString("management-debug-setting-property", method.getName(), managedType
234 .getType().getCanonicalName())); 240 .getType().getCanonicalName()));
235 241
236 activateContexts(managedType.getType()); 242 activateContexts(managedType.getType());
@@ -238,7 +244,7 @@ public class Management implements Serializable { @@ -238,7 +244,7 @@ public class Management implements Serializable {
238 // Obtém uma instância da classe gerenciada, lembrando que 244 // Obtém uma instância da classe gerenciada, lembrando que
239 // classes 245 // classes
240 // anotadas com @ManagementController são sempre singletons. 246 // anotadas com @ManagementController são sempre singletons.
241 - Object delegate = Beans.getReference(managedType.getType() , managedType.getQualifiers() ); 247 + Object delegate = Beans.getReference(managedType.getType(), managedType.getQualifiers());
242 248
243 // Se houver um validador anexado à propriedade alterada, executa o validador sobre 249 // Se houver um validador anexado à propriedade alterada, executa o validador sobre
244 // o novo valor. 250 // o novo valor.
@@ -257,12 +263,13 @@ public class Management implements Serializable { @@ -257,12 +263,13 @@ public class Management implements Serializable {
257 errorBuffer.insert(errorBuffer.length(), "\r\n"); 263 errorBuffer.insert(errorBuffer.length(), "\r\n");
258 } 264 }
259 265
260 - throw new ConstraintViolationException(bundle.getString("management-validation-constraint-violation"  
261 - , managedType.getType().getCanonicalName(), propertyName, errorBuffer.toString())  
262 - , (Set<ConstraintViolation<?>>) violations); 266 + throw new ConstraintViolationException(bundle.getString(
  267 + "management-validation-constraint-violation", managedType.getType()
  268 + .getCanonicalName(), propertyName, errorBuffer.toString()),
  269 + (Set<ConstraintViolation<?>>) violations);
263 } 270 }
264 } else { 271 } else {
265 - logger.warn(bundle.getString("management-validation-validator-not-found")); 272 + logger.warning(bundle.getString("management-validation-validator-not-found"));
266 } 273 }
267 274
268 Method getterMethod = managedType.getFields().get(propertyName).getGetterMethod(); 275 Method getterMethod = managedType.getFields().get(propertyName).getGetterMethod();
@@ -279,24 +286,23 @@ public class Management implements Serializable { @@ -279,24 +286,23 @@ public class Management implements Serializable {
279 NotificationManager notificationManager = Beans.getReference(NotificationManager.class); 286 NotificationManager notificationManager = Beans.getReference(NotificationManager.class);
280 Class<? extends Object> attributeType = newValue != null ? newValue.getClass() : null; 287 Class<? extends Object> attributeType = newValue != null ? newValue.getClass() : null;
281 288
282 - Notification notification = new DefaultNotification( new AttributeChangeMessage(  
283 - bundle.getString("management-notification-attribute-changed", propertyName, managedType.getType().getCanonicalName())  
284 - , propertyName  
285 - , attributeType  
286 - , oldValue  
287 - , newValue) ); 289 + Notification notification = new DefaultNotification(new AttributeChangeMessage(bundle.getString(
  290 + "management-notification-attribute-changed", propertyName, managedType.getType()
  291 + .getCanonicalName()), propertyName, attributeType, oldValue, newValue));
288 notificationManager.sendNotification(notification); 292 notificationManager.sendNotification(notification);
289 293
290 } catch (ConstraintViolationException ce) { 294 } catch (ConstraintViolationException ce) {
291 throw ce; 295 throw ce;
292 } catch (Exception e) { 296 } catch (Exception e) {
293 - throw new ManagedInvokationException(bundle.getString("management-invoke-error", method.getName()), e); 297 + throw new ManagedInvokationException(bundle.getString("management-invoke-error", method.getName()),
  298 + e);
294 } finally { 299 } finally {
295 deactivateContexts(managedType.getType()); 300 deactivateContexts(managedType.getType());
296 } 301 }
297 302
298 } else { 303 } else {
299 - throw new ManagedAttributeNotFoundException(bundle.getString("management-write-value-error", propertyName)); 304 + throw new ManagedAttributeNotFoundException(bundle.getString("management-write-value-error",
  305 + propertyName));
300 } 306 }
301 } else { 307 } else {
302 throw new ManagedInvokationException(bundle.getString("management-type-not-found")); 308 throw new ManagedInvokationException(bundle.getString("management-type-not-found"));
@@ -307,18 +313,18 @@ public class Management implements Serializable { @@ -307,18 +313,18 @@ public class Management implements Serializable {
307 private void activateContexts(Class<?> managedType) { 313 private void activateContexts(Class<?> managedType) {
308 RequestContext requestContext = Beans.getReference(RequestContext.class); 314 RequestContext requestContext = Beans.getReference(RequestContext.class);
309 ConversationContext conversationContext = Beans.getReference(ConversationContext.class); 315 ConversationContext conversationContext = Beans.getReference(ConversationContext.class);
310 -  
311 - if (!requestContext.isActive()){  
312 - logger.debug(bundle.getString("management-debug-starting-custom-context",  
313 - requestContext.getClass().getCanonicalName(), managedType.getCanonicalName()));  
314 - 316 +
  317 + if (!requestContext.isActive()) {
  318 + logger.fine(bundle.getString("management-debug-starting-custom-context", requestContext.getClass()
  319 + .getCanonicalName(), managedType.getCanonicalName()));
  320 +
315 requestContext.activate(); 321 requestContext.activate();
316 } 322 }
317 -  
318 - if (!conversationContext.isActive()){  
319 - logger.debug(bundle.getString("management-debug-starting-custom-context",  
320 - conversationContext.getClass().getCanonicalName(), managedType.getCanonicalName()));  
321 - 323 +
  324 + if (!conversationContext.isActive()) {
  325 + logger.fine(bundle.getString("management-debug-starting-custom-context", conversationContext.getClass()
  326 + .getCanonicalName(), managedType.getCanonicalName()));
  327 +
322 conversationContext.activate(); 328 conversationContext.activate();
323 } 329 }
324 } 330 }
@@ -326,18 +332,18 @@ public class Management implements Serializable { @@ -326,18 +332,18 @@ public class Management implements Serializable {
326 private void deactivateContexts(Class<?> managedType) { 332 private void deactivateContexts(Class<?> managedType) {
327 RequestContext requestContext = Beans.getReference(RequestContext.class); 333 RequestContext requestContext = Beans.getReference(RequestContext.class);
328 ConversationContext conversationContext = Beans.getReference(ConversationContext.class); 334 ConversationContext conversationContext = Beans.getReference(ConversationContext.class);
329 -  
330 - if (requestContext.isActive()){  
331 - logger.debug(bundle.getString("management-debug-stoping-custom-context",  
332 - requestContext.getClass().getCanonicalName(), managedType.getCanonicalName()));  
333 - 335 +
  336 + if (requestContext.isActive()) {
  337 + logger.fine(bundle.getString("management-debug-stoping-custom-context", requestContext.getClass()
  338 + .getCanonicalName(), managedType.getCanonicalName()));
  339 +
334 requestContext.deactivate(); 340 requestContext.deactivate();
335 } 341 }
336 -  
337 - if (conversationContext.isActive()){  
338 - logger.debug(bundle.getString("management-debug-stoping-custom-context",  
339 - conversationContext.getClass().getCanonicalName(), managedType.getCanonicalName()));  
340 - 342 +
  343 + if (conversationContext.isActive()) {
  344 + logger.fine(bundle.getString("management-debug-stoping-custom-context", conversationContext.getClass()
  345 + .getCanonicalName(), managedType.getCanonicalName()));
  346 +
341 conversationContext.deactivate(); 347 conversationContext.deactivate();
342 } 348 }
343 } 349 }
@@ -347,7 +353,7 @@ public class Management implements Serializable { @@ -347,7 +353,7 @@ public class Management implements Serializable {
347 353
348 ManagementExtension monitoringExtension = Beans.getReference(monitoringExtensionClass); 354 ManagementExtension monitoringExtension = Beans.getReference(monitoringExtensionClass);
349 monitoringExtension.shutdown(this.getManagedTypes()); 355 monitoringExtension.shutdown(this.getManagedTypes());
350 - logger.debug(bundle.getString("management-debug-removing-management-extension", monitoringExtension 356 + logger.fine(bundle.getString("management-debug-removing-management-extension", monitoringExtension
351 .getClass().getCanonicalName())); 357 .getClass().getCanonicalName()));
352 358
353 } 359 }
@@ -357,7 +363,7 @@ public class Management implements Serializable { @@ -357,7 +363,7 @@ public class Management implements Serializable {
357 for (Class<? extends ManagementExtension> monitoringExtensionClass : monitoringExtensions) { 363 for (Class<? extends ManagementExtension> monitoringExtensionClass : monitoringExtensions) {
358 ManagementExtension monitoringExtension = Beans.getReference(monitoringExtensionClass); 364 ManagementExtension monitoringExtension = Beans.getReference(monitoringExtensionClass);
359 365
360 - logger.debug(bundle.getString("management-debug-processing-management-extension", monitoringExtension 366 + logger.fine(bundle.getString("management-debug-processing-management-extension", monitoringExtension
361 .getClass().getCanonicalName())); 367 .getClass().getCanonicalName()));
362 368
363 monitoringExtension.initialize(this.getManagedTypes()); 369 monitoringExtension.initialize(this.getManagedTypes());
@@ -375,6 +381,4 @@ public class Management implements Serializable { @@ -375,6 +381,4 @@ public class Management implements Serializable {
375 381
376 return this.validator; 382 return this.validator;
377 } 383 }
378 -  
379 -  
380 } 384 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/MessageContextImpl.java
@@ -37,14 +37,10 @@ @@ -37,14 +37,10 @@
37 package br.gov.frameworkdemoiselle.internal.implementation; 37 package br.gov.frameworkdemoiselle.internal.implementation;
38 38
39 import java.io.Serializable; 39 import java.io.Serializable;
40 -import java.util.List; 40 +import java.util.logging.Logger;
41 41
42 -import org.slf4j.Logger;  
43 -  
44 -import br.gov.frameworkdemoiselle.DemoiselleException;  
45 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; 42 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
46 import br.gov.frameworkdemoiselle.message.DefaultMessage; 43 import br.gov.frameworkdemoiselle.message.DefaultMessage;
47 -import br.gov.frameworkdemoiselle.message.Message;  
48 import br.gov.frameworkdemoiselle.message.MessageAppender; 44 import br.gov.frameworkdemoiselle.message.MessageAppender;
49 import br.gov.frameworkdemoiselle.message.MessageContext; 45 import br.gov.frameworkdemoiselle.message.MessageContext;
50 import br.gov.frameworkdemoiselle.message.SeverityType; 46 import br.gov.frameworkdemoiselle.message.SeverityType;
@@ -61,30 +57,9 @@ public class MessageContextImpl implements Serializable, MessageContext { @@ -61,30 +57,9 @@ public class MessageContextImpl implements Serializable, MessageContext {
61 57
62 private static final long serialVersionUID = 1L; 58 private static final long serialVersionUID = 1L;
63 59
64 - private transient ResourceBundle bundle;  
65 -  
66 - private transient Logger logger; 60 + private transient ResourceBundle bundle;
67 61
68 - @Override  
69 - @Deprecated  
70 - public void add(final Message message, Object... params) {  
71 -  
72 - getLogger().debug(getBundle().getString("adding-message-to-context", message.toString()));  
73 - if (params == null || params.length == 0) {  
74 - getAppender().append(message);  
75 - } else {  
76 - getLogger().warn("Atualmente, ao chamar o método add do MessageContext passando um objeto"  
77 - + " do tipo Message e mais parâmetros, será recriando um objeto" +"\n"  
78 - + " Message, na implementação DefaultMessage para que os parâmetros sejam utilizados."  
79 - + " Note que isso poderá trazer problemas para sua aplicação, caso" +"\n"  
80 - + " a implementação de Message utilizada não seja a DefaultMessage. Para evitar esse tipo de problema"  
81 - + " e garantir compatibilidade com versões futuras, recomendamos que" +"\n"  
82 - + " o objeto message seja criado com os parâmetros, e que para o método add apenas seja passado"  
83 - + " esse objeto como parâmetro.");  
84 -  
85 - getAppender().append(new DefaultMessage(message.getText(), message.getSeverity(), params));  
86 - }  
87 - } 62 + private transient Logger logger;
88 63
89 private MessageAppender getAppender() { 64 private MessageAppender getAppender() {
90 Class<? extends MessageAppender> appenderClass = StrategySelector.selectClass(MessageAppender.class); 65 Class<? extends MessageAppender> appenderClass = StrategySelector.selectClass(MessageAppender.class);
@@ -99,26 +74,10 @@ public class MessageContextImpl implements Serializable, MessageContext { @@ -99,26 +74,10 @@ public class MessageContextImpl implements Serializable, MessageContext {
99 74
100 @Override 75 @Override
101 public void add(String text, SeverityType severity, Object... params) { 76 public void add(String text, SeverityType severity, Object... params) {
102 - add(new DefaultMessage(text, severity, params));  
103 - }  
104 -  
105 - @Override  
106 - @Deprecated  
107 - public List<Message> getMessages() {  
108 - throw new DemoiselleException(  
109 - "Este método não é mais suportado desde a versão 2.4.0 do Demoiselle Framework. Considere atualizar a sua aplicação ou o componente com uma nova versão que faça uso do "  
110 - + MessageAppender.class.getCanonicalName() + ".");  
111 - }  
112 -  
113 - @Override  
114 - @Deprecated  
115 - public void clear() {  
116 - throw new DemoiselleException(  
117 - "Este método não é mais suportado desde a versão 2.4.0 do Demoiselle Framework. Considere atualizar a sua aplicação ou o componente com uma nova versão que faça uso do "  
118 - + MessageAppender.class.getCanonicalName() + "."); 77 + getAppender().append(new DefaultMessage(text, severity, params));
119 } 78 }
120 79
121 - private ResourceBundle getBundle() { 80 + private ResourceBundle getBundle() {
122 if (bundle == null) { 81 if (bundle == null) {
123 bundle = Beans.getReference(ResourceBundle.class, new NameQualifier("demoiselle-core-bundle")); 82 bundle = Beans.getReference(ResourceBundle.class, new NameQualifier("demoiselle-core-bundle"));
124 } 83 }
@@ -126,9 +85,9 @@ public class MessageContextImpl implements Serializable, MessageContext { @@ -126,9 +85,9 @@ public class MessageContextImpl implements Serializable, MessageContext {
126 return bundle; 85 return bundle;
127 } 86 }
128 87
129 - private Logger getLogger() { 88 + private Logger getLogger() {
130 if (logger == null) { 89 if (logger == null) {
131 - logger = LoggerProducer.create(MessageContext.class); 90 + logger = LoggerProducer.create("br.gov.frameworkdemoiselle.message");
132 } 91 }
133 92
134 return logger; 93 return logger;
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/LoggerProducer.java
@@ -49,17 +49,14 @@ @@ -49,17 +49,14 @@
49 package br.gov.frameworkdemoiselle.internal.producer; 49 package br.gov.frameworkdemoiselle.internal.producer;
50 50
51 import java.io.Serializable; 51 import java.io.Serializable;
  52 +import java.util.logging.Logger;
52 53
53 import javax.enterprise.inject.Default; 54 import javax.enterprise.inject.Default;
54 import javax.enterprise.inject.Produces; 55 import javax.enterprise.inject.Produces;
55 import javax.enterprise.inject.spi.InjectionPoint; 56 import javax.enterprise.inject.spi.InjectionPoint;
56 57
57 -import org.slf4j.Logger;  
58 -  
59 -import br.gov.frameworkdemoiselle.DemoiselleException;  
60 import br.gov.frameworkdemoiselle.annotation.Name; 58 import br.gov.frameworkdemoiselle.annotation.Name;
61 -import br.gov.frameworkdemoiselle.internal.proxy.Slf4jLoggerProxy;  
62 -import br.gov.frameworkdemoiselle.util.Reflections; 59 +import br.gov.frameworkdemoiselle.internal.proxy.LoggerProxy;
63 60
64 public class LoggerProducer implements Serializable { 61 public class LoggerProducer implements Serializable {
65 62
@@ -68,36 +65,25 @@ public class LoggerProducer implements Serializable { @@ -68,36 +65,25 @@ public class LoggerProducer implements Serializable {
68 @Default 65 @Default
69 @Produces 66 @Produces
70 public Logger create(final InjectionPoint ip) { 67 public Logger create(final InjectionPoint ip) {
71 - Class<?> type; 68 + String name;
72 69
73 if (ip != null && ip.getMember() != null) { 70 if (ip != null && ip.getMember() != null) {
74 - type = ip.getMember().getDeclaringClass(); 71 + name = ip.getMember().getDeclaringClass().getName();
75 } else { 72 } else {
76 - type = LoggerProducer.class; 73 + name = "not.categorized";
77 } 74 }
78 75
79 - return create(type); 76 + return create(name);
80 } 77 }
81 78
82 @Name("") 79 @Name("")
83 @Produces 80 @Produces
84 public Logger createNamed(final InjectionPoint ip) throws ClassNotFoundException { 81 public Logger createNamed(final InjectionPoint ip) throws ClassNotFoundException {
85 - Class<?> type;  
86 -  
87 - try {  
88 - String canonicalName = ip.getAnnotated().getAnnotation(Name.class).value();  
89 - type = Reflections.forName(canonicalName);  
90 -  
91 - } catch (ClassCastException cause) {  
92 - // TODO Colocar a mensgaem apropriada mostrando como utilizar a anotação @AmbiguousQualifier corretamente com a injeção de  
93 - // Logger.  
94 - throw new DemoiselleException(null, cause);  
95 - }  
96 -  
97 - return create(type); 82 + String name = ip.getAnnotated().getAnnotation(Name.class).value();
  83 + return create(name);
98 } 84 }
99 85
100 - public static <T> Logger create(Class<T> type) {  
101 - return new Slf4jLoggerProxy(type); 86 + public static Logger create(String name) {
  87 + return new LoggerProxy(name);
102 } 88 }
103 } 89 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/proxy/LoggerProxy.java 0 → 100644
@@ -0,0 +1,206 @@ @@ -0,0 +1,206 @@
  1 +package br.gov.frameworkdemoiselle.internal.proxy;
  2 +
  3 +import java.util.ResourceBundle;
  4 +import java.util.logging.Filter;
  5 +import java.util.logging.Handler;
  6 +import java.util.logging.Level;
  7 +import java.util.logging.LogRecord;
  8 +import java.util.logging.Logger;
  9 +
  10 +public class LoggerProxy extends Logger {
  11 +
  12 + private String name;
  13 +
  14 + private transient Logger delegate;
  15 +
  16 + public LoggerProxy(String name) {
  17 + super(name, null);
  18 + this.name = name;
  19 + }
  20 +
  21 + public Logger getDelegate() {
  22 + if (this.delegate == null) {
  23 + this.delegate = Logger.getLogger(this.name);
  24 + }
  25 +
  26 + return this.delegate;
  27 + }
  28 +
  29 + public int hashCode() {
  30 + return getDelegate().hashCode();
  31 + }
  32 +
  33 + public boolean equals(Object obj) {
  34 + return getDelegate().equals(obj);
  35 + }
  36 +
  37 + public String toString() {
  38 + return getDelegate().toString();
  39 + }
  40 +
  41 + public ResourceBundle getResourceBundle() {
  42 + return getDelegate().getResourceBundle();
  43 + }
  44 +
  45 + public String getResourceBundleName() {
  46 + return getDelegate().getResourceBundleName();
  47 + }
  48 +
  49 + public void setFilter(Filter newFilter) throws SecurityException {
  50 + getDelegate().setFilter(newFilter);
  51 + }
  52 +
  53 + public Filter getFilter() {
  54 + return getDelegate().getFilter();
  55 + }
  56 +
  57 + public void log(LogRecord record) {
  58 + getDelegate().log(record);
  59 + }
  60 +
  61 + public void log(Level level, String msg) {
  62 + getDelegate().log(level, msg);
  63 + }
  64 +
  65 + public void log(Level level, String msg, Object param1) {
  66 + getDelegate().log(level, msg, param1);
  67 + }
  68 +
  69 + public void log(Level level, String msg, Object[] params) {
  70 + getDelegate().log(level, msg, params);
  71 + }
  72 +
  73 + public void log(Level level, String msg, Throwable thrown) {
  74 + getDelegate().log(level, msg, thrown);
  75 + }
  76 +
  77 + public void logp(Level level, String sourceClass, String sourceMethod, String msg) {
  78 + getDelegate().logp(level, sourceClass, sourceMethod, msg);
  79 + }
  80 +
  81 + public void logp(Level level, String sourceClass, String sourceMethod, String msg, Object param1) {
  82 + getDelegate().logp(level, sourceClass, sourceMethod, msg, param1);
  83 + }
  84 +
  85 + public void logp(Level level, String sourceClass, String sourceMethod, String msg, Object[] params) {
  86 + getDelegate().logp(level, sourceClass, sourceMethod, msg, params);
  87 + }
  88 +
  89 + public void logp(Level level, String sourceClass, String sourceMethod, String msg, Throwable thrown) {
  90 + getDelegate().logp(level, sourceClass, sourceMethod, msg, thrown);
  91 + }
  92 +
  93 + public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg) {
  94 + getDelegate().logrb(level, sourceClass, sourceMethod, bundleName, msg);
  95 + }
  96 +
  97 + public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object param1) {
  98 + getDelegate().logrb(level, sourceClass, sourceMethod, bundleName, msg, param1);
  99 + }
  100 +
  101 + public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg,
  102 + Object[] params) {
  103 + getDelegate().logrb(level, sourceClass, sourceMethod, bundleName, msg, params);
  104 + }
  105 +
  106 + public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg,
  107 + Throwable thrown) {
  108 + getDelegate().logrb(level, sourceClass, sourceMethod, bundleName, msg, thrown);
  109 + }
  110 +
  111 + public void entering(String sourceClass, String sourceMethod) {
  112 + getDelegate().entering(sourceClass, sourceMethod);
  113 + }
  114 +
  115 + public void entering(String sourceClass, String sourceMethod, Object param1) {
  116 + getDelegate().entering(sourceClass, sourceMethod, param1);
  117 + }
  118 +
  119 + public void entering(String sourceClass, String sourceMethod, Object[] params) {
  120 + getDelegate().entering(sourceClass, sourceMethod, params);
  121 + }
  122 +
  123 + public void exiting(String sourceClass, String sourceMethod) {
  124 + getDelegate().exiting(sourceClass, sourceMethod);
  125 + }
  126 +
  127 + public void exiting(String sourceClass, String sourceMethod, Object result) {
  128 + getDelegate().exiting(sourceClass, sourceMethod, result);
  129 + }
  130 +
  131 + public void throwing(String sourceClass, String sourceMethod, Throwable thrown) {
  132 + getDelegate().throwing(sourceClass, sourceMethod, thrown);
  133 + }
  134 +
  135 + public void severe(String msg) {
  136 + getDelegate().severe(msg);
  137 + }
  138 +
  139 + public void warning(String msg) {
  140 + getDelegate().warning(msg);
  141 + }
  142 +
  143 + public void info(String msg) {
  144 + getDelegate().info(msg);
  145 + }
  146 +
  147 + public void config(String msg) {
  148 + getDelegate().config(msg);
  149 + }
  150 +
  151 + public void fine(String msg) {
  152 + getDelegate().fine(msg);
  153 + }
  154 +
  155 + public void finer(String msg) {
  156 + getDelegate().finer(msg);
  157 + }
  158 +
  159 + public void finest(String msg) {
  160 + getDelegate().finest(msg);
  161 + }
  162 +
  163 + public void setLevel(Level newLevel) throws SecurityException {
  164 + getDelegate().setLevel(newLevel);
  165 + }
  166 +
  167 + public Level getLevel() {
  168 + return getDelegate().getLevel();
  169 + }
  170 +
  171 + public boolean isLoggable(Level level) {
  172 + return getDelegate().isLoggable(level);
  173 + }
  174 +
  175 + public String getName() {
  176 + return getDelegate().getName();
  177 + }
  178 +
  179 + public void addHandler(Handler handler) throws SecurityException {
  180 + getDelegate().addHandler(handler);
  181 + }
  182 +
  183 + public void removeHandler(Handler handler) throws SecurityException {
  184 + getDelegate().removeHandler(handler);
  185 + }
  186 +
  187 + public Handler[] getHandlers() {
  188 + return getDelegate().getHandlers();
  189 + }
  190 +
  191 + public void setUseParentHandlers(boolean useParentHandlers) {
  192 + getDelegate().setUseParentHandlers(useParentHandlers);
  193 + }
  194 +
  195 + public boolean getUseParentHandlers() {
  196 + return getDelegate().getUseParentHandlers();
  197 + }
  198 +
  199 + public Logger getParent() {
  200 + return getDelegate().getParent();
  201 + }
  202 +
  203 + public void setParent(Logger parent) {
  204 + getDelegate().setParent(parent);
  205 + }
  206 +}
impl/core/src/main/java/br/gov/frameworkdemoiselle/message/MessageContext.java
@@ -36,8 +36,6 @@ @@ -36,8 +36,6 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.message; 37 package br.gov.frameworkdemoiselle.message;
38 38
39 -import java.util.List;  
40 -  
41 /** 39 /**
42 * Context interface reserved for messaging purposes. 40 * Context interface reserved for messaging purposes.
43 * <p> 41 * <p>
@@ -51,27 +49,20 @@ import java.util.List; @@ -51,27 +49,20 @@ import java.util.List;
51 public interface MessageContext { 49 public interface MessageContext {
52 50
53 /** 51 /**
54 - * Saves a message into the context. 52 + * Deliver a message to the MessageAppender.
55 * 53 *
  54 + * @see MessageAppender
56 * @param message 55 * @param message
57 */ 56 */
58 - @Deprecated  
59 - void add(Message message, Object... params);  
60 -  
61 - void add(String text, Object... params);  
62 -  
63 - void add(String text, SeverityType severity, Object... params); 57 + void add(String message, Object... params);
64 58
65 /** 59 /**
66 - * Returns all messages in the context.  
67 - */  
68 - @Deprecated  
69 - List<Message> getMessages();  
70 -  
71 - /**  
72 - * Clears the list of messages in the context. 60 + * Deliver a message to the MessageAppender.
  61 + *
  62 + * @see MessageAppender
  63 + * @param message
  64 + * @param severity
  65 + * @param params
73 */ 66 */
74 - @Deprecated  
75 - void clear();  
76 - 67 + void add(String message, SeverityType severity, Object... params);
77 } 68 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java
@@ -37,13 +37,12 @@ @@ -37,13 +37,12 @@
37 package br.gov.frameworkdemoiselle.security; 37 package br.gov.frameworkdemoiselle.security;
38 38
39 import java.io.Serializable; 39 import java.io.Serializable;
  40 +import java.util.logging.Logger;
40 41
41 import javax.interceptor.AroundInvoke; 42 import javax.interceptor.AroundInvoke;
42 import javax.interceptor.Interceptor; 43 import javax.interceptor.Interceptor;
43 import javax.interceptor.InvocationContext; 44 import javax.interceptor.InvocationContext;
44 45
45 -import org.slf4j.Logger;  
46 -  
47 import br.gov.frameworkdemoiselle.annotation.Name; 46 import br.gov.frameworkdemoiselle.annotation.Name;
48 import br.gov.frameworkdemoiselle.util.Beans; 47 import br.gov.frameworkdemoiselle.util.Beans;
49 import br.gov.frameworkdemoiselle.util.NameQualifier; 48 import br.gov.frameworkdemoiselle.util.NameQualifier;
@@ -86,15 +85,15 @@ public class RequiredPermissionInterceptor implements Serializable { @@ -86,15 +85,15 @@ public class RequiredPermissionInterceptor implements Serializable {
86 85
87 if (getSecurityContext().isLoggedIn()) { 86 if (getSecurityContext().isLoggedIn()) {
88 username = getSecurityContext().getUser().getName(); 87 username = getSecurityContext().getUser().getName();
89 - getLogger().trace(getBundle().getString("access-checking", username, operation, resource)); 88 + getLogger().finest(getBundle().getString("access-checking", username, operation, resource));
90 } 89 }
91 90
92 if (!getSecurityContext().hasPermission(resource, operation)) { 91 if (!getSecurityContext().hasPermission(resource, operation)) {
93 - getLogger().error(getBundle().getString("access-denied", username, operation, resource)); 92 + getLogger().severe(getBundle().getString("access-denied", username, operation, resource));
94 throw new AuthorizationException(getBundle().getString("access-denied-ui", resource, operation)); 93 throw new AuthorizationException(getBundle().getString("access-denied-ui", resource, operation));
95 } 94 }
96 95
97 - getLogger().debug(getBundle().getString("access-allowed", username, operation, resource)); 96 + getLogger().fine(getBundle().getString("access-allowed", username, operation, resource));
98 return ic.proceed(); 97 return ic.proceed();
99 } 98 }
100 99
@@ -110,8 +109,8 @@ public class RequiredPermissionInterceptor implements Serializable { @@ -110,8 +109,8 @@ public class RequiredPermissionInterceptor implements Serializable {
110 private String getResource(InvocationContext ic) { 109 private String getResource(InvocationContext ic) {
111 RequiredPermission requiredPermission; 110 RequiredPermission requiredPermission;
112 requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class); 111 requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class);
113 -  
114 - if(requiredPermission == null){ 112 +
  113 + if (requiredPermission == null) {
115 requiredPermission = ic.getTarget().getClass().getAnnotation(RequiredPermission.class); 114 requiredPermission = ic.getTarget().getClass().getAnnotation(RequiredPermission.class);
116 } 115 }
117 116
@@ -138,11 +137,11 @@ public class RequiredPermissionInterceptor implements Serializable { @@ -138,11 +137,11 @@ public class RequiredPermissionInterceptor implements Serializable {
138 private String getOperation(InvocationContext ic) { 137 private String getOperation(InvocationContext ic) {
139 RequiredPermission requiredPermission; 138 RequiredPermission requiredPermission;
140 requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class); 139 requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class);
141 -  
142 - if(requiredPermission == null){ 140 +
  141 + if (requiredPermission == null) {
143 requiredPermission = ic.getTarget().getClass().getAnnotation(RequiredPermission.class); 142 requiredPermission = ic.getTarget().getClass().getAnnotation(RequiredPermission.class);
144 } 143 }
145 - 144 +
146 if (Strings.isEmpty(requiredPermission.operation())) { 145 if (Strings.isEmpty(requiredPermission.operation())) {
147 if (ic.getMethod().getAnnotation(Name.class) == null) { 146 if (ic.getMethod().getAnnotation(Name.class) == null) {
148 return ic.getMethod().getName(); 147 return ic.getMethod().getName();
impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredRoleInterceptor.java
@@ -40,13 +40,12 @@ import java.io.Serializable; @@ -40,13 +40,12 @@ import java.io.Serializable;
40 import java.util.ArrayList; 40 import java.util.ArrayList;
41 import java.util.Arrays; 41 import java.util.Arrays;
42 import java.util.List; 42 import java.util.List;
  43 +import java.util.logging.Logger;
43 44
44 import javax.interceptor.AroundInvoke; 45 import javax.interceptor.AroundInvoke;
45 import javax.interceptor.Interceptor; 46 import javax.interceptor.Interceptor;
46 import javax.interceptor.InvocationContext; 47 import javax.interceptor.InvocationContext;
47 48
48 -import org.slf4j.Logger;  
49 -  
50 import br.gov.frameworkdemoiselle.util.Beans; 49 import br.gov.frameworkdemoiselle.util.Beans;
51 import br.gov.frameworkdemoiselle.util.NameQualifier; 50 import br.gov.frameworkdemoiselle.util.NameQualifier;
52 import br.gov.frameworkdemoiselle.util.ResourceBundle; 51 import br.gov.frameworkdemoiselle.util.ResourceBundle;
@@ -84,8 +83,7 @@ public class RequiredRoleInterceptor implements Serializable { @@ -84,8 +83,7 @@ public class RequiredRoleInterceptor implements Serializable {
84 83
85 if (getSecurityContext().isLoggedIn()) { 84 if (getSecurityContext().isLoggedIn()) {
86 getLogger().info( 85 getLogger().info(
87 - getBundle().getString("has-role-verification", getSecurityContext().getUser().getName(),  
88 - roles)); 86 + getBundle().getString("has-role-verification", getSecurityContext().getUser().getName(), roles));
89 } 87 }
90 88
91 List<String> userRoles = new ArrayList<String>(); 89 List<String> userRoles = new ArrayList<String>();
@@ -97,15 +95,13 @@ public class RequiredRoleInterceptor implements Serializable { @@ -97,15 +95,13 @@ public class RequiredRoleInterceptor implements Serializable {
97 } 95 }
98 96
99 if (userRoles.isEmpty()) { 97 if (userRoles.isEmpty()) {
100 - getLogger()  
101 - .error(getBundle().getString("does-not-have-role", getSecurityContext().getUser().getName(),  
102 - roles)); 98 + getLogger().severe(
  99 + getBundle().getString("does-not-have-role", getSecurityContext().getUser().getName(), roles));
103 100
104 throw new AuthorizationException(getBundle().getString("does-not-have-role-ui", roles)); 101 throw new AuthorizationException(getBundle().getString("does-not-have-role-ui", roles));
105 } 102 }
106 103
107 - getLogger().debug(  
108 - getBundle().getString("user-has-role", getSecurityContext().getUser().getName(), userRoles)); 104 + getLogger().fine(getBundle().getString("user-has-role", getSecurityContext().getUser().getName(), userRoles));
109 105
110 return ic.proceed(); 106 return ic.proceed();
111 } 107 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/transaction/TransactionalInterceptor.java
@@ -37,6 +37,7 @@ @@ -37,6 +37,7 @@
37 package br.gov.frameworkdemoiselle.transaction; 37 package br.gov.frameworkdemoiselle.transaction;
38 38
39 import java.io.Serializable; 39 import java.io.Serializable;
  40 +import java.util.logging.Logger;
40 41
41 import javax.enterprise.context.ContextNotActiveException; 42 import javax.enterprise.context.ContextNotActiveException;
42 import javax.enterprise.context.RequestScoped; 43 import javax.enterprise.context.RequestScoped;
@@ -45,8 +46,6 @@ import javax.interceptor.AroundInvoke; @@ -45,8 +46,6 @@ import javax.interceptor.AroundInvoke;
45 import javax.interceptor.Interceptor; 46 import javax.interceptor.Interceptor;
46 import javax.interceptor.InvocationContext; 47 import javax.interceptor.InvocationContext;
47 48
48 -import org.slf4j.Logger;  
49 -  
50 import br.gov.frameworkdemoiselle.exception.ApplicationException; 49 import br.gov.frameworkdemoiselle.exception.ApplicationException;
51 import br.gov.frameworkdemoiselle.util.Beans; 50 import br.gov.frameworkdemoiselle.util.Beans;
52 import br.gov.frameworkdemoiselle.util.NameQualifier; 51 import br.gov.frameworkdemoiselle.util.NameQualifier;
@@ -115,7 +114,7 @@ public class TransactionalInterceptor implements Serializable { @@ -115,7 +114,7 @@ public class TransactionalInterceptor implements Serializable {
115 114
116 Object result = null; 115 Object result = null;
117 try { 116 try {
118 - getLogger().debug(getBundle().getString("transactional-execution", ic.getMethod().toGenericString())); 117 + getLogger().fine(getBundle().getString("transactional-execution", ic.getMethod().toGenericString()));
119 result = ic.proceed(); 118 result = ic.proceed();
120 119
121 } catch (Exception cause) { 120 } catch (Exception cause) {
@@ -195,7 +194,7 @@ public class TransactionalInterceptor implements Serializable { @@ -195,7 +194,7 @@ public class TransactionalInterceptor implements Serializable {
195 194
196 private Logger getLogger() { 195 private Logger getLogger() {
197 if (logger == null) { 196 if (logger == null) {
198 - logger = Beans.getReference(Logger.class, new NameQualifier(TransactionalInterceptor.class.getName())); 197 + logger = Beans.getReference(Logger.class, new NameQualifier("br.gov.frameworkdemoiselle.transaction"));
199 } 198 }
200 199
201 return logger; 200 return logger;
impl/core/src/main/java/br/gov/frameworkdemoiselle/util/NameQualifier.java
@@ -38,6 +38,7 @@ package br.gov.frameworkdemoiselle.util; @@ -38,6 +38,7 @@ package br.gov.frameworkdemoiselle.util;
38 38
39 import javax.enterprise.util.AnnotationLiteral; 39 import javax.enterprise.util.AnnotationLiteral;
40 40
  41 +import util.beans.ambiguous.AmbiguousQualifier;
41 import br.gov.frameworkdemoiselle.annotation.Name; 42 import br.gov.frameworkdemoiselle.annotation.Name;
42 43
43 /** 44 /**
impl/core/src/test/java/context/staticcontext/ConversationBean.java
1 package context.staticcontext; 1 package context.staticcontext;
2 2
3 -import javax.enterprise.context.ConversationScoped;  
4 import java.io.Serializable; 3 import java.io.Serializable;
5 4
  5 +import javax.enterprise.context.ConversationScoped;
  6 +
6 @ConversationScoped 7 @ConversationScoped
7 public class ConversationBean implements Serializable { 8 public class ConversationBean implements Serializable {
8 9
impl/core/src/test/java/context/staticcontext/StaticContextTest.java
@@ -45,10 +45,10 @@ import org.junit.Assert; @@ -45,10 +45,10 @@ import org.junit.Assert;
45 import org.junit.Test; 45 import org.junit.Test;
46 import org.junit.runner.RunWith; 46 import org.junit.runner.RunWith;
47 47
  48 +import test.Tests;
48 import br.gov.frameworkdemoiselle.context.ConversationContext; 49 import br.gov.frameworkdemoiselle.context.ConversationContext;
49 import br.gov.frameworkdemoiselle.context.SessionContext; 50 import br.gov.frameworkdemoiselle.context.SessionContext;
50 import br.gov.frameworkdemoiselle.util.Beans; 51 import br.gov.frameworkdemoiselle.util.Beans;
51 -import test.Tests;  
52 52
53 @RunWith(Arquillian.class) 53 @RunWith(Arquillian.class)
54 public class StaticContextTest { 54 public class StaticContextTest {
impl/core/src/test/java/logger/LoggerTest.java
@@ -36,48 +36,74 @@ @@ -36,48 +36,74 @@
36 */ 36 */
37 package logger; 37 package logger;
38 38
39 -import static junit.framework.Assert.assertTrue; 39 +import static junit.framework.Assert.assertEquals;
  40 +
  41 +import java.util.logging.Logger;
40 42
41 import javax.inject.Inject; 43 import javax.inject.Inject;
42 44
43 -import logger.appender.LoggerMemory; 45 +import logger.appender.FakeHandler;
44 46
45 import org.jboss.arquillian.container.test.api.Deployment; 47 import org.jboss.arquillian.container.test.api.Deployment;
46 import org.jboss.arquillian.junit.Arquillian; 48 import org.jboss.arquillian.junit.Arquillian;
47 import org.jboss.shrinkwrap.api.spec.JavaArchive; 49 import org.jboss.shrinkwrap.api.spec.JavaArchive;
48 import org.junit.Test; 50 import org.junit.Test;
49 import org.junit.runner.RunWith; 51 import org.junit.runner.RunWith;
50 -import org.slf4j.Logger;  
51 52
52 import test.Tests; 53 import test.Tests;
  54 +import br.gov.frameworkdemoiselle.annotation.Name;
  55 +import br.gov.frameworkdemoiselle.util.Beans;
53 56
54 @RunWith(Arquillian.class) 57 @RunWith(Arquillian.class)
55 public class LoggerTest { 58 public class LoggerTest {
56 59
57 - private static final String LOGGER_MESSAGE = "Testing log4j proxy";  
58 -  
59 @Inject 60 @Inject
60 - private Logger logger; 61 + private Logger unnamedLogger;
61 62
62 @Inject 63 @Inject
63 - private LoggerMemory loggerMemory; 64 + @Name("just.another.test")
  65 + private Logger namedLogger;
64 66
65 @Deployment 67 @Deployment
66 public static JavaArchive createDeployment() { 68 public static JavaArchive createDeployment() {
67 -  
68 JavaArchive deployment = Tests.createDeployment(LoggerTest.class); 69 JavaArchive deployment = Tests.createDeployment(LoggerTest.class);
69 -  
70 return deployment; 70 return deployment;
71 -  
72 } 71 }
73 72
74 @Test 73 @Test
75 - public void testLoggerProducer() { 74 + public void unnamedLoggerProducer() {
  75 + String message = "unnamed producer";
  76 +
  77 + FakeHandler handler = new FakeHandler();
  78 + unnamedLogger.addHandler(handler);
  79 + unnamedLogger.info(message);
  80 +
  81 + assertEquals(message, handler.getMessage());
  82 + assertEquals(LoggerTest.class.getName(), handler.getName());
  83 + }
76 84
77 - logger.info(LOGGER_MESSAGE); 85 + @Test
  86 + public void namedLoggerProducer() {
  87 + String message = "named producer";
78 88
79 - assertTrue(loggerMemory.checkMessage(LOGGER_MESSAGE)); 89 + FakeHandler handler = new FakeHandler();
  90 + namedLogger.addHandler(handler);
  91 + namedLogger.info(message);
80 92
  93 + assertEquals(message, handler.getMessage());
  94 + assertEquals("just.another.test", handler.getName());
81 } 95 }
82 96
  97 + @Test
  98 + public void loggerProducedByBeansGetReference() {
  99 + String message = "beans reference producer";
  100 +
  101 + FakeHandler handler = new FakeHandler();
  102 + Logger logger = Beans.getReference(Logger.class);
  103 + logger.addHandler(handler);
  104 + logger.info(message);
  105 +
  106 + assertEquals(message, handler.getMessage());
  107 + assertEquals("not.categorized", handler.getName());
  108 + }
83 } 109 }
impl/core/src/test/java/logger/appender/FakeHandler.java 0 → 100644
@@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
  1 +package logger.appender;
  2 +
  3 +import java.util.logging.Handler;
  4 +import java.util.logging.LogRecord;
  5 +
  6 +public class FakeHandler extends Handler {
  7 +
  8 + private String name;
  9 +
  10 + private String message;
  11 +
  12 + public String getName() {
  13 + return name;
  14 + }
  15 +
  16 + public void setName(String name) {
  17 + this.name = name;
  18 + }
  19 +
  20 + public String getMessage() {
  21 + return message;
  22 + }
  23 +
  24 + public void setMessage(String message) {
  25 + this.message = message;
  26 + }
  27 +
  28 + @Override
  29 + public void publish(LogRecord record) {
  30 + this.name = record.getLoggerName();
  31 + this.message = record.getMessage();
  32 + }
  33 +
  34 + @Override
  35 + public void flush() {
  36 + }
  37 +
  38 + @Override
  39 + public void close() throws SecurityException {
  40 + }
  41 +}
impl/core/src/test/java/logger/appender/LoggerMemory.java
@@ -1,56 +0,0 @@ @@ -1,56 +0,0 @@
1 -package logger.appender;  
2 -  
3 -import java.util.ArrayList;  
4 -import java.util.List;  
5 -  
6 -import javax.inject.Inject;  
7 -  
8 -import org.slf4j.Logger;  
9 -  
10 -public class LoggerMemory {  
11 -  
12 - @Inject  
13 - private Logger logger;  
14 -  
15 - private static List<String> messages = new ArrayList<String>();  
16 -  
17 - public boolean checkMessage(String loggerMessage) {  
18 -  
19 - logger.info("Verificando a mensagem [" + loggerMessage + "]");  
20 - this.showMessages();  
21 -  
22 - for (String mensagem : messages) {  
23 -  
24 - if (mensagem.equals(loggerMessage)) {  
25 -  
26 - logger.info("Mensagem encontrada");  
27 - return true;  
28 -  
29 - }  
30 -  
31 - }  
32 -  
33 - logger.info("Mensagem não encontrada");  
34 - return false;  
35 -  
36 - }  
37 -  
38 - private void showMessages() {  
39 -  
40 - logger.debug("Inicio da listagem de mensagens armazenadas...");  
41 - for (String message : messages) {  
42 -  
43 - logger.debug("\"" + message + "\"");  
44 -  
45 - }  
46 - logger.debug("Fim da listagem de mensagens armazenadas...");  
47 -  
48 - }  
49 -  
50 - public static void addMessage(String mensagem) {  
51 -  
52 - messages.add(mensagem);  
53 -  
54 - }  
55 -  
56 -}  
impl/core/src/test/java/logger/appender/MemoryAppender.java
@@ -1,28 +0,0 @@ @@ -1,28 +0,0 @@
1 -package logger.appender;  
2 -  
3 -import org.apache.log4j.AppenderSkeleton;  
4 -import org.apache.log4j.spi.LoggingEvent;  
5 -  
6 -public class MemoryAppender extends AppenderSkeleton {  
7 -  
8 - @Override  
9 - public void close() {  
10 - }  
11 -  
12 - @Override  
13 - public boolean requiresLayout() {  
14 - return false;  
15 - }  
16 -  
17 - @Override  
18 - protected void append(LoggingEvent loggingEvent) {  
19 -  
20 - if (!LoggerMemory.class.getName().equals(loggingEvent.getLoggerName())) {  
21 -  
22 - LoggerMemory.addMessage(loggingEvent.getMessage().toString());  
23 -  
24 - }  
25 -  
26 - }  
27 -  
28 -}  
impl/core/src/test/java/message/MessageContextTest.java
@@ -36,7 +36,6 @@ @@ -36,7 +36,6 @@
36 */ 36 */
37 package message; 37 package message;
38 38
39 -import static junit.framework.Assert.assertEquals;  
40 import static junit.framework.Assert.assertTrue; 39 import static junit.framework.Assert.assertTrue;
41 40
42 import javax.inject.Inject; 41 import javax.inject.Inject;
@@ -54,7 +53,6 @@ import br.gov.frameworkdemoiselle.context.RequestContext; @@ -54,7 +53,6 @@ import br.gov.frameworkdemoiselle.context.RequestContext;
54 import br.gov.frameworkdemoiselle.message.DefaultMessage; 53 import br.gov.frameworkdemoiselle.message.DefaultMessage;
55 import br.gov.frameworkdemoiselle.message.Message; 54 import br.gov.frameworkdemoiselle.message.Message;
56 import br.gov.frameworkdemoiselle.message.MessageContext; 55 import br.gov.frameworkdemoiselle.message.MessageContext;
57 -import br.gov.frameworkdemoiselle.message.SeverityType;  
58 import br.gov.frameworkdemoiselle.util.Beans; 56 import br.gov.frameworkdemoiselle.util.Beans;
59 57
60 @RunWith(Arquillian.class) 58 @RunWith(Arquillian.class)
@@ -77,76 +75,6 @@ public class MessageContextTest { @@ -77,76 +75,6 @@ public class MessageContextTest {
77 } 75 }
78 76
79 @Test 77 @Test
80 - @Deprecated  
81 - public void testAddMessageWithoutParams() {  
82 - RequestContext context = Beans.getReference(RequestContext.class);  
83 -  
84 - context.activate();  
85 - Message message = new DefaultMessage("Menssage without param");  
86 - DummyMessageAppender appender = Beans.getReference(DummyMessageAppender.class);  
87 -  
88 - messageContext.add(message);  
89 - assertEquals(appender.getMessages().size(), 1);  
90 - context.deactivate();  
91 - }  
92 -  
93 - @Test  
94 - @Deprecated  
95 - public void testAddMessageWithoutParamsIfSeverityIsInfo() {  
96 - RequestContext context = Beans.getReference(RequestContext.class);  
97 -  
98 - context.activate();  
99 - Message message = new DefaultMessage("Menssage without param");  
100 - DummyMessageAppender appender = Beans.getReference(DummyMessageAppender.class);  
101 -  
102 - messageContext.add(message);  
103 - assertEquals(appender.getMessages().get(0).getSeverity(), SeverityType.INFO);  
104 - context.deactivate();  
105 - }  
106 -  
107 - @Test  
108 - @Deprecated  
109 - public void testAddMessageWitSeverityInfo() {  
110 - RequestContext context = Beans.getReference(RequestContext.class);  
111 -  
112 - context.activate();  
113 - Message message = new DefaultMessage("Menssage without param", SeverityType.INFO);  
114 - DummyMessageAppender appender = Beans.getReference(DummyMessageAppender.class);  
115 -  
116 - messageContext.add(message);  
117 - assertEquals(appender.getMessages().get(0).getSeverity(), SeverityType.INFO);  
118 - context.deactivate();  
119 - }  
120 -  
121 - @Test  
122 - @Deprecated  
123 - public void testAddMessageWitSeverityWarn() {  
124 - RequestContext context = Beans.getReference(RequestContext.class);  
125 -  
126 - context.activate();  
127 - Message message = new DefaultMessage("Menssage without param", SeverityType.WARN);  
128 - DummyMessageAppender appender = Beans.getReference(DummyMessageAppender.class);  
129 -  
130 - messageContext.add(message);  
131 - assertEquals(appender.getMessages().get(0).getSeverity(), SeverityType.WARN);  
132 - context.deactivate();  
133 - }  
134 -  
135 - @Test  
136 - @Deprecated  
137 - public void testAddMessageWitSeverityErro() {  
138 - RequestContext context = Beans.getReference(RequestContext.class);  
139 -  
140 - context.activate();  
141 - Message message = new DefaultMessage("Menssage without param", SeverityType.ERROR);  
142 - DummyMessageAppender appender = Beans.getReference(DummyMessageAppender.class);  
143 -  
144 - messageContext.add(message);  
145 - assertEquals(appender.getMessages().get(0).getSeverity(), SeverityType.ERROR);  
146 - context.deactivate();  
147 - }  
148 -  
149 - @Test  
150 public void testRecoverStringMessageWithParams() { 78 public void testRecoverStringMessageWithParams() {
151 RequestContext context = Beans.getReference(RequestContext.class); 79 RequestContext context = Beans.getReference(RequestContext.class);
152 80
@@ -159,20 +87,6 @@ public class MessageContextTest { @@ -159,20 +87,6 @@ public class MessageContextTest {
159 } 87 }
160 88
161 @Test 89 @Test
162 - @Deprecated  
163 - public void testRecoverMessageWithParams() {  
164 - RequestContext context = Beans.getReference(RequestContext.class);  
165 -  
166 - context.activate();  
167 - Message message = new DefaultMessage("Message with {0} param");  
168 - DummyMessageAppender appender = Beans.getReference(DummyMessageAppender.class);  
169 -  
170 - messageContext.add(message, 1);  
171 - assertTrue(appender.getMessages().get(0).getText().equals("Message with 1 param"));  
172 - context.deactivate();  
173 - }  
174 -  
175 - @Test  
176 public void testMessageWithResourceBundle() { 90 public void testMessageWithResourceBundle() {
177 bundleCustom = Beans.getReference(MessageWithResourceBundle.class); 91 bundleCustom = Beans.getReference(MessageWithResourceBundle.class);
178 String expected = "Mensagem sem parâmetro"; 92 String expected = "Mensagem sem parâmetro";