Commit acdf61e1 by Tom Tromey

Reverted erroneous commit

From-SVN: r96966
parent 5fb0e509
...@@ -60,38 +60,35 @@ import javax.xml.parsers.SAXParserFactory; ...@@ -60,38 +60,35 @@ import javax.xml.parsers.SAXParserFactory;
* *
* @author David Brownell * @author David Brownell
*/ */
public final class JAXPFactory public final class JAXPFactory extends SAXParserFactory
extends SAXParserFactory
{ {
private Hashtable flags = new Hashtable ();
private Hashtable flags = new Hashtable();
/** /**
* Constructs a factory which normally returns a non-validating * Constructs a factory which normally returns a non-validating
* parser. * parser.
*/ */
public JAXPFactory() public JAXPFactory () { }
{
}
public SAXParser newSAXParser() public SAXParser newSAXParser ()
throws ParserConfigurationException, SAXException throws ParserConfigurationException, SAXException
{ {
JaxpParser jaxp = new JaxpParser(); JaxpParser jaxp = new JaxpParser ();
Enumeration e = flags.keys(); Enumeration e = flags.keys ();
XMLReader parser = jaxp.getXMLReader(); XMLReader parser = jaxp.getXMLReader ();
parser.setFeature(SAXDriver.FEATURE + "namespaces", parser.setFeature (
isNamespaceAware()); SAXDriver.FEATURE + "namespaces",
parser.setFeature(SAXDriver.FEATURE + "validation", isNamespaceAware ());
isValidating()); parser.setFeature (
SAXDriver.FEATURE + "validation",
isValidating ());
// that makes SAX2 feature flags trump JAXP // that makes SAX2 feature flags trump JAXP
while (e.hasMoreElements()) while (e.hasMoreElements ()) {
{ String uri = (String) e.nextElement ();
String uri = (String) e.nextElement(); Boolean value = (Boolean) flags.get (uri);
Boolean value = (Boolean) flags.get(uri); parser.setFeature (uri, value.booleanValue ());
parser.setFeature(uri, value.booleanValue());
} }
return jaxp; return jaxp;
...@@ -99,133 +96,101 @@ public final class JAXPFactory ...@@ -99,133 +96,101 @@ public final class JAXPFactory
// yes, this "feature transfer" mechanism doesn't play well // yes, this "feature transfer" mechanism doesn't play well
public void setFeature(String name, boolean value) public void setFeature (String name, boolean value)
throws ParserConfigurationException, SAXNotRecognizedException, throws
ParserConfigurationException,
SAXNotRecognizedException,
SAXNotSupportedException SAXNotSupportedException
{ {
try try {
{
// force "early" detection of errors where possible // force "early" detection of errors where possible
// (flags can't necessarily be set before parsing) // (flags can't necessarily be set before parsing)
new JaxpParser().getXMLReader().setFeature(name, value); new JaxpParser ().getXMLReader ().setFeature (name, value);
flags.put(name, new Boolean(value)); flags.put (name, new Boolean (value));
} } catch (SAXNotRecognizedException e) {
catch (SAXNotRecognizedException e) throw new SAXNotRecognizedException (name);
{ } catch (SAXNotSupportedException e) {
throw new SAXNotRecognizedException(name); throw new SAXNotSupportedException (name);
} } catch (Exception e) {
catch (SAXNotSupportedException e) throw new ParserConfigurationException (
{ e.getClass ().getName ()
throw new SAXNotSupportedException(name);
}
catch (Exception e)
{
throw new ParserConfigurationException(e.getClass().getName()
+ ": " + ": "
+ e.getMessage()); + e.getMessage ());
} }
} }
public boolean getFeature(String name) public boolean getFeature (String name)
throws ParserConfigurationException, SAXNotRecognizedException, throws
ParserConfigurationException,
SAXNotRecognizedException,
SAXNotSupportedException SAXNotSupportedException
{ {
Boolean value = (Boolean) flags.get(name); Boolean value = (Boolean) flags.get (name);
if (value != null) if (value != null)
{ return value.booleanValue ();
return value.booleanValue();
}
else else
{ try {
try return new JaxpParser ().getXMLReader ().getFeature (name);
{ } catch (SAXNotRecognizedException e) {
return new JaxpParser().getXMLReader().getFeature(name); throw new SAXNotRecognizedException (name);
} } catch (SAXNotSupportedException e) {
catch (SAXNotRecognizedException e) throw new SAXNotSupportedException (name);
{ } catch (SAXException e) {
throw new SAXNotRecognizedException(name); throw new ParserConfigurationException (
} e.getClass ().getName ()
catch (SAXNotSupportedException e)
{
throw new SAXNotSupportedException(name);
}
catch (SAXException e)
{
throw new ParserConfigurationException(e.getClass().getName()
+ ": " + ": "
+ e.getMessage()); + e.getMessage ());
}
} }
} }
private static class JaxpParser private static class JaxpParser extends SAXParser
extends SAXParser
{ {
private XmlReader ae2 = new XmlReader ();
private XmlReader ae2 = new XmlReader();
private XMLReaderAdapter parser = null; private XMLReaderAdapter parser = null;
JaxpParser() JaxpParser () { }
{
}
public void setProperty(String id, Object value) public void setProperty (String id, Object value)
throws SAXNotRecognizedException, SAXNotSupportedException throws SAXNotRecognizedException, SAXNotSupportedException
{ { ae2.setProperty (id, value); }
ae2.setProperty(id, value);
}
public Object getProperty(String id) public Object getProperty (String id)
throws SAXNotRecognizedException, SAXNotSupportedException throws SAXNotRecognizedException, SAXNotSupportedException
{ { return ae2.getProperty (id); }
return ae2.getProperty(id);
}
public Parser getParser() public Parser getParser ()
throws SAXException throws SAXException
{ {
if (parser == null) if (parser == null)
{ parser = new XMLReaderAdapter (ae2);
parser = new XMLReaderAdapter(ae2);
}
return parser; return parser;
} }
public XMLReader getXMLReader () public XMLReader getXMLReader ()
throws SAXException throws SAXException
{ { return ae2; }
return ae2;
}
public boolean isNamespaceAware() public boolean isNamespaceAware ()
{
try
{
return ae2.getFeature(SAXDriver.FEATURE + "namespaces");
}
catch (Exception e)
{ {
throw new Error(); try {
return ae2.getFeature (SAXDriver.FEATURE + "namespaces");
} catch (Exception e) {
throw new Error ();
} }
} }
public boolean isValidating() public boolean isValidating ()
{ {
try try {
{ return ae2.getFeature (SAXDriver.FEATURE + "validation");
return ae2.getFeature(SAXDriver.FEATURE + "validation"); } catch (Exception e) {
} throw new Error ();
catch (Exception e)
{
throw new Error();
} }
} }
// TODO isXIncludeAware() // TODO isXIncludeAware()
} }
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment