View | Details | Raw Unified | Return to bug 28282
Collapse All | Expand All

(-)ExpressionEvaluatorManager.java.orig (-12 / +14 lines)
Lines 99-118 Link Here
99
     * Gets an ExpressionEvaluator from the cache, or seeds the cache
99
     * Gets an ExpressionEvaluator from the cache, or seeds the cache
100
     * if we haven't seen a particular ExpressionEvaluator before.
100
     * if we haven't seen a particular ExpressionEvaluator before.
101
     */
101
     */
102
    public static synchronized
102
    public static ExpressionEvaluator getEvaluatorByName(String name) throws JspException
103
	    ExpressionEvaluator getEvaluatorByName(String name)
103
    {
104
            throws JspException {
104
        Object oEvaluator = nameMap.get(name);
105
        if (oEvaluator != null)
106
            return ((ExpressionEvaluator) oEvaluator);
105
        try {
107
        try {
106
108
                synchronized (nameMap)
107
            Object oEvaluator = nameMap.get(name);
109
                {
108
            if (oEvaluator == null) {
110
                    oEvaluator = nameMap.get(name);
109
                ExpressionEvaluator e = (ExpressionEvaluator)
111
                    if (oEvaluator != null)
110
                    Class.forName(name).newInstance();
112
                        return ((ExpressionEvaluator) oEvaluator);
111
                nameMap.put(name, e);
113
                    ExpressionEvaluator e = (ExpressionEvaluator) Class.forName(name).newInstance();
112
                return (e);
114
                    nameMap.put(name, e);
113
            } else
115
                    oEvaluator = e;
116
                }
114
                return ((ExpressionEvaluator) oEvaluator);
117
                return ((ExpressionEvaluator) oEvaluator);
115
116
        } catch (ClassCastException ex) {
118
        } catch (ClassCastException ex) {
117
            // just to display a better error message
119
            // just to display a better error message
118
            throw new JspException("invalid ExpressionEvaluator: " +
120
            throw new JspException("invalid ExpressionEvaluator: " +

Return to bug 28282