You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/03/06 09:02:31 UTC

svn commit: r515015 - in /incubator/openejb/trunk/openejb3/container: openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java openejb-jee/src/main/java/org/apache/openejb/jee/Interceptors.java

Author: dblevins
Date: Tue Mar  6 00:02:30 2007
New Revision: 515015

URL: http://svn.apache.org/viewvc?view=rev&rev=515015
Log:
Index interceptors by class name

Modified:
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
    incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Interceptors.java

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java?view=diff&rev=515015&r1=515014&r2=515015
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java Tue Mar  6 00:02:30 2007
@@ -237,8 +237,7 @@
         }
 
         Map<String, String> interceptorMethods = new HashMap<String, String>();
-        List<Interceptor> interceptors = jar.getEjbJar().getInterceptors().getInterceptor();
-        for (Interceptor interceptor : interceptors) {
+        for (Interceptor interceptor : jar.getEjbJar().getInterceptors().getInterceptor()) {
             AroundInvoke aroundInvoke = interceptor.getAroundInvoke().iterator().next();
             String clazz = aroundInvoke.getClazz();
             String methodName = aroundInvoke.getMethodName();

Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Interceptors.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Interceptors.java?view=diff&rev=515015&r1=515014&r2=515015
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Interceptors.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Interceptors.java Tue Mar  6 00:02:30 2007
@@ -18,16 +18,13 @@
 
 package org.apache.openejb.jee;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.*;
 import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.LinkedHashMap;
 
 
 /**
@@ -47,8 +44,10 @@
 
     @XmlElement(required = true)
     protected List<Text> description;
-    @XmlElement(required = true)
-    protected List<Interceptor> interceptor;
+
+    @XmlTransient
+    protected Map<String,Interceptor> interceptors = new LinkedHashMap<String,Interceptor>();
+
     @XmlAttribute
     @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
     @XmlID
@@ -61,13 +60,6 @@
         return this.description;
     }
 
-    public List<Interceptor> getInterceptor() {
-        if (interceptor == null) {
-            interceptor = new ArrayList<Interceptor>();
-        }
-        return this.interceptor;
-    }
-
     public String getId() {
         return id;
     }
@@ -76,4 +68,22 @@
         this.id = value;
     }
 
+    @XmlElement(name = "interceptor", required = true)
+    public Interceptor[] getInterceptor() {
+        return interceptors.values().toArray(new Interceptor[]{});
+    }
+
+    public void setInterceptor(Interceptor[] v) {
+        interceptors.clear();
+        for (Interceptor e : v) addInterceptor(e);
+    }
+
+    public Interceptor addInterceptor(Interceptor interceptor){
+        interceptors.put(interceptor.getInterceptorClass(), interceptor);
+        return interceptor;
+    }
+
+    public Interceptor getInterceptor(String className){
+        return interceptors.get(className);
+    }
 }