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/01/04 13:05:21 UTC

cvs commit: avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl DefaultContainmentModel.java DefaultSystemContext.java

niclas      2004/01/04 04:05:21

  Modified:    merlin/composition/api/src/java/org/apache/avalon/composition/model
                        ContainmentModel.java SystemContext.java
               merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl
                        DefaultContainmentModel.java
                        DefaultSystemContext.java
  Log:
  Changes to support generic Parameters for the kernel, via kernel.xml. One such parameter 'DeploymentTimeout' exposed in the ContainmentModel for the new deployment handling.
  
  Revision  Changes    Path
  1.10      +8 -1      avalon/merlin/composition/api/src/java/org/apache/avalon/composition/model/ContainmentModel.java
  
  Index: ContainmentModel.java
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/composition/api/src/java/org/apache/avalon/composition/model/ContainmentModel.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ContainmentModel.java	29 Dec 2003 14:31:21 -0000	1.9
  +++ ContainmentModel.java	4 Jan 2004 12:05:21 -0000	1.10
  @@ -97,6 +97,13 @@
       * @return the classloader model
       */
       ClassLoaderModel getClassLoaderModel();
  +    
  +   /** Returns the timel imit of how long the deployment may take.
  +    *
  +    * @return the maximum time expressed in millisecond of how 
  +    * long a deployment may take.
  +    **/
  +   long getDeploymentTimeout();
   
      /**
       * Return the set of models nested within this model.
  
  
  
  1.2       +10 -1     avalon/merlin/composition/api/src/java/org/apache/avalon/composition/model/SystemContext.java
  
  Index: SystemContext.java
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/composition/api/src/java/org/apache/avalon/composition/model/SystemContext.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SystemContext.java	24 Sep 2003 09:31:22 -0000	1.1
  +++ SystemContext.java	4 Jan 2004 12:05:21 -0000	1.2
  @@ -54,9 +54,12 @@
   
   import org.apache.avalon.composition.logging.LoggingManager;
   import org.apache.avalon.composition.model.ModelFactory;
  +
   import org.apache.avalon.repository.Repository;
  +
   import org.apache.avalon.framework.context.Context;
   import org.apache.avalon.framework.logger.Logger;
  +import org.apache.avalon.framework.parameters.Parameters;
   
   
   /**
  @@ -141,4 +144,10 @@
       */
       Logger getLogger();
   
  +    /** Returns the configurable kernel parameters.
  +     *
  +     * @return a Parameters object populated with the system
  +     * parameters.
  +     **/
  +    Parameters getSystemParameters();
   }
  
  
  
  1.14      +22 -1     avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultContainmentModel.java
  
  Index: DefaultContainmentModel.java
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultContainmentModel.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- DefaultContainmentModel.java	1 Jan 2004 13:08:56 -0000	1.13
  +++ DefaultContainmentModel.java	4 Jan 2004 12:05:21 -0000	1.14
  @@ -75,8 +75,10 @@
   import org.apache.avalon.composition.data.builder.XMLTargetsCreator;
   import org.apache.avalon.composition.data.builder.ContainmentProfileBuilder;
   import org.apache.avalon.composition.data.builder.XMLContainmentProfileCreator;
  +
   import org.apache.avalon.composition.event.CompositionEvent;
   import org.apache.avalon.composition.event.CompositionEventListener;
  +
   import org.apache.avalon.composition.model.ClassLoaderContext;
   import org.apache.avalon.composition.model.ClassLoaderModel;
   import org.apache.avalon.composition.model.ContainmentModel;
  @@ -87,17 +89,24 @@
   import org.apache.avalon.composition.model.ModelRuntimeException;
   import org.apache.avalon.composition.model.ModelSelector;
   import org.apache.avalon.composition.model.ProfileSelector;
  +import org.apache.avalon.composition.model.SystemContext;
   import org.apache.avalon.composition.model.TypeRepository;
  +
   import org.apache.avalon.composition.logging.LoggingManager;
   import org.apache.avalon.composition.util.StringHelper;
  +
   import org.apache.avalon.repository.Repository;
   import org.apache.avalon.repository.Artifact;
   import org.apache.avalon.repository.RepositoryException;
  +
   import org.apache.avalon.framework.logger.Logger;
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
  +import org.apache.avalon.framework.parameters.Parameters;
  +
   import org.apache.avalon.excalibur.i18n.ResourceManager;
   import org.apache.avalon.excalibur.i18n.Resources;
  +
   import org.apache.avalon.meta.info.DependencyDescriptor;
   import org.apache.avalon.meta.info.ServiceDescriptor;
   import org.apache.avalon.meta.info.StageDescriptor;
  @@ -209,6 +218,18 @@
           return m_context.getClassLoaderModel();
       }
   
  +    /** Returns the time limit of how long the deployment may take.
  +     *
  +     * @return the maximum time expressed in millisecond of how 
  +     * long a deployment may take.
  +     **/
  +    public long getDeploymentTimeout()
  +    {
  +        SystemContext sc = m_context.getSystemContext();
  +        Parameters params = sc.getSystemParameters();
  +        return params.getParameterAsLong( "deployment-timeout", 1000 );
  +    }
  +   
      /**
       * Return the set of services produced by the model.
       * @return the services
  
  
  
  1.5       +19 -3     avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultSystemContext.java
  
  Index: DefaultSystemContext.java
  ===================================================================
  RCS file: /home/cvs/avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultSystemContext.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DefaultSystemContext.java	7 Dec 2003 08:36:07 -0000	1.4
  +++ DefaultSystemContext.java	4 Jan 2004 12:05:21 -0000	1.5
  @@ -68,6 +68,7 @@
   import org.apache.avalon.excalibur.i18n.ResourceManager;
   import org.apache.avalon.excalibur.i18n.Resources;
   import org.apache.avalon.framework.context.DefaultContext;
  +import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.avalon.composition.data.CategoryDirective;
   
   
  @@ -107,7 +108,7 @@
           final File temp = new File( working, "temp" );
   
           return new DefaultSystemContext( 
  -          logging, base, home, temp, repository, "system", false );
  +          logging, base, home, temp, repository, "system", false, null );
       }
   
       private static Repository createRepository( File root ) throws Exception
  @@ -187,6 +188,8 @@
       private final Logger m_logger;
   
       private ModelFactory m_factory;
  +    
  +    private Parameters m_Parameters;
   
       //==============================================================
       // mutable state
  @@ -212,7 +215,8 @@
       */
       public DefaultSystemContext( 
         LoggingManager logging, File base, File home, File temp, 
  -      Repository repository, String category, boolean trace )
  +      Repository repository, String category, boolean trace, 
  +      Parameters params )
       {
           if( base == null )
           {
  @@ -226,6 +230,12 @@
           {
               throw new NullPointerException( "logger" );
           }
  +        if( params == null )
  +        {
  +            params = new Parameters();
  +            params.makeReadOnly();
  +        }
  +           
           if( !base.isDirectory() )
           {
               final String error = 
  @@ -245,6 +255,7 @@
           m_common = Logger.class.getClassLoader();
   
           m_factory = new DefaultModelFactory( this );
  +        m_Parameters = params;
       }
   
       //==============================================================
  @@ -365,5 +376,10 @@
       public Logger getLogger()
       {
           return m_logger;
  +    }
  +    
  +    public Parameters getSystemParameters()
  +    {
  +        return m_Parameters;
       }
   }
  
  
  

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