Return-Path: Delivered-To: apmail-avalon-cvs-archive@www.apache.org Received: (qmail 69137 invoked from network); 7 Aug 2004 11:38:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 7 Aug 2004 11:38:56 -0000 Received: (qmail 11745 invoked by uid 500); 7 Aug 2004 11:38:56 -0000 Delivered-To: apmail-avalon-cvs-archive@avalon.apache.org Received: (qmail 11701 invoked by uid 500); 7 Aug 2004 11:38:56 -0000 Mailing-List: contact cvs-help@avalon.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Avalon CVS List" Reply-To: "Avalon Developers List" Delivered-To: mailing list cvs@avalon.apache.org Received: (qmail 11687 invoked by uid 99); 7 Aug 2004 11:38:55 -0000 X-ASF-Spam-Status: No, hits=-2.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.27.1) with SMTP; Sat, 07 Aug 2004 04:38:55 -0700 Received: (qmail 69106 invoked by uid 65534); 7 Aug 2004 11:38:54 -0000 Date: 7 Aug 2004 11:38:54 -0000 Message-ID: <20040807113854.69104.qmail@minotaur.apache.org> From: niclas@apache.org To: cvs@avalon.apache.org Subject: svn commit: rev 36060 - avalon/trunk/planet/facilities/console/commands/src/main/org/apache/avalon/facilities/console/commands X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Author: niclas Date: Sat Aug 7 04:38:54 2004 New Revision: 36060 Modified: avalon/trunk/planet/facilities/console/commands/src/main/org/apache/avalon/facilities/console/commands/ViewModelCmd.java Log: Steve pointed out that I took the wrong code for presenting the view. Modified: avalon/trunk/planet/facilities/console/commands/src/main/org/apache/avalon/facilities/console/commands/ViewModelCmd.java ============================================================================== --- avalon/trunk/planet/facilities/console/commands/src/main/org/apache/avalon/facilities/console/commands/ViewModelCmd.java (original) +++ avalon/trunk/planet/facilities/console/commands/src/main/org/apache/avalon/facilities/console/commands/ViewModelCmd.java Sat Aug 7 04:38:54 2004 @@ -35,12 +35,15 @@ import org.apache.avalon.framework.service.ServiceManager; /** - * @avalon.component name="console-dummy" lifestyle="singleton" + * @avalon.component name="console-viewmodel" lifestyle="singleton" * @avalon.service type="org.apache.avalon.facilities.console.ConsoleCommand" */ public class ViewModelCmd implements ConsoleCommand, Serviceable, Contextualizable { + String LINE = + "\n-----------------------------------------------------------"; + private ContainmentModel m_RootModel; public String getName() @@ -95,83 +98,94 @@ path = arguments[0]; DeploymentModel model = m_RootModel.getModel( path ); - printModel( output, "", model ); + String result = printModel( model ); + output.write( result ); output.newLine(); output.flush(); } - public void printModel( BufferedWriter output, String lead, DeploymentModel model ) - throws IOException + public String printModel( DeploymentModel model ) + { + StringBuffer buffer = new StringBuffer( "audit report" ); + buffer.append( LINE ); + buffer.append( "\nApplication Model" ); + buffer.append( LINE ); + buffer.append( "\n" ); + printModel( buffer, " ", model ); + buffer.append( "\n" ); + buffer.append( LINE ); + return buffer.toString(); + } + + public void printModel( StringBuffer buffer, String lead, DeploymentModel model ) { if( model instanceof ContainmentModel ) { - printContainmentModel( output, lead, (ContainmentModel) model ); + printContainmentModel( buffer, lead, (ContainmentModel) model ); } else if( model instanceof ComponentModel ) { - printComponentModel( output, lead, (ComponentModel) model ); + printComponentModel( buffer, lead, (ComponentModel) model ); } } - public void printContainmentModel( BufferedWriter output, String lead, ContainmentModel model ) - throws IOException + public void printContainmentModel( + StringBuffer buffer, String lead, ContainmentModel model ) { - printDeploymentModel( output, lead, model ); + buffer.append( + "\n" + lead + + "container:" + + model + + ")" ); + printDeploymentModel( buffer, lead, model ); DeploymentModel[] models = model.getModels(); if( models.length > 0 ) { - output.write( lead + " children:" ); - output.newLine(); + buffer.append( "\n" + lead + " children:" ); for( int i=0; i 0 ) { - output.write( lead + " startup:" ); - output.newLine(); + buffer.append( "\n" + lead + " startup:" ); for( int i=0; i 0 ) { - output.write( lead + " shutdown:" ); - output.newLine(); + buffer.append( "\n" + lead + " shutdown:" ); for( int i=0; i 0 ) for( int i=0; i 0 ) for( int i=0; i " + m ); - output.newLine(); + if( isDirectProvider( m, model ) ) + { + buffer.append( "\n" + lead + " --> supplies: " + m ); + } } } + private boolean isDirectProvider( DeploymentModel consumer, DeploymentModel model ) + { + String name = model.getQualifiedName(); + DeploymentModel[] providers = consumer.getProviders(); + for( int i=0; i