From e816d246301a7ac7fac175df808afb737fe909d7 Mon Sep 17 00:00:00 2001 From: Cleverson Sacramento Date: Wed, 8 Aug 2012 14:40:08 -0300 Subject: [PATCH] Exclusão de mais uma classe desnecessária: CoreBundle --- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/CoreBundle.java | 28 ---------------------------- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthenticator.java | 13 ++++++++++++- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthorizer.java | 15 +++++++++++++-- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultTransaction.java | 14 +++++++++++++- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/MessageContextImpl.java | 16 ++++++++++++++-- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java | 10 ++++++++++ impl/core/src/main/java/br/gov/frameworkdemoiselle/security/AuthorizationException.java | 15 ++++++++++++--- impl/extension/jta/src/main/java/br/gov/frameworkdemoiselle/transaction/JTATransaction.java | 2 -- 8 files changed, 74 insertions(+), 39 deletions(-) delete mode 100644 impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/CoreBundle.java diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/CoreBundle.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/CoreBundle.java deleted file mode 100644 index 15cb590..0000000 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/CoreBundle.java +++ /dev/null @@ -1,28 +0,0 @@ -package br.gov.frameworkdemoiselle.internal.implementation; - -import javax.inject.Inject; - -import br.gov.frameworkdemoiselle.annotation.Name; -import br.gov.frameworkdemoiselle.util.Beans; -import br.gov.frameworkdemoiselle.util.ResourceBundle; - -public class CoreBundle { - - @Inject - @Name("demoiselle-core-bundle") - private ResourceBundle bundle; - - private static CoreBundle instance; - - private static synchronized CoreBundle getInstance() { - if (instance == null) { - instance = Beans.getReference(CoreBundle.class); - } - - return instance; - } - - public static ResourceBundle get() { - return getInstance().bundle; - } -} diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthenticator.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthenticator.java index f29f578..c7d0b45 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthenticator.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthenticator.java @@ -37,9 +37,11 @@ package br.gov.frameworkdemoiselle.internal.implementation; import br.gov.frameworkdemoiselle.DemoiselleException; +import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; import br.gov.frameworkdemoiselle.security.Authenticator; import br.gov.frameworkdemoiselle.security.SecurityContext; import br.gov.frameworkdemoiselle.security.User; +import br.gov.frameworkdemoiselle.util.ResourceBundle; /** * Authenticator that actually does nothing but raise exceptions. @@ -51,6 +53,8 @@ public class DefaultAuthenticator implements Authenticator { private static final long serialVersionUID = 1L; + private static ResourceBundle bundle; + /** * @see br.gov.frameworkdemoiselle.security.Authenticator#authenticate() */ @@ -76,8 +80,15 @@ public class DefaultAuthenticator implements Authenticator { } private DemoiselleException getException() { - return new DemoiselleException(CoreBundle.get().getString("authenticator-not-defined", + return new DemoiselleException(getBundle().getString("authenticator-not-defined", SecurityContext.class.getSimpleName())); } + private static ResourceBundle getBundle() { + if (bundle == null) { + bundle = ResourceBundleProducer.create("demoiselle-core-bundle"); + } + + return bundle; + } } diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthorizer.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthorizer.java index bc2175c..501f757 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthorizer.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthorizer.java @@ -37,9 +37,11 @@ package br.gov.frameworkdemoiselle.internal.implementation; import br.gov.frameworkdemoiselle.DemoiselleException; +import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; import br.gov.frameworkdemoiselle.security.Authorizer; import br.gov.frameworkdemoiselle.security.RequiredPermission; import br.gov.frameworkdemoiselle.security.RequiredRole; +import br.gov.frameworkdemoiselle.util.ResourceBundle; /** * Authorizator that actually does nothing but raise exceptions. @@ -51,16 +53,25 @@ public class DefaultAuthorizer implements Authorizer { private static final long serialVersionUID = 1L; + private static ResourceBundle bundle; + @Override public boolean hasRole(String role) { - throw new DemoiselleException(CoreBundle.get().getString("authorizer-not-defined", + throw new DemoiselleException(getBundle().getString("authorizer-not-defined", RequiredRole.class.getSimpleName())); } @Override public boolean hasPermission(String resource, String operation) { - throw new DemoiselleException(CoreBundle.get().getString("authorizer-not-defined", + throw new DemoiselleException(getBundle().getString("authorizer-not-defined", RequiredPermission.class.getSimpleName())); } + private static ResourceBundle getBundle() { + if (bundle == null) { + bundle = ResourceBundleProducer.create("demoiselle-core-bundle"); + } + + return bundle; + } } diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultTransaction.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultTransaction.java index 90e23c6..dfc0fac 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultTransaction.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultTransaction.java @@ -37,8 +37,10 @@ package br.gov.frameworkdemoiselle.internal.implementation; import br.gov.frameworkdemoiselle.DemoiselleException; +import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; import br.gov.frameworkdemoiselle.transaction.Transaction; import br.gov.frameworkdemoiselle.transaction.Transactional; +import br.gov.frameworkdemoiselle.util.ResourceBundle; /** * Transaction strategy that actually does nothing but raise exceptions. @@ -50,6 +52,8 @@ public class DefaultTransaction implements Transaction { private static final long serialVersionUID = 1L; + private static ResourceBundle bundle; + @Override public void begin() { throw getException(); @@ -81,7 +85,15 @@ public class DefaultTransaction implements Transaction { } private DemoiselleException getException() { - return new DemoiselleException(CoreBundle.get().getString("transaction-not-defined", + return new DemoiselleException(getBundle().getString("transaction-not-defined", Transactional.class.getSimpleName())); } + + private static ResourceBundle getBundle() { + if (bundle == null) { + bundle = ResourceBundleProducer.create("demoiselle-core-bundle"); + } + + return bundle; + } } diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/MessageContextImpl.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/MessageContextImpl.java index 81c4da3..8cb3bdb 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/MessageContextImpl.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/MessageContextImpl.java @@ -45,10 +45,12 @@ import javax.inject.Inject; import org.slf4j.Logger; +import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; import br.gov.frameworkdemoiselle.message.DefaultMessage; import br.gov.frameworkdemoiselle.message.Message; import br.gov.frameworkdemoiselle.message.MessageContext; import br.gov.frameworkdemoiselle.message.SeverityType; +import br.gov.frameworkdemoiselle.util.ResourceBundle; /** * The message store is designed to provide access to messages. It is shared by every application layer. @@ -65,6 +67,8 @@ public class MessageContextImpl implements Serializable, MessageContext { private final List messages = new ArrayList(); + private static ResourceBundle bundle; + @Override public void add(final Message message, Object... params) { Message aux; @@ -75,7 +79,7 @@ public class MessageContextImpl implements Serializable, MessageContext { aux = message; } - logger.debug(CoreBundle.get().getString("adding-message-to-context", message.toString())); + logger.debug(getBundle().getString("adding-message-to-context", message.toString())); messages.add(aux); } @@ -96,7 +100,15 @@ public class MessageContextImpl implements Serializable, MessageContext { @Override public void clear() { - logger.debug(CoreBundle.get().getString("cleaning-message-context")); + logger.debug(getBundle().getString("cleaning-message-context")); messages.clear(); } + + private static ResourceBundle getBundle() { + if (bundle == null) { + bundle = ResourceBundleProducer.create("demoiselle-core-bundle"); + } + + return bundle; + } } diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java index 022c83a..dca871e 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java @@ -64,6 +64,16 @@ public class ResourceBundleProducer implements Serializable { * @param String * baseName */ + public static ResourceBundle create(String baseName) { + return create(baseName, Beans.getReference(Locale.class)); + } + + /** + * This method should be used by classes that can not inject ResourceBundle, to create the ResourceBundle. + * + * @param String + * baseName + */ public static ResourceBundle create(String baseName, Locale locale) { ResourceBundle bundle = null; diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/AuthorizationException.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/AuthorizationException.java index a7cef9f..eea34b2 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/AuthorizationException.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/AuthorizationException.java @@ -36,7 +36,8 @@ */ package br.gov.frameworkdemoiselle.security; -import br.gov.frameworkdemoiselle.internal.implementation.CoreBundle; +import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; +import br.gov.frameworkdemoiselle.util.ResourceBundle; /** * Thrown when trying to access some resource and/or execute an operation without the proper authorization. @@ -47,6 +48,8 @@ public class AuthorizationException extends SecurityException { private static final long serialVersionUID = 1L; + private static ResourceBundle bundle; + /** * Constructor with message. * @@ -58,8 +61,14 @@ public class AuthorizationException extends SecurityException { } public AuthorizationException(String resource, String operation) { - // TODO: remove the CoreBundle call - super(CoreBundle.get().getString("access-denied-ui", resource, operation)); + super(getBundle().getString("access-denied-ui", resource, operation)); } + private static ResourceBundle getBundle() { + if (bundle == null) { + bundle = ResourceBundleProducer.create("demoiselle-core-bundle"); + } + + return bundle; + } } diff --git a/impl/extension/jta/src/main/java/br/gov/frameworkdemoiselle/transaction/JTATransaction.java b/impl/extension/jta/src/main/java/br/gov/frameworkdemoiselle/transaction/JTATransaction.java index e414c3e..f1455b0 100644 --- a/impl/extension/jta/src/main/java/br/gov/frameworkdemoiselle/transaction/JTATransaction.java +++ b/impl/extension/jta/src/main/java/br/gov/frameworkdemoiselle/transaction/JTATransaction.java @@ -36,14 +36,12 @@ */ package br.gov.frameworkdemoiselle.transaction; -import javax.enterprise.context.RequestScoped; import javax.transaction.Status; import javax.transaction.SystemException; import javax.transaction.UserTransaction; import br.gov.frameworkdemoiselle.util.Beans; -@RequestScoped public class JTATransaction implements Transaction { private static final long serialVersionUID = 1L; -- libgit2 0.21.2