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 |
} |