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 16 import javax.enterprise.inject.spi.AnnotatedMethod;
17 17 import javax.enterprise.inject.spi.AnnotatedType;
18 18 import javax.enterprise.inject.spi.BeanManager;
  19 +import javax.enterprise.inject.spi.BeforeBeanDiscovery;
19 20 import javax.enterprise.inject.spi.Extension;
20 21 import javax.enterprise.inject.spi.ProcessAnnotatedType;
21 22 import javax.enterprise.inject.spi.ProcessBean;
22   -import javax.enterprise.util.AnnotationLiteral;
  23 +import javax.enterprise.inject.spi.ProcessManagedBean;
23 24  
24 25 import org.apache.commons.configuration.PropertiesConfiguration;
25 26 import org.slf4j.Logger;
... ... @@ -42,6 +43,7 @@ public class EntityManagerBootstrap implements Extension {
42 43 private EntityManagerScope selectedScope;
43 44  
44 45 public void replaceAnnotatedType(@Observes final ProcessAnnotatedType<EntityManagerProducer> event , BeanManager manager){
  46 +
45 47 if (event.getAnnotatedType().getJavaClass().equals(EntityManagerProducer.class)){
46 48 AnnotatedType<EntityManagerProducer> wrapper = new AnnotatedType<EntityManagerProducer>() {
47 49  
... ... @@ -67,9 +69,10 @@ public class EntityManagerBootstrap implements Extension {
67 69 return delegate.getMethods();
68 70 }
69 71  
70   - @SuppressWarnings("unchecked")
71 72 public <T extends Annotation> T getAnnotation(Class<T> annotationType) {
72   - T returnedAnnotation;
  73 + return delegate.getAnnotation(annotationType);
  74 +
  75 + /*T returnedAnnotation;
73 76 switch(getConfiguredEntityManagerScope()){
74 77 case APPLICATION:
75 78 returnedAnnotation = (T) (annotationType.equals(ApplicationScoped.class) ? new AnnotationLiteral<ApplicationScoped>() {
... ... @@ -97,7 +100,7 @@ public class EntityManagerBootstrap implements Extension {
97 100 returnedAnnotation = delegate.getAnnotation(annotationType);
98 101 }
99 102  
100   - return returnedAnnotation;
  103 + return returnedAnnotation;*/
101 104 }
102 105  
103 106 public Set<AnnotatedField<? super EntityManagerProducer>> getFields() {
... ... @@ -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 141 public void configureBean(@Observes ProcessBean<EntityManagerProducer> event , BeanManager manager){
136 142 Class<? extends Annotation> beanScope = event.getBean().getScope();
137 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 @@
  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 +}
... ...