Return-Path: Delivered-To: apmail-openejb-commits-archive@www.apache.org Received: (qmail 35296 invoked from network); 4 Jan 2010 23:35:59 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 4 Jan 2010 23:35:59 -0000 Received: (qmail 96214 invoked by uid 500); 4 Jan 2010 23:35:59 -0000 Delivered-To: apmail-openejb-commits-archive@openejb.apache.org Received: (qmail 96166 invoked by uid 500); 4 Jan 2010 23:35:59 -0000 Mailing-List: contact commits-help@openejb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openejb.apache.org Delivered-To: mailing list commits@openejb.apache.org Received: (qmail 96157 invoked by uid 99); 4 Jan 2010 23:35:59 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Jan 2010 23:35:59 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Jan 2010 23:35:47 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 8299A2388906; Mon, 4 Jan 2010 23:35:26 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r895825 - in /openejb/trunk/openejb3/examples/interceptors/src: main/java/org/superbiz/interceptors/ test/java/org/superbiz/interceptors/ Date: Mon, 04 Jan 2010 23:35:24 -0000 To: commits@openejb.apache.org From: jlaskowski@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100104233526.8299A2388906@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jlaskowski Date: Mon Jan 4 23:35:22 2010 New Revision: 895825 URL: http://svn.apache.org/viewvc?rev=895825&view=rev Log: Using Generics in EJBs as described in [1] works, but it's a workaround. The changes are to showcase it. We should be really support generics in business interfaces. Reported as https://issues.apache.org/jira/browse/OPENEJB-1128 [1] http://download.oracle.com/docs/cd/E11035_01/wls100/ejb30/implementing.html#wp1129878 Modified: openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyIntf.java openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyParent.java openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlySLSBean.java openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyTest.java Modified: openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyIntf.java URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyIntf.java?rev=895825&r1=895824&r2=895825&view=diff ============================================================================== --- openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyIntf.java (original) +++ openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyIntf.java Mon Jan 4 23:35:22 2010 @@ -16,9 +16,9 @@ */ package org.superbiz.interceptors; -import javax.persistence.Entity; +import java.io.Serializable; import java.util.List; -public interface MethodLevelInterceptorOnlyIntf { - public List makePersistent(Entity entity); +public interface MethodLevelInterceptorOnlyIntf { + public List makePersistent(T entity); } Modified: openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyParent.java URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyParent.java?rev=895825&r1=895824&r2=895825&view=diff ============================================================================== --- openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyParent.java (original) +++ openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyParent.java Mon Jan 4 23:35:22 2010 @@ -16,12 +16,9 @@ */ package org.superbiz.interceptors; -import javax.persistence.Entity; import java.util.List; -public class MethodLevelInterceptorOnlyParent implements MethodLevelInterceptorOnlyIntf { +public interface MethodLevelInterceptorOnlyParent extends MethodLevelInterceptorOnlyIntf { - public List makePersistent(Entity entity) { - return null; - } + public List makePersistent(String entity); } Modified: openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlySLSBean.java URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlySLSBean.java?rev=895825&r1=895824&r2=895825&view=diff ============================================================================== --- openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlySLSBean.java (original) +++ openejb/trunk/openejb3/examples/interceptors/src/main/java/org/superbiz/interceptors/MethodLevelInterceptorOnlySLSBean.java Mon Jan 4 23:35:22 2010 @@ -18,19 +18,16 @@ import javax.ejb.Local; import javax.ejb.Stateless; -import javax.interceptor.ExcludeDefaultInterceptors; import javax.interceptor.Interceptors; -import javax.persistence.Entity; import java.util.ArrayList; import java.util.List; -@Local(MethodLevelInterceptorOnlyIntf.class) +@Local(MethodLevelInterceptorOnlyParent.class) @Stateless -public class MethodLevelInterceptorOnlySLSBean extends MethodLevelInterceptorOnlyParent implements MethodLevelInterceptorOnlyIntf { +public class MethodLevelInterceptorOnlySLSBean implements MethodLevelInterceptorOnlyParent { - @Override @Interceptors(MethodLevelInterceptorOne.class) - public List makePersistent(Entity entity) { + public List makePersistent(String entity) { List list = new ArrayList(); list.add("makePersistent"); return list; Modified: openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyTest.java URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyTest.java?rev=895825&r1=895824&r2=895825&view=diff ============================================================================== --- openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyTest.java (original) +++ openejb/trunk/openejb3/examples/interceptors/src/test/java/org/superbiz/interceptors/MethodLevelInterceptorOnlyTest.java Mon Jan 4 23:35:22 2010 @@ -42,8 +42,8 @@ } @Test - public void testMethodWithDefaultInterceptorsExcluded() throws Exception { - MethodLevelInterceptorOnlyIntf bean = (MethodLevelInterceptorOnlyIntf) initCtx.lookup("MethodLevelInterceptorOnlySLSBeanLocal"); + public void testInterceptedGenerifiedBusinessIntfMethod() throws Exception { + MethodLevelInterceptorOnlyParent bean = (MethodLevelInterceptorOnlyParent) initCtx.lookup("MethodLevelInterceptorOnlySLSBeanLocal"); assert bean != null;