You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by he...@apache.org on 2004/09/04 17:37:59 UTC
cvs commit: ws-axis/contrib/ews/src/org/apache/geronimo/ews/ws4j2ee/utils EWSUtils.java
hemapani 2004/09/04 08:37:59
Modified: contrib/ews/test/org/apache/geronimo/ews/ws4j2ee
EJBDDTest.java AntExecuterTest.java
contrib/ews/src/org/apache/geronimo/ews/ws4j2ee/parsers
WebDDParser.java DomEJBDDParser.java
ServiceReferanceParser.java
contrib/ews/test/org/apache/geronimo/ews/ws4j2ee/gbeans
SimpleGBeanTest.java
Added: contrib/ews/test/testData/math ejb-jar1.xml
contrib/ews/src/org/apache/geronimo/ews/ws4j2ee/utils
EWSUtils.java
Log:
fix the parsing ejb-jar.xml with DOCTYPE's and add a test case
Revision Changes Path
1.9 +60 -35 ws-axis/contrib/ews/test/org/apache/geronimo/ews/ws4j2ee/EJBDDTest.java
Index: EJBDDTest.java
===================================================================
RCS file: /home/cvs/ws-axis/contrib/ews/test/org/apache/geronimo/ews/ws4j2ee/EJBDDTest.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- EJBDDTest.java 2 Sep 2004 13:05:39 -0000 1.8
+++ EJBDDTest.java 4 Sep 2004 15:37:58 -0000 1.9
@@ -27,6 +27,7 @@
import org.apache.geronimo.ews.ws4j2ee.context.webservices.client.interfaces.ServiceReferanceContext;
import org.apache.geronimo.ews.ws4j2ee.context.webservices.server.interfaces.WSCFContext;
import org.apache.geronimo.ews.ws4j2ee.context.wsdl.WSDLContext;
+import org.apache.geronimo.ews.ws4j2ee.parsers.DomEJBDDParser;
import org.apache.geronimo.ews.ws4j2ee.parsers.EJBDDParser;
import org.apache.geronimo.ews.ws4j2ee.toWs.Ws4J2eeFactory;
@@ -34,6 +35,41 @@
* @author hemapani
*/
public class EJBDDTest extends AbstractTestCase{
+ private J2EEWebServiceContext con = new J2EEWebServiceContext() {
+ public WSDLContext getWSDLContext() {return null;}
+ public void setWSDLContext(WSDLContext wsdlcontext) {}
+ public WSCFContext getWSCFContext() {return null;}
+ public void setWSCFContext(WSCFContext wscfcontext) {}
+ public JaxRpcMapperContext getJAXRPCMappingContext() {return null;}
+ public void setJAXRPCMappingContext(JaxRpcMapperContext context) {}
+ public MiscInfo getMiscInfo() {return new MiscInfoImpl();}
+ public void setMiscInfo(MiscInfo info) {}
+ public void validate() {
+ }
+ public void setFactory(Ws4J2eeFactory factory){}
+ public Ws4J2eeFactory getFactory(){
+ return null;
+ }
+
+ public EJBContext getEJBDDContext(){
+ return null;
+ }
+ public void setEJBDDContext(EJBContext context){}
+
+ public WebContext getWebDDContext(){
+ return null;
+ }
+ public void setWebDDContext(WebContext context){}
+
+ public ServiceReferanceContext getServiceReferanceContext(int index){
+ return null;
+ }
+ public void addServiceReferanceContext(ServiceReferanceContext context){}
+ public int getServiceReferanceContextCount(){
+ return 0;
+ }
+ };
+
/**
* @param testName
*/
@@ -41,42 +77,8 @@
super(testName);
}
- public void testGoogleSample() throws Exception{
+ public void testMathSample() throws Exception{
try{
- J2EEWebServiceContext con = new J2EEWebServiceContext() {
- public WSDLContext getWSDLContext() {return null;}
- public void setWSDLContext(WSDLContext wsdlcontext) {}
- public WSCFContext getWSCFContext() {return null;}
- public void setWSCFContext(WSCFContext wscfcontext) {}
- public JaxRpcMapperContext getJAXRPCMappingContext() {return null;}
- public void setJAXRPCMappingContext(JaxRpcMapperContext context) {}
- public MiscInfo getMiscInfo() {return new MiscInfoImpl();}
- public void setMiscInfo(MiscInfo info) {}
- public void validate() {
- }
- public void setFactory(Ws4J2eeFactory factory){}
- public Ws4J2eeFactory getFactory(){
- return null;
- }
-
- public EJBContext getEJBDDContext(){
- return null;
- }
- public void setEJBDDContext(EJBContext context){}
-
- public WebContext getWebDDContext(){
- return null;
- }
- public void setWebDDContext(WebContext context){}
-
- public ServiceReferanceContext getServiceReferanceContext(int index){
- return null;
- }
- public void addServiceReferanceContext(ServiceReferanceContext context){}
- public int getServiceReferanceContextCount(){
- return 0;
- }
- };
EJBDDParser pars = new EJBDDParser(con);
pars.parse(new FileInputStream(
getTestFile(testDir+"testData/math/ejb-jar.xml")));
@@ -86,4 +88,27 @@
throw e;
}
}
+ public void testMathSampleWithDOM() throws Exception{
+ try{
+ DomEJBDDParser pars = new DomEJBDDParser(con);
+ pars.parse(new FileInputStream(
+ getTestFile(testDir+"testData/math/ejb-jar.xml")));
+ //Assert.assertEquals(con.getMiscInfo().getEjbName(),"MathFace");
+ }catch(Exception e){
+ e.printStackTrace();
+ throw e;
+ }
+ }
+ public void testMathSampleWithDOMWithDOCTYPE() throws Exception{
+ try{
+ DomEJBDDParser pars = new DomEJBDDParser(con);
+ pars.parse(new FileInputStream(
+ getTestFile(testDir+"testData/math/ejb-jar1.xml")));
+ //Assert.assertEquals(con.getMiscInfo().getEjbName(),"MathFace");
+ }catch(Exception e){
+ e.printStackTrace();
+ throw e;
+ }
+ }
+
}
1.5 +0 -3 ws-axis/contrib/ews/test/org/apache/geronimo/ews/ws4j2ee/AntExecuterTest.java
Index: AntExecuterTest.java
===================================================================
RCS file: /home/cvs/ws-axis/contrib/ews/test/org/apache/geronimo/ews/ws4j2ee/AntExecuterTest.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AntExecuterTest.java 2 Sep 2004 13:05:39 -0000 1.4
+++ AntExecuterTest.java 4 Sep 2004 15:37:58 -0000 1.5
@@ -19,11 +19,8 @@
import org.apache.geronimo.ews.AbstractTestCase;
import org.apache.geronimo.ews.ws4j2ee.utils.AntExecuter;
-import org.apache.geronimo.ews.ws4j2ee.utils.packager.ModulePackager;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Ant;
-import org.apache.tools.ant.taskdefs.Javac;
-import org.apache.tools.ant.types.Path;
/**
* @author hemapani
1.1 ws-axis/contrib/ews/test/testData/math/ejb-jar1.xml
Index: ejb-jar1.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<ejb-jar>
<display-name>math</display-name>
<enterprise-beans>
<session>
<display-name>BookQuoteService</display-name>
<ejb-name>MathFace</ejb-name>
<home>testData.math.MathFaceHome</home>
<remote>testData.math.MathFaceEJB</remote>
<ejb-class>testData.math.MathFaceImpl</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Bean</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
1.8 +2 -5 ws-axis/contrib/ews/src/org/apache/geronimo/ews/ws4j2ee/parsers/WebDDParser.java
Index: WebDDParser.java
===================================================================
RCS file: /home/cvs/ws-axis/contrib/ews/src/org/apache/geronimo/ews/ws4j2ee/parsers/WebDDParser.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- WebDDParser.java 2 Sep 2004 13:03:11 -0000 1.7
+++ WebDDParser.java 4 Sep 2004 15:37:58 -0000 1.8
@@ -18,12 +18,11 @@
import java.io.InputStream;
-import javax.xml.parsers.DocumentBuilderFactory;
-
import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
import org.apache.geronimo.ews.ws4j2ee.context.impl.WebDDContextImpl;
import org.apache.geronimo.ews.ws4j2ee.context.j2eeDD.WebContext;
import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.utils.EWSUtils;
import org.apache.geronimo.ews.ws4j2ee.utils.Utils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -56,9 +55,7 @@
public void parse(InputStream inputStream) throws GenerationFault {
try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- dbf.setNamespaceAware(true);
- Document doc = dbf.newDocumentBuilder().parse(inputStream);
+ Document doc = EWSUtils.createDocument(inputStream);
Element root = doc.getDocumentElement();
NodeList sevlele = root.getElementsByTagName("servlet");
if(sevlele.getLength()>0){
1.4 +2 -5 ws-axis/contrib/ews/src/org/apache/geronimo/ews/ws4j2ee/parsers/DomEJBDDParser.java
Index: DomEJBDDParser.java
===================================================================
RCS file: /home/cvs/ws-axis/contrib/ews/src/org/apache/geronimo/ews/ws4j2ee/parsers/DomEJBDDParser.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DomEJBDDParser.java 2 Sep 2004 13:03:11 -0000 1.3
+++ DomEJBDDParser.java 4 Sep 2004 15:37:58 -0000 1.4
@@ -18,12 +18,11 @@
import java.io.InputStream;
-import javax.xml.parsers.DocumentBuilderFactory;
-
import org.apache.geronimo.ews.ws4j2ee.context.J2EEWebServiceContext;
import org.apache.geronimo.ews.ws4j2ee.context.impl.EJBDDContextImpl;
import org.apache.geronimo.ews.ws4j2ee.context.j2eeDD.EJBContext;
import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.utils.EWSUtils;
import org.apache.geronimo.ews.ws4j2ee.utils.Utils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -44,9 +43,7 @@
public void parse(InputStream inputStream) throws GenerationFault {
try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- dbf.setNamespaceAware(true);
- Document doc = dbf.newDocumentBuilder().parse(inputStream);
+ Document doc = EWSUtils.createDocument(inputStream);
Element root = doc.getDocumentElement();
NodeList beaneles = root.getElementsByTagName("enterprise-beans");
if(beaneles.getLength()>0){
1.7 +2 -5 ws-axis/contrib/ews/src/org/apache/geronimo/ews/ws4j2ee/parsers/ServiceReferanceParser.java
Index: ServiceReferanceParser.java
===================================================================
RCS file: /home/cvs/ws-axis/contrib/ews/src/org/apache/geronimo/ews/ws4j2ee/parsers/ServiceReferanceParser.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ServiceReferanceParser.java 2 Sep 2004 13:03:11 -0000 1.6
+++ ServiceReferanceParser.java 4 Sep 2004 15:37:58 -0000 1.7
@@ -18,11 +18,10 @@
import java.io.InputStream;
-import javax.xml.parsers.DocumentBuilderFactory;
-
import org.apache.geronimo.ews.ws4j2ee.context.webservices.client.ServiceReferanceImpl;
import org.apache.geronimo.ews.ws4j2ee.context.webservices.client.interfaces.ServiceReferanceContext;
import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
+import org.apache.geronimo.ews.ws4j2ee.utils.EWSUtils;
import org.apache.geronimo.ews.ws4j2ee.utils.Utils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -52,9 +51,7 @@
public ServiceReferanceParser(InputStream inputStream) throws GenerationFault{
try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- dbf.setNamespaceAware(true);
- Document doc = dbf.newDocumentBuilder().parse(inputStream);
+ Document doc = EWSUtils.createDocument(inputStream);
Element root = doc.getDocumentElement();
Element serviceref = findServiceReferance(root);
if(serviceref != null)
1.2 +2 -5 ws-axis/contrib/ews/test/org/apache/geronimo/ews/ws4j2ee/gbeans/SimpleGBeanTest.java
Index: SimpleGBeanTest.java
===================================================================
RCS file: /home/cvs/ws-axis/contrib/ews/test/org/apache/geronimo/ews/ws4j2ee/gbeans/SimpleGBeanTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SimpleGBeanTest.java 27 Jun 2004 15:27:10 -0000 1.1
+++ SimpleGBeanTest.java 4 Sep 2004 15:37:58 -0000 1.2
@@ -24,8 +24,6 @@
import javax.enterprise.deploy.model.DDBean;
import javax.enterprise.deploy.model.DDBeanRoot;
import javax.enterprise.deploy.model.exceptions.DDBeanCreateException;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
import junit.framework.Assert;
import junit.framework.Test;
@@ -34,6 +32,7 @@
import org.apache.geronimo.deployment.tools.loader.WebDeployable;
import org.apache.geronimo.ews.AbstractTestCase;
import org.apache.geronimo.ews.ws4j2ee.parsers.gbeans.JARDeployable;
+import org.apache.geronimo.ews.ws4j2ee.utils.EWSUtils;
import org.w3c.dom.Document;
/**
@@ -101,10 +100,8 @@
ClassLoader rootCL = new URLClassLoader(new URL[] {url}, Thread.currentThread().getContextClassLoader());
URL descriptor = rootCL.getResource("META-INF/ejb-jar.xml");
System.out.println(descriptor);
- DocumentBuilder parser = null;
- parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputStream is = null;
is = descriptor.openStream();
- Document doc = parser.parse(is);
+ Document doc = EWSUtils.createDocument(is);
}
}
1.1 ws-axis/contrib/ews/src/org/apache/geronimo/ews/ws4j2ee/utils/EWSUtils.java
Index: EWSUtils.java
===================================================================
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.geronimo.ews.ws4j2ee.utils;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
import org.w3c.dom.Document;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
/**
* @author hemapani@opensource.lk
*/
public class EWSUtils {
public static Document createDocument(InputStream in)throws GenerationFault{
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(false);
dbf.setExpandEntityReferences(false);
DocumentBuilder db = dbf.newDocumentBuilder();
EntityResolver er = new EntityResolver() {
public InputSource resolveEntity(
String publicId,
String systemId)
throws SAXException, IOException {
InputStream is = null;
if("http://java.sun.com/dtd/ejb-jar_2_0.dtd".equalsIgnoreCase(systemId)){
return getInputSource(EWSUtils.class.getClassLoader().getResourceAsStream("ejb-jar_2_0.dtd"));
}else if("http://java.sun.com/dtd/web-app_2_3.dtd".equalsIgnoreCase(systemId))
return getInputSource(EWSUtils.class.getClassLoader().getResourceAsStream("web-app_2_3.dtd"));
return null;
}
private InputSource getInputSource(InputStream is)throws IOException{
if(is == null)
throw new IOException("error at the project set up can not find entity");
return new InputSource(is);
}
};
db.setEntityResolver(er);
return db.parse(in);
} catch (Exception e) {
throw GenerationFault.createGenerationFault(e);
}
}
}