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 34 ou escreva para a Fundação do Software Livre (FSF) Inc.,
35 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 40 <modelVersion>4.0.0</modelVersion>
40 41  
... ... @@ -117,10 +118,6 @@
117 118 <groupId>javax.validation</groupId>
118 119 </dependency>
119 120 <dependency>
120   - <groupId>org.slf4j</groupId>
121   - <artifactId>slf4j-api</artifactId>
122   - </dependency>
123   - <dependency>
124 121 <groupId>org.javassist</groupId>
125 122 <artifactId>javassist</artifactId>
126 123 </dependency>
... ... @@ -129,6 +126,12 @@
129 126 <artifactId>commons-configuration</artifactId>
130 127 </dependency>
131 128  
  129 + <!-- @Deprecated -->
  130 + <dependency>
  131 + <groupId>org.slf4j</groupId>
  132 + <artifactId>slf4j-api</artifactId>
  133 + </dependency>
  134 +
132 135 <!-- for tests -->
133 136 <dependency>
134 137 <groupId>junit</groupId>
... ... @@ -143,7 +146,6 @@
143 146 <dependency>
144 147 <groupId>org.jboss.arquillian.container</groupId>
145 148 <artifactId>arquillian-weld-se-embedded-1.1</artifactId>
146   -<!-- <version>1.0.0.CR7</version> -->
147 149 <scope>test</scope>
148 150 </dependency>
149 151 <dependency>
... ... @@ -156,11 +158,6 @@
156 158 <artifactId>hibernate-validator</artifactId>
157 159 <scope>test</scope>
158 160 </dependency>
159   - <dependency>
160   - <groupId>org.slf4j</groupId>
161   - <artifactId>slf4j-log4j12</artifactId>
162   - <scope>test</scope>
163   - </dependency>
164 161 </dependencies>
165 162  
166 163 <repositories>
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/exception/ExceptionHandlerInterceptor.java
... ... @@ -44,13 +44,12 @@ import java.util.Arrays;
44 44 import java.util.HashMap;
45 45 import java.util.List;
46 46 import java.util.Map;
  47 +import java.util.logging.Logger;
47 48  
48 49 import javax.interceptor.AroundInvoke;
49 50 import javax.interceptor.Interceptor;
50 51 import javax.interceptor.InvocationContext;
51 52  
52   -import org.slf4j.Logger;
53   -
54 53 import br.gov.frameworkdemoiselle.DemoiselleException;
55 54 import br.gov.frameworkdemoiselle.stereotype.Controller;
56 55 import br.gov.frameworkdemoiselle.util.Beans;
... ... @@ -93,6 +92,9 @@ import br.gov.frameworkdemoiselle.util.ResourceBundle;
93 92 * }
94 93 * }
95 94 *
  95 + *
  96 + *
  97 + *
96 98 * </pre>
97 99 *
98 100 * </blockquote>
... ... @@ -255,7 +257,7 @@ public class ExceptionHandlerInterceptor implements Serializable {
255 257  
256 258 private Logger getLogger() {
257 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 263 return logger;
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/AbstractLifecycleBootstrap.java
... ... @@ -42,6 +42,7 @@ import java.util.Collections;
42 42 import java.util.HashMap;
43 43 import java.util.Iterator;
44 44 import java.util.List;
  45 +import java.util.logging.Logger;
45 46  
46 47 import javax.enterprise.event.Observes;
47 48 import javax.enterprise.inject.spi.AnnotatedMethod;
... ... @@ -49,8 +50,6 @@ import javax.enterprise.inject.spi.AnnotatedType;
49 50 import javax.enterprise.inject.spi.Extension;
50 51 import javax.enterprise.inject.spi.ProcessAnnotatedType;
51 52  
52   -import org.slf4j.Logger;
53   -
54 53 import br.gov.frameworkdemoiselle.DemoiselleException;
55 54 import br.gov.frameworkdemoiselle.context.ConversationContext;
56 55 import br.gov.frameworkdemoiselle.context.CustomContext;
... ... @@ -73,11 +72,11 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
73 72 .synchronizedList(new ArrayList<AnnotatedMethodProcessor>());
74 73  
75 74 private transient static ResourceBundle bundle;
76   -
  75 +
77 76 private boolean registered = false;
78   -
  77 +
79 78 private HashMap<String, Boolean> startedContextHere = new HashMap<String, Boolean>();
80   -
  79 +
81 80 private transient CustomContext backupContext = null;
82 81  
83 82 protected abstract Logger getLogger();
... ... @@ -115,13 +114,13 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
115 114  
116 115 @SuppressWarnings({ "unchecked", "rawtypes" })
117 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 119 Collections.sort(processors);
121 120 Exception failure = null;
122   -
  121 +
123 122 startContexts();
124   -
  123 +
125 124 for (Iterator<AnnotatedMethodProcessor> iter = processors.iterator(); iter.hasNext();) {
126 125 AnnotatedMethodProcessor<?> processor = iter.next();
127 126  
... ... @@ -138,49 +137,48 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
138 137 failure = cause;
139 138 }
140 139 }
141   -
  140 +
142 141 stopContexts();
143 142  
144 143 if (failure != null) {
145 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 150 RequestContext requestContext = Beans.getReference(RequestContext.class);
152 151 SessionContext sessionContext = Beans.getReference(SessionContext.class);
153 152 ViewContext viewContext = Beans.getReference(ViewContext.class);
154 153 ConversationContext conversationContext = Beans.getReference(ConversationContext.class);
155   -
156   - if (requestContext!=null){
  154 +
  155 + if (requestContext != null) {
157 156 startedContextHere.put("request", requestContext.activate());
158 157 }
159   -
160   - if (sessionContext!=null){
  158 +
  159 + if (sessionContext != null) {
161 160 startedContextHere.put("session", sessionContext.activate());
162 161 }
163   -
164   -
165   - if (conversationContext!=null){
  162 +
  163 + if (conversationContext != null) {
166 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 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 175 backupContext = viewContext;
179 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 182 startedContextHere.put("view", customContext.activate());
185 183 break;
186 184 }
... ... @@ -188,37 +186,37 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
188 186 }
189 187 }
190 188 }
191   -
  189 +
192 190 registered = true;
193 191 }
194 192 }
195   -
196   - private void stopContexts(){
197   - if (registered){
  193 +
  194 + private void stopContexts() {
  195 + if (registered) {
198 196 RequestContext requestContext = Beans.getReference(RequestContext.class);
199 197 SessionContext sessionContext = Beans.getReference(SessionContext.class);
200 198 ViewContext viewContext = Beans.getReference(ViewContext.class);
201 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 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 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 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 217 viewContext.deactivate();
220   -
221   - if (backupContext!=null){
  218 +
  219 + if (backupContext != null) {
222 220 backupContext.activate();
223 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 3 import java.util.Collection;
4 4 import java.util.Collections;
5 5 import java.util.HashSet;
  6 +import java.util.logging.Logger;
6 7  
7 8 import javax.enterprise.event.Observes;
8 9 import javax.enterprise.inject.spi.AnnotatedType;
9 10 import javax.enterprise.inject.spi.Extension;
10 11 import javax.enterprise.inject.spi.ProcessAnnotatedType;
11 12  
12   -import org.slf4j.Logger;
13   -
14 13 import br.gov.frameworkdemoiselle.util.Reflections;
15 14  
16 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 42 import java.util.HashMap;
43 43 import java.util.List;
44 44 import java.util.Map;
  45 +import java.util.logging.Logger;
45 46  
46 47 import javassist.ClassPool;
47 48 import javassist.CtClass;
... ... @@ -55,8 +56,6 @@ import javax.enterprise.inject.spi.AnnotatedType;
55 56 import javax.enterprise.inject.spi.BeanManager;
56 57 import javax.enterprise.inject.spi.ProcessAnnotatedType;
57 58  
58   -import org.slf4j.Logger;
59   -
60 59 import br.gov.frameworkdemoiselle.configuration.Configuration;
61 60 import br.gov.frameworkdemoiselle.configuration.ConfigurationValueExtractor;
62 61 import br.gov.frameworkdemoiselle.internal.implementation.ConfigurationImpl;
... ... @@ -139,7 +138,7 @@ public class ConfigurationBootstrap extends AbstractStrategyBootstrap&lt;Configurat
139 138 @Override
140 139 protected Logger getLogger() {
141 140 if (logger == null) {
142   - logger = LoggerProducer.create(ConfigurationBootstrap.class);
  141 + logger = LoggerProducer.create("br.gov.frameworkdemoiselle.configuration");
143 142 }
144 143  
145 144 return logger;
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/CoreBootstrap.java
... ... @@ -37,6 +37,7 @@
37 37 package br.gov.frameworkdemoiselle.internal.bootstrap;
38 38  
39 39 import java.util.Locale;
  40 +import java.util.logging.Logger;
40 41  
41 42 import javax.enterprise.event.Observes;
42 43 import javax.enterprise.inject.spi.AfterDeploymentValidation;
... ... @@ -45,8 +46,6 @@ import javax.enterprise.inject.spi.BeforeBeanDiscovery;
45 46 import javax.enterprise.inject.spi.BeforeShutdown;
46 47 import javax.enterprise.inject.spi.Extension;
47 48  
48   -import org.slf4j.Logger;
49   -
50 49 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
51 50 import br.gov.frameworkdemoiselle.util.Beans;
52 51 import br.gov.frameworkdemoiselle.util.ResourceBundle;
... ... @@ -56,10 +55,10 @@ public class CoreBootstrap implements Extension {
56 55 private Logger logger;
57 56  
58 57 private transient ResourceBundle bundle;
59   -
  58 +
60 59 private Logger getLogger() {
61 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 64 return this.logger;
... ... @@ -77,14 +76,14 @@ public class CoreBootstrap implements Extension {
77 76 getLogger().info(getBundle().getString("engine-on"));
78 77  
79 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 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 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 36 */
37 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 43 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
44 44 import br.gov.frameworkdemoiselle.lifecycle.AfterShutdownProccess;
... ... @@ -54,7 +54,7 @@ public class ShutdownBootstrap extends AbstractLifecycleBootstrap&lt;Shutdown&gt; {
54 54 @Override
55 55 protected Logger getLogger() {
56 56 if (logger == null) {
57   - logger = LoggerProducer.create(ShutdownBootstrap.class);
  57 + logger = LoggerProducer.create("br.gov.frameworkdemoiselle.lifecycle");
58 58 }
59 59  
60 60 return logger;
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/StartupBootstrap.java
... ... @@ -36,9 +36,9 @@
36 36 */
37 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 43 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
44 44 import br.gov.frameworkdemoiselle.lifecycle.AfterStartupProccess;
... ... @@ -54,7 +54,7 @@ public class StartupBootstrap extends AbstractLifecycleBootstrap&lt;Startup&gt; {
54 54 @Override
55 55 protected Logger getLogger() {
56 56 if (logger == null) {
57   - logger = LoggerProducer.create(StartupBootstrap.class);
  57 + logger = LoggerProducer.create("br.gov.frameworkdemoiselle.lifecycle");
58 58 }
59 59  
60 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 38  
39 39 import java.lang.annotation.Annotation;
40 40 import java.util.Locale;
  41 +import java.util.logging.Logger;
41 42  
42 43 import javax.enterprise.context.ContextNotActiveException;
43 44 import javax.enterprise.context.spi.Context;
... ... @@ -46,8 +47,6 @@ import javax.enterprise.context.spi.CreationalContext;
46 47 import javax.enterprise.inject.spi.Bean;
47 48 import javax.enterprise.inject.spi.BeanManager;
48 49  
49   -import org.slf4j.Logger;
50   -
51 50 import br.gov.frameworkdemoiselle.DemoiselleException;
52 51 import br.gov.frameworkdemoiselle.context.CustomContext;
53 52 import br.gov.frameworkdemoiselle.internal.bootstrap.CustomContextBootstrap;
... ... @@ -60,9 +59,9 @@ public abstract class AbstractCustomContext implements CustomContext {
60 59 private boolean active;
61 60  
62 61 private final Class<? extends Annotation> scope;
63   -
  62 +
64 63 private transient Logger logger;
65   -
  64 +
66 65 private transient ResourceBundle bundle;
67 66  
68 67 protected AbstractCustomContext(final Class<? extends Annotation> scope) {
... ... @@ -71,7 +70,7 @@ public abstract class AbstractCustomContext implements CustomContext {
71 70 }
72 71  
73 72 protected abstract BeanStore getStore();
74   -
  73 +
75 74 protected abstract boolean isStoreInitialized();
76 75  
77 76 @Override
... ... @@ -90,17 +89,16 @@ public abstract class AbstractCustomContext implements CustomContext {
90 89  
91 90 String id = getContextualStore().putIfAbsentAndGetId(contextual);
92 91 BeanStore store = getStore();
93   - if (store!=null){
  92 + if (store != null) {
94 93 if (store.contains(id)) {
95 94 instance = (T) store.getInstance(id);
96   - }
97   - else if (creationalContext!=null){
  95 + } else if (creationalContext != null) {
98 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 104 return instance;
... ... @@ -114,34 +112,39 @@ public abstract class AbstractCustomContext implements CustomContext {
114 112 @Override
115 113 public boolean activate() {
116 114 boolean success = false;
117   -
118   - if (!this.active){
  115 +
  116 + if (!this.active) {
119 117 BeanManager beanManager = Beans.getBeanManager();
120   - if (beanManager!=null){
121   - try{
  118 + if (beanManager != null) {
  119 + try {
122 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 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 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 141 return success;
139 142 }
140   -
  143 +
141 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 148 clearInstances();
146 149  
147 150 getStore().clear();
... ... @@ -152,26 +155,27 @@ public abstract class AbstractCustomContext implements CustomContext {
152 155  
153 156 Logger logger = getLogger();
154 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 163 @SuppressWarnings({ "rawtypes", "unchecked" })
160   - public void clearInstances(){
  164 + public void clearInstances() {
161 165 BeanStore store = getStore();
162   - if (store!=null){
163   - for (String id : store){
  166 + if (store != null) {
  167 + for (String id : store) {
164 168 Contextual contextual = getContextualStore().getContextual(id);
165 169 Object instance = store.getInstance(id);
166 170 CreationalContext creationalContext = store.getCreationalContext(id);
167   -
168   - if (contextual!=null && instance!=null){
  171 +
  172 + if (contextual != null && instance != null) {
169 173 contextual.destroy(instance, creationalContext);
170 174 }
171 175 }
172 176 }
173 177 }
174   -
  178 +
175 179 @Override
176 180 public Class<? extends Annotation> getScope() {
177 181 return this.scope;
... ... @@ -180,39 +184,39 @@ public abstract class AbstractCustomContext implements CustomContext {
180 184 protected static BeanStore createStore() {
181 185 return new BeanStore();
182 186 }
183   -
  187 +
184 188 protected static ContextualStore createContextualStore() {
185 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 194 bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
191 195 }
192   -
  196 +
193 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 205 return logger;
202 206 }
203   -
204   - protected ContextualStore getContextualStore(){
  207 +
  208 + protected ContextualStore getContextualStore() {
205 209 CustomContextBootstrap bootstrap = Beans.getReference(CustomContextBootstrap.class);
206 210 return bootstrap.getContextualStore();
207 211 }
208   -
  212 +
209 213 @Override
210 214 public boolean equals(Object obj) {
211 215 if (this == obj)
212 216 return true;
213 217 if (obj == null)
214 218 return false;
215   - if ( !this.getClass().equals(obj.getClass()) )
  219 + if (!this.getClass().equals(obj.getClass()))
216 220 return false;
217 221 AbstractCustomContext other = (AbstractCustomContext) obj;
218 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 51 import java.util.ArrayList;
52 52 import java.util.List;
53 53 import java.util.Locale;
  54 +import java.util.logging.Logger;
54 55  
55 56 import javax.annotation.PreDestroy;
56 57 import javax.enterprise.context.ApplicationScoped;
... ... @@ -58,8 +59,6 @@ import javax.enterprise.inject.Produces;
58 59 import javax.enterprise.inject.spi.AfterBeanDiscovery;
59 60 import javax.enterprise.inject.spi.InjectionPoint;
60 61  
61   -import org.slf4j.Logger;
62   -
63 62 import br.gov.frameworkdemoiselle.annotation.Priority;
64 63 import br.gov.frameworkdemoiselle.context.ConversationContext;
65 64 import br.gov.frameworkdemoiselle.context.CustomContext;
... ... @@ -74,37 +73,38 @@ import br.gov.frameworkdemoiselle.util.Beans;
74 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 78 * @author serpro
81   - *
82 79 */
83 80 @ApplicationScoped
84 81 public class CustomContextProducer {
85   -
  82 +
86 83 private Logger logger;
87 84  
88 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 98 Logger logger = getLogger();
100 99 ResourceBundle bundle = getBundle();
101   -
102   - if (!getContexts().contains(context)){
  100 +
  101 + if (!getContexts().contains(context)) {
103 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 112 * Deactivates all registered contexts and clear the context collection
113 113 */
114 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 118 context.deactivate();
119 119 }
120   -
  120 +
121 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 132 CustomContextBootstrap contextBootstrap = Beans.getReference(CustomContextBootstrap.class);
131 133 return contextBootstrap.getCustomContexts();
132 134 }
133   -
134   - /////////////PRODUCERS///////////////////
135   -
  135 +
  136 + // ///////////PRODUCERS///////////////////
  137 +
136 138 @Produces
137   - protected RequestContext getRequestContext(InjectionPoint ip){
138   - if (ip!=null){
  139 + protected RequestContext getRequestContext(InjectionPoint ip) {
  140 + if (ip != null) {
139 141 return getContext(ip);
140   - }
141   - else{
  142 + } else {
142 143 return getContext(RequestContext.class);
143 144 }
144 145 }
145   -
  146 +
146 147 @Produces
147   - protected SessionContext getSessionContext(InjectionPoint ip){
148   - if (ip!=null){
  148 + protected SessionContext getSessionContext(InjectionPoint ip) {
  149 + if (ip != null) {
149 150 return getContext(ip);
150   - }
151   - else{
  151 + } else {
152 152 return getContext(SessionContext.class);
153 153 }
154 154 }
155   -
  155 +
156 156 @Produces
157   - protected ViewContext getViewContext(InjectionPoint ip){
158   - if (ip!=null){
  157 + protected ViewContext getViewContext(InjectionPoint ip) {
  158 + if (ip != null) {
159 159 return getContext(ip);
160   - }
161   - else{
  160 + } else {
162 161 return getContext(ViewContext.class);
163 162 }
164 163 }
165   -
  164 +
166 165 @Produces
167   - protected StaticContext getStaticContext(InjectionPoint ip){
168   - if (ip!=null){
  166 + protected StaticContext getStaticContext(InjectionPoint ip) {
  167 + if (ip != null) {
169 168 return getContext(ip);
170   - }
171   - else{
  169 + } else {
172 170 return getContext(StaticContext.class);
173 171 }
174 172 }
175   -
  173 +
176 174 @Produces
177   - protected ConversationContext getConversationContext(InjectionPoint ip){
178   - if (ip!=null){
  175 + protected ConversationContext getConversationContext(InjectionPoint ip) {
  176 + if (ip != null) {
179 177 return getContext(ip);
180   - }
181   - else{
  178 + } else {
182 179 return getContext(ConversationContext.class);
183 180 }
184 181 }
185   -
186   - /////////////END OF PRODUCERS///////////////////
187   -
  182 +
  183 + // ///////////END OF PRODUCERS///////////////////
  184 +
188 185 /**
189 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 194 @SuppressWarnings("unchecked")
198   - public <T extends CustomContext> T getContext(InjectionPoint ip){
  195 + public <T extends CustomContext> T getContext(InjectionPoint ip) {
199 196 T producedContext = null;
200   -
201   - if (ip!=null){
  197 +
  198 + if (ip != null) {
202 199 Class<T> beanClass = (Class<T>) ip.getType();
203 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 208 return producedContext;
211 209 }
212   -
  210 +
213 211 /**
214 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 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 220 @SuppressWarnings("unchecked")
222   - public <T extends CustomContext> T getContext(Class<T> contextClass){
  221 + public <T extends CustomContext> T getContext(Class<T> contextClass) {
223 222 CustomContext producedContext = null;
224   -
  223 +
225 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 229 producedContext = context;
231 230 break;
232   - }
233   - else{
  231 + } else {
234 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 238 producedContext = StrategySelector.selectInstance(CustomContext.class, selectableContexts);
241 239 }
242   -
  240 +
243 241 return (T) producedContext;
244 242 }
245   -
  243 +
246 244 private Logger getLogger() {
247 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 249 return this.logger;
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/AnnotatedMethodProcessor.java
... ... @@ -36,12 +36,13 @@
36 36 */
37 37 package br.gov.frameworkdemoiselle.internal.implementation;
38 38  
  39 +import static java.util.logging.Level.SEVERE;
  40 +
39 41 import java.lang.reflect.InvocationTargetException;
  42 +import java.util.logging.Logger;
40 43  
41 44 import javax.enterprise.inject.spi.AnnotatedMethod;
42 45  
43   -import org.slf4j.Logger;
44   -
45 46 import br.gov.frameworkdemoiselle.annotation.Priority;
46 47 import br.gov.frameworkdemoiselle.exception.ApplicationException;
47 48 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
... ... @@ -110,11 +111,11 @@ public class AnnotatedMethodProcessor&lt;T&gt; implements Comparable&lt;AnnotatedMethodPr
110 111 break;
111 112  
112 113 case WARN:
113   - getLogger().warn(cause.getMessage());
  114 + getLogger().warning(cause.getMessage());
114 115 break;
115 116  
116 117 default:
117   - getLogger().error(getBundle().getString("processing-fail"), cause);
  118 + getLogger().log(SEVERE, getBundle().getString("processing-fail"), cause);
118 119 break;
119 120 }
120 121 }
... ... @@ -140,6 +141,6 @@ public class AnnotatedMethodProcessor&lt;T&gt; implements Comparable&lt;AnnotatedMethodPr
140 141 }
141 142  
142 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 38  
39 39 import static br.gov.frameworkdemoiselle.annotation.Priority.L2_PRIORITY;
40 40  
41   -
42 41 import java.lang.reflect.Field;
43 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 45 import java.util.HashSet;
46 46 import java.util.Iterator;
47 47 import java.util.Set;
  48 +import java.util.logging.Logger;
48 49  
49 50 import javax.validation.ConstraintViolation;
50 51 import javax.validation.ConstraintViolationException;
... ... @@ -58,7 +59,6 @@ import org.apache.commons.configuration.FileConfiguration;
58 59 import org.apache.commons.configuration.PropertiesConfiguration;
59 60 import org.apache.commons.configuration.SystemConfiguration;
60 61 import org.apache.commons.configuration.XMLConfiguration;
61   -import org.slf4j.Logger;
62 62  
63 63 import br.gov.frameworkdemoiselle.annotation.Ignore;
64 64 import br.gov.frameworkdemoiselle.annotation.Name;
... ... @@ -105,7 +105,7 @@ public class ConfigurationLoader implements Serializable {
105 105  
106 106 public void load(Object object, boolean logLoadingProcess) throws ConfigurationException {
107 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 111 this.object = object;
... ... @@ -167,7 +167,7 @@ public class ConfigurationLoader implements Serializable {
167 167 ((FileConfiguration) config).load();
168 168  
169 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 171 config = null;
172 172 }
173 173 }
... ... @@ -199,7 +199,7 @@ public class ConfigurationLoader implements Serializable {
199 199 String prefix = this.object.getClass().getAnnotation(Configuration.class).prefix();
200 200  
201 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 203 } else if (!prefix.isEmpty()) {
204 204 prefix += ".";
205 205 }
... ... @@ -223,11 +223,11 @@ public class ConfigurationLoader implements Serializable {
223 223 Object finalValue = (loadedValue == null ? defaultValue : loadedValue);
224 224  
225 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 229 Reflections.setFieldValue(field, this.object, finalValue);
230   - getLogger().debug(
  230 + getLogger().finer(
231 231 getBundle().getString("configuration-field-loaded", this.prefix + getKey(field), field.getName(),
232 232 finalValue == null ? "null" : finalValue));
233 233 }
... ... @@ -329,7 +329,8 @@ public class ConfigurationLoader implements Serializable {
329 329  
330 330 private Logger getLogger() {
331 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 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 38  
39 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 45 import br.gov.frameworkdemoiselle.annotation.Priority;
46 46 import br.gov.frameworkdemoiselle.message.Message;
... ... @@ -64,11 +64,11 @@ public class LoggerMessageAppender implements MessageAppender {
64 64 break;
65 65  
66 66 case WARN:
67   - logger.warn(text);
  67 + logger.warning(text);
68 68 break;
69 69  
70 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 42 import java.util.Collection;
43 43 import java.util.List;
44 44 import java.util.Set;
  45 +import java.util.logging.Logger;
45 46  
46 47 import javax.enterprise.context.ApplicationScoped;
47 48 import javax.inject.Inject;
... ... @@ -51,8 +52,6 @@ import javax.validation.Validation;
51 52 import javax.validation.ValidationException;
52 53 import javax.validation.Validator;
53 54  
54   -import org.slf4j.Logger;
55   -
56 55 import br.gov.frameworkdemoiselle.annotation.ManagedProperty;
57 56 import br.gov.frameworkdemoiselle.annotation.Name;
58 57 import br.gov.frameworkdemoiselle.context.ConversationContext;
... ... @@ -93,7 +92,7 @@ public class Management implements Serializable {
93 92  
94 93 public void addManagedType(ManagedType managedType) {
95 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 96 .getCanonicalName()));
98 97 }
99 98  
... ... @@ -134,12 +133,12 @@ public class Management implements Serializable {
134 133 activateContexts(managedType.getType());
135 134  
136 135 try {
137   - Object delegate = Beans.getReference(managedType.getType() , managedType.getQualifiers());
  136 + Object delegate = Beans.getReference(managedType.getType(), managedType.getQualifiers());
138 137 MethodDetail method = managedType.getOperationMethods().get(actionName);
139 138  
140 139 if (method != null) {
141 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 142 .getType().getCanonicalName()));
144 143 return method.getMethod().invoke(delegate, params);
145 144 } catch (Exception e) {
... ... @@ -171,8 +170,10 @@ public class Management implements Serializable {
171 170 * @param propertyName
172 171 * The name of the property
173 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 178 public Object getProperty(ManagedType managedType, String propertyName) {
178 179  
... ... @@ -180,23 +181,24 @@ public class Management implements Serializable {
180 181 Method getterMethod = managedType.getFields().get(propertyName).getGetterMethod();
181 182  
182 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 185 .getType().getCanonicalName()));
185 186  
186 187 activateContexts(managedType.getType());
187 188  
188 189 try {
189   - Object delegate = Beans.getReference(managedType.getType() , managedType.getQualifiers());
  190 + Object delegate = Beans.getReference(managedType.getType(), managedType.getQualifiers());
190 191  
191 192 return getterMethod.invoke(delegate, (Object[]) null);
192 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 196 } finally {
196 197 deactivateContexts(managedType.getType());
197 198 }
198 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 203 } else {
202 204 throw new ManagedInvokationException(bundle.getString("management-type-not-found"));
... ... @@ -219,9 +221,13 @@ public class Management implements Serializable {
219 221 * The name of the property
220 222 * @param newValue
221 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 232 @SuppressWarnings("unchecked")
227 233 public void setProperty(ManagedType managedType, String propertyName, Object newValue) {
... ... @@ -230,7 +236,7 @@ public class Management implements Serializable {
230 236 // Procura o método set do atributo em questão
231 237 Method method = managedType.getFields().get(propertyName).getSetterMethod();
232 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 240 .getType().getCanonicalName()));
235 241  
236 242 activateContexts(managedType.getType());
... ... @@ -238,7 +244,7 @@ public class Management implements Serializable {
238 244 // Obtém uma instância da classe gerenciada, lembrando que
239 245 // classes
240 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 249 // Se houver um validador anexado à propriedade alterada, executa o validador sobre
244 250 // o novo valor.
... ... @@ -257,12 +263,13 @@ public class Management implements Serializable {
257 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 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 275 Method getterMethod = managedType.getFields().get(propertyName).getGetterMethod();
... ... @@ -279,24 +286,23 @@ public class Management implements Serializable {
279 286 NotificationManager notificationManager = Beans.getReference(NotificationManager.class);
280 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 292 notificationManager.sendNotification(notification);
289 293  
290 294 } catch (ConstraintViolationException ce) {
291 295 throw ce;
292 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 299 } finally {
295 300 deactivateContexts(managedType.getType());
296 301 }
297 302  
298 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 307 } else {
302 308 throw new ManagedInvokationException(bundle.getString("management-type-not-found"));
... ... @@ -307,18 +313,18 @@ public class Management implements Serializable {
307 313 private void activateContexts(Class<?> managedType) {
308 314 RequestContext requestContext = Beans.getReference(RequestContext.class);
309 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 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 328 conversationContext.activate();
323 329 }
324 330 }
... ... @@ -326,18 +332,18 @@ public class Management implements Serializable {
326 332 private void deactivateContexts(Class<?> managedType) {
327 333 RequestContext requestContext = Beans.getReference(RequestContext.class);
328 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 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 347 conversationContext.deactivate();
342 348 }
343 349 }
... ... @@ -347,7 +353,7 @@ public class Management implements Serializable {
347 353  
348 354 ManagementExtension monitoringExtension = Beans.getReference(monitoringExtensionClass);
349 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 357 .getClass().getCanonicalName()));
352 358  
353 359 }
... ... @@ -357,7 +363,7 @@ public class Management implements Serializable {
357 363 for (Class<? extends ManagementExtension> monitoringExtensionClass : monitoringExtensions) {
358 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 367 .getClass().getCanonicalName()));
362 368  
363 369 monitoringExtension.initialize(this.getManagedTypes());
... ... @@ -375,6 +381,4 @@ public class Management implements Serializable {
375 381  
376 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 37 package br.gov.frameworkdemoiselle.internal.implementation;
38 38  
39 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 42 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
46 43 import br.gov.frameworkdemoiselle.message.DefaultMessage;
47   -import br.gov.frameworkdemoiselle.message.Message;
48 44 import br.gov.frameworkdemoiselle.message.MessageAppender;
49 45 import br.gov.frameworkdemoiselle.message.MessageContext;
50 46 import br.gov.frameworkdemoiselle.message.SeverityType;
... ... @@ -61,30 +57,9 @@ public class MessageContextImpl implements Serializable, MessageContext {
61 57  
62 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 64 private MessageAppender getAppender() {
90 65 Class<? extends MessageAppender> appenderClass = StrategySelector.selectClass(MessageAppender.class);
... ... @@ -99,26 +74,10 @@ public class MessageContextImpl implements Serializable, MessageContext {
99 74  
100 75 @Override
101 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 81 if (bundle == null) {
123 82 bundle = Beans.getReference(ResourceBundle.class, new NameQualifier("demoiselle-core-bundle"));
124 83 }
... ... @@ -126,9 +85,9 @@ public class MessageContextImpl implements Serializable, MessageContext {
126 85 return bundle;
127 86 }
128 87  
129   - private Logger getLogger() {
  88 + private Logger getLogger() {
130 89 if (logger == null) {
131   - logger = LoggerProducer.create(MessageContext.class);
  90 + logger = LoggerProducer.create("br.gov.frameworkdemoiselle.message");
132 91 }
133 92  
134 93 return logger;
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/LoggerProducer.java
... ... @@ -49,17 +49,14 @@
49 49 package br.gov.frameworkdemoiselle.internal.producer;
50 50  
51 51 import java.io.Serializable;
  52 +import java.util.logging.Logger;
52 53  
53 54 import javax.enterprise.inject.Default;
54 55 import javax.enterprise.inject.Produces;
55 56 import javax.enterprise.inject.spi.InjectionPoint;
56 57  
57   -import org.slf4j.Logger;
58   -
59   -import br.gov.frameworkdemoiselle.DemoiselleException;
60 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 61 public class LoggerProducer implements Serializable {
65 62  
... ... @@ -68,36 +65,25 @@ public class LoggerProducer implements Serializable {
68 65 @Default
69 66 @Produces
70 67 public Logger create(final InjectionPoint ip) {
71   - Class<?> type;
  68 + String name;
72 69  
73 70 if (ip != null && ip.getMember() != null) {
74   - type = ip.getMember().getDeclaringClass();
  71 + name = ip.getMember().getDeclaringClass().getName();
75 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 79 @Name("")
83 80 @Produces
84 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 @@
  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 36 */
37 37 package br.gov.frameworkdemoiselle.message;
38 38  
39   -import java.util.List;
40   -
41 39 /**
42 40 * Context interface reserved for messaging purposes.
43 41 * <p>
... ... @@ -51,27 +49,20 @@ import java.util.List;
51 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 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 37 package br.gov.frameworkdemoiselle.security;
38 38  
39 39 import java.io.Serializable;
  40 +import java.util.logging.Logger;
40 41  
41 42 import javax.interceptor.AroundInvoke;
42 43 import javax.interceptor.Interceptor;
43 44 import javax.interceptor.InvocationContext;
44 45  
45   -import org.slf4j.Logger;
46   -
47 46 import br.gov.frameworkdemoiselle.annotation.Name;
48 47 import br.gov.frameworkdemoiselle.util.Beans;
49 48 import br.gov.frameworkdemoiselle.util.NameQualifier;
... ... @@ -86,15 +85,15 @@ public class RequiredPermissionInterceptor implements Serializable {
86 85  
87 86 if (getSecurityContext().isLoggedIn()) {
88 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 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 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 97 return ic.proceed();
99 98 }
100 99  
... ... @@ -110,8 +109,8 @@ public class RequiredPermissionInterceptor implements Serializable {
110 109 private String getResource(InvocationContext ic) {
111 110 RequiredPermission requiredPermission;
112 111 requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class);
113   -
114   - if(requiredPermission == null){
  112 +
  113 + if (requiredPermission == null) {
115 114 requiredPermission = ic.getTarget().getClass().getAnnotation(RequiredPermission.class);
116 115 }
117 116  
... ... @@ -138,11 +137,11 @@ public class RequiredPermissionInterceptor implements Serializable {
138 137 private String getOperation(InvocationContext ic) {
139 138 RequiredPermission requiredPermission;
140 139 requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class);
141   -
142   - if(requiredPermission == null){
  140 +
  141 + if (requiredPermission == null) {
143 142 requiredPermission = ic.getTarget().getClass().getAnnotation(RequiredPermission.class);
144 143 }
145   -
  144 +
146 145 if (Strings.isEmpty(requiredPermission.operation())) {
147 146 if (ic.getMethod().getAnnotation(Name.class) == null) {
148 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 40 import java.util.ArrayList;
41 41 import java.util.Arrays;
42 42 import java.util.List;
  43 +import java.util.logging.Logger;
43 44  
44 45 import javax.interceptor.AroundInvoke;
45 46 import javax.interceptor.Interceptor;
46 47 import javax.interceptor.InvocationContext;
47 48  
48   -import org.slf4j.Logger;
49   -
50 49 import br.gov.frameworkdemoiselle.util.Beans;
51 50 import br.gov.frameworkdemoiselle.util.NameQualifier;
52 51 import br.gov.frameworkdemoiselle.util.ResourceBundle;
... ... @@ -84,8 +83,7 @@ public class RequiredRoleInterceptor implements Serializable {
84 83  
85 84 if (getSecurityContext().isLoggedIn()) {
86 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 89 List<String> userRoles = new ArrayList<String>();
... ... @@ -97,15 +95,13 @@ public class RequiredRoleInterceptor implements Serializable {
97 95 }
98 96  
99 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 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 106 return ic.proceed();
111 107 }
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/transaction/TransactionalInterceptor.java
... ... @@ -37,6 +37,7 @@
37 37 package br.gov.frameworkdemoiselle.transaction;
38 38  
39 39 import java.io.Serializable;
  40 +import java.util.logging.Logger;
40 41  
41 42 import javax.enterprise.context.ContextNotActiveException;
42 43 import javax.enterprise.context.RequestScoped;
... ... @@ -45,8 +46,6 @@ import javax.interceptor.AroundInvoke;
45 46 import javax.interceptor.Interceptor;
46 47 import javax.interceptor.InvocationContext;
47 48  
48   -import org.slf4j.Logger;
49   -
50 49 import br.gov.frameworkdemoiselle.exception.ApplicationException;
51 50 import br.gov.frameworkdemoiselle.util.Beans;
52 51 import br.gov.frameworkdemoiselle.util.NameQualifier;
... ... @@ -115,7 +114,7 @@ public class TransactionalInterceptor implements Serializable {
115 114  
116 115 Object result = null;
117 116 try {
118   - getLogger().debug(getBundle().getString("transactional-execution", ic.getMethod().toGenericString()));
  117 + getLogger().fine(getBundle().getString("transactional-execution", ic.getMethod().toGenericString()));
119 118 result = ic.proceed();
120 119  
121 120 } catch (Exception cause) {
... ... @@ -195,7 +194,7 @@ public class TransactionalInterceptor implements Serializable {
195 194  
196 195 private Logger getLogger() {
197 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 200 return logger;
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/util/NameQualifier.java
... ... @@ -38,6 +38,7 @@ package br.gov.frameworkdemoiselle.util;
38 38  
39 39 import javax.enterprise.util.AnnotationLiteral;
40 40  
  41 +import util.beans.ambiguous.AmbiguousQualifier;
41 42 import br.gov.frameworkdemoiselle.annotation.Name;
42 43  
43 44 /**
... ...
impl/core/src/test/java/context/staticcontext/ConversationBean.java
1 1 package context.staticcontext;
2 2  
3   -import javax.enterprise.context.ConversationScoped;
4 3 import java.io.Serializable;
5 4  
  5 +import javax.enterprise.context.ConversationScoped;
  6 +
6 7 @ConversationScoped
7 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 45 import org.junit.Test;
46 46 import org.junit.runner.RunWith;
47 47  
  48 +import test.Tests;
48 49 import br.gov.frameworkdemoiselle.context.ConversationContext;
49 50 import br.gov.frameworkdemoiselle.context.SessionContext;
50 51 import br.gov.frameworkdemoiselle.util.Beans;
51   -import test.Tests;
52 52  
53 53 @RunWith(Arquillian.class)
54 54 public class StaticContextTest {
... ...
impl/core/src/test/java/logger/LoggerTest.java
... ... @@ -36,48 +36,74 @@
36 36 */
37 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 43 import javax.inject.Inject;
42 44  
43   -import logger.appender.LoggerMemory;
  45 +import logger.appender.FakeHandler;
44 46  
45 47 import org.jboss.arquillian.container.test.api.Deployment;
46 48 import org.jboss.arquillian.junit.Arquillian;
47 49 import org.jboss.shrinkwrap.api.spec.JavaArchive;
48 50 import org.junit.Test;
49 51 import org.junit.runner.RunWith;
50   -import org.slf4j.Logger;
51 52  
52 53 import test.Tests;
  54 +import br.gov.frameworkdemoiselle.annotation.Name;
  55 +import br.gov.frameworkdemoiselle.util.Beans;
53 56  
54 57 @RunWith(Arquillian.class)
55 58 public class LoggerTest {
56 59  
57   - private static final String LOGGER_MESSAGE = "Testing log4j proxy";
58   -
59 60 @Inject
60   - private Logger logger;
  61 + private Logger unnamedLogger;
61 62  
62 63 @Inject
63   - private LoggerMemory loggerMemory;
  64 + @Name("just.another.test")
  65 + private Logger namedLogger;
64 66  
65 67 @Deployment
66 68 public static JavaArchive createDeployment() {
67   -
68 69 JavaArchive deployment = Tests.createDeployment(LoggerTest.class);
69   -
70 70 return deployment;
71   -
72 71 }
73 72  
74 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 @@
  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   -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   -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 36 */
37 37 package message;
38 38  
39   -import static junit.framework.Assert.assertEquals;
40 39 import static junit.framework.Assert.assertTrue;
41 40  
42 41 import javax.inject.Inject;
... ... @@ -54,7 +53,6 @@ import br.gov.frameworkdemoiselle.context.RequestContext;
54 53 import br.gov.frameworkdemoiselle.message.DefaultMessage;
55 54 import br.gov.frameworkdemoiselle.message.Message;
56 55 import br.gov.frameworkdemoiselle.message.MessageContext;
57   -import br.gov.frameworkdemoiselle.message.SeverityType;
58 56 import br.gov.frameworkdemoiselle.util.Beans;
59 57  
60 58 @RunWith(Arquillian.class)
... ... @@ -77,76 +75,6 @@ public class MessageContextTest {
77 75 }
78 76  
79 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 78 public void testRecoverStringMessageWithParams() {
151 79 RequestContext context = Beans.getReference(RequestContext.class);
152 80  
... ... @@ -159,20 +87,6 @@ public class MessageContextTest {
159 87 }
160 88  
161 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 90 public void testMessageWithResourceBundle() {
177 91 bundleCustom = Beans.getReference(MessageWithResourceBundle.class);
178 92 String expected = "Mensagem sem parâmetro";
... ...