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]>

Reply via email to