You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2004/02/12 09:19:27 UTC
cvs commit: incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ejb BaseEjbJarTest.java EjbValidator.java SessionBeanTests.java
djencks 2004/02/12 00:19:27
Modified: modules/core/src/java/org/apache/geronimo/validator
AbstractValidator.java ValidationContext.java
ValidationTest.java Validator.java
modules/core/src/java/org/apache/geronimo/validator/ejb
BaseEjbJarTest.java EjbValidator.java
SessionBeanTests.java
Log:
convert verifier framework to xmlbeans
Revision Changes Path
1.2 +16 -9 incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/AbstractValidator.java
Index: AbstractValidator.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/AbstractValidator.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractValidator.java 2 Sep 2003 17:04:19 -0000 1.1
+++ AbstractValidator.java 12 Feb 2004 08:19:27 -0000 1.2
@@ -56,15 +56,22 @@
package org.apache.geronimo.validator;
import java.io.PrintWriter;
-import java.util.*;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
-import java.lang.reflect.InvocationTargetException;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
import javax.enterprise.deploy.shared.ModuleType;
+
+import org.apache.commons.jxpath.JXPathContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.commons.jxpath.JXPathContext;
-import org.apache.geronimo.deployment.model.DeploymentDescriptor;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.SchemaType;
/**
* The base class for actual validators. Each validator groups all the tests
@@ -92,7 +99,7 @@
* @return <tt>true</tt>, since this implementation doesn't actually check
* anything.
*/
- public boolean initialize(PrintWriter out, String moduleName, ClassLoader loader, ModuleType type, DeploymentDescriptor[] standardDD, Object[] serverDD) {
+ public boolean initialize(PrintWriter out, String moduleName, ClassLoader loader, ModuleType type, XmlObject[] standardDD, Object[] serverDD) {
context = new ValidationContext(loader, moduleName, out, serverDD, standardDD, type);
return true;
}
@@ -117,8 +124,8 @@
Class[] classes = getTestClasses();
Map map = new HashMap();
for(int i = 0; i < context.standardDD.length; i++) {
- DeploymentDescriptor object = context.standardDD[i];
- map.put(object.getFileName(), object);
+ XmlObject object = context.standardDD[i];
+ map.put(object.schemaType(), object);
}
Set missing = new HashSet();
masterLoop:
@@ -129,7 +136,7 @@
}
try {
ValidationTest test = (ValidationTest)cls.newInstance();
- String dd = test.getStandardDDName();
+ SchemaType dd = test.getSchemaType();
String xpath = test.getXpath();
if(dd == null) { // Call this once per module
ValidationResult temp = executeTest(cls, test, context);
1.2 +6 -4 incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ValidationContext.java
Index: ValidationContext.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ValidationContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ValidationContext.java 2 Sep 2003 17:04:19 -0000 1.1
+++ ValidationContext.java 12 Feb 2004 08:19:27 -0000 1.2
@@ -56,8 +56,10 @@
package org.apache.geronimo.validator;
import java.io.PrintWriter;
+
import javax.enterprise.deploy.shared.ModuleType;
-import org.apache.geronimo.deployment.model.DeploymentDescriptor;
+
+import org.apache.xmlbeans.XmlObject;
/**
* Holds all the context information for the current validation process.
@@ -69,12 +71,12 @@
public final String moduleName;
public final ClassLoader loader;
public final ModuleType type;
- public final DeploymentDescriptor[] standardDD;
+ public final XmlObject[] standardDD;
public final Object[] serverDD;
private Object currentStandardDD;
private Object currentNode;
- public ValidationContext(ClassLoader loader, String moduleName, PrintWriter out, Object[] serverDD, DeploymentDescriptor[] standardDD, ModuleType type) {
+ public ValidationContext(ClassLoader loader, String moduleName, PrintWriter out, Object[] serverDD, XmlObject[] standardDD, ModuleType type) {
this.loader = loader;
this.moduleName = moduleName;
this.out = out;
1.2 +5 -3 incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ValidationTest.java
Index: ValidationTest.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ValidationTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ValidationTest.java 2 Sep 2003 17:04:19 -0000 1.1
+++ ValidationTest.java 12 Feb 2004 08:19:27 -0000 1.2
@@ -55,6 +55,8 @@
*/
package org.apache.geronimo.validator;
+import org.apache.xmlbeans.SchemaType;
+
/**
* The base class for all validation tests. They will work similarly to JUnit
* tests, in that any method beginning with "test" will be executed. The test
@@ -83,7 +85,7 @@
* as "ejb-jar.xml"), or <tt>null</tt> to be invoked with
* no particular DD context.
*/
- public abstract String getStandardDDName();
+ public abstract SchemaType getSchemaType();
/**
* Any given test class can be associated with a specific XPath in its
@@ -95,7 +97,7 @@
*
* @return An Xpath of interest to this test class, or <tt>null</tt> if
* the class should be invoked once on the entire deployment
- * descriptor or module. If getStandardDDName returns null,
+ * descriptor or module. If getSchemaType returns null,
* this method nust return null as well.
*/
public abstract String getXpath();
1.2 +5 -3 incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/Validator.java
Index: Validator.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/Validator.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Validator.java 2 Sep 2003 17:04:19 -0000 1.1
+++ Validator.java 12 Feb 2004 08:19:27 -0000 1.2
@@ -56,8 +56,10 @@
package org.apache.geronimo.validator;
import java.io.PrintWriter;
+
import javax.enterprise.deploy.shared.ModuleType;
-import org.apache.geronimo.deployment.model.DeploymentDescriptor;
+
+import org.apache.xmlbeans.XmlObject;
/**
* The main interface for all application validators. To use one, you
@@ -93,7 +95,7 @@
* validator does not handle this module type, the expected
* deployment descriptors are missing, etc.
*/
- public boolean initialize(PrintWriter out, String moduleName, ClassLoader loader, ModuleType type, DeploymentDescriptor[] standardDD, Object[] serverDD);
+ public boolean initialize(PrintWriter out, String moduleName, ClassLoader loader, ModuleType type, XmlObject[] standardDD, Object[] serverDD);
/**
*
1.2 +11 -9 incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ejb/BaseEjbJarTest.java
Index: BaseEjbJarTest.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ejb/BaseEjbJarTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BaseEjbJarTest.java 2 Sep 2003 17:04:20 -0000 1.1
+++ BaseEjbJarTest.java 12 Feb 2004 08:19:27 -0000 1.2
@@ -56,11 +56,13 @@
package org.apache.geronimo.validator.ejb;
import javax.enterprise.deploy.shared.ModuleType;
-import org.apache.geronimo.validator.ValidationTest;
-import org.apache.geronimo.validator.ValidationResult;
+
import org.apache.geronimo.validator.ValidationContext;
-import org.apache.geronimo.deployment.model.ejb.EjbJar;
-import org.apache.geronimo.deployment.model.ejb.EjbJarDocument;
+import org.apache.geronimo.validator.ValidationResult;
+import org.apache.geronimo.validator.ValidationTest;
+import org.apache.geronimo.xbeans.j2ee.EjbJarType;
+import org.apache.geronimo.xbeans.j2ee.EjbJarDocument;
+import org.apache.xmlbeans.SchemaType;
/**
* Barely worth having, but this implements one method to return the name of
@@ -70,17 +72,17 @@
* @version $Revision$ $Date$
*/
public abstract class BaseEjbJarTest extends ValidationTest {
- protected EjbJar ejbJar;
+ protected EjbJarType ejbJar;
- public String getStandardDDName() {
- return "ejb-jar.xml";
+ public SchemaType getSchemaType() {
+ return EjbJarDocument.type;
}
public ValidationResult initialize(ValidationContext context) {
if(context.type != ModuleType.EJB) {
return ValidationResult.FAILED;
} else {
- ejbJar = ((EjbJarDocument) context.getCurrentStandardDD()).getEjbJar();
+ ejbJar = ((org.apache.geronimo.xbeans.j2ee.EjbJarDocument) context.getCurrentStandardDD()).getEjbJar();
return ValidationResult.PASSED;
}
}
1.4 +6 -13 incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ejb/EjbValidator.java
Index: EjbValidator.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ejb/EjbValidator.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- EjbValidator.java 22 Jan 2004 08:47:26 -0000 1.3
+++ EjbValidator.java 12 Feb 2004 08:19:27 -0000 1.4
@@ -63,15 +63,11 @@
import java.net.URLClassLoader;
import javax.enterprise.deploy.shared.ModuleType;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import org.apache.geronimo.deployment.model.DeploymentDescriptor;
-import org.apache.geronimo.deployment.model.ejb.EjbJarDocument;
import org.apache.geronimo.validator.AbstractValidator;
import org.apache.geronimo.validator.Validator;
-import org.apache.geronimo.xml.deployment.EjbJarLoader;
-import org.w3c.dom.Document;
+import org.apache.geronimo.xbeans.j2ee.EjbJarDocument;
+import org.apache.xmlbeans.XmlObject;
/**
* The validator class for validating an EJB JAR. Right now just does enough
@@ -93,13 +89,10 @@
try {
ClassLoader loader = new URLClassLoader(new URL[]{new File(args[0]).toURL()});
InputStream in = loader.getResourceAsStream("META-INF/ejb-jar.xml");
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- Document doc = builder.parse(in);
- EjbJarLoader jarLoader = new EjbJarLoader();
- EjbJarDocument jar = jarLoader.load(doc);
+
+ EjbJarDocument jar = EjbJarDocument.Factory.parse(in);
Validator v =new EjbValidator();
- v.initialize(new PrintWriter(new OutputStreamWriter(System.out), true), args[0], loader, ModuleType.EJB, new DeploymentDescriptor[]{jar}, null);
+ v.initialize(new PrintWriter(new OutputStreamWriter(System.out), true), args[0], loader, ModuleType.EJB, new XmlObject[]{jar}, null);
System.out.println("Validation Result: "+v.validate());
} catch(Exception e) {
e.printStackTrace();
1.3 +6 -6 incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ejb/SessionBeanTests.java
Index: SessionBeanTests.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/validator/ejb/SessionBeanTests.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SessionBeanTests.java 17 Sep 2003 01:47:15 -0000 1.2
+++ SessionBeanTests.java 12 Feb 2004 08:19:27 -0000 1.3
@@ -60,7 +60,7 @@
import javax.ejb.SessionBean;
import org.apache.geronimo.validator.ValidationResult;
import org.apache.geronimo.validator.ValidationContext;
-import org.apache.geronimo.deployment.model.ejb.Session;
+import org.apache.geronimo.xbeans.j2ee.SessionBeanType;
/**
* Some basic tests for session beans. Right now this is not exhaustive, but
@@ -69,7 +69,7 @@
* @version $Revision$ $Date$
*/
public class SessionBeanTests extends BaseEjbJarTest {
- protected Session bean;
+ protected SessionBeanType bean;
/**
* Get called for each session bean element in the standard DD.
@@ -82,7 +82,7 @@
* Trap the actual bean to examine.
*/
public ValidationResult initialize(ValidationContext context) {
- bean = (Session) context.getCurrentNode();
+ bean = (SessionBeanType) context.getCurrentNode();
return super.initialize(context);
}
@@ -91,7 +91,7 @@
* criteria.
*/
public ValidationResult testBeanImplementationClass() {
- Class cls = loadClass(bean.getEJBClass(), "Session Bean Implementation Class");
+ Class cls = loadClass(bean.getEjbClass().getStringValue(), "Session Bean Implementation Class");
ValidationResult result = ValidationResult.PASSED;
if(!Modifier.isPublic(cls.getModifiers())) {
result = error("ejb.impl.not.public", result);
@@ -132,7 +132,7 @@
if(bean.getHome() == null) {
return result;
}
- Class cls = loadClass(bean.getHome(), "Session Bean Home Class");
+ Class cls = loadClass(bean.getHome().getStringValue(), "Session Bean Home Class");
if(!EJBHome.class.isAssignableFrom(cls)) {
result = error("ejb.home.wrong.superclass", result);
}