cmailleux 2005/09/16 11:54:46 CEST
Modified files:
core/src/java/org/jahia/data/fields ExpressionMarker.java
Log:
Avoid looping call to jc.getVars
Revision Changes Path
1.5 +10 -7
jahia/core/src/java/org/jahia/data/fields/ExpressionMarker.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/fields/ExpressionMarker.java.diff?r1=1.4&r2=1.5&f=h
Index: ExpressionMarker.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/data/fields/ExpressionMarker.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ExpressionMarker.java 8 Jul 2005 16:09:04 -0000 1.4
+++ ExpressionMarker.java 16 Sep 2005 09:54:46 -0000 1.5
@@ -6,10 +6,13 @@
import java.util.Vector;
import org.jahia.exceptions.JahiaException;
import java.util.Comparator;
+import java.util.Map;
+
import org.apache.commons.jexl.Expression;
import org.apache.commons.jexl.ExpressionFactory;
import org.apache.commons.jexl.JexlContext;
import org.apache.commons.jexl.JexlHelper;
+import org.springframework.util.StopWatch;
/**
* <p>Title: Marker used in field values and default values that can contain
@@ -68,13 +71,13 @@
Expression e = ExpressionFactory.createExpression(expr);
JexlContext jc = JexlHelper.createContext();
- jc.getVars().put("currentContext", expressionContext);
- jc.getVars().put("currentPage",
expressionContext.getPageBean());
- jc.getVars().put("currentSite",
expressionContext.getSiteBean());
- jc.getVars().put("currentJahia",
expressionContext.getJahiaBean());
- jc.getVars().put("currentUser", expressionContext.getUser());
- jc.getVars().put("currentRequest",
- expressionContext.getRequestBean());
+ final Map vars = jc.getVars();
+ vars.put("currentContext", expressionContext);
+ vars.put("currentPage", expressionContext.getPageBean());
+ vars.put("currentSite", expressionContext.getSiteBean());
+ vars.put("currentJahia", expressionContext.getJahiaBean());
+ vars.put("currentUser", expressionContext.getUser());
+ vars.put("currentRequest",
expressionContext.getRequestBean());
/* FIXME : We should never cache Expression because they
should
// be evaluated dynamically.