User: starksm
Date: 02/02/15 20:56:08
Modified: catalina/src/main/org/jboss/web/catalina
EmbeddedCatalinaServiceSX.java
Log:
Use org.jboss.metadata.XmlFileLoader to parse the web.xml and jboss-web.xml
descriptor and its local entity resolver.
Revision Changes Path
1.6 +6 -47
contrib/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSX.java
Index: EmbeddedCatalinaServiceSX.java
===================================================================
RCS file:
/cvsroot/jboss/contrib/catalina/src/main/org/jboss/web/catalina/EmbeddedCatalinaServiceSX.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- EmbeddedCatalinaServiceSX.java 15 Feb 2002 18:06:00 -0000 1.5
+++ EmbeddedCatalinaServiceSX.java 16 Feb 2002 04:56:08 -0000 1.6
@@ -22,8 +22,6 @@
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletContext;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -31,6 +29,7 @@
import org.xml.sax.InputSource;
import org.jboss.deployment.DeploymentException;
+import org.jboss.metadata.XmlFileLoader;
import org.jboss.security.SecurityDomain;
import org.jboss.web.AbstractWebContainer;
import org.jboss.web.AbstractWebContainer.WebDescriptorParser;
@@ -70,7 +69,7 @@
@see org.apache.catalina.startup.Embedded
@author [EMAIL PROTECTED]
- @version $Revision: 1.5 $
+ @version $Revision: 1.6 $
*/
public class EmbeddedCatalinaServiceSX extends AbstractWebContainer implements
EmbeddedCatalinaServiceSXMBean
{
@@ -527,17 +526,15 @@
}
// Apply any extended configuration to the context
- // Get the web-app.xml and jboss-web.xml deployment descriptors
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder parser = factory.newDocumentBuilder();
- parser.setEntityResolver(new LocalResolver());
- Document webDoc = parser.parse(stream);
+ // Get the web-app.xml and jboss-web.xml deployment descriptors
+ XmlFileLoader xmlLoader = new XmlFileLoader();
+ Document webDoc = xmlLoader.getDocument(stream, "/WEB-INF/web.xml");
Element web = webDoc.getDocumentElement();
Element jbossWeb = null;
stream = servletCtx.getResourceAsStream("/WEB-INF/jboss-web.xml");
if( stream != null )
{
- Document jbossWebDoc = parser.parse(stream);
+ Document jbossWebDoc = xmlLoader.getDocument(stream,
"/WEB-INF/jboss-web.xml");
jbossWeb = jbossWebDoc.getDocumentElement();
}
// Setup the wep app JNDI java:comp/env namespace
@@ -551,44 +548,6 @@
catch(Exception e)
{
log.error("Failed to setup web application ENC", e);
- }
- }
-
- /** An implementation of EntityResolver for the web.dtd and jboss-web.dtd
- */
- private class LocalResolver implements EntityResolver
- {
- private HashMap dtds = new HashMap();
-
- public LocalResolver()
- {
- dtds.put("-//JBoss//DTD Web Application 2.2//EN",
"org/jboss/metadata/jboss-web.dtd");
- dtds.put("-//JBoss//DTD Web Application 2.3//EN",
"org/jboss/metadata/jboss-web.dtd");
- dtds.put("-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN",
"javax/servlet/resources/web-app_2_2.dtd");
- dtds.put("-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN",
"javax/servlet/resources/web-app_2_3.dtd");
- }
-
- public InputSource resolveEntity(String publicId, String systemId)
- {
- String dtd = (String) dtds.get(publicId);
- InputSource is = null;
- if (dtd != null)
- {
- try
- {
- ClassLoader loader =
Thread.currentThread().getContextClassLoader();
- InputStream dtdStream = loader.getResourceAsStream(dtd);
- if( dtdStream == null )
- log.warn("Failed to find local dtd: "+dtd);
- else
- is = new InputSource(dtdStream);
- }
- catch(Exception ignore)
- {
- // ignore
- }
- }
- return is;
}
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development