User: juha    
  Date: 00/06/03 14:43:55

  Modified:    src/main/org/jboss/verifier/strategy EJBVerifier20.java
                        EJBVerifier11.java
  Added:       src/main/org/jboss/verifier/strategy AbstractVerifier.java
  Log:
  A couple of messages added, abstract verifier superclass.
  
  Revision  Changes    Path
  1.4       +3 -3      jboss/src/main/org/jboss/verifier/strategy/EJBVerifier20.java
  
  Index: EJBVerifier20.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/verifier/strategy/EJBVerifier20.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- EJBVerifier20.java        2000/06/03 17:49:32     1.3
  +++ EJBVerifier20.java        2000/06/03 21:43:55     1.4
  @@ -19,7 +19,7 @@
    * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    *
    * This package and its source code is available at www.jboss.org
  - * $Id: EJBVerifier20.java,v 1.3 2000/06/03 17:49:32 juha Exp $
  + * $Id: EJBVerifier20.java,v 1.4 2000/06/03 21:43:55 juha Exp $
    */
   
   
  @@ -50,10 +50,10 @@
    * @see     << OTHER RELATED CLASSES >>
    *
    * @author   Juha Lindfors   ([EMAIL PROTECTED])
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    * @since    JDK 1.3
    */
  -public class EJBVerifier20 implements VerificationStrategy {
  +public class EJBVerifier20 extends AbstractVerifier {
   
       /*
        * [TODO]   The EJB 1.1 verifier and EJB 2.0 verifier are going to share
  
  
  
  1.5       +14 -7     jboss/src/main/org/jboss/verifier/strategy/EJBVerifier11.java
  
  Index: EJBVerifier11.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/verifier/strategy/EJBVerifier11.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- EJBVerifier11.java        2000/06/03 17:49:32     1.4
  +++ EJBVerifier11.java        2000/06/03 21:43:55     1.5
  @@ -19,7 +19,7 @@
    * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    *
    * This package and its source code is available at www.jboss.org
  - * $Id: EJBVerifier11.java,v 1.4 2000/06/03 17:49:32 juha Exp $
  + * $Id: EJBVerifier11.java,v 1.5 2000/06/03 21:43:55 juha Exp $
    */
   
   
  @@ -53,10 +53,10 @@
    * @see     << OTHER RELATED CLASSES >>
    *
    * @author   Juha Lindfors ([EMAIL PROTECTED])
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
    * @since    JDK 1.3
    */
  -public class EJBVerifier11 implements VerificationStrategy {
  +public class EJBVerifier11 extends AbstractVerifier {
   
       private VerificationContext context      = null;
       private VerificationEventFactory factory = null;
  @@ -373,14 +373,21 @@
       private boolean hasEJBCreateMethod(Class c) {
       
           try {
  -            Method[] methods = c.getMethods();
  +            Method[] method = c.getMethods();
            
  -            for (int i = 0; i < methods.length; ++i) {
  +            for (int i = 0; i < method.length; ++i) {
               
  -                String name = methods[i].getName();
  +                String name = method[i].getName();
                   
                   if (name.equals(EJB_CREATE_METHOD))
  -                    return true;
  +                    // check the requirements for ejbCreate methods (spec 6.10.3)
  +                    // check for public modifier done by getMethods() call
  +                    // (it only returns public member methods)
  +                    if (!isStaticMember(method[i])
  +                            && !isFinalMember(method[i])
  +                            && hasVoidReturnType(method[i]))
  +                    
  +                        return true;
               }
           }
           catch (SecurityException e) {
  
  
  
  1.1                  jboss/src/main/org/jboss/verifier/strategy/AbstractVerifier.java
  
  Index: AbstractVerifier.java
  ===================================================================
  package org.jboss.verifier.strategy;
  
  /*
   * Class org.jboss.verifier.strategy.AbstractVerifier
   * Copyright (C) 2000  Juha Lindfors
   *
   * This program is free software; you can redistribute it and/or
   * modify it under the terms of the GNU General Public License
   * as published by the Free Software Foundation; either version 2
   * of the License, or (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU General Public License for more details.
   * 
   * You should have received a copy of the GNU General Public License
   * along with this program; if not, write to the Free Software
   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   *
   * This package and its source code is available at www.jboss.org
   * $Id: AbstractVerifier.java,v 1.1 2000/06/03 21:43:55 juha Exp $
   */
  
  // standard imports
  import java.lang.reflect.Member;
  import java.lang.reflect.Method;
  import java.lang.reflect.Modifier;
  
  
  // non-standard class dependencies
  
  
  /**
   * Abstract superclass for verifiers containing a bunch of useful methods.
   *
   * For more detailed documentation, refer to the
   * <a href="" << INSERT DOC LINK HERE >> </a>
   *
   * @see     org.jboss.verifier.strategy.VerificationStrategy
   *
   * @author    Juha Lindfors ([EMAIL PROTECTED])
   * @version $Revision: 1.1 $
   * @since     JDK 1.3
   */
  public abstract class AbstractVerifier implements VerificationStrategy {
  
      /*
       * checks if a class's member (method, constructor or field) has a 'static'
       * modifier.
       */
      public boolean isStaticMember(Member member) {
          
          if (member.getModifiers() == Modifier.STATIC)
              return true;
              
          return false;
      }
      
      /*
       * checks if a class's member (method, constructor or field) has a 'final'
       * modifier.
       */
      public boolean isFinalMember(Member member) {
          
          if (member.getModifiers() == Modifier.FINAL)
              return true;
              
          return false;
      }
      
      /*
       * checks if a method has a void return type
       */
      public boolean hasVoidReturnType(Method method) {
          
          return (method.getReturnType() == Void.TYPE);
      }
      
  }
  
  
  
  
  

Reply via email to