You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by an...@apache.org on 2006/04/24 08:49:34 UTC
svn commit: r396456 - in
/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow:
CompilingInterpreter.java javascript/fom/FOM_JavaScriptInterpreter.java
Author: antonio
Date: Sun Apr 23 23:49:32 2006
New Revision: 396456
URL: http://svn.apache.org/viewcvs?rev=396456&view=rev
Log:
<action dev="AG" type="fix" fixes-bug="COCOON-1721" due-to="Georg Hüttenegger" due-to-email="georg.huettenegger@gmx.at">
Performance Issue/JavaScriptFlowScript: If <reload-scripts> is set to false,
do not check for last modification time of javascript source files.
</action>
Modified:
cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/CompilingInterpreter.java
cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java
Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/CompilingInterpreter.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/CompilingInterpreter.java?rev=396456&r1=396455&r2=396456&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/CompilingInterpreter.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/CompilingInterpreter.java Sun Apr 23 23:49:32 2006
@@ -107,7 +107,7 @@
if (refresh) {
source.refresh();
}
- if (script == null || compileTime < source.getLastModified()) {
+ if (script == null || (refresh && compileTime < source.getLastModified())) {
script = interpreter.compileScript(context, scope, source);
compileTime = source.getLastModified();
}
Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java?rev=396456&r1=396455&r2=396456&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_JavaScriptInterpreter.java Sun Apr 23 23:49:32 2006
@@ -31,6 +31,7 @@
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.service.ServiceManager;
+
import org.apache.cocoon.ResourceNotFoundException;
import org.apache.cocoon.components.ContextHelper;
import org.apache.cocoon.components.flow.CompilingInterpreter;
@@ -45,6 +46,7 @@
import org.apache.cocoon.environment.Redirector;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.Session;
+
import org.apache.commons.jxpath.JXPathIntrospector;
import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl;
import org.apache.excalibur.source.Source;
@@ -453,7 +455,10 @@
String sourceURI = (String) execList.get(i);
ScriptSourceEntry entry =
(ScriptSourceEntry) compiledScripts.get(sourceURI);
- long lastMod = entry.getSource().getLastModified();
+ long lastMod = 0;
+ if (reloadScripts && lastExecTime != 0) {
+ lastMod = entry.getSource().getLastModified();
+ }
Script script = entry.getScript(context, this.scope, false, this);
if (lastExecTime == 0 || lastMod > lastExecTime) {
script.exec(context, thrScope);
@@ -488,7 +493,6 @@
}
}
throw new ResourceNotFoundException(fileName + ": not found");
-
}
protected Script compileScript(Context cx, Scriptable scope, Source src)
@@ -676,10 +680,8 @@
"handleContinuation", args);
} catch (JavaScriptException ex) {
throw locationTracker.getException("Error calling continuation", ex);
-
} catch (EcmaError ee) {
throw locationTracker.getException("Error calling continuation", ee);
-
}
} finally {
kScope.setLock(false);