Return-Path: Delivered-To: apmail-cocoon-cvs-archive@www.apache.org Received: (qmail 4116 invoked from network); 29 Dec 2003 13:30:39 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 29 Dec 2003 13:30:39 -0000 Received: (qmail 16773 invoked by uid 500); 29 Dec 2003 13:30:35 -0000 Delivered-To: apmail-cocoon-cvs-archive@cocoon.apache.org Received: (qmail 16736 invoked by uid 500); 29 Dec 2003 13:30:34 -0000 Mailing-List: contact cvs-help@cocoon.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@cocoon.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list cvs@cocoon.apache.org Received: (qmail 16725 invoked by uid 500); 29 Dec 2003 13:30:34 -0000 Delivered-To: apmail-cocoon-2.2-cvs@apache.org Received: (qmail 16722 invoked from network); 29 Dec 2003 13:30:34 -0000 Received: from unknown (HELO minotaur.apache.org) (209.237.227.194) by daedalus.apache.org with SMTP; 29 Dec 2003 13:30:34 -0000 Received: (qmail 4068 invoked by uid 1758); 29 Dec 2003 13:30:36 -0000 Date: 29 Dec 2003 13:30:36 -0000 Message-ID: <20031229133036.4067.qmail@minotaur.apache.org> From: unico@apache.org To: cocoon-2.2-cvs@apache.org Subject: cvs commit: cocoon-2.2/src/java/org/apache/cocoon/components/language/generator ProgramGeneratorImpl.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N unico 2003/12/29 05:30:36 Modified: src/java/org/apache/cocoon/components/language/generator ProgramGeneratorImpl.java Log: make it compile Revision Changes Path 1.7 +48 -51 cocoon-2.2/src/java/org/apache/cocoon/components/language/generator/ProgramGeneratorImpl.java Index: ProgramGeneratorImpl.java =================================================================== RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/language/generator/ProgramGeneratorImpl.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ProgramGeneratorImpl.java 9 Nov 2003 20:09:47 -0000 1.6 +++ ProgramGeneratorImpl.java 29 Dec 2003 13:30:36 -0000 1.7 @@ -50,8 +50,10 @@ */ package org.apache.cocoon.components.language.generator; +import java.io.File; +import java.net.MalformedURLException; + import org.apache.avalon.framework.activity.Disposable; -import org.apache.avalon.framework.component.Recomposable; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.Contextualizable; @@ -76,9 +78,6 @@ import org.apache.cocoon.util.IOUtils; import org.apache.excalibur.source.Source; -import java.io.File; -import java.net.MalformedURLException; - /** * The default implementation of ProgramGenerator * @@ -86,10 +85,15 @@ * @author Vadim Gritsenko * @author Torsten Curdt * @version CVS $Id$ + * + * @avalon.component + * @avalon.service type=ProgramGenerator + * @x-avalon.lifestyle type=singleton + * @x-avalon.info name=program-generator */ public class ProgramGeneratorImpl extends AbstractLogEnabled implements ProgramGenerator, Contextualizable, Serviceable, Parameterizable, - Disposable, ThreadSafe { + Disposable { /** The auto-reloading option */ protected boolean autoReload = true; @@ -104,17 +108,11 @@ * The ComponentSelector for programs. Caches Program by program * source file. */ - protected GeneratorSelector cache; +// protected GeneratorSelector cache; /** The service manager */ protected ServiceManager manager; - /** The markup language component selector */ - protected ServiceSelector markupSelector; - - /** The programming language component selector */ - protected ServiceSelector languageSelector; - /** The working directory */ protected File workDir; @@ -168,9 +166,6 @@ public void service(ServiceManager manager) throws ServiceException { if (this.manager == null && manager != null) { this.manager = manager; - this.cache = (GeneratorSelector) this.manager.lookup(GeneratorSelector.ROLE + "Selector"); - this.markupSelector = (ServiceSelector)this.manager.lookup(MarkupLanguage.ROLE + "Selector"); - this.languageSelector = (ServiceSelector)this.manager.lookup(ProgrammingLanguage.ROLE + "Selector"); this.classManager = (ClassLoaderManager)this.manager.lookup(ClassLoaderManager.ROLE); } } @@ -234,7 +229,8 @@ * * This method does not releases passed source object. Caller of the method must release * source when needed. - * + * + * @param newManager The ServiceManager that it will be loaded with * @param source The input document's File * @param markupLanguageName The MarkupLanguage in which the input document is written * @param programmingLanguageName The ProgrammingLanguage in which the program must be written @@ -263,8 +259,10 @@ " -> normalizedName=[" + normalizedName + "]"); } - markupLanguage = (MarkupLanguage) this.markupSelector.select(markupLanguageName); - programmingLanguage = (ProgrammingLanguage) this.languageSelector.select(programmingLanguageName); + markupLanguage = (MarkupLanguage) this.manager.lookup( + MarkupLanguage.ROLE + "/" + markupLanguageName); + programmingLanguage = (ProgrammingLanguage) this.manager.lookup( + ProgrammingLanguage.ROLE + "/" + programmingLanguageName); programmingLanguage.setLanguageName(programmingLanguageName); Program program = null; @@ -272,7 +270,7 @@ // Attempt to load program object from cache try { - programInstance = (CompiledComponent) this.cache.select(normalizedName); +// programInstance = (CompiledComponent) this.cache.select(normalizedName); } catch (Exception e) { if (getLogger().isDebugEnabled()) { getLogger().debug("The serverpage [" + id + "] is not in the cache yet"); @@ -286,8 +284,8 @@ this.workDir, markupLanguage.getEncoding()); - this.cache.addGenerator(newManager, normalizedName, program); - programInstance = (CompiledComponent) this.cache.select(normalizedName); +// this.cache.addGenerator(newManager, normalizedName, program); +// programInstance = (CompiledComponent) this.cache.select(normalizedName); if (getLogger().isDebugEnabled()) { getLogger().debug("Successfully preloaded serverpage [" + id + "]"); @@ -334,7 +332,7 @@ } release(programInstance); programmingLanguage.unload(program, normalizedName, this.workDir); - this.cache.removeGenerator(normalizedName); +// this.cache.removeGenerator(normalizedName); programInstance = null; program = null; @@ -371,7 +369,7 @@ } release(programInstance); //programmingLanguage.unload(program, normalizedName, this.workDir); - this.cache.removeGenerator(normalizedName); +// this.cache.removeGenerator(normalizedName); programInstance = null; program = null; @@ -403,14 +401,18 @@ // This is required to provide XSP with manager from the correct // sitemap so it will be able to find all components declared in // the sitemap. - if (programInstance instanceof Recomposable) { - ((Recomposable) programInstance).recompose(newManager); - } +// if (programInstance instanceof Recomposable) { +// ((Recomposable) programInstance).recompose(newManager); +// } return (programInstance); } finally { - this.markupSelector.release(markupLanguage); - this.languageSelector.release(programmingLanguage); + if (markupLanguage != null) { + this.manager.release(markupLanguage); + } + if (programmingLanguage != null) { + this.manager.release(programmingLanguage); + } } } @@ -422,10 +424,10 @@ CompiledComponent programInstance = null; - try { - return (CompiledComponent) this.cache.select(normalizedName); - } catch (Exception e) { - } +// try { +// return (CompiledComponent) this.cache.select(normalizedName); +// } catch (Exception e) { +// } try { if (getLogger().isDebugEnabled()) { @@ -433,7 +435,7 @@ } Program program = programmingLanguage.load(normalizedName, this.workDir, markupLanguage.getEncoding()); - this.cache.addGenerator(newManager, normalizedName, program); +// this.cache.addGenerator(newManager, normalizedName, program); if (getLogger().isDebugEnabled()) { getLogger().debug("Successfully loaded program [" + normalizedName + "]"); } @@ -444,14 +446,14 @@ throw new ProcessingException("Language Exception", le); } - try { - programInstance = (CompiledComponent) this.cache.select(normalizedName); - } catch (Exception cme) { - if (getLogger().isDebugEnabled()) { - getLogger().debug("Can't load ServerPage: got exception", cme); - } - throw new ProcessingException("Can't load ServerPage", cme); - } +// try { +// programInstance = (CompiledComponent) this.cache.select(normalizedName); +// } catch (Exception cme) { +// if (getLogger().isDebugEnabled()) { +// getLogger().debug("Can't load ServerPage: got exception", cme); +// } +// throw new ProcessingException("Can't load ServerPage", cme); +// } return (programInstance); } @@ -503,7 +505,7 @@ * @param component program instance to be released */ public void release(CompiledComponent component) { - this.cache.release(component); +// this.cache.release(component); } /** @@ -513,22 +515,17 @@ */ public void remove(Source source) { final String normalizedName = getNormalizedName(source.getURI()); - this.cache.removeGenerator(normalizedName); +// this.cache.removeGenerator(normalizedName); } /** * dispose */ public void dispose() { - this.manager.release(this.cache); - this.cache = null; - this.manager.release(this.markupSelector); - this.markupSelector = null; - this.manager.release(this.languageSelector); - this.languageSelector = null; +// this.manager.release(this.cache); +// this.cache = null; this.manager.release(this.classManager); this.classManager = null; - this.manager = null; this.workDir = null;