You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2003/06/14 13:13:54 UTC

cvs commit: avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl XMLContainerCreator.java

mcconnell    2003/06/14 04:13:54

  Modified:    merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl
                        XMLContainerCreator.java
  Log:
  Updated to enable the declaration of a container name as part of an import directive.
  
  Revision  Changes    Path
  1.3       +17 -16    avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/XMLContainerCreator.java
  
  Index: XMLContainerCreator.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/XMLContainerCreator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XMLContainerCreator.java	12 Jun 2003 18:56:19 -0000	1.2
  +++ XMLContainerCreator.java	14 Jun 2003 11:13:54 -0000	1.3
  @@ -134,16 +134,16 @@
        * Create a {@link ContainmentProfile} instances from
        *   the supplied parameters
        *
  -     * @param url the base url
  +     * @param url the base url against which relative urls will be resolved
        * @param engine the classloader
        * @param type the component type
        * @param services virtual service provided by the block
        * @param dependencies virtual block dependencies
  -     * @param config the block implementation profile
  +     * @param config the block implementation directive
        * @param targets the block override targets
        * @param name the block name
  -     * @return the profile
  -     * @exception Exception if an error occurs during descriptor creation
  +     * @return the containment profile
  +     * @exception Exception if an error occurs during creation of the directive
        */
       public ContainmentProfile createContainmentProfile(
           final URL url, 
  @@ -278,7 +278,7 @@
      /**
       * Creation of a containment directive from an <include> directive.
       *
  -    * @param base the base url
  +    * @param base the base url from which relative urls will be resolved
       * @param parent the parent classloader
       * @param config the include directive
       * @param targets the parent container targets
  @@ -314,7 +314,14 @@
                   throw new IllegalArgumentException( error );
               }
   
  -            final String name = block.getChild("info").getChild("name").getValue("block");
  +            //
  +            // get the name to assign to the block from the include using 
  +            // the block name as the default value
  +            //
  +
  +            final String name = config.getAttribute( 
  +              "name", block.getChild("info").getChild("name").getValue("block") );
  +
               Targets candidates = targets.getTargets( name );
   
               final String configPath = config.getAttribute( "config", null );
  @@ -330,7 +337,7 @@
                   newTargets = candidates;
               }
   
  -            return createBlockProfile( base, source, parent, block, newTargets );
  +            return createBlockProfile( name, base, source, parent, block, newTargets );
           }
           catch( Throwable ce )
           {
  @@ -344,6 +351,7 @@
      /**
       * Create of a containment profile based on a supplied <block> directive.
       * 
  +    * @param name the assigned block name
       * @param base the base url
       * @param parent the parent classloader
       * @param config the block configuration
  @@ -352,16 +360,10 @@
       * @exception ContainerException if a profile creation error occurs
       */
       private ContainmentProfile createBlockProfile( 
  -      URL base, URL source, EngineClassLoader parent, Configuration config, Targets targets )
  +      String name, URL base, URL source, EngineClassLoader parent, Configuration config, Targets targets )
         throws ContainerException
       {
           //
  -        // get the block name
  -        //
  -
  -        final String name = config.getChild("info").getChild("name").getValue("block");
  -
  -        //
           // get the block implementation
           //
   
  @@ -965,5 +967,4 @@
               }
           }
       }
  -
   }
  
  
  

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