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