donaldp 2002/11/16 00:00:07 Modified: info/src/java/org/apache/avalon/framework/tools/infobuilder XMLInfoWriter.java Log: Made it so that empty elements are never printed out. If no loggers/services/dependencies are specified then container element will not be shown. If the schema/context only take default values then they will be omjmitted aswell. Revision Changes Path 1.7 +26 -6 jakarta-avalon-excalibur/info/src/java/org/apache/avalon/framework/tools/infobuilder/XMLInfoWriter.java Index: XMLInfoWriter.java =================================================================== RCS file: /home/cvs/jakarta-avalon-excalibur/info/src/java/org/apache/avalon/framework/tools/infobuilder/XMLInfoWriter.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- XMLInfoWriter.java 16 Nov 2002 07:56:18 -0000 1.6 +++ XMLInfoWriter.java 16 Nov 2002 08:00:07 -0000 1.7 @@ -149,6 +149,10 @@ final LoggerDescriptor[] loggers ) throws IOException { + if( 0 == loggers.length ) + { + return; + } writer.write( "<loggers>" ); for( int i = 0; i < loggers.length; i++ ) { @@ -195,9 +199,18 @@ final ContextDescriptor context ) throws IOException { - writer.write( "<context" ); - final String type = context.getType(); + final Attribute[] attributes = context.getAttributes(); + final EntryDescriptor[] entrys = context.getEntrys(); + + if( CONTEXT_CLASS.equals( type ) && + 0 == attributes.length && + 0 == entrys.length ) + { + return; + } + + writer.write( "<context" ); if( !CONTEXT_CLASS.equals( type ) ) { writer.write( " type=\"" ); @@ -205,9 +218,6 @@ writer.write( "\"" ); } - final Attribute[] attributes = context.getAttributes(); - final EntryDescriptor[] entrys = context.getEntrys(); - if( 0 == attributes.length && 0 == entrys.length ) { writer.write( "/>" ); @@ -269,6 +279,11 @@ final ServiceDescriptor[] services ) throws IOException { + if( 0 == services.length ) + { + return; + } + writer.write( "<services>" ); for( int i = 0; i < services.length; i++ ) { @@ -301,6 +316,11 @@ final DependencyDescriptor[] dependencies ) throws IOException { + if( 0 == dependencies.length ) + { + return; + } + writer.write( "<dependencies>" ); for( int i = 0; i < dependencies.length; i++ ) {
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>