Author: markt
Date: Sun Dec 14 14:43:36 2014
New Revision: 1645458
URL: http://svn.apache.org/r1645458
Log:
Partially revert 1645440. Can't use 'new' for loop here as array is not always
full.
Modified:
tomcat/trunk/java/javax/el/CompositeELResolver.java
Modified: tomcat/trunk/java/javax/el/CompositeELResolver.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/CompositeELResolver.java?rev=1645458&r1=1645457&r2=1645458&view=diff
==============================================================================
--- tomcat/trunk/java/javax/el/CompositeELResolver.java (original)
+++ tomcat/trunk/java/javax/el/CompositeELResolver.java Sun Dec 14 14:43:36 2014
@@ -58,8 +58,9 @@ public class CompositeELResolver extends
@Override
public Object getValue(ELContext context, Object base, Object property) {
context.setPropertyResolved(false);
- for (ELResolver resolver : resolvers) {
- Object result = resolver.getValue(context, base, property);
+ int sz = this.size;
+ for (int i = 0; i < sz; i++) {
+ Object result = this.resolvers[i].getValue(context, base,
property);
if (context.isPropertyResolved()) {
return result;
}
@@ -71,11 +72,12 @@ public class CompositeELResolver extends
* @since EL 2.2
*/
@Override
- public Object invoke(ELContext context, Object base, Object method,
Class<?>[] paramTypes,
- Object[] params) {
+ public Object invoke(ELContext context, Object base, Object method,
+ Class<?>[] paramTypes, Object[] params) {
context.setPropertyResolved(false);
- for (ELResolver resolver : resolvers) {
- Object obj = resolver.invoke(context, base, method, paramTypes,
params);
+ int sz = this.size;
+ for (int i = 0; i < sz; i++) {
+ Object obj = this.resolvers[i].invoke(context, base, method,
paramTypes, params);
if (context.isPropertyResolved()) {
return obj;
}
@@ -86,15 +88,16 @@ public class CompositeELResolver extends
@Override
public Class<?> getType(ELContext context, Object base, Object property) {
context.setPropertyResolved(false);
- for (ELResolver resolver : resolvers) {
- Class<?> type = resolver.getType(context, base, property);
+ int sz = this.size;
+ for (int i = 0; i < sz; i++) {
+ Class<?> type = this.resolvers[i].getType(context, base, property);
if (context.isPropertyResolved()) {
if (SCOPED_ATTRIBUTE_EL_RESOLVER != null &&
-
SCOPED_ATTRIBUTE_EL_RESOLVER.isAssignableFrom(resolver.getClass())) {
+
SCOPED_ATTRIBUTE_EL_RESOLVER.isAssignableFrom(resolvers[i].getClass())) {
// Special case since
// javax.servlet.jsp.el.ScopedAttributeELResolver will
// always return Object.class for type
- Object value = resolver.getValue(context, base, property);
+ Object value = resolvers[i].getValue(context, base,
property);
if (value != null) {
return value.getClass();
}
@@ -108,8 +111,9 @@ public class CompositeELResolver extends
@Override
public void setValue(ELContext context, Object base, Object property,
Object value) {
context.setPropertyResolved(false);
- for (ELResolver resolver : resolvers) {
- resolver.setValue(context, base, property, value);
+ int sz = this.size;
+ for (int i = 0; i < sz; i++) {
+ this.resolvers[i].setValue(context, base, property, value);
if (context.isPropertyResolved()) {
return;
}
@@ -119,8 +123,9 @@ public class CompositeELResolver extends
@Override
public boolean isReadOnly(ELContext context, Object base, Object property)
{
context.setPropertyResolved(false);
- for (ELResolver resolver : resolvers) {
- boolean readOnly = resolver.isReadOnly(context, base, property);
+ int sz = this.size;
+ for (int i = 0; i < sz; i++) {
+ boolean readOnly = this.resolvers[i].isReadOnly(context, base,
property);
if (context.isPropertyResolved()) {
return readOnly;
}
@@ -136,8 +141,9 @@ public class CompositeELResolver extends
@Override
public Class<?> getCommonPropertyType(ELContext context, Object base) {
Class<?> commonType = null;
- for (ELResolver resolver : resolvers) {
- Class<?> type = resolver.getCommonPropertyType(context, base);
+ int sz = this.size;
+ for (int i = 0; i < sz; i++) {
+ Class<?> type = this.resolvers[i].getCommonPropertyType(context,
base);
if (type != null && (commonType == null ||
commonType.isAssignableFrom(type))) {
commonType = type;
}
@@ -148,8 +154,9 @@ public class CompositeELResolver extends
@Override
public Object convertToType(ELContext context, Object obj, Class<?> type) {
context.setPropertyResolved(false);
- for (ELResolver resolver : resolvers) {
- Object result = resolver.convertToType(context, obj, type);
+ int sz = this.size;
+ for (int i = 0; i < sz; i++) {
+ Object result = this.resolvers[i].convertToType(context, obj,
type);
if (context.isPropertyResolved()) {
return result;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]