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

(-)java/org/apache/jasper/el/ELResolverImpl.java (-13 / +21 lines)
Lines 45-54 Link Here
45
        ((CompositeELResolver) DefaultResolver).add(new BeanELResolver());
45
        ((CompositeELResolver) DefaultResolver).add(new BeanELResolver());
46
    }
46
    }
47
47
48
    private ELResolver defaultResolver;
49
48
    private final VariableResolver variableResolver;
50
    private final VariableResolver variableResolver;
49
51
50
    public ELResolverImpl(VariableResolver variableResolver) {
52
    public ELResolverImpl(VariableResolver variableResolver) {
51
        this.variableResolver = variableResolver;
53
        this.variableResolver = variableResolver;
54
        defaultResolver = new CompositeELResolver();
55
        ((CompositeELResolver) defaultResolver).add(new MapELResolver());
56
        ((CompositeELResolver) defaultResolver).add(new ResourceBundleELResolver());
57
        ((CompositeELResolver) defaultResolver).add(new ListELResolver());
58
        ((CompositeELResolver) defaultResolver).add(new ArrayELResolver());
59
        ((CompositeELResolver) defaultResolver).add(new BeanELResolver());
52
    }
60
    }
53
61
54
    @Override
62
    @Override
Lines 71-77 Link Here
71
        }
79
        }
72
80
73
        if (!context.isPropertyResolved()) {
81
        if (!context.isPropertyResolved()) {
74
            return getDefaultResolver().getValue(context, base, property);
82
            return defaultResolver.getValue(context, base, property);
75
        }
83
        }
76
        return null;
84
        return null;
77
    }
85
    }
Lines 97-103 Link Here
97
        }
105
        }
98
106
99
        if (!context.isPropertyResolved()) {
107
        if (!context.isPropertyResolved()) {
100
            return getDefaultResolver().getType(context, base, property);
108
            return defaultResolver.getType(context, base, property);
101
        }
109
        }
102
        return null;
110
        return null;
103
    }
111
    }
Lines 118-124 Link Here
118
        }
126
        }
119
127
120
        if (!context.isPropertyResolved()) {
128
        if (!context.isPropertyResolved()) {
121
            getDefaultResolver().setValue(context, base, property, value);
129
            defaultResolver.setValue(context, base, property, value);
122
        }
130
        }
123
    }
131
    }
124
132
Lines 134-145 Link Here
134
            return true;
142
            return true;
135
        }
143
        }
136
144
137
        return getDefaultResolver().isReadOnly(context, base, property);
145
        return defaultResolver.isReadOnly(context, base, property);
138
    }
146
    }
139
147
140
    @Override
148
    @Override
141
    public Iterator<java.beans.FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base) {
149
    public Iterator<java.beans.FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base) {
142
        return getDefaultResolver().getFeatureDescriptors(context, base);
150
        return defaultResolver.getFeatureDescriptors(context, base);
143
    }
151
    }
144
152
145
    @Override
153
    @Override
Lines 147-164 Link Here
147
        if (base == null) {
155
        if (base == null) {
148
            return String.class;
156
            return String.class;
149
        }
157
        }
150
        return getDefaultResolver().getCommonPropertyType(context, base);
158
        return defaultResolver.getCommonPropertyType(context, base);
151
    }
159
    }
152
160
153
    public static ELResolver getDefaultResolver() {
161
    public static ELResolver getDefaultResolver() {
154
        if (Constants.IS_SECURITY_ENABLED) {
162
        if (Constants.IS_SECURITY_ENABLED) {
155
            CompositeELResolver defaultResolver = new CompositeELResolver();
163
            CompositeELResolver newDefaultResolver = new CompositeELResolver();
156
            defaultResolver.add(new MapELResolver());
164
            newDefaultResolver.add(new MapELResolver());
157
            defaultResolver.add(new ResourceBundleELResolver());
165
            newDefaultResolver.add(new ResourceBundleELResolver());
158
            defaultResolver.add(new ListELResolver());
166
            newDefaultResolver.add(new ListELResolver());
159
            defaultResolver.add(new ArrayELResolver());
167
            newDefaultResolver.add(new ArrayELResolver());
160
            defaultResolver.add(new BeanELResolver());
168
            newDefaultResolver.add(new BeanELResolver());
161
            return defaultResolver;
169
            return newDefaultResolver;
162
        } else {
170
        } else {
163
            return DefaultResolver;
171
            return DefaultResolver;
164
        }
172
        }
(-)java/org/apache/jasper/el/ELContextImpl.java (-13 / +1 lines)
Lines 26-33 Link Here
26
import javax.el.ValueExpression;
26
import javax.el.ValueExpression;
27
import javax.el.VariableMapper;
27
import javax.el.VariableMapper;
28
28
29
import org.apache.jasper.Constants;
30
31
/**
29
/**
32
 * Implementation of ELContext
30
 * Implementation of ELContext
33
 * 
31
 * 
Lines 66-87 Link Here
66
64
67
    private final ELResolver resolver;
65
    private final ELResolver resolver;
68
66
69
    private FunctionMapper functionMapper;
67
    private FunctionMapper functionMapper = NullFunctionMapper; // immutable
70
68
71
    private VariableMapper variableMapper;
69
    private VariableMapper variableMapper;
72
70
73
    public ELContextImpl() {
71
    public ELContextImpl() {
74
        this(ELResolverImpl.getDefaultResolver());
72
        this(ELResolverImpl.getDefaultResolver());
75
        if (Constants.IS_SECURITY_ENABLED) {
76
            functionMapper = new FunctionMapper() {
77
                @Override
78
                public Method resolveFunction(String prefix, String localName) {
79
                    return null;
80
                }
81
            };
82
        } else {
83
            functionMapper = NullFunctionMapper;
84
        }
85
    }
73
    }
86
74
87
    public ELContextImpl(ELResolver resolver) {
75
    public ELContextImpl(ELResolver resolver) {

Return to bug 50192