Author: lukaszlenart
Date: Fri Jul 9 10:11:54 2010
New Revision: 962472
URL: http://svn.apache.org/viewvc?rev=962472&view=rev
Log:
Code clean up and refactoring
Added:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/ErrorMessageBuilder.java
Modified:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
Added:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/ErrorMessageBuilder.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/ErrorMessageBuilder.java?rev=962472&view=auto
==
---
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/ErrorMessageBuilder.java
(added)
+++
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/ErrorMessageBuilder.java
Fri Jul 9 10:11:54 2010
@@ -0,0 +1,58 @@
+package com.opensymphony.xwork2.ognl;
+
+/**
+ * Helper class to build error messages.
+ */
+public class ErrorMessageBuilder {
+
+private StringBuilder message = new StringBuilder();
+
+public static ErrorMessageBuilder create() {
+return new ErrorMessageBuilder();
+}
+
+private ErrorMessageBuilder() {
+}
+
+public ErrorMessageBuilder errorSettingExpressionWithValue(String expr,
Object value) {
+appenExpression(expr);
+if (value instanceof Object[]) {
+appendValueAsArray((Object[]) value, message);
+} else {
+appendValue(value);
+}
+return this;
+}
+
+private void appenExpression(String expr) {
+message.append("Error setting expression '");
+message.append(expr);
+message.append("' with value ");
+}
+
+private void appendValue(Object value) {
+message.append("'");
+message.append(value);
+message.append("'");
+}
+
+private void appendValueAsArray(Object[] valueArray, StringBuilder msg) {
+msg.append("[");
+for (int index = 0; index < valueArray.length; index++) {
+appendValue(valueArray[index]);
+if (hasMoreElements(valueArray, index)) {
+msg.append(", ");
+}
+}
+msg.append("]");
+}
+
+private boolean hasMoreElements(Object[] valueArray, int index) {
+return index < (valueArray.length + 1);
+}
+
+public String build() {
+return message.toString();
+}
+
+}
Modified:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java?rev=962472&r1=962471&r2=962472&view=diff
==
---
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
(original)
+++
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
Fri Jul 9 10:11:54 2010
@@ -16,7 +16,6 @@
package com.opensymphony.xwork2.ognl;
import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.TextProvider;
import com.opensymphony.xwork2.XWorkException;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
@@ -31,23 +30,22 @@ import com.opensymphony.xwork2.util.logg
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import com.opensymphony.xwork2.util.logging.LoggerUtils;
import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
-import ognl.*;
+import ognl.NoSuchPropertyException;
+import ognl.Ognl;
+import ognl.OgnlContext;
+import ognl.OgnlException;
+import ognl.PropertyAccessor;
-import java.beans.IntrospectionException;
-import java.beans.PropertyDescriptor;
import java.io.Serializable;
-import java.lang.reflect.Method;
import java.util.HashMap;
-import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
/**
- * Ognl implementation of a value stack that allows for dynamic Ognl
expressions to be evaluated against it. When
- * evaluating an expression, the stack will be searched down the stack, from
the latest objects pushed in to the
- * earliest, looking for a bean with a getter or setter for the given property
or a method of the given name (depending
- * on the expression being evaluated).
+ * Ognl implementation of a value stack that allows for dynamic Ognl
expressions to be evaluated against it. When evaluating an expression,
+ * the stack will be searched down the stack, from the latest objects pushed
in to the earliest, looking for a bean with a getter or setter
+ * for the given property or a method of the given name (depending on the
expression being evaluated).
*
* @author Patrick Lightbody
* @author tm_