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;