Author: rmannibucau
Date: Sun Nov 25 18:41:28 2012
New Revision: 1413384
URL: http://svn.apache.org/viewvc?rev=1413384&view=rev
Log:
small optim for @WebXXX parsing + ignoring injectionpointbean in hierarchic
bean manager forparent bm
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java?rev=1413384&r1=1413383&r2=1413384&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
Sun Nov 25 18:41:28 2012
@@ -19,6 +19,7 @@ package org.apache.openejb.cdi;
import org.apache.webbeans.component.BeanManagerBean;
import org.apache.webbeans.component.BuildInOwbBean;
import org.apache.webbeans.component.ConversationBean;
+import org.apache.webbeans.component.InjectionPointBean;
import org.apache.webbeans.container.BeanManagerImpl;
import javax.el.ELResolver;
@@ -383,7 +384,7 @@ public class WebappBeanManager extends B
deploymentBeans.clear();
for (Bean<?> bean : getParentBm().getBeans()) {
if (bean instanceof BeanManagerBean || bean instanceof
BuildInOwbBean
- || bean instanceof ConversationBean) {
+ || bean instanceof ConversationBean || bean instanceof
InjectionPointBean) {
continue;
}
deploymentBeans.add(bean);
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1413384&r1=1413383&r2=1413384&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Sun Nov 25 18:41:28 2012
@@ -214,7 +214,6 @@ import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.net.MalformedURLException;
-import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
@@ -1130,7 +1129,7 @@ public class AnnotationDeployer implemen
* Servlet, Filter, Listener
*/
- Map<URL, List<String>> urlByClasses = null;
+ Map<String, String> urlByClasses = null;
for (String apiClassName : WEB_CLASSES) {
final Class<? extends Annotation> clazz;
try {
@@ -1145,7 +1144,14 @@ public class AnnotationDeployer implemen
if (limitedFinder instanceof AnnotationFinder) {
final Archive archive = ((AnnotationFinder)
limitedFinder).getArchive();
if (archive instanceof WebappAggregatedArchive) {
- urlByClasses = ((WebappAggregatedArchive)
archive).getClassesMap();
+ final Map<URL, List<String>> index =
((WebappAggregatedArchive) archive).getClassesMap();
+ urlByClasses = new HashMap<String, String>();
+ for (Map.Entry<URL, List<String>> entry :
index.entrySet()) {
+ final String url =
entry.getKey().toExternalForm();
+ for (String current : entry.getValue()) {
+ urlByClasses.put(current, url);
+ }
+ }
}
}
}
@@ -1155,6 +1161,10 @@ public class AnnotationDeployer implemen
addWebAnnotatedClassInfo(urlByClasses,
webModule.getWebAnnotatedClasses(), found);
}
+ if (urlByClasses != null) {
+ urlByClasses.clear();
+ }
+
return webModule;
}
@@ -5224,7 +5234,7 @@ public class AnnotationDeployer implemen
return classes;
}
- private static Map<String, Set<String>> addWebAnnotatedClassInfo(final
Map<URL, List<String>> urlByClasses, final Map<String, Set<String>> classes,
final List<Annotated<Class<?>>> found) {
+ private static Map<String, Set<String>> addWebAnnotatedClassInfo(final
Map<String, String> urlByClasses, final Map<String, Set<String>> classes, final
List<Annotated<Class<?>>> found) {
for (Annotated<Class<?>> clazz : found) {
final Class<?> loadedClass = clazz.get();
final String name = loadedClass.getName();
@@ -5232,13 +5242,7 @@ public class AnnotationDeployer implemen
// url of the jar/folder containing the class
String url = null;
if (urlByClasses != null) {
- for (Map.Entry<URL, List<String>> entry :
urlByClasses.entrySet()) {
- for (String current : entry.getValue()) {
- if (name.equals(current)) {
- url = entry.getKey().toExternalForm();
- }
- }
- }
+ url = urlByClasses.get(name);
}
if (url == null) {