Commit 4b5516e7d166e508597f4c66d56e9f68b281262a
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<A extends Annotation> implement | @@ -73,11 +72,11 @@ public abstract class AbstractLifecycleBootstrap<A extends Annotation> 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<A extends Annotation> implement | @@ -115,13 +114,13 @@ public abstract class AbstractLifecycleBootstrap<A extends Annotation> 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<A extends Annotation> implement | @@ -138,49 +137,48 @@ public abstract class AbstractLifecycleBootstrap<A extends Annotation> 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<A extends Annotation> implement | @@ -188,37 +186,37 @@ public abstract class AbstractLifecycleBootstrap<A extends Annotation> 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<Configurat | @@ -139,7 +138,7 @@ public class ConfigurationBootstrap extends AbstractStrategyBootstrap<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<Shutdown> { | @@ -54,7 +54,7 @@ public class ShutdownBootstrap extends AbstractLifecycleBootstrap<Shutdown> { | ||
| 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<Startup> { | @@ -54,7 +54,7 @@ public class StartupBootstrap extends AbstractLifecycleBootstrap<Startup> { | ||
| 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<T> implements Comparable<AnnotatedMethodPr | @@ -110,11 +111,11 @@ public class AnnotatedMethodProcessor<T> implements Comparable<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<T> implements Comparable<AnnotatedMethodPr | @@ -140,6 +141,6 @@ public class AnnotatedMethodProcessor<T> implements Comparable<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"; |