first commit
This commit is contained in:
46
hrmsEjb/net/sf/jasperreports/engine/xml/JRXmlDigester.java
Normal file
46
hrmsEjb/net/sf/jasperreports/engine/xml/JRXmlDigester.java
Normal file
@@ -0,0 +1,46 @@
|
||||
package net.sf.jasperreports.engine.xml;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import org.apache.commons.digester.Digester;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.XMLReader;
|
||||
|
||||
public class JRXmlDigester extends Digester {
|
||||
public JRXmlDigester() {}
|
||||
|
||||
public JRXmlDigester(XMLReader xmlReader) {
|
||||
super(xmlReader);
|
||||
}
|
||||
|
||||
public InputSource resolveEntity(String pubId, String systemId) {
|
||||
InputSource inputSource = null;
|
||||
if (systemId != null) {
|
||||
InputStream is;
|
||||
String dtd = null;
|
||||
if ("http://jasperreports.sourceforge.net/dtds/jasperreport.dtd".equals(systemId)) {
|
||||
dtd = "net/sf/jasperreports/engine/dtds/jasperreport.dtd";
|
||||
} else if ("http://jasperreports.sourceforge.net/dtds/jasperprint.dtd".equals(systemId)) {
|
||||
dtd = "net/sf/jasperreports/engine/dtds/jasperprint.dtd";
|
||||
} else if ("http://jasperreports.sourceforge.net/dtds/jaspertemplate.dtd".equals(systemId)) {
|
||||
dtd = "net/sf/jasperreports/engine/dtds/jaspertemplate.dtd";
|
||||
} else {
|
||||
return new InputSource(systemId);
|
||||
}
|
||||
ClassLoader clsLoader = Thread.currentThread().getContextClassLoader();
|
||||
URL url = null;
|
||||
if (clsLoader != null)
|
||||
url = clsLoader.getResource(dtd);
|
||||
if (url == null)
|
||||
clsLoader = JRXmlDigester.class.getClassLoader();
|
||||
if (clsLoader == null) {
|
||||
is = JRXmlDigester.class.getResourceAsStream("/" + dtd);
|
||||
} else {
|
||||
is = clsLoader.getResourceAsStream(dtd);
|
||||
}
|
||||
if (is != null)
|
||||
inputSource = new InputSource(is);
|
||||
}
|
||||
return inputSource;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user