You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2008/11/26 22:41:04 UTC
svn commit: r720991 -
/tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java
Author: markt
Date: Wed Nov 26 13:41:03 2008
New Revision: 720991
URL: http://svn.apache.org/viewvc?rev=720991&view=rev
Log:
Tabs -> 8 spaces
Modified:
tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java
Modified: tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java?rev=720991&r1=720990&r2=720991&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java (original)
+++ tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java Wed Nov 26 13:41:03 2008
@@ -56,34 +56,34 @@
public class JspRuntimeLibrary {
private static final String SERVLET_EXCEPTION
- = "javax.servlet.error.exception";
+ = "javax.servlet.error.exception";
private static final String JSP_EXCEPTION
- = "javax.servlet.jsp.jspException";
+ = "javax.servlet.jsp.jspException";
protected static class PrivilegedIntrospectHelper
- implements PrivilegedExceptionAction {
+ implements PrivilegedExceptionAction {
- private Object bean;
- private String prop;
- private String value;
- private ServletRequest request;
- private String param;
- private boolean ignoreMethodNF;
+ private Object bean;
+ private String prop;
+ private String value;
+ private ServletRequest request;
+ private String param;
+ private boolean ignoreMethodNF;
PrivilegedIntrospectHelper(Object bean, String prop,
String value, ServletRequest request,
String param, boolean ignoreMethodNF)
{
- this.bean = bean;
- this.prop = prop;
- this.value = value;
+ this.bean = bean;
+ this.prop = prop;
+ this.value = value;
this.request = request;
- this.param = param;
- this.ignoreMethodNF = ignoreMethodNF;
+ this.param = param;
+ this.ignoreMethodNF = ignoreMethodNF;
}
public Object run() throws JasperException {
- internalIntrospecthelper(
+ internalIntrospecthelper(
bean,prop,value,request,param,ignoreMethodNF);
return null;
}
@@ -99,134 +99,134 @@
* variable is initialized.
*/
public static Throwable getThrowable(ServletRequest request) {
- Throwable error = (Throwable) request.getAttribute(SERVLET_EXCEPTION);
- if (error == null) {
- error = (Throwable) request.getAttribute(JSP_EXCEPTION);
- if (error != null) {
- /*
- * The only place that sets JSP_EXCEPTION is
- * PageContextImpl.handlePageException(). It really should set
- * SERVLET_EXCEPTION, but that would interfere with the
- * ErrorReportValve. Therefore, if JSP_EXCEPTION is set, we
- * need to set SERVLET_EXCEPTION.
- */
- request.setAttribute(SERVLET_EXCEPTION, error);
- }
- }
+ Throwable error = (Throwable) request.getAttribute(SERVLET_EXCEPTION);
+ if (error == null) {
+ error = (Throwable) request.getAttribute(JSP_EXCEPTION);
+ if (error != null) {
+ /*
+ * The only place that sets JSP_EXCEPTION is
+ * PageContextImpl.handlePageException(). It really should set
+ * SERVLET_EXCEPTION, but that would interfere with the
+ * ErrorReportValve. Therefore, if JSP_EXCEPTION is set, we
+ * need to set SERVLET_EXCEPTION.
+ */
+ request.setAttribute(SERVLET_EXCEPTION, error);
+ }
+ }
- return error;
+ return error;
}
public static boolean coerceToBoolean(String s) {
- if (s == null || s.length() == 0)
- return false;
- else
- return Boolean.valueOf(s).booleanValue();
+ if (s == null || s.length() == 0)
+ return false;
+ else
+ return Boolean.valueOf(s).booleanValue();
}
public static byte coerceToByte(String s) {
- if (s == null || s.length() == 0)
- return (byte) 0;
- else
- return Byte.valueOf(s).byteValue();
+ if (s == null || s.length() == 0)
+ return (byte) 0;
+ else
+ return Byte.valueOf(s).byteValue();
}
public static char coerceToChar(String s) {
- if (s == null || s.length() == 0) {
- return (char) 0;
- } else {
- // this trick avoids escaping issues
- return (char)(int) s.charAt(0);
- }
+ if (s == null || s.length() == 0) {
+ return (char) 0;
+ } else {
+ // this trick avoids escaping issues
+ return (char)(int) s.charAt(0);
+ }
}
public static double coerceToDouble(String s) {
- if (s == null || s.length() == 0)
- return (double) 0;
- else
- return Double.valueOf(s).doubleValue();
+ if (s == null || s.length() == 0)
+ return (double) 0;
+ else
+ return Double.valueOf(s).doubleValue();
}
public static float coerceToFloat(String s) {
- if (s == null || s.length() == 0)
- return (float) 0;
- else
- return Float.valueOf(s).floatValue();
+ if (s == null || s.length() == 0)
+ return (float) 0;
+ else
+ return Float.valueOf(s).floatValue();
}
public static int coerceToInt(String s) {
- if (s == null || s.length() == 0)
- return 0;
- else
- return Integer.valueOf(s).intValue();
+ if (s == null || s.length() == 0)
+ return 0;
+ else
+ return Integer.valueOf(s).intValue();
}
public static short coerceToShort(String s) {
- if (s == null || s.length() == 0)
- return (short) 0;
- else
- return Short.valueOf(s).shortValue();
+ if (s == null || s.length() == 0)
+ return (short) 0;
+ else
+ return Short.valueOf(s).shortValue();
}
public static long coerceToLong(String s) {
- if (s == null || s.length() == 0)
- return (long) 0;
- else
- return Long.valueOf(s).longValue();
+ if (s == null || s.length() == 0)
+ return (long) 0;
+ else
+ return Long.valueOf(s).longValue();
}
public static Object coerce(String s, Class target) {
- boolean isNullOrEmpty = (s == null || s.length() == 0);
+ boolean isNullOrEmpty = (s == null || s.length() == 0);
- if (target == Boolean.class) {
- if (isNullOrEmpty) {
- s = "false";
- }
- return new Boolean(s);
- } else if (target == Byte.class) {
- if (isNullOrEmpty)
- return new Byte((byte) 0);
- else
- return new Byte(s);
- } else if (target == Character.class) {
- if (isNullOrEmpty)
- return new Character((char) 0);
- else
- return new Character(s.charAt(0));
- } else if (target == Double.class) {
- if (isNullOrEmpty)
- return new Double(0);
- else
- return new Double(s);
- } else if (target == Float.class) {
- if (isNullOrEmpty)
- return new Float(0);
- else
- return new Float(s);
- } else if (target == Integer.class) {
- if (isNullOrEmpty)
- return new Integer(0);
- else
- return new Integer(s);
- } else if (target == Short.class) {
- if (isNullOrEmpty)
- return new Short((short) 0);
- else
- return new Short(s);
- } else if (target == Long.class) {
- if (isNullOrEmpty)
- return new Long(0);
- else
- return new Long(s);
- } else {
- return null;
- }
+ if (target == Boolean.class) {
+ if (isNullOrEmpty) {
+ s = "false";
+ }
+ return new Boolean(s);
+ } else if (target == Byte.class) {
+ if (isNullOrEmpty)
+ return new Byte((byte) 0);
+ else
+ return new Byte(s);
+ } else if (target == Character.class) {
+ if (isNullOrEmpty)
+ return new Character((char) 0);
+ else
+ return new Character(s.charAt(0));
+ } else if (target == Double.class) {
+ if (isNullOrEmpty)
+ return new Double(0);
+ else
+ return new Double(s);
+ } else if (target == Float.class) {
+ if (isNullOrEmpty)
+ return new Float(0);
+ else
+ return new Float(s);
+ } else if (target == Integer.class) {
+ if (isNullOrEmpty)
+ return new Integer(0);
+ else
+ return new Integer(s);
+ } else if (target == Short.class) {
+ if (isNullOrEmpty)
+ return new Short((short) 0);
+ else
+ return new Short(s);
+ } else if (target == Long.class) {
+ if (isNullOrEmpty)
+ return new Long(0);
+ else
+ return new Long(s);
+ } else {
+ return null;
+ }
}
// __begin convertMethod
public static Object convert(String propertyName, String s, Class t,
- Class propertyEditorClass)
+ Class propertyEditorClass)
throws JasperException
{
try {
@@ -236,10 +236,10 @@
else
return null;
}
- if (propertyEditorClass != null) {
- return getValueFromBeanInfoPropertyEditor(
- t, propertyName, s, propertyEditorClass);
- } else if ( t.equals(Boolean.class) || t.equals(Boolean.TYPE) ) {
+ if (propertyEditorClass != null) {
+ return getValueFromBeanInfoPropertyEditor(
+ t, propertyName, s, propertyEditorClass);
+ } else if ( t.equals(Boolean.class) || t.equals(Boolean.TYPE) ) {
if (s.equalsIgnoreCase("on") || s.equalsIgnoreCase("true"))
s = "true";
else
@@ -265,8 +265,8 @@
return new java.io.File(s);
} else if (t.getName().equals("java.lang.Object")) {
return new Object[] {s};
- } else {
- return getValueFromPropertyEditorManager(
+ } else {
+ return getValueFromPropertyEditorManager(
t, propertyName, s);
}
} catch (Exception ex) {
@@ -279,12 +279,12 @@
public static void introspect(Object bean, ServletRequest request)
throws JasperException
{
- Enumeration e = request.getParameterNames();
- while ( e.hasMoreElements() ) {
- String name = (String) e.nextElement();
- String value = request.getParameter(name);
- introspecthelper(bean, name, value, request, name, true);
- }
+ Enumeration e = request.getParameterNames();
+ while ( e.hasMoreElements() ) {
+ String name = (String) e.nextElement();
+ String value = request.getParameter(name);
+ introspecthelper(bean, name, value, request, name, true);
+ }
}
// __end introspectMethod
@@ -297,8 +297,8 @@
if( Constants.IS_SECURITY_ENABLED ) {
try {
PrivilegedIntrospectHelper dp =
- new PrivilegedIntrospectHelper(
- bean,prop,value,request,param,ignoreMethodNF);
+ new PrivilegedIntrospectHelper(
+ bean,prop,value,request,param,ignoreMethodNF);
AccessController.doPrivileged(dp);
} catch( PrivilegedActionException pe) {
Exception e = pe.getException();
@@ -306,72 +306,72 @@
}
} else {
internalIntrospecthelper(
- bean,prop,value,request,param,ignoreMethodNF);
+ bean,prop,value,request,param,ignoreMethodNF);
}
}
private static void internalIntrospecthelper(Object bean, String prop,
- String value, ServletRequest request,
- String param, boolean ignoreMethodNF)
- throws JasperException
+ String value, ServletRequest request,
+ String param, boolean ignoreMethodNF)
+ throws JasperException
{
Method method = null;
Class type = null;
Class propertyEditorClass = null;
- try {
- java.beans.BeanInfo info
- = java.beans.Introspector.getBeanInfo(bean.getClass());
- if ( info != null ) {
- java.beans.PropertyDescriptor pd[]
- = info.getPropertyDescriptors();
- for (int i = 0 ; i < pd.length ; i++) {
- if ( pd[i].getName().equals(prop) ) {
- method = pd[i].getWriteMethod();
- type = pd[i].getPropertyType();
- propertyEditorClass = pd[i].getPropertyEditorClass();
- break;
- }
- }
- }
- if ( method != null ) {
- if (type.isArray()) {
+ try {
+ java.beans.BeanInfo info
+ = java.beans.Introspector.getBeanInfo(bean.getClass());
+ if ( info != null ) {
+ java.beans.PropertyDescriptor pd[]
+ = info.getPropertyDescriptors();
+ for (int i = 0 ; i < pd.length ; i++) {
+ if ( pd[i].getName().equals(prop) ) {
+ method = pd[i].getWriteMethod();
+ type = pd[i].getPropertyType();
+ propertyEditorClass = pd[i].getPropertyEditorClass();
+ break;
+ }
+ }
+ }
+ if ( method != null ) {
+ if (type.isArray()) {
if (request == null) {
- throw new JasperException(
- Localizer.getMessage("jsp.error.beans.setproperty.noindexset"));
+ throw new JasperException(
+ Localizer.getMessage("jsp.error.beans.setproperty.noindexset"));
+ }
+ Class t = type.getComponentType();
+ String[] values = request.getParameterValues(param);
+ //XXX Please check.
+ if(values == null) return;
+ if(t.equals(String.class)) {
+ method.invoke(bean, new Object[] { values });
+ } else {
+ Object tmpval = null;
+ createTypedArray (prop, bean, method, values, t,
+ propertyEditorClass);
}
- Class t = type.getComponentType();
- String[] values = request.getParameterValues(param);
- //XXX Please check.
- if(values == null) return;
- if(t.equals(String.class)) {
- method.invoke(bean, new Object[] { values });
- } else {
- Object tmpval = null;
- createTypedArray (prop, bean, method, values, t,
- propertyEditorClass);
- }
- } else {
- if(value == null || (param != null && value.equals(""))) return;
- Object oval = convert(prop, value, type, propertyEditorClass);
- if ( oval != null )
- method.invoke(bean, new Object[] { oval });
- }
- }
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ } else {
+ if(value == null || (param != null && value.equals(""))) return;
+ Object oval = convert(prop, value, type, propertyEditorClass);
+ if ( oval != null )
+ method.invoke(bean, new Object[] { oval });
+ }
+ }
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
if (!ignoreMethodNF && (method == null)) {
if (type == null) {
- throw new JasperException(
+ throw new JasperException(
Localizer.getMessage("jsp.error.beans.noproperty",
- prop,
- bean.getClass().getName()));
+ prop,
+ bean.getClass().getName()));
} else {
- throw new JasperException(
- Localizer.getMessage("jsp.error.beans.nomethod.setproperty",
- prop,
- type.getName(),
- bean.getClass().getName()));
+ throw new JasperException(
+ Localizer.getMessage("jsp.error.beans.nomethod.setproperty",
+ prop,
+ type.getName(),
+ bean.getClass().getName()));
}
}
}
@@ -425,113 +425,113 @@
* the request and the property is indexed.
*/
public static void createTypedArray(String propertyName,
- Object bean,
- Method method,
- String[] values,
- Class t,
- Class propertyEditorClass)
- throws JasperException {
-
- try {
- if (propertyEditorClass != null) {
- Object[] tmpval = new Integer[values.length];
- for (int i=0; i<values.length; i++) {
- tmpval[i] = getValueFromBeanInfoPropertyEditor(
+ Object bean,
+ Method method,
+ String[] values,
+ Class t,
+ Class propertyEditorClass)
+ throws JasperException {
+
+ try {
+ if (propertyEditorClass != null) {
+ Object[] tmpval = new Integer[values.length];
+ for (int i=0; i<values.length; i++) {
+ tmpval[i] = getValueFromBeanInfoPropertyEditor(
t, propertyName, values[i], propertyEditorClass);
- }
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(Integer.class)) {
- Integer []tmpval = new Integer[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = new Integer (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(Byte.class)) {
- Byte[] tmpval = new Byte[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = new Byte (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(Boolean.class)) {
- Boolean[] tmpval = new Boolean[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = new Boolean (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(Short.class)) {
- Short[] tmpval = new Short[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = new Short (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(Long.class)) {
- Long[] tmpval = new Long[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = new Long (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(Double.class)) {
- Double[] tmpval = new Double[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = new Double (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(Float.class)) {
- Float[] tmpval = new Float[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = new Float (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(Character.class)) {
- Character[] tmpval = new Character[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = new Character(values[i].charAt(0));
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(int.class)) {
- int []tmpval = new int[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = Integer.parseInt (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(byte.class)) {
- byte[] tmpval = new byte[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = Byte.parseByte (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(boolean.class)) {
- boolean[] tmpval = new boolean[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = (Boolean.valueOf(values[i])).booleanValue();
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(short.class)) {
- short[] tmpval = new short[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = Short.parseShort (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(long.class)) {
- long[] tmpval = new long[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = Long.parseLong (values[i]);
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(double.class)) {
- double[] tmpval = new double[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = Double.valueOf(values[i]).doubleValue();
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(float.class)) {
- float[] tmpval = new float[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = Float.valueOf(values[i]).floatValue();
- method.invoke (bean, new Object[] {tmpval});
- } else if (t.equals(char.class)) {
- char[] tmpval = new char[values.length];
- for (int i = 0 ; i < values.length; i++)
- tmpval[i] = values[i].charAt(0);
- method.invoke (bean, new Object[] {tmpval});
- } else {
- Object[] tmpval = new Integer[values.length];
- for (int i=0; i<values.length; i++) {
- tmpval[i] =
- getValueFromPropertyEditorManager(
+ }
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(Integer.class)) {
+ Integer []tmpval = new Integer[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = new Integer (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(Byte.class)) {
+ Byte[] tmpval = new Byte[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = new Byte (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(Boolean.class)) {
+ Boolean[] tmpval = new Boolean[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = new Boolean (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(Short.class)) {
+ Short[] tmpval = new Short[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = new Short (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(Long.class)) {
+ Long[] tmpval = new Long[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = new Long (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(Double.class)) {
+ Double[] tmpval = new Double[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = new Double (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(Float.class)) {
+ Float[] tmpval = new Float[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = new Float (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(Character.class)) {
+ Character[] tmpval = new Character[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = new Character(values[i].charAt(0));
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(int.class)) {
+ int []tmpval = new int[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = Integer.parseInt (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(byte.class)) {
+ byte[] tmpval = new byte[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = Byte.parseByte (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(boolean.class)) {
+ boolean[] tmpval = new boolean[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = (Boolean.valueOf(values[i])).booleanValue();
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(short.class)) {
+ short[] tmpval = new short[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = Short.parseShort (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(long.class)) {
+ long[] tmpval = new long[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = Long.parseLong (values[i]);
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(double.class)) {
+ double[] tmpval = new double[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = Double.valueOf(values[i]).doubleValue();
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(float.class)) {
+ float[] tmpval = new float[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = Float.valueOf(values[i]).floatValue();
+ method.invoke (bean, new Object[] {tmpval});
+ } else if (t.equals(char.class)) {
+ char[] tmpval = new char[values.length];
+ for (int i = 0 ; i < values.length; i++)
+ tmpval[i] = values[i].charAt(0);
+ method.invoke (bean, new Object[] {tmpval});
+ } else {
+ Object[] tmpval = new Integer[values.length];
+ for (int i=0; i<values.length; i++) {
+ tmpval[i] =
+ getValueFromPropertyEditorManager(
t, propertyName, values[i]);
- }
- method.invoke (bean, new Object[] {tmpval});
- }
- } catch (Exception ex) {
+ }
+ method.invoke (bean, new Object[] {tmpval});
+ }
+ } catch (Exception ex) {
throw new JasperException ("error in invoking method", ex);
- }
+ }
}
/**
@@ -591,7 +591,7 @@
holdbuffer[bufcount++] = (byte) cur;
}
}
- // REVISIT -- remedy for Deprecated warning.
+ // REVISIT -- remedy for Deprecated warning.
//return new String(holdbuffer,0,0,bufcount);
return new String(holdbuffer,0,bufcount);
}
@@ -600,15 +600,15 @@
public static Object handleGetProperty(Object o, String prop)
throws JasperException {
if (o == null) {
- throw new JasperException(
- Localizer.getMessage("jsp.error.beans.nullbean"));
+ throw new JasperException(
+ Localizer.getMessage("jsp.error.beans.nullbean"));
}
- Object value = null;
+ Object value = null;
try {
Method method = getReadMethod(o.getClass(), prop);
- value = method.invoke(o, (Object[]) null);
+ value = method.invoke(o, (Object[]) null);
} catch (Exception ex) {
- throw new JasperException (ex);
+ throw new JasperException (ex);
}
return value;
}
@@ -619,26 +619,26 @@
public static void handleSetPropertyExpression(Object bean,
String prop, String expression, PageContext pageContext,
VariableResolver variableResolver, FunctionMapper functionMapper )
- throws JasperException
+ throws JasperException
{
- try {
+ try {
Method method = getWriteMethod(bean.getClass(), prop);
- method.invoke(bean, new Object[] {
- pageContext.getExpressionEvaluator().evaluate(
- expression,
- method.getParameterTypes()[0],
+ method.invoke(bean, new Object[] {
+ pageContext.getExpressionEvaluator().evaluate(
+ expression,
+ method.getParameterTypes()[0],
variableResolver,
functionMapper,
null )
- });
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ });
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
}
**/
public static void handleSetPropertyExpression(Object bean,
String prop, String expression, PageContext pageContext,
- ProtectedFunctionMapper functionMapper )
+ ProtectedFunctionMapper functionMapper )
throws JasperException
{
try {
@@ -647,7 +647,7 @@
PageContextImpl.proprietaryEvaluate(
expression,
method.getParameterTypes()[0],
- pageContext,
+ pageContext,
functionMapper,
false )
});
@@ -657,158 +657,158 @@
}
public static void handleSetProperty(Object bean, String prop,
- Object value)
- throws JasperException
+ Object value)
+ throws JasperException
{
- try {
+ try {
Method method = getWriteMethod(bean.getClass(), prop);
- method.invoke(bean, new Object[] { value });
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ method.invoke(bean, new Object[] { value });
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
}
public static void handleSetProperty(Object bean, String prop,
- int value)
- throws JasperException
+ int value)
+ throws JasperException
{
- try {
+ try {
Method method = getWriteMethod(bean.getClass(), prop);
- method.invoke(bean, new Object[] { new Integer(value) });
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ method.invoke(bean, new Object[] { new Integer(value) });
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
}
public static void handleSetProperty(Object bean, String prop,
- short value)
- throws JasperException
+ short value)
+ throws JasperException
{
- try {
+ try {
Method method = getWriteMethod(bean.getClass(), prop);
- method.invoke(bean, new Object[] { new Short(value) });
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ method.invoke(bean, new Object[] { new Short(value) });
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
}
public static void handleSetProperty(Object bean, String prop,
- long value)
- throws JasperException
+ long value)
+ throws JasperException
{
- try {
+ try {
Method method = getWriteMethod(bean.getClass(), prop);
- method.invoke(bean, new Object[] { new Long(value) });
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ method.invoke(bean, new Object[] { new Long(value) });
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
}
public static void handleSetProperty(Object bean, String prop,
- double value)
- throws JasperException
+ double value)
+ throws JasperException
{
- try {
+ try {
Method method = getWriteMethod(bean.getClass(), prop);
- method.invoke(bean, new Object[] { new Double(value) });
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ method.invoke(bean, new Object[] { new Double(value) });
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
}
public static void handleSetProperty(Object bean, String prop,
- float value)
- throws JasperException
+ float value)
+ throws JasperException
{
- try {
+ try {
Method method = getWriteMethod(bean.getClass(), prop);
- method.invoke(bean, new Object[] { new Float(value) });
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ method.invoke(bean, new Object[] { new Float(value) });
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
}
public static void handleSetProperty(Object bean, String prop,
- char value)
- throws JasperException
+ char value)
+ throws JasperException
{
- try {
+ try {
Method method = getWriteMethod(bean.getClass(), prop);
- method.invoke(bean, new Object[] { new Character(value) });
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ method.invoke(bean, new Object[] { new Character(value) });
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
}
public static void handleSetProperty(Object bean, String prop,
- byte value)
- throws JasperException
+ byte value)
+ throws JasperException
{
- try {
+ try {
Method method = getWriteMethod(bean.getClass(), prop);
- method.invoke(bean, new Object[] { new Byte(value) });
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ method.invoke(bean, new Object[] { new Byte(value) });
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
}
public static void handleSetProperty(Object bean, String prop,
- boolean value)
- throws JasperException
+ boolean value)
+ throws JasperException
{
- try {
+ try {
Method method = getWriteMethod(bean.getClass(), prop);
- method.invoke(bean, new Object[] { new Boolean(value) });
- } catch (Exception ex) {
- throw new JasperException(ex);
- }
+ method.invoke(bean, new Object[] { new Boolean(value) });
+ } catch (Exception ex) {
+ throw new JasperException(ex);
+ }
}
public static Method getWriteMethod(Class beanClass, String prop)
throws JasperException {
- Method method = null;
+ Method method = null;
Class type = null;
- try {
- java.beans.BeanInfo info
+ try {
+ java.beans.BeanInfo info
= java.beans.Introspector.getBeanInfo(beanClass);
- if ( info != null ) {
- java.beans.PropertyDescriptor pd[]
- = info.getPropertyDescriptors();
- for (int i = 0 ; i < pd.length ; i++) {
- if ( pd[i].getName().equals(prop) ) {
- method = pd[i].getWriteMethod();
- type = pd[i].getPropertyType();
- break;
- }
- }
+ if ( info != null ) {
+ java.beans.PropertyDescriptor pd[]
+ = info.getPropertyDescriptors();
+ for (int i = 0 ; i < pd.length ; i++) {
+ if ( pd[i].getName().equals(prop) ) {
+ method = pd[i].getWriteMethod();
+ type = pd[i].getPropertyType();
+ break;
+ }
+ }
} else {
// just in case introspection silently fails.
throw new JasperException(
Localizer.getMessage("jsp.error.beans.nobeaninfo",
- beanClass.getName()));
+ beanClass.getName()));
}
} catch (Exception ex) {
throw new JasperException (ex);
}
if (method == null) {
if (type == null) {
- throw new JasperException(
+ throw new JasperException(
Localizer.getMessage("jsp.error.beans.noproperty",
- prop,
- beanClass.getName()));
+ prop,
+ beanClass.getName()));
} else {
- throw new JasperException(
- Localizer.getMessage("jsp.error.beans.nomethod.setproperty",
- prop,
- type.getName(),
- beanClass.getName()));
+ throw new JasperException(
+ Localizer.getMessage("jsp.error.beans.nomethod.setproperty",
+ prop,
+ type.getName(),
+ beanClass.getName()));
}
}
return method;
}
public static Method getReadMethod(Class beanClass, String prop)
- throws JasperException {
+ throws JasperException {
Method method = null;
Class type = null;
@@ -827,68 +827,68 @@
}
} else {
// just in case introspection silently fails.
- throw new JasperException(
+ throw new JasperException(
Localizer.getMessage("jsp.error.beans.nobeaninfo",
- beanClass.getName()));
- }
- } catch (Exception ex) {
- throw new JasperException (ex);
- }
+ beanClass.getName()));
+ }
+ } catch (Exception ex) {
+ throw new JasperException (ex);
+ }
if (method == null) {
if (type == null) {
- throw new JasperException(
+ throw new JasperException(
Localizer.getMessage("jsp.error.beans.noproperty", prop,
- beanClass.getName()));
+ beanClass.getName()));
} else {
- throw new JasperException(
+ throw new JasperException(
Localizer.getMessage("jsp.error.beans.nomethod", prop,
- beanClass.getName()));
+ beanClass.getName()));
}
}
- return method;
+ return method;
}
//*********************************************************************
// PropertyEditor Support
public static Object getValueFromBeanInfoPropertyEditor(
- Class attrClass, String attrName, String attrValue,
- Class propertyEditorClass)
- throws JasperException
- {
- try {
- PropertyEditor pe = (PropertyEditor)propertyEditorClass.newInstance();
- pe.setAsText(attrValue);
- return pe.getValue();
- } catch (Exception ex) {
- throw new JasperException(
+ Class attrClass, String attrName, String attrValue,
+ Class propertyEditorClass)
+ throws JasperException
+ {
+ try {
+ PropertyEditor pe = (PropertyEditor)propertyEditorClass.newInstance();
+ pe.setAsText(attrValue);
+ return pe.getValue();
+ } catch (Exception ex) {
+ throw new JasperException(
Localizer.getMessage("jsp.error.beans.property.conversion",
- attrValue, attrClass.getName(), attrName,
- ex.getMessage()));
- }
+ attrValue, attrClass.getName(), attrName,
+ ex.getMessage()));
+ }
}
public static Object getValueFromPropertyEditorManager(
- Class attrClass, String attrName, String attrValue)
- throws JasperException
+ Class attrClass, String attrName, String attrValue)
+ throws JasperException
{
- try {
- PropertyEditor propEditor =
- PropertyEditorManager.findEditor(attrClass);
- if (propEditor != null) {
- propEditor.setAsText(attrValue);
- return propEditor.getValue();
- } else {
- throw new IllegalArgumentException(
+ try {
+ PropertyEditor propEditor =
+ PropertyEditorManager.findEditor(attrClass);
+ if (propEditor != null) {
+ propEditor.setAsText(attrValue);
+ return propEditor.getValue();
+ } else {
+ throw new IllegalArgumentException(
Localizer.getMessage("jsp.error.beans.propertyeditor.notregistered"));
- }
- } catch (IllegalArgumentException ex) {
- throw new JasperException(
+ }
+ } catch (IllegalArgumentException ex) {
+ throw new JasperException(
Localizer.getMessage("jsp.error.beans.property.conversion",
- attrValue, attrClass.getName(), attrName,
- ex.getMessage()));
- }
+ attrValue, attrClass.getName(), attrName,
+ ex.getMessage()));
+ }
}
@@ -981,67 +981,67 @@
*/
public static String URLEncode(String s, String enc) {
- if (s == null) {
- return "null";
- }
-
- if (enc == null) {
- enc = "ISO-8859-1"; // The default request encoding
- }
-
- StringBuffer out = new StringBuffer(s.length());
- ByteArrayOutputStream buf = new ByteArrayOutputStream();
- OutputStreamWriter writer = null;
- try {
- writer = new OutputStreamWriter(buf, enc);
- } catch (java.io.UnsupportedEncodingException ex) {
- // Use the default encoding?
- writer = new OutputStreamWriter(buf);
- }
-
- for (int i = 0; i < s.length(); i++) {
- int c = s.charAt(i);
- if (c == ' ') {
- out.append('+');
- } else if (isSafeChar(c)) {
- out.append((char)c);
- } else {
- // convert to external encoding before hex conversion
- try {
- writer.write(c);
- writer.flush();
- } catch(IOException e) {
- buf.reset();
- continue;
- }
- byte[] ba = buf.toByteArray();
- for (int j = 0; j < ba.length; j++) {
- out.append('%');
- // Converting each byte in the buffer
- out.append(Character.forDigit((ba[j]>>4) & 0xf, 16));
- out.append(Character.forDigit(ba[j] & 0xf, 16));
- }
- buf.reset();
- }
- }
- return out.toString();
+ if (s == null) {
+ return "null";
+ }
+
+ if (enc == null) {
+ enc = "ISO-8859-1"; // The default request encoding
+ }
+
+ StringBuffer out = new StringBuffer(s.length());
+ ByteArrayOutputStream buf = new ByteArrayOutputStream();
+ OutputStreamWriter writer = null;
+ try {
+ writer = new OutputStreamWriter(buf, enc);
+ } catch (java.io.UnsupportedEncodingException ex) {
+ // Use the default encoding?
+ writer = new OutputStreamWriter(buf);
+ }
+
+ for (int i = 0; i < s.length(); i++) {
+ int c = s.charAt(i);
+ if (c == ' ') {
+ out.append('+');
+ } else if (isSafeChar(c)) {
+ out.append((char)c);
+ } else {
+ // convert to external encoding before hex conversion
+ try {
+ writer.write(c);
+ writer.flush();
+ } catch(IOException e) {
+ buf.reset();
+ continue;
+ }
+ byte[] ba = buf.toByteArray();
+ for (int j = 0; j < ba.length; j++) {
+ out.append('%');
+ // Converting each byte in the buffer
+ out.append(Character.forDigit((ba[j]>>4) & 0xf, 16));
+ out.append(Character.forDigit(ba[j] & 0xf, 16));
+ }
+ buf.reset();
+ }
+ }
+ return out.toString();
}
private static boolean isSafeChar(int c) {
- if (c >= 'a' && c <= 'z') {
- return true;
- }
- if (c >= 'A' && c <= 'Z') {
- return true;
- }
- if (c >= '0' && c <= '9') {
- return true;
- }
- if (c == '-' || c == '_' || c == '.' || c == '!' ||
- c == '~' || c == '*' || c == '\'' || c == '(' || c == ')') {
- return true;
- }
- return false;
+ if (c >= 'a' && c <= 'z') {
+ return true;
+ }
+ if (c >= 'A' && c <= 'Z') {
+ return true;
+ }
+ if (c >= '0' && c <= '9') {
+ return true;
+ }
+ if (c == '-' || c == '_' || c == '.' || c == '!' ||
+ c == '~' || c == '*' || c == '\'' || c == '(' || c == ')') {
+ return true;
+ }
+ return false;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org