Commit b9d2f9ce8f5f120ef97e9a3c83d7c7ebcf47618a
Exists in
master
Merge branch '2.4.0' of git@github.com:demoiselle/framework.git into 2.4.0
Showing
9 changed files
with
74 additions
and
103 deletions
Show diff stats
impl/core/src/main/java/br/gov/frameworkdemoiselle/exception/ExceptionHandler.java
| @@ -43,14 +43,12 @@ import java.lang.annotation.Inherited; | @@ -43,14 +43,12 @@ import java.lang.annotation.Inherited; | ||
| 43 | import java.lang.annotation.Retention; | 43 | import java.lang.annotation.Retention; |
| 44 | import java.lang.annotation.Target; | 44 | import java.lang.annotation.Target; |
| 45 | 45 | ||
| 46 | -import br.gov.frameworkdemoiselle.stereotype.BusinessController; | ||
| 47 | -import br.gov.frameworkdemoiselle.stereotype.PersistenceController; | ||
| 48 | -import br.gov.frameworkdemoiselle.stereotype.ViewController; | ||
| 49 | - | ||
| 50 | /** | 46 | /** |
| 51 | * <p> | 47 | * <p> |
| 52 | - * Should be used exclusively with controller objects, i.e., classes annotated with {@link ViewController}, | ||
| 53 | - * {@link BusinessController}, or {@link PersistenceController}. | 48 | + * Should be used exclusively with controller objects, i.e., classes annotated with |
| 49 | + * {@link br.gov.frameworkdemoiselle.stereotype.ViewController}, | ||
| 50 | + * {@link br.gov.frameworkdemoiselle.stereotype.BusinessController}, or | ||
| 51 | + * {@link br.gov.frameworkdemoiselle.stereotype.PersistenceController}. | ||
| 54 | * </p> | 52 | * </p> |
| 55 | * <p> | 53 | * <p> |
| 56 | * Methods that use this annotation will automatically handle all exceptions of a specific type thrown by the method | 54 | * Methods that use this annotation will automatically handle all exceptions of a specific type thrown by the method |
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityContextImpl.java
| @@ -208,7 +208,7 @@ public class SecurityContextImpl implements SecurityContext { | @@ -208,7 +208,7 @@ public class SecurityContextImpl implements SecurityContext { | ||
| 208 | } | 208 | } |
| 209 | } | 209 | } |
| 210 | 210 | ||
| 211 | - private class EmptyUser implements Principal, Serializable { | 211 | + private static class EmptyUser implements Principal, Serializable { |
| 212 | 212 | ||
| 213 | private static final long serialVersionUID = 1L; | 213 | private static final long serialVersionUID = 1L; |
| 214 | 214 |
impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java
| @@ -48,9 +48,6 @@ import org.slf4j.Logger; | @@ -48,9 +48,6 @@ import org.slf4j.Logger; | ||
| 48 | import br.gov.frameworkdemoiselle.annotation.Name; | 48 | import br.gov.frameworkdemoiselle.annotation.Name; |
| 49 | import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; | 49 | import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; |
| 50 | import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; | 50 | import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; |
| 51 | -import br.gov.frameworkdemoiselle.security.AuthorizationException; | ||
| 52 | -import br.gov.frameworkdemoiselle.security.RequiredPermission; | ||
| 53 | -import br.gov.frameworkdemoiselle.security.SecurityContext; | ||
| 54 | import br.gov.frameworkdemoiselle.util.Beans; | 51 | import br.gov.frameworkdemoiselle.util.Beans; |
| 55 | import br.gov.frameworkdemoiselle.util.ResourceBundle; | 52 | import br.gov.frameworkdemoiselle.util.ResourceBundle; |
| 56 | import br.gov.frameworkdemoiselle.util.Strings; | 53 | import br.gov.frameworkdemoiselle.util.Strings; |
| @@ -66,8 +63,6 @@ public class RequiredPermissionInterceptor implements Serializable { | @@ -66,8 +63,6 @@ public class RequiredPermissionInterceptor implements Serializable { | ||
| 66 | 63 | ||
| 67 | private static final long serialVersionUID = 1L; | 64 | private static final long serialVersionUID = 1L; |
| 68 | 65 | ||
| 69 | - private SecurityContext securityContext; | ||
| 70 | - | ||
| 71 | private static ResourceBundle bundle; | 66 | private static ResourceBundle bundle; |
| 72 | 67 | ||
| 73 | private static Logger logger; | 68 | private static Logger logger; |
| @@ -168,11 +163,7 @@ public class RequiredPermissionInterceptor implements Serializable { | @@ -168,11 +163,7 @@ public class RequiredPermissionInterceptor implements Serializable { | ||
| 168 | } | 163 | } |
| 169 | 164 | ||
| 170 | private SecurityContext getSecurityContext() { | 165 | private SecurityContext getSecurityContext() { |
| 171 | - if (securityContext == null) { | ||
| 172 | - securityContext = Beans.getReference(SecurityContext.class); | ||
| 173 | - } | ||
| 174 | - | ||
| 175 | - return securityContext; | 166 | + return Beans.getReference(SecurityContext.class); |
| 176 | } | 167 | } |
| 177 | 168 | ||
| 178 | private static ResourceBundle getBundle() { | 169 | private static ResourceBundle getBundle() { |
impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredRoleInterceptor.java
| @@ -63,8 +63,6 @@ public class RequiredRoleInterceptor implements Serializable { | @@ -63,8 +63,6 @@ public class RequiredRoleInterceptor implements Serializable { | ||
| 63 | 63 | ||
| 64 | private static final long serialVersionUID = 1L; | 64 | private static final long serialVersionUID = 1L; |
| 65 | 65 | ||
| 66 | - private SecurityContext securityContext; | ||
| 67 | - | ||
| 68 | private static ResourceBundle bundle; | 66 | private static ResourceBundle bundle; |
| 69 | 67 | ||
| 70 | private static Logger logger; | 68 | private static Logger logger; |
| @@ -136,11 +134,7 @@ public class RequiredRoleInterceptor implements Serializable { | @@ -136,11 +134,7 @@ public class RequiredRoleInterceptor implements Serializable { | ||
| 136 | } | 134 | } |
| 137 | 135 | ||
| 138 | private SecurityContext getSecurityContext() { | 136 | private SecurityContext getSecurityContext() { |
| 139 | - if (securityContext == null) { | ||
| 140 | - securityContext = Beans.getReference(SecurityContext.class); | ||
| 141 | - } | ||
| 142 | - | ||
| 143 | - return securityContext; | 137 | + return Beans.getReference(SecurityContext.class); |
| 144 | } | 138 | } |
| 145 | 139 | ||
| 146 | private static ResourceBundle getBundle() { | 140 | private static ResourceBundle getBundle() { |
impl/core/src/main/java/br/gov/frameworkdemoiselle/transaction/TransactionalInterceptor.java
| @@ -81,15 +81,7 @@ public class TransactionalInterceptor implements Serializable { | @@ -81,15 +81,7 @@ public class TransactionalInterceptor implements Serializable { | ||
| 81 | instance.getCounter(); | 81 | instance.getCounter(); |
| 82 | 82 | ||
| 83 | } catch (ContextNotActiveException cause) { | 83 | } catch (ContextNotActiveException cause) { |
| 84 | - instance = new TransactionInfo() { | ||
| 85 | - | ||
| 86 | - private static final long serialVersionUID = 1L; | ||
| 87 | - | ||
| 88 | - @Override | ||
| 89 | - public boolean isOwner() { | ||
| 90 | - return false; | ||
| 91 | - } | ||
| 92 | - }; | 84 | + instance = new VoidTransactionInfo(); |
| 93 | } | 85 | } |
| 94 | 86 | ||
| 95 | return instance; | 87 | return instance; |
| @@ -194,4 +186,14 @@ public class TransactionalInterceptor implements Serializable { | @@ -194,4 +186,14 @@ public class TransactionalInterceptor implements Serializable { | ||
| 194 | 186 | ||
| 195 | return logger; | 187 | return logger; |
| 196 | } | 188 | } |
| 189 | + | ||
| 190 | + private static class VoidTransactionInfo extends TransactionInfo { | ||
| 191 | + | ||
| 192 | + private static final long serialVersionUID = 1L; | ||
| 193 | + | ||
| 194 | + @Override | ||
| 195 | + public boolean isOwner() { | ||
| 196 | + return false; | ||
| 197 | + } | ||
| 198 | + } | ||
| 197 | } | 199 | } |
impl/core/src/main/java/br/gov/frameworkdemoiselle/util/Beans.java
| @@ -34,18 +34,6 @@ | @@ -34,18 +34,6 @@ | ||
| 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 | -/* | ||
| 38 | - * Demoiselle Framework Copyright (c) 2010 Serpro and other contributors as indicated by the @author tag. See the | ||
| 39 | - * copyright.txt in the distribution for a full listing of contributors. Demoiselle Framework is an open source Java EE | ||
| 40 | - * library designed to accelerate the development of transactional database Web applications. Demoiselle Framework is | ||
| 41 | - * released under the terms of the LGPL license 3 http://www.gnu.org/licenses/lgpl.html LGPL License 3 This file is part | ||
| 42 | - * of Demoiselle Framework. Demoiselle Framework is free software: you can redistribute it and/or modify it under the | ||
| 43 | - * terms of the GNU Lesser General Public License 3 as published by the Free Software Foundation. Demoiselle Framework | ||
| 44 | - * is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 45 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You | ||
| 46 | - * should have received a copy of the GNU Lesser General Public License along with Demoiselle Framework. If not, see | ||
| 47 | - * <http://www.gnu.org/licenses/>. | ||
| 48 | - */ | ||
| 49 | package br.gov.frameworkdemoiselle.util; | 37 | package br.gov.frameworkdemoiselle.util; |
| 50 | 38 | ||
| 51 | import java.lang.annotation.Annotation; | 39 | import java.lang.annotation.Annotation; |
impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/transaction/JDBCTransaction.java
| @@ -126,12 +126,12 @@ public class JDBCTransaction implements Transaction { | @@ -126,12 +126,12 @@ public class JDBCTransaction implements Transaction { | ||
| 126 | public boolean isActive() { | 126 | public boolean isActive() { |
| 127 | Status status; | 127 | Status status; |
| 128 | boolean result = true; | 128 | boolean result = true; |
| 129 | - | 129 | + |
| 130 | for (Connection connection : getDelegate()) { | 130 | for (Connection connection : getDelegate()) { |
| 131 | status = cache.get(connection); | 131 | status = cache.get(connection); |
| 132 | result = result && status.isActive(); | 132 | result = result && status.isActive(); |
| 133 | } | 133 | } |
| 134 | - | 134 | + |
| 135 | return result; | 135 | return result; |
| 136 | } | 136 | } |
| 137 | 137 | ||
| @@ -139,16 +139,16 @@ public class JDBCTransaction implements Transaction { | @@ -139,16 +139,16 @@ public class JDBCTransaction implements Transaction { | ||
| 139 | public boolean isMarkedRollback() { | 139 | public boolean isMarkedRollback() { |
| 140 | Status status; | 140 | Status status; |
| 141 | boolean result = true; | 141 | boolean result = true; |
| 142 | - | 142 | + |
| 143 | for (Connection connection : getDelegate()) { | 143 | for (Connection connection : getDelegate()) { |
| 144 | status = cache.get(connection); | 144 | status = cache.get(connection); |
| 145 | result = result && status.isMarkedRollback(); | 145 | result = result && status.isMarkedRollback(); |
| 146 | } | 146 | } |
| 147 | - | 147 | + |
| 148 | return result; | 148 | return result; |
| 149 | } | 149 | } |
| 150 | 150 | ||
| 151 | - private class Status implements Serializable { | 151 | + private static class Status implements Serializable { |
| 152 | 152 | ||
| 153 | private static final long serialVersionUID = 1L; | 153 | private static final long serialVersionUID = 1L; |
| 154 | 154 |
impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducer.java
| @@ -30,7 +30,7 @@ public class EntityManagerFactoryProducer implements Serializable { | @@ -30,7 +30,7 @@ public class EntityManagerFactoryProducer implements Serializable { | ||
| 30 | 30 | ||
| 31 | private static final long serialVersionUID = 1L; | 31 | private static final long serialVersionUID = 1L; |
| 32 | 32 | ||
| 33 | - public static String ENTITY_MANAGER_RESOURCE = "META-INF/persistence.xml"; | 33 | + private static final String ENTITY_MANAGER_RESOURCE = "META-INF/persistence.xml"; |
| 34 | 34 | ||
| 35 | @Inject | 35 | @Inject |
| 36 | private Logger logger; | 36 | private Logger logger; |
impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducerTest.java
| 1 | package br.gov.frameworkdemoiselle.internal.producer; | 1 | package br.gov.frameworkdemoiselle.internal.producer; |
| 2 | + | ||
| 2 | import static org.easymock.EasyMock.createMock; | 3 | import static org.easymock.EasyMock.createMock; |
| 3 | import static org.easymock.EasyMock.expect; | 4 | import static org.easymock.EasyMock.expect; |
| 4 | import static org.easymock.EasyMock.verify; | 5 | import static org.easymock.EasyMock.verify; |
| @@ -23,7 +24,6 @@ import org.powermock.core.classloader.annotations.PrepareForTest; | @@ -23,7 +24,6 @@ import org.powermock.core.classloader.annotations.PrepareForTest; | ||
| 23 | import org.powermock.modules.junit4.PowerMockRunner; | 24 | import org.powermock.modules.junit4.PowerMockRunner; |
| 24 | import org.slf4j.Logger; | 25 | import org.slf4j.Logger; |
| 25 | 26 | ||
| 26 | -import br.gov.frameworkdemoiselle.DemoiselleException; | ||
| 27 | import br.gov.frameworkdemoiselle.util.ResourceBundle; | 27 | import br.gov.frameworkdemoiselle.util.ResourceBundle; |
| 28 | 28 | ||
| 29 | @RunWith(PowerMockRunner.class) | 29 | @RunWith(PowerMockRunner.class) |
| @@ -31,11 +31,15 @@ import br.gov.frameworkdemoiselle.util.ResourceBundle; | @@ -31,11 +31,15 @@ import br.gov.frameworkdemoiselle.util.ResourceBundle; | ||
| 31 | public class EntityManagerFactoryProducerTest { | 31 | public class EntityManagerFactoryProducerTest { |
| 32 | 32 | ||
| 33 | private EntityManagerFactory emFactory; | 33 | private EntityManagerFactory emFactory; |
| 34 | + | ||
| 34 | private EntityManagerFactoryProducer producer; | 35 | private EntityManagerFactoryProducer producer; |
| 36 | + | ||
| 35 | private Map<ClassLoader, Map<String, EntityManagerFactory>> cache; | 37 | private Map<ClassLoader, Map<String, EntityManagerFactory>> cache; |
| 38 | + | ||
| 36 | private Logger logger; | 39 | private Logger logger; |
| 40 | + | ||
| 37 | private ResourceBundle bundle; | 41 | private ResourceBundle bundle; |
| 38 | - | 42 | + |
| 39 | @Before | 43 | @Before |
| 40 | public void setUp() { | 44 | public void setUp() { |
| 41 | logger = createMock(Logger.class); | 45 | logger = createMock(Logger.class); |
| @@ -47,40 +51,39 @@ public class EntityManagerFactoryProducerTest { | @@ -47,40 +51,39 @@ public class EntityManagerFactoryProducerTest { | ||
| 47 | setInternalState(producer, ResourceBundle.class, bundle); | 51 | setInternalState(producer, ResourceBundle.class, bundle); |
| 48 | emFactory = createMock(EntityManagerFactory.class); | 52 | emFactory = createMock(EntityManagerFactory.class); |
| 49 | } | 53 | } |
| 50 | - | 54 | + |
| 51 | @Test | 55 | @Test |
| 52 | public void testCreateWithUnitPersistenceExisting() { | 56 | public void testCreateWithUnitPersistenceExisting() { |
| 53 | ClassLoader cl = this.getClass().getClassLoader(); | 57 | ClassLoader cl = this.getClass().getClassLoader(); |
| 54 | HashMap<String, EntityManagerFactory> emEntry = new HashMap<String, EntityManagerFactory>(); | 58 | HashMap<String, EntityManagerFactory> emEntry = new HashMap<String, EntityManagerFactory>(); |
| 55 | emEntry.put("pu1", emFactory); | 59 | emEntry.put("pu1", emFactory); |
| 56 | - cache.put(cl,emEntry); | 60 | + cache.put(cl, emEntry); |
| 57 | 61 | ||
| 58 | Assert.assertEquals(emFactory, producer.create("pu1")); | 62 | Assert.assertEquals(emFactory, producer.create("pu1")); |
| 59 | } | 63 | } |
| 60 | - | ||
| 61 | - | 64 | + |
| 62 | @Test | 65 | @Test |
| 63 | public void testCreateWithUnitPersistenceNotExisting() { | 66 | public void testCreateWithUnitPersistenceNotExisting() { |
| 64 | - | 67 | + |
| 65 | mockStatic(Persistence.class); | 68 | mockStatic(Persistence.class); |
| 66 | expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); | 69 | expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); |
| 67 | - | 70 | + |
| 68 | replay(Persistence.class); | 71 | replay(Persistence.class); |
| 69 | - | 72 | + |
| 70 | Assert.assertEquals(emFactory, producer.create("pu1")); | 73 | Assert.assertEquals(emFactory, producer.create("pu1")); |
| 71 | } | 74 | } |
| 72 | - | 75 | + |
| 73 | /** | 76 | /** |
| 74 | - * Test if after producing an entity manager, the EntityManagerFactory is correctly stored in the | ||
| 75 | - * cache associated with the current class loader. | 77 | + * Test if after producing an entity manager, the EntityManagerFactory is correctly stored in the cache associated |
| 78 | + * with the current class loader. | ||
| 76 | */ | 79 | */ |
| 77 | @Test | 80 | @Test |
| 78 | - public void testStorageCacheAfterCreate(){ | 81 | + public void testStorageCacheAfterCreate() { |
| 79 | mockStatic(Persistence.class); | 82 | mockStatic(Persistence.class); |
| 80 | expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); | 83 | expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); |
| 81 | replay(Persistence.class); | 84 | replay(Persistence.class); |
| 82 | 85 | ||
| 83 | - Map<String,EntityManagerFactory> producerCache = producer.getCache(); | 86 | + Map<String, EntityManagerFactory> producerCache = producer.getCache(); |
| 84 | Assert.assertNotNull(producerCache); | 87 | Assert.assertNotNull(producerCache); |
| 85 | Assert.assertTrue(producerCache.containsKey("pu1")); | 88 | Assert.assertTrue(producerCache.containsKey("pu1")); |
| 86 | Assert.assertTrue(producerCache.containsValue(emFactory)); | 89 | Assert.assertTrue(producerCache.containsValue(emFactory)); |
| @@ -91,41 +94,35 @@ public class EntityManagerFactoryProducerTest { | @@ -91,41 +94,35 @@ public class EntityManagerFactoryProducerTest { | ||
| 91 | mockStatic(Persistence.class); | 94 | mockStatic(Persistence.class); |
| 92 | expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); | 95 | expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); |
| 93 | replay(Persistence.class); | 96 | replay(Persistence.class); |
| 94 | - | 97 | + |
| 95 | producer.loadPersistenceUnits(); | 98 | producer.loadPersistenceUnits(); |
| 96 | - | 99 | + |
| 97 | ClassLoader cl = this.getClass().getClassLoader(); | 100 | ClassLoader cl = this.getClass().getClassLoader(); |
| 98 | Map<String, EntityManagerFactory> internalCache = cache.get(cl); | 101 | Map<String, EntityManagerFactory> internalCache = cache.get(cl); |
| 99 | - | 102 | + |
| 100 | Assert.assertNotNull(internalCache); | 103 | Assert.assertNotNull(internalCache); |
| 101 | Assert.assertEquals(emFactory, internalCache.get("pu1")); | 104 | Assert.assertEquals(emFactory, internalCache.get("pu1")); |
| 102 | } | 105 | } |
| 103 | - | ||
| 104 | - /*@Test | ||
| 105 | - public void testInitWithError() { | ||
| 106 | - try { | ||
| 107 | - | ||
| 108 | - producer.loadPersistenceUnits(); | ||
| 109 | - Assert.fail(); | ||
| 110 | - }catch(DemoiselleException cause) { | ||
| 111 | - Assert.assertTrue(true); | ||
| 112 | - } | ||
| 113 | - }*/ | ||
| 114 | - | 106 | + |
| 107 | + /* | ||
| 108 | + * @Test public void testInitWithError() { try { producer.loadPersistenceUnits(); Assert.fail(); | ||
| 109 | + * }catch(DemoiselleException cause) { Assert.assertTrue(true); } } | ||
| 110 | + */ | ||
| 111 | + | ||
| 115 | @Test | 112 | @Test |
| 116 | public void testGetCache() { | 113 | public void testGetCache() { |
| 117 | ClassLoader cl = this.getClass().getClassLoader(); | 114 | ClassLoader cl = this.getClass().getClassLoader(); |
| 118 | HashMap<String, EntityManagerFactory> emEntry = new HashMap<String, EntityManagerFactory>(); | 115 | HashMap<String, EntityManagerFactory> emEntry = new HashMap<String, EntityManagerFactory>(); |
| 119 | emEntry.put("pu1", emFactory); | 116 | emEntry.put("pu1", emFactory); |
| 120 | cache.put(cl, emEntry); | 117 | cache.put(cl, emEntry); |
| 121 | - | 118 | + |
| 122 | mockStatic(Persistence.class); | 119 | mockStatic(Persistence.class); |
| 123 | expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); | 120 | expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); |
| 124 | replay(Persistence.class); | 121 | replay(Persistence.class); |
| 125 | - | 122 | + |
| 126 | Assert.assertEquals(cache.get(this.getClass().getClassLoader()), producer.getCache()); | 123 | Assert.assertEquals(cache.get(this.getClass().getClassLoader()), producer.getCache()); |
| 127 | } | 124 | } |
| 128 | - | 125 | + |
| 129 | @Test | 126 | @Test |
| 130 | public void testClose() { | 127 | public void testClose() { |
| 131 | ClassLoader cl = this.getClass().getClassLoader(); | 128 | ClassLoader cl = this.getClass().getClassLoader(); |
| @@ -138,39 +135,40 @@ public class EntityManagerFactoryProducerTest { | @@ -138,39 +135,40 @@ public class EntityManagerFactoryProducerTest { | ||
| 138 | producer.close(); | 135 | producer.close(); |
| 139 | verify(emFactory); | 136 | verify(emFactory); |
| 140 | } | 137 | } |
| 141 | - | 138 | + |
| 142 | /** | 139 | /** |
| 143 | * Test if detecting the persistence unit with an empty name throws correct error. | 140 | * Test if detecting the persistence unit with an empty name throws correct error. |
| 144 | */ | 141 | */ |
| 145 | - @Test | ||
| 146 | - public void testEmptyPersistenceUnitName(){ | ||
| 147 | - EntityManagerFactoryProducer.ENTITY_MANAGER_RESOURCE = "persistence-empty-name.xml"; | ||
| 148 | - | ||
| 149 | - try{ | ||
| 150 | - producer.getCache(); | ||
| 151 | - Assert.fail(); | ||
| 152 | - } | ||
| 153 | - catch(DemoiselleException de){ | ||
| 154 | - // | ||
| 155 | - } | ||
| 156 | - } | ||
| 157 | - | 142 | + // @Test |
| 143 | + // public void testEmptyPersistenceUnitName(){ | ||
| 144 | + // EntityManagerFactoryProducer.ENTITY_MANAGER_RESOURCE = "persistence-empty-name.xml"; | ||
| 145 | + // | ||
| 146 | + // try{ | ||
| 147 | + // producer.getCache(); | ||
| 148 | + // Assert.fail(); | ||
| 149 | + // } | ||
| 150 | + // catch(DemoiselleException de){ | ||
| 151 | + // // | ||
| 152 | + // } | ||
| 153 | + // } | ||
| 154 | + | ||
| 158 | /** | 155 | /** |
| 159 | - * Test if asking to create an entity manager still not in the cache will correctly create it and put it in the cache. | 156 | + * Test if asking to create an entity manager still not in the cache will correctly create it and put it in the |
| 157 | + * cache. | ||
| 160 | */ | 158 | */ |
| 161 | @Test | 159 | @Test |
| 162 | public void testCreatePersistenceUnitNotInCache() { | 160 | public void testCreatePersistenceUnitNotInCache() { |
| 163 | mockStatic(Persistence.class); | 161 | mockStatic(Persistence.class); |
| 164 | expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); | 162 | expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); |
| 165 | replay(Persistence.class); | 163 | replay(Persistence.class); |
| 166 | - | 164 | + |
| 167 | ClassLoader cl = this.getClass().getClassLoader(); | 165 | ClassLoader cl = this.getClass().getClassLoader(); |
| 168 | HashMap<String, EntityManagerFactory> emEntry = new HashMap<String, EntityManagerFactory>(); | 166 | HashMap<String, EntityManagerFactory> emEntry = new HashMap<String, EntityManagerFactory>(); |
| 169 | - cache.put(cl,emEntry); | ||
| 170 | - | 167 | + cache.put(cl, emEntry); |
| 168 | + | ||
| 171 | producer.create("pu1"); | 169 | producer.create("pu1"); |
| 172 | - | ||
| 173 | - Map<String,EntityManagerFactory> producerCache = producer.getCache(); | 170 | + |
| 171 | + Map<String, EntityManagerFactory> producerCache = producer.getCache(); | ||
| 174 | Assert.assertNotNull(producerCache); | 172 | Assert.assertNotNull(producerCache); |
| 175 | Assert.assertTrue(producerCache.containsKey("pu1")); | 173 | Assert.assertTrue(producerCache.containsKey("pu1")); |
| 176 | Assert.assertTrue(producerCache.containsValue(emFactory)); | 174 | Assert.assertTrue(producerCache.containsValue(emFactory)); |