package org.jboss.mx.metadata;
import org.jboss.logging.Logger;
import org.jboss.mx.service.ServiceConstants;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import java.io.InputStream;
public class XMBeanEntityResolver
implements EntityResolver, ServiceConstants
{
private static final Logger log = Logger.getLogger(XMBeanEntityResolver.class);
public InputSource resolveEntity(String publicId, String systemId)
{
try
{
if (publicId.equals(PUBLIC_JBOSSMX_XMBEAN_DTD_1_0))
{
InputStream dtdStream = getClass().getResourceAsStream("/dtd/" + JBOSSMX_XMBEAN_DTD_1_0);
return new InputSource(dtdStream);
}
else if (publicId.equals(PUBLIC_JBOSSMX_XMBEAN_DTD_1_1))
{
InputStream dtdStream = getClass().getResourceAsStream("/dtd/" + JBOSSMX_XMBEAN_DTD_1_1);
return new InputSource(dtdStream);
}
else if (publicId.equals(PUBLIC_JBOSSMX_XMBEAN_DTD_1_2))
{
InputStream dtdStream = getClass().getResourceAsStream("/dtd/" + JBOSSMX_XMBEAN_DTD_1_2);
return new InputSource(dtdStream);
}
else
{
log.warn ("Cannot resolve entity: " + publicId);
}
}
catch (Exception ignore)
{
log.error ("Cannot load local entity resource for: " + publicId);
}
return null;
}
}