cvs commit: cocoon-2.2/src/java/org/apache/cocoon/components/language/markup/xsp XSPModuleHelper.java
cziegeler2003/10/21 06:26:04 Modified:src/java/org/apache/cocoon/components/language/markup/xsp XSPModuleHelper.java Log: Moving to Serviceable Revision ChangesPath 1.7 +52 -48 cocoon-2.2/src/java/org/apache/cocoon/components/language/markup/xsp/XSPModuleHelper.java Index: XSPModuleHelper.java === RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/language/markup/xsp/XSPModuleHelper.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- XSPModuleHelper.java 16 Oct 2003 14:57:59 - 1.6 +++ XSPModuleHelper.java 21 Oct 2003 13:26:04 - 1.7 @@ -56,10 +56,9 @@ import java.util.Map; import org.apache.avalon.framework.CascadingRuntimeException; -import org.apache.avalon.framework.service.ServiceSelector; -import org.apache.avalon.framework.service.ServiceManager; import org.apache.avalon.framework.configuration.Configuration; -import org.apache.avalon.framework.thread.ThreadSafe; +import org.apache.avalon.framework.service.ServiceManager; +import org.apache.avalon.framework.service.ServiceSelector; import org.apache.cocoon.components.modules.input.InputModule; @@ -88,12 +87,37 @@ private final static int OP_VALUES = 1; private final static int OP_NAMES = 2; -Map inputModules = null; -ServiceManager manager = null; -ServiceSelector inputSelector = null; - +private Map inputModules; +private ServiceManager serviceManager; +private ServiceSelector serviceInputSelector; + /** + * Get the input module + */ +private InputModule getInputModule(String name) +throws CascadingRuntimeException { +if ( this.inputModules == null ) { +throw new RuntimeException("ModuleHelper is not setup correctly."); +} +InputModule module = (InputModule) this.inputModules.get(name); +if ( module == null ) { +try { +if (this.serviceInputSelector.isSelectable(name)) { +module = (InputModule) this.serviceInputSelector.select(name); +} +} catch (Exception e) { +throw new CascadingRuntimeException("Unable to lookup input module " + name, e); +} +if ( module == null ) { +throw new RuntimeException("No such InputModule: "+name); +} +this.inputModules.put(name, module); +} +return module; +} + +/** * Capsules use of an InputModule. Does all the lookups and so * on. Returns either an Object, an Object[], or an Iterator, * depending on the method called i.e. the op specified. The @@ -115,30 +139,12 @@ private Object get(int op, String name, String attr, Map objectModel, Configuration conf) throws CascadingRuntimeException { Object value = null; -InputModule input = null; - -if (this.inputModules == null) -this.inputModules = new HashMap(); -else -if (this.inputModules.containsKey(name)) -input = (InputModule) this.inputModules.get(name); +final InputModule input = this.getInputModule(name); try { -if (this.inputSelector == null) -this.inputSelector = (ServiceSelector) this.manager.lookup(INPUT_MODULE_SELECTOR); - -if (input == null) { -if (this.inputSelector.isSelectable(name)) { -input = (InputModule) this.inputSelector.select(name); -this.inputModules.put(name, input); -} else { -throw new RuntimeException("No such InputModule: "+name); -} -} - switch (op) { -case OP_GET: +case OP_GET: value = input.getAttribute(attr, conf, objectModel); break; case OP_VALUES: @@ -160,29 +166,25 @@ return get(op, name, attr, objectModel, null); } - - /** * Initializes the instance for first use. Stores references to - * component manager and component selector in instance if - * ThreadSafe. + * service manager and service selector in instance * - * @param manager a ComponentManager value + * @param manager a ServiceManager value * @exception RuntimeException if an error occurs */ public void setup(ServiceManager manager) throws RuntimeException { this.inputModules = new HashMap(); -this.manager = manager; +this.serviceManager = manager; try { -
cvs commit: cocoon-2.2/src/java/org/apache/cocoon/components/language/markup/xsp XSPModuleHelper.java
bloritsch2003/10/16 07:57:59 Modified:src/java/org/apache/cocoon/components/language/generator GeneratorSelector.java ProgramGenerator.java src/java/org/apache/cocoon/components/language/markup/xsp XSPModuleHelper.java Log: Update to Serviceable contracts Revision ChangesPath 1.4 +1 -5 cocoon-2.2/src/java/org/apache/cocoon/components/language/generator/GeneratorSelector.java Index: GeneratorSelector.java === RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/language/generator/GeneratorSelector.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- GeneratorSelector.java24 Sep 2003 21:41:12 - 1.3 +++ GeneratorSelector.java16 Oct 2003 14:57:59 - 1.4 @@ -50,10 +50,6 @@ */ package org.apache.cocoon.components.language.generator; -import org.apache.avalon.excalibur.component.ComponentHandler; -import org.apache.avalon.excalibur.component.ExcaliburComponentSelector; -import org.apache.avalon.excalibur.component.LogkitLoggerManager; -import org.apache.avalon.excalibur.component.RoleManager; import org.apache.avalon.excalibur.logger.LogKitManager; import org.apache.avalon.excalibur.logger.LoggerManager; import org.apache.avalon.framework.activity.Disposable; 1.2 +4 -4 cocoon-2.2/src/java/org/apache/cocoon/components/language/generator/ProgramGenerator.java Index: ProgramGenerator.java === RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/language/generator/ProgramGenerator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ProgramGenerator.java 9 Mar 2003 00:08:52 - 1.1 +++ ProgramGenerator.java 16 Oct 2003 14:57:59 - 1.2 @@ -52,8 +52,8 @@ import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.component.ComponentManager; +import org.apache.avalon.framework.service.ServiceManager; import org.apache.excalibur.source.Source; - import org.apache.cocoon.environment.SourceResolver; /** @@ -82,7 +82,7 @@ * @deprecated Pass Source object instead of file name. */ CompiledComponent load( -ComponentManager newManager, +ServiceManager newManager, String fileName, String markupLanguage, String programmingLanguage, @@ -102,7 +102,7 @@ * @exception Exception If an error occurs during generation or loading */ CompiledComponent load( -ComponentManager newManager, +ServiceManager newManager, Source source, String markupLanguage, String programmingLanguage, 1.6 +14 -18 cocoon-2.2/src/java/org/apache/cocoon/components/language/markup/xsp/XSPModuleHelper.java Index: XSPModuleHelper.java === RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/language/markup/xsp/XSPModuleHelper.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- XSPModuleHelper.java 24 Sep 2003 21:41:11 - 1.5 +++ XSPModuleHelper.java 16 Oct 2003 14:57:59 - 1.6 @@ -56,8 +56,8 @@ import java.util.Map; import org.apache.avalon.framework.CascadingRuntimeException; -import org.apache.avalon.framework.component.ComponentManager; -import org.apache.avalon.framework.component.ComponentSelector; +import org.apache.avalon.framework.service.ServiceSelector; +import org.apache.avalon.framework.service.ServiceManager; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.thread.ThreadSafe; @@ -89,9 +89,9 @@ private final static int OP_NAMES = 2; Map inputModules = null; -ComponentManager manager = null; -ComponentSelector inputSelector = null; - +ServiceManager manager = null; +ServiceSelector inputSelector = null; + /** * Capsules use of an InputModule. Does all the lookups and so @@ -117,7 +117,7 @@ Object value = null; InputModule input = null; -if (this.inputModules == null) +if (this.inputModules == null) this.inputModules = new HashMap(); else if (this.inputModules.containsKey(name)) @@ -126,10 +126,10 @@ try { if (this.inputSelector == null) -this.inputSelector = (ComponentSelector) this.manager.lookup(INPUT_MODULE_SELECTOR); - +this.inputSelector = (ServiceSelector) this.manager