avalon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mcconn...@apache.org
Subject cvs commit: avalon-sandbox/assembly/src/test/org/apache/avalon/playground BasicComponent.xinfo ComplexComponent.xinfo DemoManager.xinfo ExploitationManager.xinfo InvalidComponent.xinfo SimpleComponent.xinfo
Date Tue, 17 Dec 2002 09:55:24 GMT
mcconnell    2002/12/17 01:55:24

  Modified:    assembly/src/java/org/apache/avalon/assembly/appliance
                        Appliance.java ApplianceContext.java
                        DefaultAppliance.java
               assembly/src/java/org/apache/avalon/assembly/engine
                        EngineClassLoader.java
               assembly/src/java/org/apache/avalon/assembly/lifecycle
                        ContextHandler.java
               assembly/src/java/org/apache/avalon/assembly/lifecycle/composition
                        DefaultCompositionService.java
               assembly/src/java/org/apache/avalon/assembly/lifecycle/context
                        DefaultContextualizationService.java
               assembly/src/test/org/apache/avalon/playground
                        BasicComponent.xinfo ComplexComponent.xinfo
                        DemoManager.xinfo ExploitationManager.xinfo
                        InvalidComponent.xinfo SimpleComponent.xinfo
  Log:
  Reworking some of the context handling mechanisms, updating of the meta descriptors, and
addition of URL resolution on appliance instances.
  
  Revision  Changes    Path
  1.8       +8 -1      avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/Appliance.java
  
  Index: Appliance.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/Appliance.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Appliance.java	17 Dec 2002 04:52:15 -0000	1.7
  +++ Appliance.java	17 Dec 2002 09:55:23 -0000	1.8
  @@ -51,6 +51,7 @@
   package org.apache.avalon.assembly.appliance;
   
   import java.util.Map;
  +import java.net.URL;
   
   import org.apache.avalon.framework.activity.Initializable;
   import org.apache.avalon.assembly.lifestyle.LifestyleException;
  @@ -92,6 +93,12 @@
       * Get the appliance path.
       */
       String getPath();
  +
  +   /**
  +    * Get the appliance URL.
  +    * @return the appliance URL
  +    */
  +    URL getURL();
   
       /**
        * Return the profile backing the appliance.
  
  
  
  1.2       +6 -1      avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/ApplianceContext.java
  
  Index: ApplianceContext.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/ApplianceContext.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ApplianceContext.java	15 Dec 2002 14:08:55 -0000	1.1
  +++ ApplianceContext.java	17 Dec 2002 09:55:23 -0000	1.2
  @@ -115,6 +115,11 @@
       */
       private String m_path;
   
  +   /**
  +    * The appliance domain.
  +    */
  +    private String m_domain;
  +
       /**
        * The deployment context.
        */
  
  
  
  1.11      +49 -1     avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/DefaultAppliance.java
  
  Index: DefaultAppliance.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/DefaultAppliance.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- DefaultAppliance.java	17 Dec 2002 04:52:15 -0000	1.10
  +++ DefaultAppliance.java	17 Dec 2002 09:55:23 -0000	1.11
  @@ -52,6 +52,7 @@
   
   import java.util.Map;
   import java.util.Hashtable;
  +import java.net.URL;
   
   import org.apache.avalon.framework.activity.Initializable;
   import org.apache.avalon.framework.logger.Logger;
  @@ -82,6 +83,12 @@
   public class DefaultAppliance implements Appliance
   {
       //=====================================================================
  +    // static
  +    //=====================================================================
  +
  +    protected static String PROTOCOL = "native";
  +
  +    //=====================================================================
       // state
       //=====================================================================
   
  @@ -131,6 +138,16 @@
       */
       private Logger m_logger;
   
  +   /**
  +    * The appliance URL.
  +    */
  +    private URL m_url;
  +
  +   /**
  +    * The system domain.
  +    */
  +    private String m_domain;
  +
       //==============================================================
       // constructor
       //==============================================================
  @@ -162,6 +179,15 @@
           m_enabled = context.getEnabled();
           m_system = system;
   
  +        try
  +        {
  +            m_domain = (String) m_system.get( "urn:assembly:domain" );
  +        }
  +        catch( Throwable e )
  +        {
  +            m_domain = "localhost";
  +        }
  +
           if( getPartitionName() != null )
           {
               m_path = getPartitionName() 
  @@ -197,6 +223,28 @@
       protected Logger getLogger()
       {
           return m_logger;
  +    }
  +
  +   /**
  +    * Get the appliance URL.
  +    * @return the appliance URL
  +    */
  +    public URL getURL()
  +    {
  +        if( m_url == null )
  +        {
  +            try
  +            {
  +                m_url = new URL( PROTOCOL, m_domain, -1, getPath() );
  +            }
  +            catch( Throwable e )
  +            {
  +                final String error = 
  +                  "Protocol handler for protocol '" + PROTOCOL + "' has not been established.";
  +                throw new IllegalStateException( error );
  +            }
  +        }
  +        return m_url;
       }
   
      /**
  
  
  
  1.11      +12 -2     avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/EngineClassLoader.java
  
  Index: EngineClassLoader.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/EngineClassLoader.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- EngineClassLoader.java	17 Dec 2002 04:55:01 -0000	1.10
  +++ EngineClassLoader.java	17 Dec 2002 09:55:24 -0000	1.11
  @@ -1175,7 +1175,7 @@
   
           if( getLogger().isDebugEnabled() )
           {
  -            getLogger().debug( "bootstrap system context" );
  +            getLogger().debug( "resolving system context" );
           }
   
           DefaultContext context;
  @@ -1197,6 +1197,16 @@
               final File home = new File( System.getProperty( "user.dir" ) );
               context.put( "urn:avalon:home", home );    
           }
  +
  +        try
  +        {
  +            context.get( "urn:assembly:domain" );
  +        }
  +        catch( ContextException ce )
  +        {
  +            context.put( "urn:assembly:domain", "localhost" );    
  +        }
  +
           m_system = context;
           return m_system;
       }
  
  
  
  1.6       +23 -9     avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/ContextHandler.java
  
  Index: ContextHandler.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/ContextHandler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ContextHandler.java	17 Dec 2002 04:55:47 -0000	1.5
  +++ ContextHandler.java	17 Dec 2002 09:55:24 -0000	1.6
  @@ -213,19 +213,33 @@
        * Internal utility to construct a context instance using a descriptor, directive and
source
        * context instances.
        *
  -     * @param descriptors the descriptor containing the context dependency declarations
  -     * @param directive an optional context directive containing import and context value
  -     *    creation parameters
  +     * @param appliance the apliance containing the context dependency declarations
        * @param context a supplimentary context object to used during value resolution
        * @return a context object containing only those context entries desribed under the
        *   supplied descriptor
        * @exception Exception if a required context value cannot be resolved or an error
        *   occurs during context value creation
        */
  -    protected Context buildContext(
  -                           ContextDescriptor descriptors,
  -                           ContextDirective directive,
  -                           Context context )
  +    protected Context buildContext( Appliance appliance, Context context )
  +      throws Exception
  +    {
  +        ContextDescriptor descriptor = appliance.getProfile().getType().getContext();
  +        ContextDirective directive = appliance.getProfile().getContext();
  +        return buildContext( descriptor, directive, context );
  +    }
  +
  +    /**
  +     * Internal utility to construct a context instance using a descriptor, directive and
source
  +     * context instances.
  +     *
  +     * @param appliance the apliance containing the context dependency declarations
  +     * @param context a supplimentary context object to used during value resolution
  +     * @return a context object containing only those context entries desribed under the
  +     *   supplied descriptor
  +     * @exception Exception if a required context value cannot be resolved or an error
  +     *   occurs during context value creation
  +     */
  +    protected Context buildContext( ContextDescriptor descriptor, ContextDirective directive,
Context context )
         throws Exception
       {
           if( !m_initialized )
  @@ -276,7 +290,7 @@
               result = new DefaultContext( map );
           }
   
  -        EntryDescriptor[] entries = descriptors.getEntrys();
  +        EntryDescriptor[] entries = descriptor.getEntrys();
           for( int i = 0; i < entries.length; i++ )
           {
               EntryDescriptor entry = entries[ i ];
  
  
  
  1.4       +2 -2      avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/composition/DefaultCompositionService.java
  
  Index: DefaultCompositionService.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/composition/DefaultCompositionService.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DefaultCompositionService.java	17 Dec 2002 05:00:59 -0000	1.3
  +++ DefaultCompositionService.java	17 Dec 2002 09:55:24 -0000	1.4
  @@ -114,7 +114,7 @@
                     "[" + appliance.getProfile().getName() + "]";
                   getLogger().debug( message );
               }
  -            DefaultServiceManager manager = new DefaultServiceManager( appliance );
  +            StandardServiceManager manager = new StandardServiceManager( appliance );
               manager.enableLogging( getLogger().getChildLogger( "manager" ) );
               try
               {
  
  
  
  1.5       +6 -8      avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/context/DefaultContextualizationService.java
  
  Index: DefaultContextualizationService.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/context/DefaultContextualizationService.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DefaultContextualizationService.java	17 Dec 2002 05:01:53 -0000	1.4
  +++ DefaultContextualizationService.java	17 Dec 2002 09:55:24 -0000	1.5
  @@ -143,7 +143,7 @@
                   source = context;
               }
               Context standard =
  -              createStandardContext( appliance.getProfile(), source );
  +              createStandardContext( appliance, source );
   
               try
               {
  @@ -180,20 +180,18 @@
        * @throws DeploymentException if an error occurs in standard
        *   context creation
        */
  -    public Context createStandardContext( Profile profile, Context context )
  +    public Context createStandardContext( Appliance appliance, Context context )
           throws ContextException
       {
           try
           {
  -            ContextDescriptor descriptor = profile.getType().getContext();
  -            ContextDirective directive = profile.getContext();
  -            return buildContext( descriptor, directive, context );
  +            return buildContext( appliance, context );
           }
           catch( Throwable e )
           {
               final String error =
  -              "Unexpected error while preparing standard context for the profile: " 
  -              + profile.getName();
  +              "Unexpected error while preparing standard context for the appliance: " 
  +              + appliance;
               throw new ContextException( error, e );
           }
       }
  
  
  
  1.3       +2 -6      avalon-sandbox/assembly/src/test/org/apache/avalon/playground/BasicComponent.xinfo
  
  Index: BasicComponent.xinfo
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/test/org/apache/avalon/playground/BasicComponent.xinfo,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BasicComponent.xinfo	7 Dec 2002 09:34:29 -0000	1.2
  +++ BasicComponent.xinfo	17 Dec 2002 09:55:24 -0000	1.3
  @@ -25,12 +25,8 @@
     </context>
   
     <services>
  -    <service> 
  -      <reference type="org.apache.avalon.playground.BasicService" version="1.1"/>
  -    </service> 
  -    <service> 
  -      <reference type="org.apache.avalon.playground.NullService"/>
  -    </service> 
  +    <service type="org.apache.avalon.playground.BasicService:1.1"/>
  +    <service type="org.apache.avalon.playground.NullService"/>
     </services>
   
   </type>
  
  
  
  1.4       +3 -11     avalon-sandbox/assembly/src/test/org/apache/avalon/playground/ComplexComponent.xinfo
  
  Index: ComplexComponent.xinfo
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/test/org/apache/avalon/playground/ComplexComponent.xinfo,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ComplexComponent.xinfo	17 Dec 2002 05:04:45 -0000	1.3
  +++ ComplexComponent.xinfo	17 Dec 2002 09:55:24 -0000	1.4
  @@ -24,20 +24,12 @@
     </loggers>
   
     <services>
  -    <service> 
  -      <reference type="org.apache.avalon.playground.ComplexService"/>
  -    </service> 
  +    <service type="org.apache.avalon.playground.ComplexService"/>
     </services>
   
     <dependencies>
  -      <dependency>
  -        <role>basic</role>
  -        <reference type="org.apache.avalon.playground.BasicService" version="1.1"/>
  -      </dependency>
  -      <dependency>
  -        <role>simple</role>
  -        <reference type="org.apache.avalon.playground.SimpleService"/>
  -      </dependency>
  +      <dependency type="org.apache.avalon.playground.BasicService:1.1" role="basic"/>
  +      <dependency type="org.apache.avalon.playground.SimpleService" role="simple"/>
     </dependencies>
   
   </type>
  
  
  
  1.3       +3 -4      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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DemoManager.xinfo	3 Dec 2002 06:57:27 -0000	1.2
  +++ DemoManager.xinfo	17 Dec 2002 09:55:24 -0000	1.3
  @@ -21,7 +21,7 @@
   <type>
   
     <info>
  -    <name>demonstratable</name>
  +    <name>demonstrator</name>
       <attributes>
         <attribute key="urn:avalon:lifestyle" value="thread"/>
       </attributes>
  @@ -36,9 +36,8 @@
       Each extension has a name, a versioned interface reference, and optional 
       attributes.
       -->
  -    <extension stage="ALL">
  -      <name>demonstrate</name>
  -      <reference type="org.apache.avalon.playground.Demonstratable" version="1.0"/>
  +
  +    <extension type="org.apache.avalon.playground.Demonstratable:1.0">
         <attributes>
           <attribute key="status" value="experimental"/>
         </attributes>
  
  
  
  1.2       +1 -13     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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ExploitationManager.xinfo	24 Nov 2002 12:50:46 -0000	1.1
  +++ ExploitationManager.xinfo	17 Dec 2002 09:55:24 -0000	1.2
  @@ -27,19 +27,7 @@
     Declaration of the lifecycle support phases that this manager provides. 
     -->
     <extensions>
  -
  -    <!--
  -    Each extension has a name, a versioned interface reference, and optional 
  -    attributes.
  -    -->
  -    <extension stage="ALL">
  -      <name>exploit</name>
  -      <reference type="org.apache.avalon.playground.Exploitable" version="1.0"/>
  -      <attributes>
  -        <attribute key="status" value="experimental"/>
  -      </attributes>
  -    </extension>
  -
  +    <extension type="org.apache.avalon.playground.Exploitable" />
     </extensions>
   
   </type>
  
  
  
  1.2       +1 -4      avalon-sandbox/assembly/src/test/org/apache/avalon/playground/InvalidComponent.xinfo
  
  Index: InvalidComponent.xinfo
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/test/org/apache/avalon/playground/InvalidComponent.xinfo,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InvalidComponent.xinfo	24 Nov 2002 12:50:46 -0000	1.1
  +++ InvalidComponent.xinfo	17 Dec 2002 09:55:24 -0000	1.2
  @@ -20,10 +20,7 @@
     </info>
   
     <dependencies>
  -      <dependency>
  -          <role>silly</role>
  -          <reference type="org.apache.avalon.playground.InvalidService"/>
  -      </dependency>
  +      <dependency type="org.apache.avalon.playground.InvalidService" role="silly"/>
     </dependencies>
   
   </type>
  
  
  
  1.5       +1 -4      avalon-sandbox/assembly/src/test/org/apache/avalon/playground/SimpleComponent.xinfo
  
  Index: SimpleComponent.xinfo
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/test/org/apache/avalon/playground/SimpleComponent.xinfo,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SimpleComponent.xinfo	15 Dec 2002 14:08:56 -0000	1.4
  +++ SimpleComponent.xinfo	17 Dec 2002 09:55:24 -0000	1.5
  @@ -37,10 +37,7 @@
         Declaration of the services that this component type is 
         dependent on.
         -->
  -      <dependency>
  -        <role>basic</role>
  -        <reference type="org.apache.avalon.playground.BasicService" version="1.1"/>
  -      </dependency>
  +      <dependency type="org.apache.avalon.playground.BasicService:1.1" role="basic"/>
   
     </dependencies>
   
  
  
  

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


Mime
View raw message