svn commit: r1307897 - in /struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json: JSONReader.java JSONResult.java JSONUtil.java JSONWriter.java
Author: lukaszlenart Date: Sat Mar 31 20:39:53 2012 New Revision: 1307897 URL: http://svn.apache.org/viewvc?rev=1307897&view=rev Log: WW-3780 makes JSON plugin more extendable Modified: struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java Modified: struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java?rev=1307897&r1=1307896&r2=1307897&view=diff == --- struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java (original) +++ struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java Sat Mar 31 20:39:53 2012 @@ -32,7 +32,7 @@ import java.util.Map; * Deserializes and object from a JSON string * */ -class JSONReader { +public class JSONReader { private static final Object OBJECT_END = new Object(); private static final Object ARRAY_END = new Object(); private static final Object COLON = new Object(); @@ -55,13 +55,13 @@ class JSONReader { private Object token; private StringBuilder buf = new StringBuilder(); -private char next() { +protected char next() { this.c = this.it.next(); return this.c; } -private void skipWhiteSpace() { +protected void skipWhiteSpace() { while (Character.isWhitespace(this.c)) { this.next(); } @@ -74,7 +74,7 @@ class JSONReader { return this.read(); } -private Object read() throws JSONException { +protected Object read() throws JSONException { Object ret; this.skipWhiteSpace(); @@ -125,7 +125,7 @@ class JSONReader { } @SuppressWarnings("unchecked") -private Map object() throws JSONException { +protected Map object() throws JSONException { Map ret = new HashMap(); Object next = this.read(); if (next != OBJECT_END) { @@ -151,12 +151,12 @@ class JSONReader { return ret; } -private JSONException buildInvalidInputException() { +protected JSONException buildInvalidInputException() { return new JSONException("Input string is not well formed JSON (invalid char " + this.c + ")"); } @SuppressWarnings("unchecked") -private List array() throws JSONException { +protected List array() throws JSONException { List ret = new ArrayList(); Object value = this.read(); @@ -174,7 +174,7 @@ class JSONReader { return ret; } -private Object number() { +protected Object number() { this.buf.setLength(0); boolean toDouble = false; @@ -208,7 +208,7 @@ class JSONReader { } } -private Object string(char quote) { +protected Object string(char quote) { this.buf.setLength(0); while ((this.c != quote) && (this.c != CharacterIterator.DONE)) { @@ -234,22 +234,22 @@ class JSONReader { return this.buf.toString(); } -private void add(char cc) { +protected void add(char cc) { this.buf.append(cc); this.next(); } -private void add() { +protected void add() { this.add(this.c); } -private void addDigits() { +protected void addDigits() { while (Character.isDigit(this.c)) { this.add(); } } -private char unicode() { +protected char unicode() { int value = 0; for (int i = 0; i < 4; ++i) { Modified: struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java?rev=1307897&r1=1307896&r2=1307897&view=diff == --- struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java (original) +++ struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java Sat Mar 31 20:39:53 2012 @@ -119,7 +119,7 @@ public class JSONResult implements Resul /** * Sets a comma-delimited list of wildcard expressions to match properties * that should be excluded from the JSON output. - * + * * @param commaDelim A comma-delimited list of wildcard patterns */ public void setExcludeWildcards(String commaDelim) { @@ -174,14 +174,14 @@ public class JSONResult implements Resul } } -private Object readRootObject(ActionInvocation
svn commit: r1307906 - in /struts/struts2/trunk/core/src: main/java/org/apache/struts2/components/ main/java/org/apache/struts2/config/ main/java/org/apache/struts2/views/util/ test/java/org/apache/st
Author: lukaszlenart Date: Sat Mar 31 21:22:04 2012 New Revision: 1307906 URL: http://svn.apache.org/viewvc?rev=1307906&view=rev Log: WW-3779 adds description of missing extension points and removes some code duplications Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/util/UrlHelper.java struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java?rev=1307906&r1=1307905&r2=1307906&view=diff == --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java Sat Mar 31 21:22:04 2012 @@ -270,7 +270,7 @@ public class ServletUrlRenderer implemen } private void includeGetParameters(UrlProvider urlComponent) { String query = extractQueryString(urlComponent); - mergeRequestParameters(urlComponent.getValue(), urlComponent.getParameters(), urlHelper.parseQueryString(query)); + mergeRequestParameters(urlComponent.getValue(), urlComponent.getParameters(), urlHelper.parseQueryString(query, false)); } private String extractQueryString(UrlProvider urlComponent) { @@ -318,7 +318,7 @@ public class ServletUrlRenderer implemen if (value != null && value.trim().length() > 0 && value.indexOf("?") > 0) { String queryString = value.substring(value.indexOf("?")+1); -mergedParams = urlHelper.parseQueryString(queryString); +mergedParams = urlHelper.parseQueryString(queryString, false); for (Map.Entry entry : contextParameters.entrySet()) { if (!mergedParams.containsKey(entry.getKey())) { mergedParams.put(entry.getKey(), entry.getValue()); Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java?rev=1307906&r1=1307905&r2=1307906&view=diff == --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java Sat Mar 31 21:22:04 2012 @@ -159,6 +159,36 @@ import java.util.StringTokenizer; * singleton * Loads static resources (since 2.1) * + * + * com.opensymphony.xwork2.conversion.impl.XWorkConverter + * struts.xworkConverter + * singleton + * Handles conversion logic and allows to load custom converters per class or per action + * + * + * com.opensymphony.xwork2.TextProvider + * struts.xworkTextProvider + * default + * Allows provide custom TextProvider for whole application + * + * + * org.apache.struts2.components.UrlRenderer + * struts.urlRenderer + * singleton + * Allows provide custom implementation of environment specific URL rendering/creating class + * + * + * com.opensymphony.xwork2.UnknownHandlerManager + * struts.unknownHandlerManager + * singleton + * Implementation of this interface allows handle logic of unknown Actions, Methods or Results + * + * + * org.apache.struts2.views.util.UrlHelper + * struts.view.urlHelper + * singleton + * Helper class used with URLRenderer to provide exact logic for building URLs + * * * * @@ -233,31 +263,31 @@ public class BeanSelectionProvider imple props.setProperty("devMode", "false"); } -if (props.containsKey(StrutsConstants.STRUTS_LOG_MISSING_PROPERTIES)) -props.setProperty("logMissingProperties", props.getProperty(StrutsConstants.STRUTS_LOG_MISSING_PROPERTIES)); +// Convert Struts properties into XWork properties +convertIfExist(props, StrutsConstants.STRUTS_LOG_MISSING_PROPERTIES, "logMissingProperties"); +convertIfExist(props, StrutsConstants.STRUTS_ENABLE_OGNL_EXPRESSION_CACHE, "enableOGNLExpressionCache"); +convertIfExist(props, StrutsConstants.STRUTS_ALLOW_STATIC_METHOD_ACCESS, "allowStaticMethodAccess"); -if (props.containsKey(StrutsConstants.STRUTS_ENABLE_OGNL_EXPRESSION_CACHE)) -props.setProperty("e
[CONF] Confluence Changes in the last 24 hours
This is a daily summary of all recent changes in Confluence. - Updated Spaces: - Apache Bigtop (incubating) (https://cwiki.apache.org/confluence/display/BIGTOP) Pages - How to install Hadoop distribution from Bigtop edited by gangulybikram...@hotmail.com (06:08 PM) https://cwiki.apache.org/confluence/display/BIGTOP/How+to+install+Hadoop+distribution+from+Bigtop Running various Bigtop components created by gangulybikram...@hotmail.com (05:08 PM) https://cwiki.apache.org/confluence/display/BIGTOP/Running+various+Bigtop+components Apache Camel (https://cwiki.apache.org/confluence/display/CAMEL) Pages - Camel 2.10.0 Release edited by hadr...@apache.org (11:29 AM) https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.10.0+Release Jsch created by hadr...@apache.org (11:26 AM) https://cwiki.apache.org/confluence/display/CAMEL/Jsch Simple edited by davsclaus (08:49 AM) https://cwiki.apache.org/confluence/display/CAMEL/Simple Apache Kafka (https://cwiki.apache.org/confluence/display/KAFKA) Pages - Consumer API changes edited by jjko...@gmail.com (12:14 AM) https://cwiki.apache.org/confluence/display/KAFKA/Consumer+API+changes OODT (https://cwiki.apache.org/confluence/display/OODT) Comments https://cwiki.apache.org/confluence/display/OODT/Mime+type+detection+with+the+AutoDetectProductCrawler (1) Apache OpenOffice Community (https://cwiki.apache.org/confluence/display/OOOUSERS) Pages - Summary of Apache OpenOffice 3.4 IP Review Activities created by robweir (11:04 AM) https://cwiki.apache.org/confluence/display/OOOUSERS/Summary+of+Apache+OpenOffice+3.4+IP+Review+Activities AOO 3.4 Release FAQ edited by robweir (06:25 PM) https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+3.4+Release+FAQ Logo Proposals edited by drewjensen (02:33 AM) https://cwiki.apache.org/confluence/display/OOOUSERS/Logo+Proposals Apache SIS (https://cwiki.apache.org/confluence/display/SIS) Pages - Home edited by chrismattmann (05:45 PM) https://cwiki.apache.org/confluence/display/SIS/Home Apache Tapestry (https://cwiki.apache.org/confluence/display/TAPESTRY) Pages - Tapestry IoC Overview edited by bobharner (06:57 AM) https://cwiki.apache.org/confluence/display/TAPESTRY/Tapestry+IoC+Overview Class Reloading edited by bobharner (06:19 AM) https://cwiki.apache.org/confluence/display/TAPESTRY/Class+Reloading Change your notification preferences: https://cwiki.apache.org/confluence/users/viewnotifications.action