pier        2004/05/03 13:45:50

  Modified:    src/kernel/org/apache/cocoon/kernel BlockLoader.java
                        DeployableInstance.java DeployedWirings.java
                        Installer.java KernelDeployer.java LoadedBlock.java
                        SimpleComposer.java
  Log:
  Performed Eclipse's reorganization of import statements.
  Added map storing block instances by name (for CoreWirings).
  Using the kernel classes classloader as the root loader for  blocks.
  
  Revision  Changes    Path
  1.4       +6 -8      
cocoon-2.2/src/kernel/org/apache/cocoon/kernel/BlockLoader.java
  
  Index: BlockLoader.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.2/src/kernel/org/apache/cocoon/kernel/BlockLoader.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BlockLoader.java  31 Mar 2004 13:01:38 -0000      1.3
  +++ BlockLoader.java  3 May 2004 20:45:50 -0000       1.4
  @@ -15,23 +15,21 @@
    */
   package org.apache.cocoon.kernel;
   
  +import java.net.URL;
  +import java.net.URLClassLoader;
   import java.util.HashMap;
   import java.util.HashSet;
   import java.util.Iterator;
   import java.util.Map;
   import java.util.Set;
   
  -import java.net.URL;
  -import java.net.URLClassLoader;
  -
  -import org.apache.cocoon.kernel.identification.Descriptor;
  -import org.apache.cocoon.kernel.identification.Identifier;
   import org.apache.cocoon.kernel.archival.HashLibrary;
   import org.apache.cocoon.kernel.archival.Library;
  -
   import org.apache.cocoon.kernel.deployment.Block;
   import org.apache.cocoon.kernel.deployment.DeploymentException;
   import org.apache.cocoon.kernel.deployment.Loader;
  +import org.apache.cocoon.kernel.identification.Descriptor;
  +import org.apache.cocoon.kernel.identification.Identifier;
   
   /**
    * <p>A [EMAIL PROTECTED] BlockLoader} provides a default implementation of 
the
  
  
  
  1.4       +2 -1      
cocoon-2.2/src/kernel/org/apache/cocoon/kernel/DeployableInstance.java
  
  Index: DeployableInstance.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.2/src/kernel/org/apache/cocoon/kernel/DeployableInstance.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DeployableInstance.java   31 Mar 2004 13:01:38 -0000      1.3
  +++ DeployableInstance.java   3 May 2004 20:45:50 -0000       1.4
  @@ -18,6 +18,7 @@
   import java.util.HashMap;
   import java.util.Iterator;
   import java.util.Map;
  +
   import org.apache.cocoon.kernel.configuration.Parameters;
   import org.apache.cocoon.kernel.deployment.Block;
   import org.apache.cocoon.kernel.deployment.DeploymentException;
  
  
  
  1.5       +5 -4      
cocoon-2.2/src/kernel/org/apache/cocoon/kernel/DeployedWirings.java
  
  Index: DeployedWirings.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.2/src/kernel/org/apache/cocoon/kernel/DeployedWirings.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DeployedWirings.java      31 Mar 2004 13:01:38 -0000      1.4
  +++ DeployedWirings.java      3 May 2004 20:45:50 -0000       1.5
  @@ -20,16 +20,17 @@
   import java.util.HashMap;
   import java.util.Iterator;
   import java.util.Map;
  +
   import org.apache.cocoon.kernel.composition.Composer;
   import org.apache.cocoon.kernel.composition.Lifecycle;
   import org.apache.cocoon.kernel.composition.LifecycleException;
   import org.apache.cocoon.kernel.composition.Wire;
  -import org.apache.cocoon.kernel.composition.Wirings;
   import org.apache.cocoon.kernel.composition.WiringException;
  +import org.apache.cocoon.kernel.composition.Wirings;
   import org.apache.cocoon.kernel.deployment.DeploymentException;
   import org.apache.cocoon.kernel.deployment.Instance;
  -import org.apache.cocoon.kernel.identification.Descriptor;
   import org.apache.cocoon.kernel.identification.BlockDescriptor;
  +import org.apache.cocoon.kernel.identification.Descriptor;
   import org.apache.cocoon.kernel.resolution.CompoundResolver;
   import org.apache.cocoon.kernel.resolution.Resolver;
   import org.apache.cocoon.kernel.resolution.Resource;
  @@ -237,7 +238,7 @@
               ((Lifecycle)this.composer).init();
           }
       }
  -    
  +
       /**
        * <p>Notify this [EMAIL PROTECTED] DeployedWirings} of its 
destruction.</p>
        *
  
  
  
  1.5       +6 -5      
cocoon-2.2/src/kernel/org/apache/cocoon/kernel/Installer.java
  
  Index: Installer.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.2/src/kernel/org/apache/cocoon/kernel/Installer.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Installer.java    31 Mar 2004 13:01:38 -0000      1.4
  +++ Installer.java    3 May 2004 20:45:50 -0000       1.5
  @@ -20,16 +20,17 @@
   import java.util.Iterator;
   import java.util.Map;
   import java.util.Set;
  -import org.apache.cocoon.kernel.identification.Descriptor;
  -import org.apache.cocoon.kernel.identification.IdentificationException;
  -import org.apache.cocoon.kernel.identification.Identifier;
  -import org.apache.cocoon.kernel.identification.ParsedIdentifier;
  +
   import org.apache.cocoon.kernel.configuration.Configuration;
   import org.apache.cocoon.kernel.configuration.ConfigurationException;
   import org.apache.cocoon.kernel.configuration.Parameters;
   import org.apache.cocoon.kernel.deployment.Deployer;
   import org.apache.cocoon.kernel.deployment.DeploymentException;
   import org.apache.cocoon.kernel.deployment.Instance;
  +import org.apache.cocoon.kernel.identification.Descriptor;
  +import org.apache.cocoon.kernel.identification.IdentificationException;
  +import org.apache.cocoon.kernel.identification.Identifier;
  +import org.apache.cocoon.kernel.identification.ParsedIdentifier;
   
   /**
    * <p>An [EMAIL PROTECTED] Installer} processes a given configuration, 
installing and
  
  
  
  1.7       +42 -21    
cocoon-2.2/src/kernel/org/apache/cocoon/kernel/KernelDeployer.java
  
  Index: KernelDeployer.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.2/src/kernel/org/apache/cocoon/kernel/KernelDeployer.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- KernelDeployer.java       1 Apr 2004 14:58:58 -0000       1.6
  +++ KernelDeployer.java       3 May 2004 20:45:50 -0000       1.7
  @@ -15,30 +15,26 @@
    */
   package org.apache.cocoon.kernel;
   
  -import java.net.URL;
   import java.net.MalformedURLException;
  -
  +import java.net.URL;
   import java.util.HashMap;
   import java.util.HashSet;
   import java.util.Iterator;
   import java.util.Map;
   
  -import org.apache.cocoon.kernel.identification.BlockDescriptor;
  -import org.apache.cocoon.kernel.identification.Descriptor;
  -import org.apache.cocoon.kernel.identification.DescriptorBuilder;
  -import org.apache.cocoon.kernel.identification.Identifier;
  -import org.apache.cocoon.kernel.identification.IdentificationException;
  -
   import org.apache.cocoon.kernel.configuration.Configuration;
   import org.apache.cocoon.kernel.configuration.ConfigurationException;
   import org.apache.cocoon.kernel.configuration.Parameters;
  -
   import org.apache.cocoon.kernel.deployment.Block;
   import org.apache.cocoon.kernel.deployment.Deployer;
   import org.apache.cocoon.kernel.deployment.DeploymentException;
   import org.apache.cocoon.kernel.deployment.Instance;
   import org.apache.cocoon.kernel.deployment.Loader;
  -
  +import org.apache.cocoon.kernel.identification.BlockDescriptor;
  +import org.apache.cocoon.kernel.identification.Descriptor;
  +import org.apache.cocoon.kernel.identification.DescriptorBuilder;
  +import org.apache.cocoon.kernel.identification.IdentificationException;
  +import org.apache.cocoon.kernel.identification.Identifier;
   import org.apache.cocoon.kernel.startup.Logger;
   
   /**
  @@ -60,10 +56,13 @@
       private Logger log = new Logger();
   
       /** <p>A map of [EMAIL PROTECTED] DeployedWirings}s by [EMAIL PROTECTED] 
Instance}.</p> */
  -    private Map instances = new HashMap();
  +    private Map wiringsByInstance = new HashMap();
  +    
  +    /** <p>A map of [EMAIL PROTECTED] DeployedWirings}s by name.</p> */
  +    private Map wiringsByName = new HashMap();
       
       /** <p>A simple block loader instance.</p> */
  -    private Loader loader = new BlockLoader();
  +    private Loader loader = new 
BlockLoader(this.getClass().getClassLoader());
       
       /* 
====================================================================== */
       
  @@ -165,7 +164,8 @@
           try {
               LoadedBlock block = (LoadedBlock) this.loader.load(identifier);
               Instance instance = new DeployableInstance(block, name);
  -            this.instances.put(instance, null);
  +            this.wiringsByInstance.put(instance, null);
  +            this.wiringsByName.put(instance.name(), null);
               this.log.info("Block instance \"" + instance + "\" created");
               return(instance);
           } catch (Exception e) {
  @@ -187,11 +187,11 @@
       public void deploy(Instance instance)
       throws DeploymentException {
           /* Check that we created this instance and that it is deployable */
  -        if (!this.instances.containsKey(instance)) {
  +        if (!this.wiringsByInstance.containsKey(instance)) {
               throw new DeploymentException("Attempting to deploy unknown "
                                             + "instance \"" + instance + "\"");
           }
  -        if (this.instances.get(instance) != null) {
  +        if (this.wiringsByInstance.get(instance) != null) {
               throw new DeploymentException("Cannot deploy already deployed "
                                             + "instance \"" + instance + "\"");
           }
  @@ -221,7 +221,7 @@
                                                 + "\" for \"" + required
                                                 + "\" not provided for \""
                                                 + deployable + "\"");
  -            } else if (!this.instances.containsKey(wired)) {
  +            } else if (!this.wiringsByInstance.containsKey(wired)) {
                   throw new DeploymentException("Required wiring \"" + name
                                                 + "\" for \"" + required
                                                 + "\" has invalid target");
  @@ -256,7 +256,8 @@
           } catch (Throwable t) {
               throw new DeploymentException("Error initializing wirings", t);
           }
  -        this.instances.put(deployable, deployed);
  +        this.wiringsByInstance.put(deployable, deployed);
  +        this.wiringsByName.put(instance.name(), deployed);
           deployable.deployed(true);
       }
   
  @@ -285,7 +286,7 @@
       /* 
====================================================================== */
   
       /**
  -        * <p>Destroy the specified deployed block [EMAIL PROTECTED] 
Instance}.</p>
  +     * <p>Destroy the specified deployed block [EMAIL PROTECTED] 
Instance}.</p>
        *
        * <p>If the specified [EMAIL PROTECTED] Instance} is deployed 
<b>and</b> is required
        * by any other block (there is an active wiring), this method will throw
  @@ -316,12 +317,32 @@
        * the [EMAIL PROTECTED] Instance#deployed()} method can be called.</p>
        */
       public Iterator instances() {
  -        return(new HashSet(this.instances.keySet()).iterator());
  +        return(new HashSet(this.wiringsByInstance.keySet()).iterator());
       }
   
       /* 
====================================================================== */
   
  +    /**
  +     * <p>Return a [EMAIL PROTECTED] DeployedWirings} instance associated 
with the
  +     * specified block [EMAIL PROTECTED] Instance}, if any.</p>
  +     * 
  +     * @param instance a deployed block [EMAIL PROTECTED] Instance} to look 
up.
  +     * @return a [EMAIL PROTECTED] DeployedWirings} instance or <b>null</b> 
if the
  +     *         specified [EMAIL PROTECTED] Instance} was not deployed.
  +     */
       protected DeployedWirings lookup(Instance instance) {
  -        return((DeployedWirings)this.instances.get(instance));
  +        return((DeployedWirings)this.wiringsByInstance.get(instance));
  +    }
  +
  +    /**
  +     * <p>Return a [EMAIL PROTECTED] DeployedWirings} instance associated 
with the
  +     * specified block name, if any.</p>
  +     * 
  +     * @param name a deployed block name (from configurations) to look up.
  +     * @return a [EMAIL PROTECTED] DeployedWirings} instance or <b>null</b> 
if the
  +     *         specified [EMAIL PROTECTED] Instance} was not deployed.
  +     */
  +    protected DeployedWirings lookup(String name) {
  +        return((DeployedWirings)this.wiringsByName.get(name));
       }
   }
  
  
  
  1.5       +4 -3      
cocoon-2.2/src/kernel/org/apache/cocoon/kernel/LoadedBlock.java
  
  Index: LoadedBlock.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.2/src/kernel/org/apache/cocoon/kernel/LoadedBlock.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- LoadedBlock.java  31 Mar 2004 13:01:38 -0000      1.4
  +++ LoadedBlock.java  3 May 2004 20:45:50 -0000       1.5
  @@ -22,11 +22,12 @@
   import java.util.HashSet;
   import java.util.Iterator;
   import java.util.Set;
  -import org.apache.cocoon.kernel.identification.Descriptor;
  -import org.apache.cocoon.kernel.identification.Identifier;
  +
   import org.apache.cocoon.kernel.deployment.Block;
   import org.apache.cocoon.kernel.deployment.DeploymentException;
   import org.apache.cocoon.kernel.deployment.Loader;
  +import org.apache.cocoon.kernel.identification.Descriptor;
  +import org.apache.cocoon.kernel.identification.Identifier;
   import org.apache.cocoon.kernel.resolution.LocalResolver;
   
   /**
  
  
  
  1.5       +2 -2      
cocoon-2.2/src/kernel/org/apache/cocoon/kernel/SimpleComposer.java
  
  Index: SimpleComposer.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.2/src/kernel/org/apache/cocoon/kernel/SimpleComposer.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SimpleComposer.java       31 Mar 2004 13:01:38 -0000      1.4
  +++ SimpleComposer.java       3 May 2004 20:45:50 -0000       1.5
  @@ -16,8 +16,8 @@
   package org.apache.cocoon.kernel;
   
   import org.apache.cocoon.kernel.composition.Composer;
  -import org.apache.cocoon.kernel.composition.Wirings;
   import org.apache.cocoon.kernel.composition.WiringException;
  +import org.apache.cocoon.kernel.composition.Wirings;
   import org.apache.cocoon.kernel.configuration.ConfigurationException;
   import org.apache.cocoon.kernel.configuration.Parameters;
   import org.apache.cocoon.kernel.deployment.DeploymentException;
  
  
  

Reply via email to