Update of /cvsroot/ejtools/applications/deployment/src/main/net/sourceforge/ejtools/deploy/xml
In directory usw-pr-cvs1:/tmp/cvs-serv11965/applications/deployment/src/main/net/sourceforge/ejtools/deploy/xml
Added Files:
DTDResolver.java
Log Message:
Initial Import
--- NEW FILE: DTDResolver.java ---
package net.sourceforge.ejtools.deploy.xml;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.IOException;
import java.util.Hashtable;
import org.xml.sax.InputSource;
import org.xml.sax.EntityResolver;
/**
* Description of the Class
*
* @author letiembl
* @created 13 décembre 2001
*/
public class DTDResolver implements EntityResolver
{
protected static Hashtable dtds = new Hashtable();
public DTDResolver() {
}
public InputSource resolveEntity (String publicId, String systemId)
{
byte[] data = (byte[])dtds.get(publicId);
if(data != null) {
return new InputSource(new ByteArrayInputStream(data));
} else {
}
return null;
}
static {
dtds.put("-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN", loadDTD("ejb-jar_1_1.dtd"));
dtds.put("-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN", loadDTD("ejb-jar_2_0.dtd"));
dtds.put("-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN", loadDTD("application_1_2.dtd"));
dtds.put("-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN", loadDTD("application_1_3.dtd"));
dtds.put("-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN", loadDTD("web-app_2_3.dtd"));
}
private static byte[] loadDTD(String name) {
InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
if(in == null) {
in = DTDResolver.class.getClassLoader().getResourceAsStream(name);
}
if(in != null) {
return loadBytes(in);
}
return null;
}
private static byte[] loadBytes(InputStream source) {
byte[] buf = new byte[1024];
try {
BufferedInputStream in = new BufferedInputStream(source);
ByteArrayOutputStream out = new ByteArrayOutputStream();
int count;
while((count = in.read(buf)) > -1)
out.write(buf, 0, count);
in.close();
out.close();
return out.toByteArray();
} catch(IOException e) {
return null;
}
}
}
|