svn commit: r962472 - in /struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl: ErrorMessageBuilder.java OgnlValueStack.java

2010-07-09 Thread lukaszlenart
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_

[CONF] Confluence Changes in the last 24 hours

2010-07-09 Thread confluence
This is a daily summary of all recent changes in Confluence.

-
Updated Spaces:
-


Apache ActiveMQ (https://cwiki.apache.org/confluence/display/ACTIVEMQ)

Pages
-
Performance Tuning edited by  tabish121  (06:55 PM)
https://cwiki.apache.org/confluence/display/ACTIVEMQ/Performance+Tuning



Apache Avro (https://cwiki.apache.org/confluence/display/AVRO)

Pages
-
NFL jerseys created by vivian (10:44 PM)
https://cwiki.apache.org/confluence/display/AVRO/2010/07/09/NFL+jerseys



Apache Camel (https://cwiki.apache.org/confluence/display/CAMEL)

Pages
-
Camel 2.4.0 Release edited by  davsclaus  (11:46 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.4.0+Release

Using PropertyPlaceholder edited by  davsclaus  (11:44 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Using+PropertyPlaceholder

Building edited by  njiang  (05:13 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Building

Architecture edited by  davsclaus  (04:47 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Architecture

Asynchronous Routing Engine created by davsclaus (04:45 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Asynchronous+Routing+Engine

Camel 2.x - Debugger API edited by  davsclaus  (01:45 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.x+-+Debugger+API



Apache CXF (https://cwiki.apache.org/confluence/display/CXF)

Pages
-
Mailing Lists edited by  mazzag  (12:31 PM)
https://cwiki.apache.org/confluence/display/CXF/Mailing+Lists

Resources and Articles edited by  mazzag  (09:13 AM)
https://cwiki.apache.org/confluence/display/CXF/Resources+and+Articles



Apache Geronimo v2.1 (https://cwiki.apache.org/confluence/display/GMOxDOC21)

Pages
-
What is changed in 2.1 edited by  chirun...@gmail.com  (01:54 AM)
https://cwiki.apache.org/confluence/display/GMOxDOC21/What+is+changed+in+2.1



Apache Karaf (https://cwiki.apache.org/confluence/display/KARAF)

Pages
-
Source edited by  gnodet  (08:11 AM)
https://cwiki.apache.org/confluence/display/KARAF/Source



Apache Mahout (https://cwiki.apache.org/confluence/display/MAHOUT)

Pages
-
Dirichlet Process Clustering edited by  jeastman  (10:39 PM)
https://cwiki.apache.org/confluence/display/MAHOUT/Dirichlet+Process+Clustering

Mean Shift Clustering edited by  jeastman  (09:38 PM)
https://cwiki.apache.org/confluence/display/MAHOUT/Mean+Shift+Clustering

Fuzzy K-Means edited by  jeastman  (09:38 PM)
https://cwiki.apache.org/confluence/display/MAHOUT/Fuzzy+K-Means

K-Means Clustering edited by  jeastman  (09:37 PM)
https://cwiki.apache.org/confluence/display/MAHOUT/K-Means+Clustering

Canopy Clustering edited by  jeastman  (09:36 PM)
https://cwiki.apache.org/confluence/display/MAHOUT/Canopy+Clustering

Books Tutorials and Talks edited by  isabel  (10:17 AM)
https://cwiki.apache.org/confluence/display/MAHOUT/Books+Tutorials+and+Talks

Developer Resources edited by  robinanil  (09:37 AM)
https://cwiki.apache.org/confluence/display/MAHOUT/Developer+Resources



Apache Maven (https://cwiki.apache.org/confluence/display/MAVEN)

Pages
-
Example GIT- SVN workflow for maven edited by  krosenvold  (04:05 AM)
https://cwiki.apache.org/confluence/display/MAVEN/Example+GIT-+SVN+workflow+for+maven



Apache Sling Website (https://cwiki.apache.org/confluence/display/SLINGxSITE)

Pages
-
The Sling Engine edited by  mykee  (03:49 AM)
https://cwiki.apache.org/confluence/display/SLINGxSITE/The+Sling+Engine

Request Listeners created by mykee (03:46 AM)
https://cwiki.apache.org/confluence/display/SLINGxSITE/Request+Listeners



Apache Struts 2 Documentation (https://cwiki.apache.org/confluence/display/WW)

Comments
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33168 (1)


Change your notification preferences: 
https://cwiki.apache.org/confluence/users/viewnotifications.action