Commit e140c1fc011aeca7b7eee9ce64027414f5f3f4ec
Exists in
master
Merge branch '2.3' of ssh://git@github.com/demoiselle/framework.git into 2.3
Showing
16 changed files
with
243 additions
and
203 deletions
Show diff stats
example/security/src/main/resources/demoiselle.properties
| @@ -32,6 +32,3 @@ | @@ -32,6 +32,3 @@ | ||
| 32 | # "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | 32 | # "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> |
| 33 | # ou escreva para a Fundação do Software Livre (FSF) Inc., | 33 | # ou escreva para a Fundação do Software Livre (FSF) Inc., |
| 34 | # 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | 34 | # 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. |
| 35 | - | ||
| 36 | -#frameworkdemoiselle.security.authenticator.class=example.MyAuthenticator | ||
| 37 | -#frameworkdemoiselle.security.authorizer.class=example.MyAuthorizer |
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/AbstractLifecycleBootstrap.java
| @@ -62,7 +62,6 @@ import br.gov.frameworkdemoiselle.internal.context.Contexts; | @@ -62,7 +62,6 @@ import br.gov.frameworkdemoiselle.internal.context.Contexts; | ||
| 62 | import br.gov.frameworkdemoiselle.internal.context.CustomContext; | 62 | import br.gov.frameworkdemoiselle.internal.context.CustomContext; |
| 63 | import br.gov.frameworkdemoiselle.internal.context.ThreadLocalContext; | 63 | import br.gov.frameworkdemoiselle.internal.context.ThreadLocalContext; |
| 64 | import br.gov.frameworkdemoiselle.internal.implementation.AnnotatedMethodProcessor; | 64 | import br.gov.frameworkdemoiselle.internal.implementation.AnnotatedMethodProcessor; |
| 65 | -import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; | ||
| 66 | import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; | 65 | import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; |
| 67 | import br.gov.frameworkdemoiselle.util.Reflections; | 66 | import br.gov.frameworkdemoiselle.util.Reflections; |
| 68 | import br.gov.frameworkdemoiselle.util.ResourceBundle; | 67 | import br.gov.frameworkdemoiselle.util.ResourceBundle; |
| @@ -81,24 +80,16 @@ public abstract class AbstractLifecycleBootstrap<A extends Annotation> implement | @@ -81,24 +80,16 @@ public abstract class AbstractLifecycleBootstrap<A extends Annotation> implement | ||
| 81 | 80 | ||
| 82 | private boolean registered = false; | 81 | private boolean registered = false; |
| 83 | 82 | ||
| 84 | - private static Logger logger; | 83 | + private ResourceBundle bundle; |
| 85 | 84 | ||
| 86 | - private static ResourceBundle bundle; | 85 | + protected abstract Logger getLogger(); |
| 87 | 86 | ||
| 88 | - protected static Logger getLogger() { | ||
| 89 | - if (logger == null) { | ||
| 90 | - logger = LoggerProducer.create(AbstractLifecycleBootstrap.class); | 87 | + protected ResourceBundle getBundle() { |
| 88 | + if (this.bundle == null) { | ||
| 89 | + this.bundle = ResourceBundleProducer.create("demoiselle-core-bundle", Locale.getDefault()); | ||
| 91 | } | 90 | } |
| 92 | 91 | ||
| 93 | - return logger; | ||
| 94 | - } | ||
| 95 | - | ||
| 96 | - protected static ResourceBundle getBundle() { | ||
| 97 | - if (bundle == null) { | ||
| 98 | - bundle = ResourceBundleProducer.create("demoiselle-core-bundle", Locale.getDefault()); | ||
| 99 | - } | ||
| 100 | - | ||
| 101 | - return bundle; | 92 | + return this.bundle; |
| 102 | } | 93 | } |
| 103 | 94 | ||
| 104 | protected <T> AnnotatedMethodProcessor<T> newProcessorInstance(AnnotatedMethod<T> annotatedMethod) { | 95 | protected <T> AnnotatedMethodProcessor<T> newProcessorInstance(AnnotatedMethod<T> annotatedMethod) { |
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/AbstractStrategyBootstrap.java
| @@ -11,24 +11,15 @@ import javax.enterprise.inject.spi.ProcessAnnotatedType; | @@ -11,24 +11,15 @@ import javax.enterprise.inject.spi.ProcessAnnotatedType; | ||
| 11 | 11 | ||
| 12 | import org.slf4j.Logger; | 12 | import org.slf4j.Logger; |
| 13 | 13 | ||
| 14 | -import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; | ||
| 15 | import br.gov.frameworkdemoiselle.util.Reflections; | 14 | import br.gov.frameworkdemoiselle.util.Reflections; |
| 16 | 15 | ||
| 17 | -public class AbstractStrategyBootstrap<I> implements Extension { | 16 | +public abstract class AbstractStrategyBootstrap<I> implements Extension { |
| 18 | 17 | ||
| 19 | private Class<? extends I> strategyClass; | 18 | private Class<? extends I> strategyClass; |
| 20 | 19 | ||
| 21 | private List<Class<? extends I>> cache; | 20 | private List<Class<? extends I>> cache; |
| 22 | 21 | ||
| 23 | - private static Logger logger; | ||
| 24 | - | ||
| 25 | - protected static Logger getLogger() { | ||
| 26 | - if (logger == null) { | ||
| 27 | - logger = LoggerProducer.create(AbstractStrategyBootstrap.class); | ||
| 28 | - } | ||
| 29 | - | ||
| 30 | - return logger; | ||
| 31 | - } | 22 | + protected abstract Logger getLogger(); |
| 32 | 23 | ||
| 33 | protected Class<? extends I> getStrategyClass() { | 24 | protected Class<? extends I> getStrategyClass() { |
| 34 | if (this.strategyClass == null) { | 25 | if (this.strategyClass == null) { |
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/AuthenticatorBootstrap.java
| @@ -43,9 +43,10 @@ import br.gov.frameworkdemoiselle.security.Authenticator; | @@ -43,9 +43,10 @@ import br.gov.frameworkdemoiselle.security.Authenticator; | ||
| 43 | 43 | ||
| 44 | public class AuthenticatorBootstrap extends AbstractStrategyBootstrap<Authenticator> { | 44 | public class AuthenticatorBootstrap extends AbstractStrategyBootstrap<Authenticator> { |
| 45 | 45 | ||
| 46 | - private static Logger logger; | 46 | + private Logger logger; |
| 47 | 47 | ||
| 48 | - protected static Logger getLogger() { | 48 | + @Override |
| 49 | + protected Logger getLogger() { | ||
| 49 | if (logger == null) { | 50 | if (logger == null) { |
| 50 | logger = LoggerProducer.create(AuthenticatorBootstrap.class); | 51 | logger = LoggerProducer.create(AuthenticatorBootstrap.class); |
| 51 | } | 52 | } |
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/AuthorizerBootstrap.java
| @@ -43,9 +43,10 @@ import br.gov.frameworkdemoiselle.security.Authorizer; | @@ -43,9 +43,10 @@ import br.gov.frameworkdemoiselle.security.Authorizer; | ||
| 43 | 43 | ||
| 44 | public class AuthorizerBootstrap extends AbstractStrategyBootstrap<Authorizer> { | 44 | public class AuthorizerBootstrap extends AbstractStrategyBootstrap<Authorizer> { |
| 45 | 45 | ||
| 46 | - private static Logger logger; | 46 | + private Logger logger; |
| 47 | 47 | ||
| 48 | - protected static Logger getLogger() { | 48 | + @Override |
| 49 | + protected Logger getLogger() { | ||
| 49 | if (logger == null) { | 50 | if (logger == null) { |
| 50 | logger = LoggerProducer.create(AuthorizerBootstrap.class); | 51 | logger = LoggerProducer.create(AuthorizerBootstrap.class); |
| 51 | } | 52 | } |
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/CoreBootstrap.java
| @@ -60,24 +60,24 @@ public class CoreBootstrap implements Extension { | @@ -60,24 +60,24 @@ public class CoreBootstrap implements Extension { | ||
| 60 | 60 | ||
| 61 | private final Map<Class<?>, AnnotatedType<?>> beans = new HashMap<Class<?>, AnnotatedType<?>>(); | 61 | private final Map<Class<?>, AnnotatedType<?>> beans = new HashMap<Class<?>, AnnotatedType<?>>(); |
| 62 | 62 | ||
| 63 | - private static Logger logger; | 63 | + private Logger logger; |
| 64 | 64 | ||
| 65 | - private static ResourceBundle bundle; | 65 | + private ResourceBundle bundle; |
| 66 | 66 | ||
| 67 | - private static Logger getLogger() { | ||
| 68 | - if (logger == null) { | ||
| 69 | - logger = LoggerProducer.create(CoreBootstrap.class); | 67 | + private Logger getLogger() { |
| 68 | + if (this.logger == null) { | ||
| 69 | + this.logger = LoggerProducer.create(CoreBootstrap.class); | ||
| 70 | } | 70 | } |
| 71 | 71 | ||
| 72 | - return logger; | 72 | + return this.logger; |
| 73 | } | 73 | } |
| 74 | 74 | ||
| 75 | - private static ResourceBundle getBundle() { | ||
| 76 | - if (bundle == null) { | ||
| 77 | - bundle = ResourceBundleProducer.create("demoiselle-core-bundle", Locale.getDefault()); | 75 | + private ResourceBundle getBundle() { |
| 76 | + if (this.bundle == null) { | ||
| 77 | + this.bundle = ResourceBundleProducer.create("demoiselle-core-bundle", Locale.getDefault()); | ||
| 78 | } | 78 | } |
| 79 | 79 | ||
| 80 | - return bundle; | 80 | + return this.bundle; |
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | public boolean isAnnotatedType(Class<?> type) { | 83 | public boolean isAnnotatedType(Class<?> type) { |
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/ShutdownBootstrap.java
| @@ -38,6 +38,9 @@ package br.gov.frameworkdemoiselle.internal.bootstrap; | @@ -38,6 +38,9 @@ package br.gov.frameworkdemoiselle.internal.bootstrap; | ||
| 38 | 38 | ||
| 39 | import javax.enterprise.event.Observes; | 39 | import javax.enterprise.event.Observes; |
| 40 | 40 | ||
| 41 | +import org.slf4j.Logger; | ||
| 42 | + | ||
| 43 | +import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; | ||
| 41 | import br.gov.frameworkdemoiselle.lifecycle.AfterShutdownProccess; | 44 | import br.gov.frameworkdemoiselle.lifecycle.AfterShutdownProccess; |
| 42 | import br.gov.frameworkdemoiselle.lifecycle.Shutdown; | 45 | import br.gov.frameworkdemoiselle.lifecycle.Shutdown; |
| 43 | 46 | ||
| @@ -46,6 +49,17 @@ import br.gov.frameworkdemoiselle.lifecycle.Shutdown; | @@ -46,6 +49,17 @@ import br.gov.frameworkdemoiselle.lifecycle.Shutdown; | ||
| 46 | */ | 49 | */ |
| 47 | public class ShutdownBootstrap extends AbstractLifecycleBootstrap<Shutdown> { | 50 | public class ShutdownBootstrap extends AbstractLifecycleBootstrap<Shutdown> { |
| 48 | 51 | ||
| 52 | + private Logger logger; | ||
| 53 | + | ||
| 54 | + @Override | ||
| 55 | + protected Logger getLogger() { | ||
| 56 | + if (logger == null) { | ||
| 57 | + logger = LoggerProducer.create(ShutdownBootstrap.class); | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + return logger; | ||
| 61 | + } | ||
| 62 | + | ||
| 49 | public void shutdown(@Observes AfterShutdownProccess event) { | 63 | public void shutdown(@Observes AfterShutdownProccess event) { |
| 50 | proccessEvent(); | 64 | proccessEvent(); |
| 51 | } | 65 | } |
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/StartupBootstrap.java
| @@ -38,6 +38,9 @@ package br.gov.frameworkdemoiselle.internal.bootstrap; | @@ -38,6 +38,9 @@ package br.gov.frameworkdemoiselle.internal.bootstrap; | ||
| 38 | 38 | ||
| 39 | import javax.enterprise.event.Observes; | 39 | import javax.enterprise.event.Observes; |
| 40 | 40 | ||
| 41 | +import org.slf4j.Logger; | ||
| 42 | + | ||
| 43 | +import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; | ||
| 41 | import br.gov.frameworkdemoiselle.lifecycle.AfterStartupProccess; | 44 | import br.gov.frameworkdemoiselle.lifecycle.AfterStartupProccess; |
| 42 | import br.gov.frameworkdemoiselle.lifecycle.Startup; | 45 | import br.gov.frameworkdemoiselle.lifecycle.Startup; |
| 43 | 46 | ||
| @@ -46,6 +49,17 @@ import br.gov.frameworkdemoiselle.lifecycle.Startup; | @@ -46,6 +49,17 @@ import br.gov.frameworkdemoiselle.lifecycle.Startup; | ||
| 46 | */ | 49 | */ |
| 47 | public class StartupBootstrap extends AbstractLifecycleBootstrap<Startup> { | 50 | public class StartupBootstrap extends AbstractLifecycleBootstrap<Startup> { |
| 48 | 51 | ||
| 52 | + private Logger logger; | ||
| 53 | + | ||
| 54 | + @Override | ||
| 55 | + protected Logger getLogger() { | ||
| 56 | + if (logger == null) { | ||
| 57 | + logger = LoggerProducer.create(StartupBootstrap.class); | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + return logger; | ||
| 61 | + } | ||
| 62 | + | ||
| 49 | public void startup(@Observes AfterStartupProccess event) { | 63 | public void startup(@Observes AfterStartupProccess event) { |
| 50 | proccessEvent(); | 64 | proccessEvent(); |
| 51 | } | 65 | } |
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/TransactionBootstrap.java
| @@ -36,7 +36,21 @@ | @@ -36,7 +36,21 @@ | ||
| 36 | */ | 36 | */ |
| 37 | package br.gov.frameworkdemoiselle.internal.bootstrap; | 37 | package br.gov.frameworkdemoiselle.internal.bootstrap; |
| 38 | 38 | ||
| 39 | +import org.slf4j.Logger; | ||
| 40 | + | ||
| 41 | +import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; | ||
| 39 | import br.gov.frameworkdemoiselle.transaction.Transaction; | 42 | import br.gov.frameworkdemoiselle.transaction.Transaction; |
| 40 | 43 | ||
| 41 | public class TransactionBootstrap extends AbstractStrategyBootstrap<Transaction> { | 44 | public class TransactionBootstrap extends AbstractStrategyBootstrap<Transaction> { |
| 45 | + | ||
| 46 | + private Logger logger; | ||
| 47 | + | ||
| 48 | + @Override | ||
| 49 | + protected Logger getLogger() { | ||
| 50 | + if (logger == null) { | ||
| 51 | + logger = LoggerProducer.create(TransactionBootstrap.class); | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + return logger; | ||
| 55 | + } | ||
| 42 | } | 56 | } |
impl/core/src/main/java/br/gov/frameworkdemoiselle/template/DelegateCrud.java
| @@ -53,6 +53,12 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | @@ -53,6 +53,12 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | ||
| 53 | 53 | ||
| 54 | private transient C delegate; | 54 | private transient C delegate; |
| 55 | 55 | ||
| 56 | + /** | ||
| 57 | + * Removes a instance from delegate. | ||
| 58 | + * | ||
| 59 | + * @param id | ||
| 60 | + * Entity with the given identifier | ||
| 61 | + */ | ||
| 56 | @Override | 62 | @Override |
| 57 | public void delete(final I id) { | 63 | public void delete(final I id) { |
| 58 | if (isRunningTransactionalOperations()) { | 64 | if (isRunningTransactionalOperations()) { |
| @@ -71,6 +77,12 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | @@ -71,6 +77,12 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | ||
| 71 | getDelegate().delete(id); | 77 | getDelegate().delete(id); |
| 72 | } | 78 | } |
| 73 | 79 | ||
| 80 | + /** | ||
| 81 | + * Removes a list of instances from delegate. | ||
| 82 | + * | ||
| 83 | + * @param ids | ||
| 84 | + * List of entities identifiers | ||
| 85 | + */ | ||
| 74 | public void delete(final List<I> ids) { | 86 | public void delete(final List<I> ids) { |
| 75 | if (isRunningTransactionalOperations()) { | 87 | if (isRunningTransactionalOperations()) { |
| 76 | transactionalDelete(ids); | 88 | transactionalDelete(ids); |
| @@ -91,6 +103,11 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | @@ -91,6 +103,11 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | ||
| 91 | } | 103 | } |
| 92 | } | 104 | } |
| 93 | 105 | ||
| 106 | + /** | ||
| 107 | + * Gets the results from delegate. | ||
| 108 | + * | ||
| 109 | + * @return The list of matched query results. | ||
| 110 | + */ | ||
| 94 | @Override | 111 | @Override |
| 95 | public List<T> findAll() { | 112 | public List<T> findAll() { |
| 96 | return getDelegate().findAll(); | 113 | return getDelegate().findAll(); |
| @@ -112,6 +129,12 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | @@ -112,6 +129,12 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | ||
| 112 | return this.delegateClass; | 129 | return this.delegateClass; |
| 113 | } | 130 | } |
| 114 | 131 | ||
| 132 | + /** | ||
| 133 | + * Delegates the insert operation of the given instance. | ||
| 134 | + * | ||
| 135 | + * @param bean | ||
| 136 | + * A entity to be inserted by the delegate | ||
| 137 | + */ | ||
| 115 | @Override | 138 | @Override |
| 116 | public void insert(final T bean) { | 139 | public void insert(final T bean) { |
| 117 | if (isRunningTransactionalOperations()) { | 140 | if (isRunningTransactionalOperations()) { |
| @@ -130,11 +153,22 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | @@ -130,11 +153,22 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | ||
| 130 | getDelegate().insert(bean); | 153 | getDelegate().insert(bean); |
| 131 | } | 154 | } |
| 132 | 155 | ||
| 156 | + /** | ||
| 157 | + * Returns the instance of the given entity with the given identifier | ||
| 158 | + * | ||
| 159 | + * @return The instance | ||
| 160 | + */ | ||
| 133 | @Override | 161 | @Override |
| 134 | public T load(final I id) { | 162 | public T load(final I id) { |
| 135 | return getDelegate().load(id); | 163 | return getDelegate().load(id); |
| 136 | } | 164 | } |
| 137 | 165 | ||
| 166 | + /** | ||
| 167 | + * Delegates the update operation of the given instance. | ||
| 168 | + * | ||
| 169 | + * @param bean | ||
| 170 | + * The instance containing the updated state. | ||
| 171 | + */ | ||
| 138 | @Override | 172 | @Override |
| 139 | public void update(final T bean) { | 173 | public void update(final T bean) { |
| 140 | if (isRunningTransactionalOperations()) { | 174 | if (isRunningTransactionalOperations()) { |
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/PaginationContextImplTest.java
| @@ -35,6 +35,7 @@ | @@ -35,6 +35,7 @@ | ||
| 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 | package br.gov.frameworkdemoiselle.internal.implementation; | 37 | package br.gov.frameworkdemoiselle.internal.implementation; |
| 38 | + | ||
| 38 | import org.junit.Ignore; | 39 | import org.junit.Ignore; |
| 39 | import static org.junit.Assert.assertEquals; | 40 | import static org.junit.Assert.assertEquals; |
| 40 | import static org.junit.Assert.assertNotNull; | 41 | import static org.junit.Assert.assertNotNull; |
| @@ -55,7 +56,7 @@ import org.powermock.reflect.Whitebox; | @@ -55,7 +56,7 @@ import org.powermock.reflect.Whitebox; | ||
| 55 | import br.gov.frameworkdemoiselle.internal.configuration.PaginationConfig; | 56 | import br.gov.frameworkdemoiselle.internal.configuration.PaginationConfig; |
| 56 | import br.gov.frameworkdemoiselle.pagination.Pagination; | 57 | import br.gov.frameworkdemoiselle.pagination.Pagination; |
| 57 | import br.gov.frameworkdemoiselle.pagination.PaginationContext; | 58 | import br.gov.frameworkdemoiselle.pagination.PaginationContext; |
| 58 | -@Ignore | 59 | + |
| 59 | @RunWith(PowerMockRunner.class) | 60 | @RunWith(PowerMockRunner.class) |
| 60 | public class PaginationContextImplTest { | 61 | public class PaginationContextImplTest { |
| 61 | 62 |
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/PaginationImplTest.java
| @@ -35,6 +35,7 @@ | @@ -35,6 +35,7 @@ | ||
| 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 | package br.gov.frameworkdemoiselle.internal.implementation; | 37 | package br.gov.frameworkdemoiselle.internal.implementation; |
| 38 | + | ||
| 38 | import org.junit.Ignore; | 39 | import org.junit.Ignore; |
| 39 | import static org.junit.Assert.assertEquals; | 40 | import static org.junit.Assert.assertEquals; |
| 40 | import static org.junit.Assert.fail; | 41 | import static org.junit.Assert.fail; |
| @@ -49,7 +50,7 @@ import br.gov.frameworkdemoiselle.util.Strings; | @@ -49,7 +50,7 @@ import br.gov.frameworkdemoiselle.util.Strings; | ||
| 49 | /** | 50 | /** |
| 50 | * @author SERPRO | 51 | * @author SERPRO |
| 51 | */ | 52 | */ |
| 52 | -@Ignore | 53 | + |
| 53 | public class PaginationImplTest { | 54 | public class PaginationImplTest { |
| 54 | 55 | ||
| 55 | private Pagination pagination; | 56 | private Pagination pagination; |
| @@ -171,7 +172,7 @@ public class PaginationImplTest { | @@ -171,7 +172,7 @@ public class PaginationImplTest { | ||
| 171 | fail(); | 172 | fail(); |
| 172 | } catch (IndexOutOfBoundsException cause) { | 173 | } catch (IndexOutOfBoundsException cause) { |
| 173 | } | 174 | } |
| 174 | - | 175 | + |
| 175 | try { | 176 | try { |
| 176 | pagination.setTotalResults(0); | 177 | pagination.setTotalResults(0); |
| 177 | pagination.setFirstResult(0); | 178 | pagination.setFirstResult(0); |
| @@ -314,7 +315,7 @@ public class PaginationImplTest { | @@ -314,7 +315,7 @@ public class PaginationImplTest { | ||
| 314 | pagination.setCurrentPage(9); | 315 | pagination.setCurrentPage(9); |
| 315 | assertEquals(90, pagination.getFirstResult()); | 316 | assertEquals(90, pagination.getFirstResult()); |
| 316 | } | 317 | } |
| 317 | - | 318 | + |
| 318 | @Test | 319 | @Test |
| 319 | public void testToStringFormat() { | 320 | public void testToStringFormat() { |
| 320 | assertEquals(Strings.toString(pagination), pagination.toString()); | 321 | assertEquals(Strings.toString(pagination), pagination.toString()); |
impl/core/src/test/java/br/gov/frameworkdemoiselle/util/ResourceBundleTest.java
| 1 | -///* | ||
| 2 | -// * Demoiselle Framework | ||
| 3 | -// * Copyright (C) 2010 SERPRO | ||
| 4 | -// * ---------------------------------------------------------------------------- | ||
| 5 | -// * This file is part of Demoiselle Framework. | ||
| 6 | -// * | ||
| 7 | -// * Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | -// * modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | -// * as published by the Free Software Foundation. | ||
| 10 | -// * | ||
| 11 | -// * This program is distributed in the hope that it will be useful, | ||
| 12 | -// * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | -// * GNU General Public License for more details. | ||
| 15 | -// * | ||
| 16 | -// * You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | -// * along with this program; if not, see <http://www.gnu.org/licenses/> | ||
| 18 | -// * or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | -// * Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | -// * ---------------------------------------------------------------------------- | ||
| 21 | -// * Este arquivo é parte do Framework Demoiselle. | ||
| 22 | -// * | ||
| 23 | -// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | -// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | -// * do Software Livre (FSF). | ||
| 26 | -// * | ||
| 27 | -// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | -// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | -// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | -// * para maiores detalhes. | ||
| 31 | -// * | ||
| 32 | -// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | -// * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | ||
| 34 | -// * ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | -// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | -// */ | ||
| 37 | -//package br.gov.frameworkdemoiselle.util; | ||
| 38 | -// | ||
| 39 | -//import static org.easymock.EasyMock.createMock; | ||
| 40 | -//import static org.easymock.EasyMock.replay; | ||
| 41 | -//import static org.easymock.EasyMock.verify; | ||
| 42 | -//import static org.junit.Assert.assertEquals; | ||
| 43 | -//import static org.junit.Assert.assertFalse; | ||
| 44 | -//import static org.junit.Assert.assertNull; | ||
| 45 | -//import static org.junit.Assert.assertTrue; | ||
| 46 | -// | ||
| 47 | -//import java.util.Enumeration; | ||
| 48 | -//import java.util.ListResourceBundle; | ||
| 49 | -// | ||
| 50 | -//import junit.framework.Assert; | ||
| 51 | -// | ||
| 52 | -//import org.junit.Before; | ||
| 53 | -//import org.junit.Test; | ||
| 54 | -// | ||
| 55 | -//public class ResourceBundleTest { | ||
| 56 | -// | ||
| 57 | -// /** | ||
| 58 | -// * This is a workaround to mock java.util.ResourceBundle. Since getString(key) method is defined as final, there is | ||
| 59 | -// * no way to extend and override it. For that reason, setting expectations (i.e. expect(...)) won't work. | ||
| 60 | -// */ | ||
| 61 | -// class MockResourceBundle extends ListResourceBundle { | ||
| 62 | -// | ||
| 63 | -// private Object[][] contents = new Object[][] { { "msgWithoutParams", "no params" }, | ||
| 64 | -// { "msgWithParams", "params: {0}, {1}" } }; | ||
| 65 | -// | ||
| 66 | -// protected Object[][] getContents() { | ||
| 67 | -// return contents; | ||
| 68 | -// } | ||
| 69 | -// | ||
| 70 | -// }; | ||
| 71 | -// | ||
| 72 | -// private ResourceBundle resourceBundle; | ||
| 73 | -// | ||
| 74 | -// private java.util.ResourceBundle mockResourceBundle; | ||
| 75 | -// | ||
| 76 | -// @Before | ||
| 77 | -// public void setUp() throws Exception { | ||
| 78 | -// mockResourceBundle = new MockResourceBundle(); | ||
| 79 | -// resourceBundle = new ResourceBundle(mockResourceBundle); | ||
| 80 | -// } | ||
| 81 | -// | ||
| 82 | -// @Test | ||
| 83 | -// public void containsKey() { | ||
| 84 | -// assertTrue(resourceBundle.containsKey("msgWithoutParams")); | ||
| 85 | -// | ||
| 86 | -// assertFalse(resourceBundle.containsKey("inexistentKey")); | ||
| 87 | -// } | ||
| 88 | -// | ||
| 89 | -// @Test | ||
| 90 | -// public void getKeys() { | ||
| 91 | -// int keyCount = 0; | ||
| 92 | -// | ||
| 93 | -// Enumeration<String> e = resourceBundle.getKeys(); | ||
| 94 | -// | ||
| 95 | -// while (e.hasMoreElements()) { | ||
| 96 | -// keyCount++; | ||
| 97 | -// e.nextElement(); | ||
| 98 | -// } | ||
| 99 | -// | ||
| 100 | -// assertEquals(resourceBundle.keySet().size(), keyCount); | ||
| 101 | -// } | ||
| 102 | -// | ||
| 103 | -// @Test | ||
| 104 | -// public void testGetLocale() { | ||
| 105 | -// assertNull(resourceBundle.getLocale()); | ||
| 106 | -// } | ||
| 107 | -// | ||
| 108 | -// @Test | ||
| 109 | -// public void testKeySet() { | ||
| 110 | -// assertEquals(2, resourceBundle.keySet().size()); | ||
| 111 | -// } | ||
| 112 | -// | ||
| 113 | -// @Test | ||
| 114 | -// public void getString() { | ||
| 115 | -// assertEquals("no params", resourceBundle.getString("msgWithoutParams")); | ||
| 116 | -// | ||
| 117 | -// assertEquals("params: a, b", resourceBundle.getString("msgWithParams", "a", "b")); | ||
| 118 | -// | ||
| 119 | -// assertEquals("params: {0}, {1}", resourceBundle.getString("msgWithParams")); | ||
| 120 | -// } | ||
| 121 | -// | ||
| 122 | -// /** | ||
| 123 | -// * For this test, java.util.ResourceBundle is mocked to force an exception. Since the getString method is called | ||
| 124 | -// * from the actual ResourceBundle, not from the mock, it tries to find a handleGetObject method that doesn't exist. | ||
| 125 | -// * | ||
| 126 | -// * @throws Exception | ||
| 127 | -// */ | ||
| 128 | -// @Test(expected = RuntimeException.class) | ||
| 129 | -// public void getStringWhenHandleGetObjectThrowsException() { | ||
| 130 | -// mockResourceBundle = createMock(java.util.ResourceBundle.class); | ||
| 131 | -// resourceBundle = new ResourceBundle(mockResourceBundle); | ||
| 132 | -// | ||
| 133 | -// replay(mockResourceBundle); | ||
| 134 | -// | ||
| 135 | -// resourceBundle.getString("msgWithParams"); | ||
| 136 | -// | ||
| 137 | -// verify(mockResourceBundle); | ||
| 138 | -// | ||
| 139 | -// Assert.fail(); | ||
| 140 | -// } | ||
| 141 | -// | ||
| 142 | -//} | 1 | +/* |
| 2 | + * Demoiselle Framework | ||
| 3 | + * Copyright (C) 2010 SERPRO | ||
| 4 | + * ---------------------------------------------------------------------------- | ||
| 5 | + * This file is part of Demoiselle Framework. | ||
| 6 | + * | ||
| 7 | + * Demoiselle Framework is free software; you can redistribute it and/or | ||
| 8 | + * modify it under the terms of the GNU Lesser General Public License version 3 | ||
| 9 | + * as published by the Free Software Foundation. | ||
| 10 | + * | ||
| 11 | + * This program is distributed in the hope that it will be useful, | ||
| 12 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | + * GNU General Public License for more details. | ||
| 15 | + * | ||
| 16 | + * You should have received a copy of the GNU Lesser General Public License version 3 | ||
| 17 | + * along with this program; if not, see <http://www.gnu.org/licenses/> | ||
| 18 | + * or write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
| 19 | + * Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 20 | + * ---------------------------------------------------------------------------- | ||
| 21 | + * Este arquivo é parte do Framework Demoiselle. | ||
| 22 | + * | ||
| 23 | + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou | ||
| 24 | + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação | ||
| 25 | + * do Software Livre (FSF). | ||
| 26 | + * | ||
| 27 | + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA | ||
| 28 | + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou | ||
| 29 | + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português | ||
| 30 | + * para maiores detalhes. | ||
| 31 | + * | ||
| 32 | + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título | ||
| 33 | + * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> | ||
| 34 | + * ou escreva para a Fundação do Software Livre (FSF) Inc., | ||
| 35 | + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | ||
| 36 | + */ | ||
| 37 | +package br.gov.frameworkdemoiselle.util; | ||
| 38 | + | ||
| 39 | +import static org.junit.Assert.assertEquals; | ||
| 40 | +import static org.junit.Assert.assertFalse; | ||
| 41 | +import static org.junit.Assert.assertTrue; | ||
| 42 | + | ||
| 43 | +import java.util.Enumeration; | ||
| 44 | +import java.util.Locale; | ||
| 45 | + | ||
| 46 | +import org.junit.Before; | ||
| 47 | +import org.junit.Test; | ||
| 48 | + | ||
| 49 | +public class ResourceBundleTest { | ||
| 50 | + | ||
| 51 | + /** | ||
| 52 | + * This is a workaround to mock java.util.ResourceBundle. Since getString(key) method is defined as final, there is | ||
| 53 | + * no way to extend and override it. For that reason, setting expectations (i.e. expect(...)) won't work. | ||
| 54 | + */ | ||
| 55 | + private ResourceBundle resourceBundle; | ||
| 56 | + | ||
| 57 | + @Before | ||
| 58 | + public void setUp() throws Exception { | ||
| 59 | + resourceBundle = new ResourceBundle("resource-bundle", new Locale("pt")); | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + @Test | ||
| 63 | + public void containsKey() { | ||
| 64 | + assertTrue(resourceBundle.containsKey("msgWithoutParams")); | ||
| 65 | + | ||
| 66 | + assertFalse(resourceBundle.containsKey("inexistentKey")); | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + @Test | ||
| 70 | + public void getKeys() { | ||
| 71 | + int keyCount = 0; | ||
| 72 | + | ||
| 73 | + Enumeration<String> e = resourceBundle.getKeys(); | ||
| 74 | + | ||
| 75 | + while (e.hasMoreElements()) { | ||
| 76 | + keyCount++; | ||
| 77 | + e.nextElement(); | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + assertEquals(resourceBundle.keySet().size(), keyCount); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @Test | ||
| 84 | + public void testGetLocale() { | ||
| 85 | + assertEquals(resourceBundle.getLocale(), new Locale("pt")); | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + @Test | ||
| 89 | + public void testKeySet() { | ||
| 90 | + assertEquals(2, resourceBundle.keySet().size()); | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + @Test | ||
| 94 | + public void getString() { | ||
| 95 | + assertEquals("no params", resourceBundle.getString("msgWithoutParams")); | ||
| 96 | + | ||
| 97 | + assertEquals("params: a, b", resourceBundle.getString("msgWithParams", "a", "b")); | ||
| 98 | + | ||
| 99 | + assertEquals("params: {0}, {1}", resourceBundle.getString("msgWithParams")); | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + /** | ||
| 103 | + * For this test, java.util.ResourceBundle is mocked to force an exception. Since the getString method is called | ||
| 104 | + * from the actual ResourceBundle, not from the mock, it tries to find a handleGetObject method that doesn't exist. | ||
| 105 | + * | ||
| 106 | + * @throws Exception | ||
| 107 | + */ | ||
| 108 | + // @Test(expected = RuntimeException.class) | ||
| 109 | + // public void getStringWhenHandleGetObjectThrowsException() { | ||
| 110 | + // mockResourceBundle = createMock(java.util.ResourceBundle.class); | ||
| 111 | + // resourceBundle = new ResourceBundle(mockResourceBundle); | ||
| 112 | + // | ||
| 113 | + // replay(mockResourceBundle); | ||
| 114 | + // | ||
| 115 | + // resourceBundle.getString("msgWithParams"); | ||
| 116 | + // | ||
| 117 | + // verify(mockResourceBundle); | ||
| 118 | + // | ||
| 119 | + // Assert.fail(); | ||
| 120 | + // } | ||
| 121 | + | ||
| 122 | +} |
impl/core/src/test/resources/resource-bundle_pt.properties
0 → 100644
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrap.java
| @@ -56,19 +56,18 @@ public class JsfBootstrap implements Extension { | @@ -56,19 +56,18 @@ public class JsfBootstrap implements Extension { | ||
| 56 | private AfterBeanDiscovery afterBeanDiscoveryEvent; | 56 | private AfterBeanDiscovery afterBeanDiscoveryEvent; |
| 57 | 57 | ||
| 58 | public void storeContexts(@Observes final AfterBeanDiscovery event) { | 58 | public void storeContexts(@Observes final AfterBeanDiscovery event) { |
| 59 | - tempContexts.add(new ViewContext()); | ||
| 60 | - | ||
| 61 | - afterBeanDiscoveryEvent = event; | 59 | + this.tempContexts.add(new ViewContext()); |
| 60 | + this.afterBeanDiscoveryEvent = event; | ||
| 62 | } | 61 | } |
| 63 | 62 | ||
| 64 | public void addContexts(@Observes final AfterDeploymentValidation event) { | 63 | public void addContexts(@Observes final AfterDeploymentValidation event) { |
| 65 | - for (CustomContext tempContext : tempContexts) { | ||
| 66 | - Contexts.add(tempContext, afterBeanDiscoveryEvent); | 64 | + for (CustomContext tempContext : this.tempContexts) { |
| 65 | + Contexts.add(tempContext, this.afterBeanDiscoveryEvent); | ||
| 67 | } | 66 | } |
| 68 | } | 67 | } |
| 69 | 68 | ||
| 70 | public void removeContexts(@Observes AfterShutdownProccess event) { | 69 | public void removeContexts(@Observes AfterShutdownProccess event) { |
| 71 | - for (CustomContext tempContext : tempContexts) { | 70 | + for (CustomContext tempContext : this.tempContexts) { |
| 72 | Contexts.remove(tempContext); | 71 | Contexts.remove(tempContext); |
| 73 | } | 72 | } |
| 74 | } | 73 | } |
impl/extension/se/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/SeBootstrap.java
| @@ -60,22 +60,22 @@ public class SeBootstrap implements Extension { | @@ -60,22 +60,22 @@ public class SeBootstrap implements Extension { | ||
| 60 | private AfterBeanDiscovery afterBeanDiscoveryEvent; | 60 | private AfterBeanDiscovery afterBeanDiscoveryEvent; |
| 61 | 61 | ||
| 62 | public void storeContexts(@Observes final AfterBeanDiscovery event) { | 62 | public void storeContexts(@Observes final AfterBeanDiscovery event) { |
| 63 | - tempContexts.add(new ThreadLocalContext(ViewScoped.class)); | ||
| 64 | - tempContexts.add(new ThreadLocalContext(SessionScoped.class)); | ||
| 65 | - tempContexts.add(new ThreadLocalContext(ConversationScoped.class)); | ||
| 66 | - tempContexts.add(new ThreadLocalContext(RequestScoped.class)); | 63 | + this.tempContexts.add(new ThreadLocalContext(ViewScoped.class)); |
| 64 | + this.tempContexts.add(new ThreadLocalContext(SessionScoped.class)); | ||
| 65 | + this.tempContexts.add(new ThreadLocalContext(ConversationScoped.class)); | ||
| 66 | + this.tempContexts.add(new ThreadLocalContext(RequestScoped.class)); | ||
| 67 | 67 | ||
| 68 | - afterBeanDiscoveryEvent = event; | 68 | + this.afterBeanDiscoveryEvent = event; |
| 69 | } | 69 | } |
| 70 | 70 | ||
| 71 | public void addContexts(@Observes final AfterDeploymentValidation event) { | 71 | public void addContexts(@Observes final AfterDeploymentValidation event) { |
| 72 | - for (CustomContext tempContext : tempContexts) { | ||
| 73 | - Contexts.add(tempContext, afterBeanDiscoveryEvent); | 72 | + for (CustomContext tempContext : this.tempContexts) { |
| 73 | + Contexts.add(tempContext, this.afterBeanDiscoveryEvent); | ||
| 74 | } | 74 | } |
| 75 | } | 75 | } |
| 76 | 76 | ||
| 77 | public void removeContexts(@Observes AfterShutdownProccess event) { | 77 | public void removeContexts(@Observes AfterShutdownProccess event) { |
| 78 | - for (CustomContext tempContext : tempContexts) { | 78 | + for (CustomContext tempContext : this.tempContexts) { |
| 79 | Contexts.remove(tempContext); | 79 | Contexts.remove(tempContext); |
| 80 | } | 80 | } |
| 81 | } | 81 | } |