mirceatoma    02/01/10 11:02:46

  Modified:    src/java/org/apache/avalon/phoenix/components/application
                        Resources.properties LifecycleHelper.java
  Log:
  Add support for Parameterizable blocks.
  submitted by: Brian Olsen <[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  1.18      +2 -2      
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/application/Resources.properties
  
  Index: Resources.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/application/Resources.properties,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- Resources.properties      9 Nov 2001 21:14:30 -0000       1.17
  +++ Resources.properties      10 Jan 2002 19:02:46 -0000      1.18
  @@ -7,9 +7,9 @@
   
   missing-configuration={0,choice,0#Block|1#BlockListener} named "{1}" 
implements Configurable, but has no corresponding in config.xml
   
  -lifecycle-stage.notice=Block named "{0}" is passing through the 
{1,choice,0#Creation|1#Logger 
initialization|2#Contextualization|3#Composing|4#Configuration|5#Initialization|6#Starting|7#Stopping|8#Disposing|9#Destruction}
 stage.
  +lifecycle-stage.notice=Block named "{0}" is passing through the 
{1,choice,0#Creation|1#Logger 
initialization|2#Contextualization|3#Composing|4#Configuration|5#Parameterizing|6#Initialization|7#Starting|8#Stopping|9#Disposing|10#Destruction}
 stage.
   
  -lifecycle-fail.error=Block named "{0}" failed to pass through the 
{1,choice,0#Creation|1#Logger 
initialization|2#Contextualization|3#Composing|4#Configuration|5#Initialization|6#Starting|7#Stopping|8#Disposing|9#Destruction}
 stage. (Reason: {2}).
  +lifecycle-fail.error=Block named "{0}" failed to pass through the 
{1,choice,0#Creation|1#Logger 
initialization|2#Contextualization|3#Composing|4#Configuration|5#Parameterizing|6#Initialization|7#Starting|8#Stopping|9#Disposing|10#Destruction}
 stage. (Reason: {2}).
   
   #BlockContext Messages
   context.warn.threadpool=Warning: Accessing ThreadPools via 
BlockContext.getThreadPool()\nor BlockContext.getDefaultThreadPool() is a 
deprecated feature\nand developers should instead use a ThreadManager Block to 
access\nThreadPools.
  
  
  
  1.23      +19 -5     
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/application/LifecycleHelper.java
  
  Index: LifecycleHelper.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/application/LifecycleHelper.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- LifecycleHelper.java      11 Dec 2001 10:13:33 -0000      1.22
  +++ LifecycleHelper.java      10 Jan 2002 19:02:46 -0000      1.23
  @@ -26,6 +26,9 @@
   import org.apache.avalon.framework.logger.LogKitLogger;
   import org.apache.avalon.framework.logger.Loggable;
   import org.apache.avalon.framework.logger.Logger;
  +import org.apache.avalon.framework.parameters.Parameters;
  +import org.apache.avalon.framework.parameters.Parameterizable;
  +import org.apache.avalon.framework.parameters.ParameterException;
   import org.apache.avalon.phoenix.Block;
   import org.apache.avalon.phoenix.BlockContext;
   import org.apache.avalon.phoenix.BlockEvent;
  @@ -56,11 +59,12 @@
       private final static int STAGE_CONTEXT = 2;
       private final static int STAGE_COMPOSE = 3;
       private final static int STAGE_CONFIG = 4;
  -    private final static int STAGE_INIT = 5;
  -    private final static int STAGE_START = 6;
  -    private final static int STAGE_STOP = 7;
  -    private final static int STAGE_DISPOSE = 8;
  -    private final static int STAGE_DESTROY = 9;
  +    private final static int STAGE_PARAMETER = 5;
  +    private final static int STAGE_INIT = 6;
  +    private final static int STAGE_START = 7;
  +    private final static int STAGE_STOP = 8;
  +    private final static int STAGE_DISPOSE = 9;
  +    private final static int STAGE_DESTROY = 10;
   
       //Constants to designate type of component
       private final static int TYPE_BLOCK = 0;
  @@ -189,6 +193,16 @@
                   notice( name, stage );
                   final Configuration configuration = getConfiguration( name, 
TYPE_BLOCK );
                   ( (Configurable)block ).configure( configuration );
  +            }
  +
  +            //Parameterizing stage
  +            stage = STAGE_PARAMETER;
  +            if( block instanceof Parameterizable )
  +            {
  +                notice( name, stage );
  +                final Parameters parameters = Parameters.fromConfiguration( 
getConfiguration( name, TYPE_BLOCK ) );
  +                parameters.makeReadOnly();
  +                ( (Parameterizable)block ).parameterize( parameters );
               }
   
               //Initialize stage
  
  
  

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

Reply via email to