mcconnell    2002/12/17 03:35:50

  Modified:    assembly/src/java/org/apache/avalon/assembly/engine
                        DefaultAssemblyService.java
               assembly/src/java/org/apache/avalon/assembly/lifecycle
                        DefaultDeploymentService.java
                        DeploymentService.java
               assembly/src/java/org/apache/avalon/assembly/lifestyle
                        AbstractLifestyleHandler.java
                        TransientLifestyleHandler.java
               assembly/src/test/org/apache/avalon/playground
                        DemoManager.xinfo ExploitationManager.xinfo
  Log:
  Updates to the transient lifestyle handling.
  
  Revision  Changes    Path
  1.3       +5 -1      
avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/DefaultAssemblyService.java
  
  Index: DefaultAssemblyService.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/DefaultAssemblyService.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DefaultAssemblyService.java       17 Dec 2002 04:54:07 -0000      1.2
  +++ DefaultAssemblyService.java       17 Dec 2002 11:35:50 -0000      1.3
  @@ -205,6 +205,10 @@
           for( int i=0; i<consumers.length; i++ )
           {
               Appliance consumer = consumers[i];
  +            if( getLogger().isDebugEnabled() )
  +            {
  +                getLogger().debug("terminating consumer: " + consumer );
  +            }
               consumer.terminate();
               m_map.remove( consumer );
           }
  
  
  
  1.7       +18 -3     
avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DefaultDeploymentService.java
  
  Index: DefaultDeploymentService.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DefaultDeploymentService.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DefaultDeploymentService.java     17 Dec 2002 04:56:34 -0000      1.6
  +++ DefaultDeploymentService.java     17 Dec 2002 11:35:50 -0000      1.7
  @@ -381,15 +381,30 @@
   
      /**
       * Destroy an appliance.
  -    * @param appliance the appliance to destroy
  +    * @param appliance the object's appliance
  +    * @param instance the object to decommission
       */
       public void decommission( Appliance appliance, Object instance )
       {
  +        decommission( appliance, instance, true );
  +    }
  +
  +   /**
  +    * Destroy an appliance.
  +    * @param appliance the object's appliance
  +    * @param instance the object to decommission
  +    * @param disassemble TRUE if the appliance should be dissasembled
  +    */
  +    public void decommission( Appliance appliance, Object instance, boolean 
disassemble )
  +    {
           //
           // make sure all dependent components are decommissioned
           //
   
  -        m_assembly.disassemble( appliance );
  +        if( disassemble )
  +        {
  +            m_assembly.disassemble( appliance );
  +        }
   
           try
           {
  
  
  
  1.3       +7 -1      
avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DeploymentService.java
  
  Index: DeploymentService.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DeploymentService.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DeploymentService.java    3 Dec 2002 06:57:26 -0000       1.2
  +++ DeploymentService.java    17 Dec 2002 11:35:50 -0000      1.3
  @@ -88,4 +88,10 @@
       * @param object the object to decommission
       */
       void decommission( Appliance appliance, Object object );
  +
  +   /**
  +    * Destroy an appliance.
  +    * @param appliance the appliance to destroy
  +    */
  +    public void decommission( Appliance appliance, Object instance, boolean 
disassemble );
   }
  
  
  
  1.10      +4 -4      
avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/AbstractLifestyleHandler.java
  
  Index: AbstractLifestyleHandler.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/AbstractLifestyleHandler.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- AbstractLifestyleHandler.java     17 Dec 2002 04:57:20 -0000      1.9
  +++ AbstractLifestyleHandler.java     17 Dec 2002 11:35:50 -0000      1.10
  @@ -101,7 +101,7 @@
       * The deplyment service to handle lifecycle processing of 
       * component implementations established by this handler.
       */
  -    private DeploymentService m_deployment;
  +    protected DeploymentService m_deployment;
   
      /**
       * The deplyment context.
  @@ -294,7 +294,7 @@
        */
       protected void processAccessStage( Object object ) throws 
LifestyleException
       {
  -        StageDescriptor[] phases = 
m_appliance.getProfile().getType().getStages();
  +        StageDescriptor[] phases = 
getAppliance().getProfile().getType().getStages();
           for( int i = 0; i < phases.length; i++ )
           {
               StageDescriptor stage = phases[ i ];
  @@ -308,7 +308,7 @@
        */
       protected void processReleaseStage( Object object )
       {
  -        StageDescriptor[] phases = 
m_appliance.getProfile().getType().getStages();
  +        StageDescriptor[] phases = 
getAppliance().getProfile().getType().getStages();
           for( int i = ( phases.length - 1 ); i > -1; i-- )
           {
               StageDescriptor stage = phases[ i ];
  
  
  
  1.6       +3 -3      
avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/TransientLifestyleHandler.java
  
  Index: TransientLifestyleHandler.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/TransientLifestyleHandler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TransientLifestyleHandler.java    17 Dec 2002 04:57:20 -0000      1.5
  +++ TransientLifestyleHandler.java    17 Dec 2002 11:35:50 -0000      1.6
  @@ -125,7 +125,8 @@
       */
       public void release( Object object )
       {
  -        super.release( object );
  +        processReleaseStage( object );
  +        m_deployment.decommission( getAppliance(), object, false );
           synchronized( m_instances )
           {
               m_instances.remove( object );
  @@ -151,5 +152,4 @@
           }
           super.dispose();
       }
  -
   }
  
  
  
  1.4       +0 -3      
avalon-sandbox/assembly/src/test/org/apache/avalon/playground/DemoManager.xinfo
  
  Index: DemoManager.xinfo
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/assembly/src/test/org/apache/avalon/playground/DemoManager.xinfo,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DemoManager.xinfo 17 Dec 2002 09:55:24 -0000      1.3
  +++ DemoManager.xinfo 17 Dec 2002 11:35:50 -0000      1.4
  @@ -22,9 +22,6 @@
   
     <info>
       <name>demonstrator</name>
  -    <attributes>
  -      <attribute key="urn:avalon:lifestyle" value="thread"/>
  -    </attributes>
     </info>
   
     <!--
  
  
  
  1.3       +3 -0      
avalon-sandbox/assembly/src/test/org/apache/avalon/playground/ExploitationManager.xinfo
  
  Index: ExploitationManager.xinfo
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/assembly/src/test/org/apache/avalon/playground/ExploitationManager.xinfo,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ExploitationManager.xinfo 17 Dec 2002 09:55:24 -0000      1.2
  +++ ExploitationManager.xinfo 17 Dec 2002 11:35:50 -0000      1.3
  @@ -21,6 +21,9 @@
   
     <info>
       <name>exploit</name>
  +    <attributes>
  +      <attribute key="urn:avalon:lifestyle" value="thread"/>
  +    </attributes>
     </info>
   
     <!--
  
  
  

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

Reply via email to