Commit 3a33bfd2007385d17da60d6cf46f03ed4d0dcdcb

Authored by Emerson Oliveira
2 parents a523f28e 4cd7d730
Exists in master

Merge branch 'master' of git@github.com:demoiselle/framework.git

impl/core/pom.xml
... ... @@ -73,8 +73,8 @@
73 73 <groupId>br.gov.frameworkdemoiselle</groupId>
74 74 <artifactId>demoiselle-framework-bom</artifactId>
75 75 <version>2.3.0-SNAPSHOT</version>
76   - <type>pom</type>
77 76 <scope>import</scope>
  77 + <type>pom</type>
78 78 </dependency>
79 79 </dependencies>
80 80 </dependencyManagement>
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/ConfigurationBootstrap.java
... ... @@ -62,8 +62,9 @@ public class ConfigurationBootstrap implements Extension {
62 62  
63 63 private final List<Class<Object>> cache = Collections.synchronizedList(new ArrayList<Class<Object>>());
64 64  
65   - private static final Map<ClassLoader, List<String>> cacheClassLoader = Collections.synchronizedMap(new HashMap<ClassLoader, List<String>>());
66   -
  65 + private static final Map<ClassLoader, Map<String, Class<Object>>> cacheClassLoader = Collections
  66 + .synchronizedMap(new HashMap<ClassLoader, Map<String, Class<Object>>>());
  67 +
67 68 public void processAnnotatedType(@Observes final ProcessAnnotatedType<Object> event) {
68 69 final AnnotatedType<Object> annotatedType = event.getAnnotatedType();
69 70  
... ... @@ -78,9 +79,7 @@ public class ConfigurationBootstrap implements Extension {
78 79  
79 80 for (Class<Object> config : cache) {
80 81 proxy = createProxy(config);
81   - if (proxy != null) {
82   - event.addBean(new CustomBean(proxy, beanManager));
83   - }
  82 + event.addBean(new CustomBean(proxy, beanManager));
84 83 }
85 84 }
86 85  
... ... @@ -89,24 +88,20 @@ public class ConfigurationBootstrap implements Extension {
89 88 String superClassName = type.getCanonicalName();
90 89 String chieldClassName = superClassName + "__DemoiselleProxy";
91 90  
92   - Class<Object> clazz = null;
93   -
94   - Boolean loaded = true;
  91 + Map<String, Class<Object>> cacheProxy = Collections.synchronizedMap(new HashMap<String, Class<Object>>());;
  92 +
  93 + Class<Object> clazzProxy = null;
  94 +
95 95 ClassLoader classLoader = type.getClassLoader();
96   - if (cacheClassLoader.containsKey(classLoader)) {
97   - if (!cacheClassLoader.get(classLoader).contains(chieldClassName)) {
98   - loaded = false;
  96 + if (cacheClassLoader.containsKey(classLoader)) {
  97 + cacheProxy = cacheClassLoader.get(classLoader);
  98 + if (cacheProxy.containsKey(chieldClassName)) {
  99 + clazzProxy = cacheProxy.get(chieldClassName);
99 100 }
100 101 }
101   - else{
102   - List<String> strings = Collections.synchronizedList(new ArrayList<String>());
103   - cacheClassLoader.put(classLoader, strings);
104   - loaded = false;
105   - }
106   -
107   - if (!loaded){
108   - cacheClassLoader.get(classLoader).add(chieldClassName);
109   -
  102 +
  103 + if (clazzProxy == null) {
  104 +
110 105 ClassPool pool = new ClassPool();
111 106 CtClass ctChieldClass = pool.getOrNull(chieldClassName);
112 107  
... ... @@ -123,9 +118,13 @@ public class ConfigurationBootstrap implements Extension {
123 118  
124 119 ctChieldClass.addMethod(ctChieldMethod);
125 120 }
126   - clazz = ctChieldClass.toClass(classLoader, type.getProtectionDomain());
  121 +
  122 + clazzProxy = ctChieldClass.toClass(classLoader, type.getProtectionDomain());
  123 +
  124 + cacheProxy.put(chieldClassName, clazzProxy);
  125 + cacheClassLoader.put(classLoader, cacheProxy);
127 126 }
128 127  
129   - return clazz;
130   - }
  128 + return clazzProxy;
  129 + }
131 130 }
... ...
parent/extension/pom.xml
... ... @@ -72,8 +72,8 @@
72 72 <groupId>br.gov.frameworkdemoiselle</groupId>
73 73 <artifactId>demoiselle-framework-bom</artifactId>
74 74 <version>2.3.0-SNAPSHOT</version>
75   - <type>pom</type>
76 75 <scope>import</scope>
  76 + <type>pom</type>
77 77 </dependency>
78 78 </dependencies>
79 79 </dependencyManagement>
... ...
parent/minimal/pom.xml
... ... @@ -73,8 +73,8 @@
73 73 <groupId>br.gov.frameworkdemoiselle</groupId>
74 74 <artifactId>demoiselle-framework-bom</artifactId>
75 75 <version>2.3.0-SNAPSHOT</version>
76   - <type>pom</type>
77 76 <scope>import</scope>
  77 + <type>pom</type>
78 78 </dependency>
79 79 </dependencies>
80 80 </dependencyManagement>
... ...
pom.xml
... ... @@ -45,7 +45,7 @@
45 45 <parent>
46 46 <groupId>br.gov.frameworkdemoiselle</groupId>
47 47 <artifactId>demoiselle-build-parent</artifactId>
48   - <version>3</version>
  48 + <version>4</version>
49 49 <relativePath>../internal/parent/build/demoiselle</relativePath>
50 50 </parent>
51 51  
... ... @@ -132,6 +132,5 @@
132 132  
133 133 <properties>
134 134 <project.alias>framework</project.alias>
135   - <project.nextVersion>2.3.0-SNAPSHOT</project.nextVersion>
136 135 </properties>
137 136 </project>
... ...
site/apt/release-notes.apt
... ... @@ -38,7 +38,11 @@
38 38  
39 39 Notas de Versão
40 40  
41   -* v2.3.0-RC2
  41 +* v2.3.0-RC3
  42 +
  43 + * {{{http://sourceforge.net/apps/mantisbt/demoiselle/view.php?id=0000869}0000869}} [Task] Atualização para versão 2.3.2 do plugin de release.
  44 +
  45 +* {{{../2.3.0-RC2/}v2.3.0-RC2}}
42 46  
43 47 * {{{http://sourceforge.net/apps/mantisbt/demoiselle/view.php?id=0000864}0000864}} [Bug] Correção no redirecionamento de URL na extensão JSF.
44 48  
... ...