vgritsenko 02/02/09 21:08:24 Modified: src/java/org/apache/cocoon/components/language/markup/xsp JSGenerator.java src/java/org/apache/cocoon/components/language/programming/javascript JavascriptLanguage.java src/java/org/apache/cocoon/generation AbstractServerPage.java Log: fix dispose in JSGenerator, override modified since, cleanup Revision Changes Path 1.2 +34 -18 xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/JSGenerator.java Index: JSGenerator.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/JSGenerator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- JSGenerator.java 9 Feb 2002 04:16:38 -0000 1.1 +++ JSGenerator.java 10 Feb 2002 05:08:24 -0000 1.2 @@ -91,7 +91,7 @@ * written in Javascript language * * @author <a href="mailto:[EMAIL PROTECTED]">Vadim Gritsenko</a> - * @version CVS $Id: JSGenerator.java,v 1.1 2002/02/09 04:16:38 vgritsenko Exp $ + * @version CVS $Id: JSGenerator.java,v 1.2 2002/02/10 05:08:24 vgritsenko Exp $ */ public class JSGenerator extends XSPGenerator implements Configurable, Initializable { @@ -109,10 +109,27 @@ public void configure(Configuration configuration) throws ConfigurationException { this.file = new File(configuration.getChild("file").getValue()); - AbstractServerPage.dateCreated = this.file.lastModified(); + } + + /** + * Determines whether this generator's source files have changed + * + * @return Whether any of the files this generator depends on has changed + * since it was created + */ + public boolean modifiedSince(long date) { + if (this.file.lastModified() < date) { + return true; + } // FIXME - AbstractServerPage.dependencies = new File[]{}; +// for (int i = 0; i < dependencies.length; i++) { +// if (dateCreated < dependencies[i].lastModified()) { +// return true; +// } +// } + + return false; } public void initialize() throws Exception { @@ -124,10 +141,10 @@ global.put("jsAttr", global, Context.toObject(new AttributesImpl(), global)); context.setOptimizationLevel(-1); + if (getLogger().isDebugEnabled()) { getLogger().debug("Compiling script " + file); } - System.out.println("Compiling script " + file); script = context.compileReader(global, new FileReader(file), file.toString(), 1, null); } finally { Context.exit(); @@ -138,17 +155,12 @@ throws ProcessingException, SAXException, IOException { super.setup(resolver, objectModel, src, par); - Context context = Context.enter(); - try { - global.put("objectModel", global, Context.toObject(this.objectModel, global)); - global.put("request", global, Context.toObject(this.request, global)); - global.put("response", global, Context.toObject(this.response, global)); - global.put("context", global, Context.toObject(this.context, global)); - global.put("resolver", global, Context.toObject(this.resolver, global)); - global.put("parameters", global, Context.toObject(this.parameters, global)); - } finally { - Context.exit(); - } + global.put("objectModel", global, Context.toObject(this.objectModel, global)); + global.put("request", global, Context.toObject(this.request, global)); + global.put("response", global, Context.toObject(this.response, global)); + global.put("context", global, Context.toObject(this.context, global)); + global.put("resolver", global, Context.toObject(this.resolver, global)); + global.put("parameters", global, Context.toObject(this.parameters, global)); } public void generate() throws IOException, ProcessingException { @@ -161,7 +173,6 @@ if (getLogger().isDebugEnabled()) { getLogger().debug("Executing script " + file); } - System.out.println("Executing script " + file); script.exec(context, global); } catch (JavaScriptException e) { @@ -185,8 +196,13 @@ } public void dispose() { - script = null; - global = null; + global.delete("page"); + global.delete("logger"); + global.delete("jsAttr"); + this.global = null; + this.script = null; + + super.dispose(); } // Helper methods accessible from script 1.6 +1 -2 xml-cocoon2/src/java/org/apache/cocoon/components/language/programming/javascript/JavascriptLanguage.java Index: JavascriptLanguage.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/language/programming/javascript/JavascriptLanguage.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- JavascriptLanguage.java 9 Feb 2002 03:32:05 -0000 1.5 +++ JavascriptLanguage.java 10 Feb 2002 05:08:24 -0000 1.6 @@ -77,7 +77,7 @@ * The class specified will be used as a Java wrapper interpreting javascript program. * * @author <a href="mailto:[EMAIL PROTECTED]">Vadim Gritsenko</a> - * @version CVS $Id: JavascriptLanguage.java,v 1.5 2002/02/09 03:32:05 vgritsenko Exp $ + * @version CVS $Id: JavascriptLanguage.java,v 1.6 2002/02/10 05:08:24 vgritsenko Exp $ */ public class JavascriptLanguage extends AbstractProgrammingLanguage implements ProgrammingLanguage { @@ -141,7 +141,6 @@ protected void doUnload(Object program, String filename, File baseDir) throws LanguageException { - System.out.println("IJavascriptLanguage: Unloading " + filename); // Do nothing. Source is already deleted by the AbstractProgrammingLanguage. } 1.5 +2 -2 xml-cocoon2/src/java/org/apache/cocoon/generation/AbstractServerPage.java Index: AbstractServerPage.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/generation/AbstractServerPage.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- AbstractServerPage.java 4 Feb 2002 13:15:04 -0000 1.4 +++ AbstractServerPage.java 10 Feb 2002 05:08:24 -0000 1.5 @@ -69,7 +69,7 @@ * declares variables that must be explicitly initialized by code generators. * * @author <a href="mailto:[EMAIL PROTECTED]">Ricardo Rocha</a> - * @version CVS $Id: AbstractServerPage.java,v 1.4 2002/02/04 13:15:04 cziegeler Exp $ + * @version CVS $Id: AbstractServerPage.java,v 1.5 2002/02/10 05:08:24 vgritsenko Exp $ */ public abstract class AbstractServerPage extends ServletGenerator implements CompiledComponent, Cacheable @@ -100,7 +100,7 @@ * @return Whether any of the files this generator depends on has changed * since it was created */ - public final boolean modifiedSince(long date) { + public boolean modifiedSince(long date) { if (dateCreated < date) { return true; }
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]