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);
}
}