neilg 2003/01/07 14:23:48 Modified: java/src/org/apache/xerces/parsers AbstractSAXParser.java DOMParser.java DOMBuilderImpl.java XMLParser.java Log: Fix a JAXP TCK failure. Now, whenever an EntityResolver needs to be set on one of our parsers, the corresponding configuration's setProperty method is called instead of its setEntityResolver method as had formerly been the case. This allows the new resolver to be passed to all registered components; BasicParserConfiguration's setEntityResolver method does not exhibit this behaviour. REVISIT: BasicParserConfiguration's setEntityResolver (and setErrorHander) methods *should* in all likelihood exhibit this behaviour... Revision Changes Path 1.37 +4 -3 xml-xerces/java/src/org/apache/xerces/parsers/AbstractSAXParser.java Index: AbstractSAXParser.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/AbstractSAXParser.java,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- AbstractSAXParser.java 19 Dec 2002 19:17:37 -0000 1.36 +++ AbstractSAXParser.java 7 Jan 2003 22:23:47 -0000 1.37 @@ -1151,7 +1151,8 @@ public void setEntityResolver(EntityResolver resolver) { try { - fConfiguration.setEntityResolver(new EntityResolverWrapper(resolver)); + fConfiguration.setProperty(ENTITY_RESOLVER, + new EntityResolverWrapper(resolver)); } catch (XMLConfigurationException e) { // do nothing @@ -1171,7 +1172,7 @@ EntityResolver entityResolver = null; try { XMLEntityResolver xmlEntityResolver = - (XMLEntityResolver)fConfiguration.getEntityResolver(); + (XMLEntityResolver)fConfiguration.getProperty(ENTITY_RESOLVER); if (xmlEntityResolver != null && xmlEntityResolver instanceof EntityResolverWrapper) { entityResolver = ((EntityResolverWrapper)xmlEntityResolver).getEntityResolver(); 1.65 +5 -4 xml-xerces/java/src/org/apache/xerces/parsers/DOMParser.java Index: DOMParser.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/DOMParser.java,v retrieving revision 1.64 retrieving revision 1.65 diff -u -r1.64 -r1.65 --- DOMParser.java 11 Dec 2002 16:14:31 -0000 1.64 +++ DOMParser.java 7 Jan 2003 22:23:47 -0000 1.65 @@ -2,7 +2,7 @@ * The Apache Software License, Version 1.1 * * - * Copyright (c) 2000-2002 The Apache Software Foundation. All rights + * Copyright (c) 2000-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -301,7 +301,8 @@ public void setEntityResolver(EntityResolver resolver) { try { - fConfiguration.setEntityResolver( new EntityResolverWrapper(resolver)); + fConfiguration.setProperty(ENTITY_RESOLVER, + new EntityResolverWrapper(resolver)); } catch (XMLConfigurationException e) { // do nothing @@ -321,7 +322,7 @@ EntityResolver entityResolver = null; try { XMLEntityResolver xmlEntityResolver = - (XMLEntityResolver)fConfiguration.getEntityResolver(); + (XMLEntityResolver)fConfiguration.getProperty(ENTITY_RESOLVER); if (xmlEntityResolver != null && xmlEntityResolver instanceof EntityResolverWrapper) { entityResolver = ((EntityResolverWrapper)xmlEntityResolver).getEntityResolver(); 1.27 +4 -4 xml-xerces/java/src/org/apache/xerces/parsers/DOMBuilderImpl.java Index: DOMBuilderImpl.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/DOMBuilderImpl.java,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- DOMBuilderImpl.java 31 Dec 2002 01:55:06 -0000 1.26 +++ DOMBuilderImpl.java 7 Jan 2003 22:23:47 -0000 1.27 @@ -2,7 +2,7 @@ * The Apache Software License, Version 1.1 * * - * Copyright (c) 2000-2002 The Apache Software Foundation. All rights + * Copyright (c) 2000-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -403,7 +403,7 @@ else if (name.equals(Constants.DOM_ENTITY_RESOLVER)) { if (value instanceof DOMEntityResolver) { try { - fConfiguration.setEntityResolver(new DOMEntityResolverWrapper((DOMEntityResolver) value)); + fConfiguration.setProperty(ENTITY_RESOLVER, new DOMEntityResolverWrapper((DOMEntityResolver) value)); } catch (XMLConfigurationException e) {} } @@ -564,7 +564,7 @@ else if (name.equals(Constants.DOM_ENTITY_RESOLVER)) { try { XMLEntityResolver entityResolver = - (XMLEntityResolver) fConfiguration.getEntityResolver(); + (XMLEntityResolver) fConfiguration.getProperty(ENTITY_RESOLVER); if (entityResolver != null && entityResolver instanceof DOMEntityResolverWrapper) { return ((DOMEntityResolverWrapper) entityResolver).getEntityResolver(); 1.8 +6 -2 xml-xerces/java/src/org/apache/xerces/parsers/XMLParser.java Index: XMLParser.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/XMLParser.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- XMLParser.java 11 Dec 2002 16:14:31 -0000 1.7 +++ XMLParser.java 7 Jan 2003 22:23:47 -0000 1.8 @@ -2,7 +2,7 @@ * The Apache Software License, Version 1.1 * * - * Copyright (c) 1999-2002 The Apache Software Foundation. + * Copyright (c) 1999-2003 The Apache Software Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -95,6 +95,9 @@ // properties + /** Property identifier: entity resolver. */ + protected static final String ENTITY_RESOLVER = + Constants.XERCES_PROPERTY_PREFIX + Constants.ENTITY_RESOLVER_PROPERTY; /** Property identifier: error handler. */ protected static final String ERROR_HANDLER = @@ -102,6 +105,7 @@ /** Recognized properties. */ private static final String[] RECOGNIZED_PROPERTIES = { + ENTITY_RESOLVER, ERROR_HANDLER, };
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]