mcconnell    2003/02/19 03:19:33

  Modified:    merlin/src/java/org/apache/avalon/merlin/block Block.java
               merlin/src/java/org/apache/avalon/merlin/block/impl
                        DefaultBlock.java
  Log:
  Added accessors to child blocks and appliances.
  
  Revision  Changes    Path
  1.11      +21 -1     
avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/block/Block.java
  
  Index: Block.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/block/Block.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Block.java        7 Feb 2003 15:39:33 -0000       1.10
  +++ Block.java        19 Feb 2003 11:19:32 -0000      1.11
  @@ -50,6 +50,7 @@
   
   package org.apache.avalon.merlin.block;
   
  +import java.net.URL;
   import org.apache.avalon.assembly.appliance.Appliance;
   import org.apache.avalon.merlin.container.Container;
   
  @@ -73,6 +74,25 @@
       * @exception Exception if a deployment error occurs
       */
       void deploy() throws Exception;
  +
  +   /**
  +    * Return the set of locally managed appliance instances.
  +    * @return the set of appliance instances local to this block.
  +    */
  +    public Appliance[] getAppliances();
  +
  +   /**
  +    * Return the set of blocks locally managed by this block.
  +    * @return the set of immediate sibling blocks.
  +    */
  +    Block[] getBlocks();
  +
  +   /**
  +    * Return the set of appliance URLs for the entire block hierachy 
inclding the
  +    * URL of this block.
  +    * @return the set of urls
  +    */
  +    URL[] getURLs();
   
      /**
       * Decommission the block.
  
  
  
  1.8       +39 -0     
avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/block/impl/DefaultBlock.java
  
  Index: DefaultBlock.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/block/impl/DefaultBlock.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DefaultBlock.java 17 Feb 2003 12:11:56 -0000      1.7
  +++ DefaultBlock.java 19 Feb 2003 11:19:33 -0000      1.8
  @@ -294,6 +294,45 @@
       
//-------------------------------------------------------------------------------
   
      /**
  +    * Return the set of locally managed appliance instances.
  +    * @return the set of appliance instances local to this block.
  +    */
  +    public Appliance[] getAppliances()
  +    {
  +        return (Appliance[]) m_appliances.toArray( new Appliance[0] );
  +    }
  +
  +   /**
  +    * Return the set of blocks locally managed by this block.
  +    * @return the set of immediate sibling blocks.
  +    */
  +    public Block[] getBlocks()
  +    {
  +        return (Block[]) m_blocks.toArray( new Block[0] );
  +    }
  +
  +    public URL[] getURLs()
  +    {
  +        List list = new ArrayList();
  +        list.add( getURL() );
  +        Appliance[] appliances = getAppliances();
  +        for( int i=0; i<appliances.length; i++ )
  +        {
  +            list.add( appliances[i].getURL() );
  +        }
  +        Block[] blocks = getBlocks();
  +        for( int j=0; j<blocks.length; j++ )
  +        {
  +            URL[] expanded = blocks[j].getURLs();
  +            for( int k=0; k<expanded.length; k++ )
  +            {
  +                list.add( expanded[k] );
  +            }
  +        }
  +        return (URL[]) list.toArray( new URL[0] );
  +    }
  +
  +   /**
       * Get the appliance URL.
       * @return the appliance URL
       */
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to