Author: kmalhi
Date: Tue Jul 27 21:15:44 2010
New Revision: 979876

URL: http://svn.apache.org/viewvc?rev=979876&view=rev
Log:
OPENEJB-470
Enabled validation check only in strict mode

Modified:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
    
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/InvalidInterfacesTest.java

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=979876&r1=979875&r2=979876&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
 Tue Jul 27 21:15:44 2010
@@ -1797,19 +1797,23 @@ public class AnnotationDeployer implemen
                     } else {
                         Class[] superInterface = interfce.getInterfaces();
                         if (isLocal) {
-                          for (Class si : superInterface) {
-                            boolean present = 
si.isAnnotationPresent(Remote.class);
-                            if(present){
-                              validation.fail(ejbName, 
"ann.remoteOrLocal.converse.parent", 
interfce.getName(),"Local",si.getName(),"Remote");
+                          if (strict) {
+                            for (Class si : superInterface) {
+                              boolean present = 
si.isAnnotationPresent(Remote.class);
+                              if (present) {
+                                validation.fail(ejbName, 
"ann.remoteOrLocal.converse.parent", interfce.getName(), "Local", si.getName(), 
"Remote");
+                              }
                             }
                           }
                           implemented.local.add(interfce);
                         }
                         if (isRemote) {
-                          for (Class si : superInterface) {
-                            boolean present = 
si.isAnnotationPresent(Local.class);
-                            if(present){
-                              validation.fail(ejbName, 
"ann.remoteOrLocal.converse.parent", 
interfce.getName(),"Remote",si.getName(),"Local");
+                          if (strict) {
+                            for (Class si : superInterface) {
+                              boolean present = 
si.isAnnotationPresent(Local.class);
+                              if (present) {
+                                validation.fail(ejbName, 
"ann.remoteOrLocal.converse.parent", interfce.getName(), "Remote", 
si.getName(), "Local");
+                              }
                             }
                           }
                           implemented.remote.add(interfce);

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/InvalidInterfacesTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/InvalidInterfacesTest.java?rev=979876&r1=979875&r2=979876&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/InvalidInterfacesTest.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/InvalidInterfacesTest.java
 Tue Jul 27 21:15:44 2010
@@ -120,6 +120,7 @@ public class InvalidInterfacesTest {
     }
     @Keys({...@key(value="ann.remoteOrLocal.converse.parent",count=2)})
     public EjbJar test2(){
+      SystemInstance.get().setProperty("openejb.strict.interface.declaration", 
"true");
         EjbJar ejbJar = new EjbJar();
         ejbJar.addEnterpriseBean(new StatelessBean(EBean.class));
         ejbJar.addEnterpriseBean(new StatelessBean(FBean.class));


Reply via email to