donaldp 01/03/14 20:41:52 Modified: src/java/org/apache/avalon/configuration SAXConfigurationHandler.java Log: Made interface more useful if constructing configurations by hand. Revision Changes Path 1.2 +21 -12 jakarta-avalon/src/java/org/apache/avalon/configuration/SAXConfigurationHandler.java Index: SAXConfigurationHandler.java =================================================================== RCS file: /home/cvs/jakarta-avalon/src/java/org/apache/avalon/configuration/SAXConfigurationHandler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SAXConfigurationHandler.java 2001/02/24 04:00:14 1.1 +++ SAXConfigurationHandler.java 2001/03/15 04:41:52 1.2 @@ -29,6 +29,7 @@ protected final ArrayList m_elements = new ArrayList(); protected Configuration m_configuration; protected Locator m_locator; + protected String m_value; public Configuration getConfiguration() { @@ -52,24 +53,32 @@ final String value = (new String( ch, start, end )).trim(); if( value.equals( "" ) ) return; - - final DefaultConfiguration configuration = - (DefaultConfiguration)m_elements.get( m_elements.size() - 1 ); - - if( 0 != configuration.getChildCount() ) - { - throw new SAXException( "Not allowed to define mixed content in the " + - "element " + configuration.getName() + " at " + - configuration.getLocation() ); - } - configuration.appendValueData( value ); + if( null == m_value ) m_value = value; + else m_value += value; } public void endElement( final String namespaceURI, final String localName, final String rawName ) + throws SAXException { + if( null != m_value ) + { + final DefaultConfiguration configuration = + (DefaultConfiguration)m_elements.get( m_elements.size() - 1 ); + + if( 0 != configuration.getChildCount() ) + { + throw new SAXException( "Not allowed to define mixed content in the " + + "element " + configuration.getName() + " at " + + configuration.getLocation() ); + } + + configuration.setValue( m_value ); + m_value = null; + } + final int location = m_elements.size() - 1; final Object object = m_elements.remove( location ); @@ -118,7 +127,7 @@ { final String name = attributes.getQName( i ); final String value = attributes.getValue( i ); - configuration.addAttribute( name, value ); + configuration.setAttribute( name, value ); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]