Commit 77a5174386f5bdf8ad0a0aa531b94484f28cc218

Authored by Dancovich
1 parent eedb5dbb
Exists in master

Implementando escopo configuravel para Entity Manager

impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/EntityManagerBootstrap.java
@@ -16,10 +16,11 @@ import javax.enterprise.inject.spi.AnnotatedField; @@ -16,10 +16,11 @@ import javax.enterprise.inject.spi.AnnotatedField;
16 import javax.enterprise.inject.spi.AnnotatedMethod; 16 import javax.enterprise.inject.spi.AnnotatedMethod;
17 import javax.enterprise.inject.spi.AnnotatedType; 17 import javax.enterprise.inject.spi.AnnotatedType;
18 import javax.enterprise.inject.spi.BeanManager; 18 import javax.enterprise.inject.spi.BeanManager;
  19 +import javax.enterprise.inject.spi.BeforeBeanDiscovery;
19 import javax.enterprise.inject.spi.Extension; 20 import javax.enterprise.inject.spi.Extension;
20 import javax.enterprise.inject.spi.ProcessAnnotatedType; 21 import javax.enterprise.inject.spi.ProcessAnnotatedType;
21 import javax.enterprise.inject.spi.ProcessBean; 22 import javax.enterprise.inject.spi.ProcessBean;
22 -import javax.enterprise.util.AnnotationLiteral; 23 +import javax.enterprise.inject.spi.ProcessManagedBean;
23 24
24 import org.apache.commons.configuration.PropertiesConfiguration; 25 import org.apache.commons.configuration.PropertiesConfiguration;
25 import org.slf4j.Logger; 26 import org.slf4j.Logger;
@@ -42,6 +43,7 @@ public class EntityManagerBootstrap implements Extension { @@ -42,6 +43,7 @@ public class EntityManagerBootstrap implements Extension {
42 private EntityManagerScope selectedScope; 43 private EntityManagerScope selectedScope;
43 44
44 public void replaceAnnotatedType(@Observes final ProcessAnnotatedType<EntityManagerProducer> event , BeanManager manager){ 45 public void replaceAnnotatedType(@Observes final ProcessAnnotatedType<EntityManagerProducer> event , BeanManager manager){
  46 +
45 if (event.getAnnotatedType().getJavaClass().equals(EntityManagerProducer.class)){ 47 if (event.getAnnotatedType().getJavaClass().equals(EntityManagerProducer.class)){
46 AnnotatedType<EntityManagerProducer> wrapper = new AnnotatedType<EntityManagerProducer>() { 48 AnnotatedType<EntityManagerProducer> wrapper = new AnnotatedType<EntityManagerProducer>() {
47 49
@@ -67,9 +69,10 @@ public class EntityManagerBootstrap implements Extension { @@ -67,9 +69,10 @@ public class EntityManagerBootstrap implements Extension {
67 return delegate.getMethods(); 69 return delegate.getMethods();
68 } 70 }
69 71
70 - @SuppressWarnings("unchecked")  
71 public <T extends Annotation> T getAnnotation(Class<T> annotationType) { 72 public <T extends Annotation> T getAnnotation(Class<T> annotationType) {
72 - T returnedAnnotation; 73 + return delegate.getAnnotation(annotationType);
  74 +
  75 + /*T returnedAnnotation;
73 switch(getConfiguredEntityManagerScope()){ 76 switch(getConfiguredEntityManagerScope()){
74 case APPLICATION: 77 case APPLICATION:
75 returnedAnnotation = (T) (annotationType.equals(ApplicationScoped.class) ? new AnnotationLiteral<ApplicationScoped>() { 78 returnedAnnotation = (T) (annotationType.equals(ApplicationScoped.class) ? new AnnotationLiteral<ApplicationScoped>() {
@@ -97,7 +100,7 @@ public class EntityManagerBootstrap implements Extension { @@ -97,7 +100,7 @@ public class EntityManagerBootstrap implements Extension {
97 returnedAnnotation = delegate.getAnnotation(annotationType); 100 returnedAnnotation = delegate.getAnnotation(annotationType);
98 } 101 }
99 102
100 - return returnedAnnotation; 103 + return returnedAnnotation;*/
101 } 104 }
102 105
103 public Set<AnnotatedField<? super EntityManagerProducer>> getFields() { 106 public Set<AnnotatedField<? super EntityManagerProducer>> getFields() {
@@ -132,6 +135,9 @@ public class EntityManagerBootstrap implements Extension { @@ -132,6 +135,9 @@ public class EntityManagerBootstrap implements Extension {
132 } 135 }
133 } 136 }
134 137
  138 + public void a(@Observes BeforeBeanDiscovery event){
  139 + }
  140 +
135 public void configureBean(@Observes ProcessBean<EntityManagerProducer> event , BeanManager manager){ 141 public void configureBean(@Observes ProcessBean<EntityManagerProducer> event , BeanManager manager){
136 Class<? extends Annotation> beanScope = event.getBean().getScope(); 142 Class<? extends Annotation> beanScope = event.getBean().getScope();
137 System.out.println(beanScope.toString()); 143 System.out.println(beanScope.toString());
impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/RequestScopedProducer.java 0 → 100644
@@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
  1 +package br.gov.frameworkdemoiselle.internal.producer;
  2 +
  3 +import static java.lang.annotation.ElementType.TYPE;
  4 +import static java.lang.annotation.RetentionPolicy.RUNTIME;
  5 +
  6 +import java.lang.annotation.Inherited;
  7 +import java.lang.annotation.Retention;
  8 +import java.lang.annotation.Target;
  9 +
  10 +import javax.enterprise.context.RequestScoped;
  11 +import javax.enterprise.inject.Stereotype;
  12 +
  13 +@RequestScoped
  14 +@Stereotype
  15 +@Inherited
  16 +@Retention(RUNTIME)
  17 +@Target({ TYPE })
  18 +public @interface RequestScopedProducer {
  19 +
  20 +}