Author: jlaskowski
Date: Thu Dec 27 04:25:25 2007
New Revision: 607052

URL: http://svn.apache.org/viewvc?rev=607052&view=rev
Log:
Make the example use the latest improvements in interceptors area, i.e. bean 
superclass's interceptors are executed now too (see OPENEJB-740 Business method 
interceptor methods defined by the bean class's superclasses are not invoked 
[1])

[1] https://issues.apache.org/jira/browse/OPENEJB-740

Added:
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SecondStatelessInterceptedBean.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SecondStatelessInterceptedLocal.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/Utils.java
    
openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/SecondStatelessInterceptedTest.java
Removed:
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/InterceptorBindingEjbJarInterceptor.java
Modified:
    openejb/trunk/openejb3/examples/interceptors/pom.xml
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorOne.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorSuperClassOne.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorSuperClassTwo.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorTwo.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/DefaultInterceptorOne.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/DefaultInterceptorTwo.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyIntercepted.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyInterceptedBean.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyInterceptedSuperClass.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOne.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorTwo.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SuperClassOfClassLevelInterceptor.java
    
openejb/trunk/openejb3/examples/interceptors/src/main/resources/META-INF/ejb-jar.xml
    
openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/FullyInterceptedTest.java

Modified: openejb/trunk/openejb3/examples/interceptors/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/pom.xml?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- openejb/trunk/openejb3/examples/interceptors/pom.xml (original)
+++ openejb/trunk/openejb3/examples/interceptors/pom.xml Thu Dec 27 04:25:25 
2007
@@ -65,6 +65,12 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-annotation_1.0_spec</artifactId>
+      <version>1.1</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.4</version>
@@ -100,5 +106,21 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
+  <profiles>
+    <profile>
+      <id>openejb.debug</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <forkMode>pertest</forkMode>
+              
<argLine>-agentlib:jdwp=transport=dt_socket,server=y,address=5005</argLine>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
 </project>
-

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorOne.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorOne.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorOne.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorOne.java
 Thu Dec 27 04:25:25 2007
@@ -23,9 +23,10 @@
  * @version $Rev$ $Date$
  */
 public class ClassLevelInterceptorOne {
+
     @AroundInvoke
-    private Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
-        return ic.proceed() + "-classone";
+    protected Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
+        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
     }
 
 }

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorSuperClassOne.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorSuperClassOne.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorSuperClassOne.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorSuperClassOne.java
 Thu Dec 27 04:25:25 2007
@@ -23,9 +23,10 @@
  * @version $Rev$ $Date$
  */
 public class ClassLevelInterceptorSuperClassOne {
+
     @AroundInvoke
-    private Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
-        return ic.proceed() + "-superclassone";
+    protected Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
+        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
     }
 
 }

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorSuperClassTwo.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorSuperClassTwo.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorSuperClassTwo.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorSuperClassTwo.java
 Thu Dec 27 04:25:25 2007
@@ -23,9 +23,10 @@
  * @version $Rev$ $Date$
  */
 public class ClassLevelInterceptorSuperClassTwo extends 
SuperClassOfClassLevelInterceptor {
+
     @AroundInvoke
-    private Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
-        return ic.proceed() + "-superclasstwo";
+    protected Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
+        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
     }
 
 }

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorTwo.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorTwo.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorTwo.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/ClassLevelInterceptorTwo.java
 Thu Dec 27 04:25:25 2007
@@ -23,9 +23,10 @@
  * @version $Rev$ $Date$
  */
 public class ClassLevelInterceptorTwo {
+
     @AroundInvoke
-    private Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
-        return ic.proceed() + "-classtwo";
+    protected Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
+        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
     }
 
 }

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/DefaultInterceptorOne.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/DefaultInterceptorOne.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/DefaultInterceptorOne.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/DefaultInterceptorOne.java
 Thu Dec 27 04:25:25 2007
@@ -16,6 +16,7 @@
  */
 package org.superbiz.interceptors;
 
+import javax.annotation.PostConstruct;
 import javax.interceptor.AroundInvoke;
 import javax.interceptor.InvocationContext;
 
@@ -23,9 +24,14 @@
  * @version $Rev$ $Date$
  */
 public class DefaultInterceptorOne {
+
     @AroundInvoke
-    private Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
-        return ic.proceed() + "-defaultone";
+    protected Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
+        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
     }
 
+    @PostConstruct
+    protected void postConstructInterceptor(InvocationContext ic) throws 
Exception {
+        Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
+    }
 }

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/DefaultInterceptorTwo.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/DefaultInterceptorTwo.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/DefaultInterceptorTwo.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/DefaultInterceptorTwo.java
 Thu Dec 27 04:25:25 2007
@@ -23,9 +23,10 @@
  * @version $Rev$ $Date$
  */
 public class DefaultInterceptorTwo {
+
     @AroundInvoke
-    private Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
-        return ic.proceed() + "-defaulttwo";
+    protected Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
+        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
     }
 
 }

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyIntercepted.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyIntercepted.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyIntercepted.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyIntercepted.java
 Thu Dec 27 04:25:25 2007
@@ -16,11 +16,15 @@
  */
 package org.superbiz.interceptors;
 
+import java.util.List;
+
 /**
  * @version $Rev$ $Date$
  */
 public interface FullyIntercepted {
 
-    String businessMethod();
+    List<String> businessMethod();
+
+    List<String> methodWithDefaultInterceptorsExcluded();
 
 }

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyInterceptedBean.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyInterceptedBean.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyInterceptedBean.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyInterceptedBean.java
 Thu Dec 27 04:25:25 2007
@@ -21,22 +21,33 @@
 import javax.interceptor.AroundInvoke;
 import javax.interceptor.Interceptors;
 import javax.interceptor.InvocationContext;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * @version $Rev$ $Date$
  */
 @Stateless
 @Local
[EMAIL PROTECTED]( { ClassLevelInterceptorOne.class, 
ClassLevelInterceptorTwo.class })
[EMAIL PROTECTED]({ClassLevelInterceptorOne.class, 
ClassLevelInterceptorTwo.class})
 public class FullyInterceptedBean extends FullyInterceptedSuperClass 
implements FullyIntercepted {
 
-    @Interceptors( { MethodLevelInterceptorOne.class, 
MethodLevelInterceptorTwo.class })
-    public String businessMethod() {
-        return "businessMethod";
+    @Interceptors({MethodLevelInterceptorOne.class, 
MethodLevelInterceptorTwo.class})
+    public List<String> businessMethod() {
+        List<String> list = new ArrayList<String>();
+        list.add("businessMethod");
+        return list;
+    }
+
+    @Interceptors({MethodLevelInterceptorOne.class, 
MethodLevelInterceptorTwo.class})
+    public List<String> methodWithDefaultInterceptorsExcluded() {
+        List<String> list = new ArrayList<String>();
+        list.add("methodWithDefaultInterceptorsExcluded");
+        return list;
     }
 
     @AroundInvoke
-    private Object beanClassBusinessMethodInterceptor(InvocationContext ic) 
throws Exception {
-        return ic.proceed() + "-bean";
+    protected Object beanClassBusinessMethodInterceptor(InvocationContext ic) 
throws Exception {
+        return Utils.addClassSimpleName(ic, 
"beanClassBusinessMethodInterceptor");
     }
 }

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyInterceptedSuperClass.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyInterceptedSuperClass.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyInterceptedSuperClass.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/FullyInterceptedSuperClass.java
 Thu Dec 27 04:25:25 2007
@@ -21,7 +21,7 @@
 /**
  * @version $Rev$ $Date$
  */
[EMAIL PROTECTED]( { ClassLevelInterceptorSuperClassOne.class, 
ClassLevelInterceptorSuperClassTwo.class })
[EMAIL PROTECTED]({ClassLevelInterceptorSuperClassOne.class, 
ClassLevelInterceptorSuperClassTwo.class})
 public class FullyInterceptedSuperClass {
 
 }

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOne.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOne.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOne.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOne.java
 Thu Dec 27 04:25:25 2007
@@ -23,8 +23,9 @@
  * @version $Rev$ $Date$
  */
 public class MethodLevelInterceptorOne {
+
     @AroundInvoke
-    private Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
-        return ic.proceed() + "-methodone";
+    protected Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
+        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
     }
 }

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorTwo.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorTwo.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorTwo.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorTwo.java
 Thu Dec 27 04:25:25 2007
@@ -23,8 +23,9 @@
  * @version $Rev$ $Date$
  */
 public class MethodLevelInterceptorTwo {
+
     @AroundInvoke
-    private Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
-        return ic.proceed() + "-methodtwo";
+    protected Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
+        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
     }
 }

Added: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SecondStatelessInterceptedBean.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SecondStatelessInterceptedBean.java?rev=607052&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SecondStatelessInterceptedBean.java
 (added)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SecondStatelessInterceptedBean.java
 Thu Dec 27 04:25:25 2007
@@ -0,0 +1,45 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.superbiz.interceptors;
+
+import javax.ejb.Stateless;
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.Interceptors;
+import javax.interceptor.InvocationContext;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @version $Rev: 601953 $ $Date: 2007-12-07 02:09:47 +0100 (Fri, 07 Dec 2007) 
$
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED]({ClassLevelInterceptorOne.class, 
ClassLevelInterceptorTwo.class})
+public class SecondStatelessInterceptedBean implements 
SecondStatelessInterceptedLocal {
+
+    @Interceptors({MethodLevelInterceptorOne.class, 
MethodLevelInterceptorTwo.class})
+    public List<String> methodWithDefaultInterceptorsExcluded() {
+        List<String> list = new ArrayList<String>();
+        list.add("methodWithDefaultInterceptorsExcluded");
+        return list;
+
+    }
+
+    @AroundInvoke
+    protected Object beanClassBusinessMethodInterceptor(InvocationContext ic) 
throws Exception {
+        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
+    }
+}

Added: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SecondStatelessInterceptedLocal.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SecondStatelessInterceptedLocal.java?rev=607052&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SecondStatelessInterceptedLocal.java
 (added)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SecondStatelessInterceptedLocal.java
 Thu Dec 27 04:25:25 2007
@@ -0,0 +1,26 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.superbiz.interceptors;
+
+import java.util.List;
+
+/**
+ * @version $Rev: 601953 $ $Date: 2007-12-07 02:09:47 +0100 (Fri, 07 Dec 2007) 
$
+ */
+public interface SecondStatelessInterceptedLocal {
+    List<String> methodWithDefaultInterceptorsExcluded();
+}

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SuperClassOfClassLevelInterceptor.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SuperClassOfClassLevelInterceptor.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SuperClassOfClassLevelInterceptor.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/SuperClassOfClassLevelInterceptor.java
 Thu Dec 27 04:25:25 2007
@@ -16,6 +16,7 @@
  */
 package org.superbiz.interceptors;
 
+import javax.annotation.PostConstruct;
 import javax.interceptor.AroundInvoke;
 import javax.interceptor.InvocationContext;
 
@@ -23,9 +24,14 @@
  * @version $Rev$ $Date$
  */
 public class SuperClassOfClassLevelInterceptor {
+
     @AroundInvoke
-    private Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
-        return ic.proceed() + "-superclassclasslevel";
+    protected Object businessMethodInterceptor(InvocationContext ic) throws 
Exception {
+        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
     }
 
+    @PostConstruct
+    protected void postConstructInterceptor(InvocationContext ic) throws 
Exception {
+        Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
+    }
 }

Added: 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/Utils.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/Utils.java?rev=607052&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/Utils.java
 (added)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/Utils.java
 Thu Dec 27 04:25:25 2007
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.superbiz.interceptors;
+
+import javax.interceptor.InvocationContext;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @version $Rev: 601953 $ $Date: 2007-12-07 02:09:47 +0100 (Fri, 07 Dec 2007) 
$
+ */
+public class Utils {
+
+    public static List<String> addClassSimpleName(InvocationContext ic, String 
classSimpleName) throws Exception {
+        List<String> list = new ArrayList<String>();
+        list.add(classSimpleName);
+        List<String> listOfStrings = (List<String>) ic.proceed();
+        if (listOfStrings != null) {
+            list.addAll(listOfStrings);
+        }
+        return list;
+    }
+
+}

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/main/resources/META-INF/ejb-jar.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/resources/META-INF/ejb-jar.xml?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/main/resources/META-INF/ejb-jar.xml
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/main/resources/META-INF/ejb-jar.xml
 Thu Dec 27 04:25:25 2007
@@ -8,7 +8,7 @@
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at
   
-  http://www.apache.org/licenses/LICENSE-2.0
+    http://www.apache.org/licenses/LICENSE-2.0
   
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,9 +19,10 @@
 
 <!-- $Rev$ $Date$ -->
 
-<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd";
-  version="3.0">
+<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd";
+         version="3.0">
   <interceptors>
     <interceptor>
       
<interceptor-class>org.superbiz.interceptors.DefaultInterceptorOne</interceptor-class>
@@ -33,7 +34,22 @@
   <assembly-descriptor>
     <interceptor-binding>
       <ejb-name>*</ejb-name>
-      
<interceptor-class>org.superbiz.interceptors.InterceptorBindingEjbJarInterceptor</interceptor-class>
+      
<interceptor-class>org.superbiz.interceptors.DefaultInterceptorOne</interceptor-class>
+    </interceptor-binding>
+    <interceptor-binding>
+      <ejb-name>*</ejb-name>
+      
<interceptor-class>org.superbiz.interceptors.DefaultInterceptorTwo</interceptor-class>
+    </interceptor-binding>
+    <interceptor-binding>
+      <ejb-name>FullyInterceptedBean</ejb-name>
+      <exclude-default-interceptors>true</exclude-default-interceptors>
+      <method>
+        <method-name>methodWithDefaultInterceptorsExcluded</method-name>
+      </method>
+    </interceptor-binding>
+    <interceptor-binding>
+      <ejb-name>SecondStatelessInterceptedBean</ejb-name>
+      <exclude-default-interceptors>true</exclude-default-interceptors>
     </interceptor-binding>
   </assembly-descriptor>
 </ejb-jar>

Modified: 
openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/FullyInterceptedTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/FullyInterceptedTest.java?rev=607052&r1=607051&r2=607052&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/FullyInterceptedTest.java
 (original)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/FullyInterceptedTest.java
 Thu Dec 27 04:25:25 2007
@@ -17,6 +17,8 @@
 package org.superbiz.interceptors;
 
 import java.util.Properties;
+import java.util.List;
+import java.util.ArrayList;
 
 import javax.naming.Context;
 import javax.naming.InitialContext;
@@ -38,29 +40,57 @@
     public void setUp() throws Exception {
         Properties properties = new Properties();
         properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
-        properties.setProperty("openejb.deployments.classpath.include", 
".*interceptors.*");
+        properties.setProperty("openejb.deployments.classpath.include", 
".*interceptors/target/classes.*");
 
         initCtx = new InitialContext(properties);
     }
 
     @Test
     public void testBusinessMethod() throws Exception {
+
         FullyIntercepted fullyIntercepted = (FullyIntercepted) 
initCtx.lookup("FullyInterceptedBeanLocal");
 
-        assertNotNull(fullyIntercepted);
+        assert fullyIntercepted != null;
 
-        // messages in reverse invocation order
-        // TODO: Almost 6 interceptors are not executed;
-        String expected = 
"businessMethod-bean-methodtwo-methodone-classtwo-classone";
+        List<String> expected = new ArrayList<String>();
+        expected.add("DefaultInterceptorOne");
+        expected.add("DefaultInterceptorTwo");
+        expected.add("ClassLevelInterceptorSuperClassOne");
+        expected.add("ClassLevelInterceptorSuperClassTwo");
+        expected.add("ClassLevelInterceptorOne");
+        expected.add("ClassLevelInterceptorTwo");
+        expected.add("MethodLevelInterceptorOne");
+        expected.add("MethodLevelInterceptorTwo");
+        expected.add("beanClassBusinessMethodInterceptor");
+        expected.add("businessMethod");
 
-        String actual = fullyIntercepted.businessMethod();
-        assert expected.equals(actual) : "Expected \"" + expected + "\", but 
got \"" + actual + "\"";
+        List<String> actual = fullyIntercepted.businessMethod();
+        assert expected.equals(actual) : "Expected " + expected + ", but got " 
+ actual;
+    }
 
+    @Test
+    public void testMethodWithDefaultInterceptorsExcluded() throws Exception {
+
+        FullyIntercepted fullyIntercepted = (FullyIntercepted) 
initCtx.lookup("FullyInterceptedBeanLocal");
+
+        assert fullyIntercepted != null;
+
+        List<String> expected = new ArrayList<String>();
+        expected.add("ClassLevelInterceptorSuperClassOne");
+        expected.add("ClassLevelInterceptorSuperClassTwo");
+        expected.add("ClassLevelInterceptorOne");
+        expected.add("ClassLevelInterceptorTwo");
+        expected.add("MethodLevelInterceptorOne");
+        expected.add("MethodLevelInterceptorTwo");
+        expected.add("beanClassBusinessMethodInterceptor");
+        expected.add("methodWithDefaultInterceptorsExcluded");
+
+        List<String> actual = 
fullyIntercepted.methodWithDefaultInterceptorsExcluded();
+        assert expected.equals(actual) : "Expected " + expected + ", but got " 
+ actual;
     }
 
     @After
     public void tearDown() throws Exception {
         initCtx.close();
     }
-
 }

Added: 
openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/SecondStatelessInterceptedTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/SecondStatelessInterceptedTest.java?rev=607052&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/SecondStatelessInterceptedTest.java
 (added)
+++ 
openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/SecondStatelessInterceptedTest.java
 Thu Dec 27 04:25:25 2007
@@ -0,0 +1,43 @@
+package org.superbiz.interceptors;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+public class SecondStatelessInterceptedTest {
+
+    private InitialContext initCtx;
+
+    @Before
+    public void setUp() throws Exception {
+        Properties properties = new Properties();
+        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
+        properties.setProperty("openejb.deployments.classpath.include", 
".*interceptors/target/classes.*");
+
+        initCtx = new InitialContext(properties);
+    }
+
+    @Test
+    public void testMethodWithDefaultInterceptorsExcluded() throws Exception {
+        SecondStatelessInterceptedLocal bean =
+                (SecondStatelessInterceptedLocal) 
initCtx.lookup("SecondStatelessInterceptedBeanLocal");
+
+        assert bean != null;
+
+        List<String> expected = new ArrayList<String>();
+        expected.add("ClassLevelInterceptorOne");
+        expected.add("ClassLevelInterceptorTwo");
+        expected.add("MethodLevelInterceptorOne");
+        expected.add("MethodLevelInterceptorTwo");
+        expected.add("SecondStatelessInterceptedBean");
+        expected.add("methodWithDefaultInterceptorsExcluded");
+
+        List<String> actual = bean.methodWithDefaultInterceptorsExcluded();
+        assert expected.equals(actual) : "Expected " + expected + ", but got " 
+ actual;
+    }
+}


Reply via email to