Files
HRMS/hrmsEjb/org/apache/xerces/util/EntityResolverWrapper.java
2025-07-28 13:56:49 +05:30

61 lines
2.2 KiB
Java

package org.apache.xerces.util;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import org.apache.xerces.xni.XMLResourceIdentifier;
import org.apache.xerces.xni.XNIException;
import org.apache.xerces.xni.parser.XMLEntityResolver;
import org.apache.xerces.xni.parser.XMLInputSource;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
public class EntityResolverWrapper implements XMLEntityResolver {
protected EntityResolver fEntityResolver;
public EntityResolverWrapper() {}
public EntityResolverWrapper(EntityResolver entityResolver) {
setEntityResolver(entityResolver);
}
public void setEntityResolver(EntityResolver entityResolver) {
this.fEntityResolver = entityResolver;
}
public EntityResolver getEntityResolver() {
return this.fEntityResolver;
}
public XMLInputSource resolveEntity(XMLResourceIdentifier resourceIdentifier) throws XNIException, IOException {
String pubId = resourceIdentifier.getPublicId();
String sysId = resourceIdentifier.getExpandedSystemId();
if (pubId == null && sysId == null)
return null;
if (this.fEntityResolver != null && resourceIdentifier != null)
try {
InputSource inputSource = this.fEntityResolver.resolveEntity(pubId, sysId);
if (inputSource != null) {
String publicId = inputSource.getPublicId();
String systemId = inputSource.getSystemId();
String baseSystemId = resourceIdentifier.getBaseSystemId();
InputStream byteStream = inputSource.getByteStream();
Reader charStream = inputSource.getCharacterStream();
String encoding = inputSource.getEncoding();
XMLInputSource xmlInputSource = new XMLInputSource(publicId, systemId, baseSystemId);
xmlInputSource.setByteStream(byteStream);
xmlInputSource.setCharacterStream(charStream);
xmlInputSource.setEncoding(encoding);
return xmlInputSource;
}
} catch (SAXException e) {
Exception ex = e.getException();
if (ex == null)
ex = e;
throw new XNIException(ex);
}
return null;
}
}