diff --git a/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerProducer.java b/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerProducer.java index 9e6cd51..03f2b2a 100644 --- a/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerProducer.java +++ b/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerProducer.java @@ -38,7 +38,6 @@ package br.gov.frameworkdemoiselle.internal.producer; import java.io.Serializable; import java.util.Map; -import java.util.Set; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.inject.Default; @@ -48,14 +47,9 @@ import javax.enterprise.inject.spi.InjectionPoint; import javax.inject.Inject; import javax.persistence.EntityManager; -import org.slf4j.Logger; - -import br.gov.frameworkdemoiselle.DemoiselleException; import br.gov.frameworkdemoiselle.annotation.Name; -import br.gov.frameworkdemoiselle.configuration.Configuration; import br.gov.frameworkdemoiselle.internal.configuration.EntityManagerConfig; import br.gov.frameworkdemoiselle.internal.proxy.EntityManagerProxy; -import br.gov.frameworkdemoiselle.util.ResourceBundle; /** *
@@ -64,26 +58,19 @@ import br.gov.frameworkdemoiselle.util.ResourceBundle; *
*/ @ApplicationScoped -public class EntityManagerProducer implements Serializable{ +public class EntityManagerProducer implements Serializable { private static final long serialVersionUID = 1L; @Inject - private Logger logger; - - @Inject - @Name("demoiselle-jpa-bundle") - private ResourceBundle bundle; - - @Inject - private EntityManagerFactoryProducer factory; - - @Inject private Instance* Default EntityManager factory. Tries two strategies to produces EntityManager instances. @@ -98,80 +85,43 @@ public class EntityManagerProducer implements Serializable{ */ @Default @Produces - protected EntityManager createDefault(InjectionPoint ip, EntityManagerConfig config) { - String persistenceUnit = getFromProperties(config); + protected EntityManager createDefault(EntityManagerConfig config) { + String persistenceUnit = persistenceUnitReader.getFromProperties(config); if (persistenceUnit == null) { - persistenceUnit = getFromXML(); + persistenceUnit = persistenceUnitReader.getFromXML(); } return new EntityManagerProxy(persistenceUnit); } /** - * *
- * Factory that reads the {@link AmbiguousQualifier} qualifier and creates an entity manager with - * a matching persistence unit name. + * Factory that reads the {@link AmbiguousQualifier} qualifier and creates an entity manager with a matching + * persistence unit name. *
* - * * @param config * Suplies informations about EntityManager defined in properties file. * @return Produced EntityManager. */ @Name("") @Produces - protected EntityManager createNamed(InjectionPoint ip, EntityManagerConfig config) { + protected EntityManager createNamed(InjectionPoint ip) { String persistenceUnit = ip.getAnnotated().getAnnotation(Name.class).value(); return new EntityManagerProxy(persistenceUnit); } - /** - * Tries to get persistence unit name from demoiselle.properties. - * - * @param config - * Configuration containing persistence unit name. - * @return Persistence unit name. - */ - private String getFromProperties(EntityManagerConfig config) { - String persistenceUnit = config.getDefaultPersistenceUnitName(); - - if (persistenceUnit != null) { - this.logger.debug(bundle.getString("getting-persistence-unit-from-properties", - Configuration.DEFAULT_RESOURCE)); - } - - return persistenceUnit; - } - - /** - * Uses persistence.xml to get informations about which persistence unit to use. Throws DemoiselleException if more - * than one Persistence Unit is defined. - * - * @return Persistence Unit AmbiguousQualifier - */ - private String getFromXML() { - Set