You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ni...@apache.org on 2004/08/07 13:38:54 UTC

svn commit: rev 36060 - avalon/trunk/planet/facilities/console/commands/src/main/org/apache/avalon/facilities/console/commands

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<models.length; i++ )
             {
                 DeploymentModel m = models[i];
-                printModel( output, "    " + lead, m );
+                printModel( buffer, "    " + lead, m );
             }
         }
         models = model.getStartupGraph();
         if( models.length > 0 )
         {
-            output.write( lead + "  startup:" );
-            output.newLine();
+            buffer.append( "\n" + lead + "  startup:" );
             for( int i=0; i<models.length; i++ )
             {
                 DeploymentModel m = models[i];
-                output.write( "    " + lead + (i+1) + ": " + m );
-                output.newLine();
+                buffer.append( "\n" + "    " + lead + (i+1) + ": " + m );
             }
         }
         models = ((ContainmentModel)model).getShutdownGraph();
         if( models.length > 0 )
         {
-            output.write( lead + "  shutdown:" );
-            output.newLine();
+            buffer.append( "\n" + lead + "  shutdown:" );
             for( int i=0; i<models.length; i++ )
             {
                 DeploymentModel m = models[i];
-                output.write( "    " + lead + (i+1) + ": " + m );
-                output.newLine();
+                buffer.append( "\n" + "    " + lead + (i+1) + ": " + m );
             }
         }
     }
 
-    public void printComponentModel( BufferedWriter output, String lead, ComponentModel model )
-        throws IOException
+    public void printComponentModel( 
+      StringBuffer buffer, String lead, ComponentModel model )
     {
-        printDeploymentModel( output, lead, model );
-    }
-
-    public void printDeploymentModel( BufferedWriter output, String lead, DeploymentModel model )
-        throws IOException
-    {
-        output.write( 
-          lead 
-          + "model:" 
+        buffer.append( 
+          "\n" + lead 
+          + "component:" 
           + model + "(" 
           + model.getDeploymentTimeout() 
           + ")" );
+        printDeploymentModel( buffer, lead, model );
+    }
 
-        output.newLine();
-        DeploymentModel[] providers = model.getProviderGraph();
+    public void printDeploymentModel( 
+      StringBuffer buffer, String lead, DeploymentModel model )
+    {
+        DeploymentModel[] providers = model.getProviders();
         DeploymentModel[] consumers = model.getConsumerGraph();
 
         if(( providers.length == 0 ) && ( consumers.length == 0 ))
@@ -182,17 +196,29 @@
         if( providers.length > 0 ) for( int i=0; i<providers.length; i++ )
         {
             DeploymentModel m = providers[i];
-            output.write( lead + "  <-- " + m );
-            output.newLine();
+            buffer.append( "\n" + lead + "  <-- consumes: " + m  );
         }
 
         if( consumers.length > 0 ) for( int i=0; i<consumers.length; i++ )
         {
             DeploymentModel m = consumers[i];
-            output.write( lead + "  --> " + 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<providers.length; i++ )
+        {
+             DeploymentModel m = providers[i];
+             if( m.getQualifiedName().equals( name ) ) return true;
+        }
+        return false;
+    }
 }
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org