svn commit: r1534087 - in /struts/struts2/trunk/core/src: main/java/org/apache/struts2/config/BeanSelectionProvider.java main/java/org/apache/struts2/dispatcher/ContainerHolder.java test/java/org/apac

2013-10-21 Thread lukaszlenart
Author: lukaszlenart
Date: Mon Oct 21 10:43:53 2013
New Revision: 1534087

URL: http://svn.apache.org/r1534087
Log:
WW-4129 Removes checking if configuration changed in ContainerHolder and allows 
to explicit set reload/cache options  independent from devMode

Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/config/BeanSelectionProvider.java

struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ContainerHolder.java

struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java

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=1534087&r1=1534086&r2=1534087&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
 Mon Oct 21 10:43:53 2013
@@ -409,16 +409,7 @@ public class BeanSelectionProvider imple
 
 alias(SecurityGate.class, StrutsConstants.STRUTS_SECURITY_GATE, 
builder, props);
 
-if 
("true".equalsIgnoreCase(props.getProperty(StrutsConstants.STRUTS_DEVMODE))) {
-props.setProperty(StrutsConstants.STRUTS_I18N_RELOAD, "true");
-props.setProperty(StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD, 
"true");
-
props.setProperty(StrutsConstants.STRUTS_FREEMARKER_TEMPLATES_CACHE, "false");
-
props.setProperty(StrutsConstants.STRUTS_FREEMARKER_TEMPLATES_CACHE_UPDATE_DELAY,
 "0");
-// Convert struts properties into ones that xwork expects
-props.setProperty(XWorkConstants.DEV_MODE, "true");
-} else {
-props.setProperty(XWorkConstants.DEV_MODE, "false");
-}
+switchDevMode(props);
 
 // Convert Struts properties into XWork properties
 convertIfExist(props, StrutsConstants.STRUTS_LOG_MISSING_PROPERTIES, 
XWorkConstants.LOG_MISSING_PROPERTIES);
@@ -431,6 +422,32 @@ public class BeanSelectionProvider imple
 loadCustomResourceBundles(props);
 }
 
+/**
+ * Enables/disables devMode and related settings if they aren't explicit 
set in struts.xml/struts.properties
+ *
+ * @param props configured properties
+ */
+private void switchDevMode(LocatableProperties props) {
+if 
("true".equalsIgnoreCase(props.getProperty(StrutsConstants.STRUTS_DEVMODE))) {
+if (props.getProperty(StrutsConstants.STRUTS_I18N_RELOAD) == null) 
{
+props.setProperty(StrutsConstants.STRUTS_I18N_RELOAD, "true");
+}
+if 
(props.getProperty(StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD) == null) {
+
props.setProperty(StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD, "true");
+}
+if 
(props.getProperty(StrutsConstants.STRUTS_FREEMARKER_TEMPLATES_CACHE) == null) {
+
props.setProperty(StrutsConstants.STRUTS_FREEMARKER_TEMPLATES_CACHE, "false");
+}
+if 
(props.getProperty(StrutsConstants.STRUTS_FREEMARKER_TEMPLATES_CACHE_UPDATE_DELAY)
 == null) {
+
props.setProperty(StrutsConstants.STRUTS_FREEMARKER_TEMPLATES_CACHE_UPDATE_DELAY,
 "0");
+}
+// Convert struts properties into ones that xwork expects
+props.setProperty(XWorkConstants.DEV_MODE, "true");
+} else {
+props.setProperty(XWorkConstants.DEV_MODE, "false");
+}
+}
+
 private void convertIfExist(LocatableProperties props, String fromKey, 
String toKey) {
 if (props.containsKey(fromKey)) {
 props.setProperty(toKey, props.getProperty(fromKey));

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ContainerHolder.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ContainerHolder.java?rev=1534087&r1=1534086&r2=1534087&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ContainerHolder.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ContainerHolder.java
 Mon Oct 21 10:43:53 2013
@@ -1,25 +1,21 @@
 package org.apache.struts2.dispatcher;
 
 import com.opensymphony.xwork2.inject.Container;
-import org.apache.struts2.StrutsConstants;
 
 /**
  * Simple class to hold Container instance per thread to minimise number of 
attempts
  * to read configuration and build each time a new configuration.
  *
- * Thus depends on {@link StrutsConstants#STRUTS_CONFIGURATION_XML_RELOAD} 
flag,
- * if set to false just use stored container, configuration will do not change.
+ * As Co

svn commit: r1534089 - in /struts/struts2/trunk: core/src/main/resources/struts-default.xml xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java

2013-10-21 Thread lukaszlenart
Author: lukaszlenart
Date: Mon Oct 21 10:49:52 2013
New Revision: 1534089

URL: http://svn.apache.org/r1534089
Log:
WW-4023 Adds action: and method: prefixes to excludeParams list and changes 
order to first check for excludeParams and then for acceptedParams in 
ParametersInterceptor

Modified:
struts/struts2/trunk/core/src/main/resources/struts-default.xml

struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java

Modified: struts/struts2/trunk/core/src/main/resources/struts-default.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/struts-default.xml?rev=1534089&r1=1534088&r2=1534089&view=diff
==
--- struts/struts2/trunk/core/src/main/resources/struts-default.xml (original)
+++ struts/struts2/trunk/core/src/main/resources/struts-default.xml Mon Oct 21 
10:49:52 2013
@@ -251,7 +251,7 @@
 
 
 
-dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,parameters\...*
+^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
 
 
 
@@ -261,7 +261,7 @@
 
 
 
-dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,parameters\...*
+^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
 
 
 
@@ -298,7 +298,7 @@
 
 
 
-dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,parameters\...*
+^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
 
 
 

Modified: 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java?rev=1534089&r1=1534088&r2=1534089&view=diff
==
--- 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
 (original)
+++ 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
 Mon Oct 21 10:49:52 2013
@@ -144,8 +144,7 @@ public class ParametersInterceptor exten
 private boolean devMode = false;
 
 // Allowed names of parameters
-private String acceptedParamNames = ACCEPTED_PARAM_NAMES;
-private Pattern acceptedPattern = Pattern.compile(acceptedParamNames);
+private Pattern acceptedPattern = Pattern.compile(ACCEPTED_PARAM_NAMES);
 
 private ValueStackFactory valueStackFactory;
 
@@ -389,7 +388,7 @@ public class ParametersInterceptor exten
 }
 
 protected boolean acceptableName(String name) {
-boolean accepted = isWithinLengthLimit(name) && isAccepted(name) && 
!isExcluded(name);
+boolean accepted = isWithinLengthLimit(name) && !isExcluded(name) && 
isAccepted(name);
 if (devMode && accepted) { // notify only when in devMode
 LOG.debug("Parameter [#0] was accepted and will be appended to 
action!", name);
 }




svn commit: r1534091 - /struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java

2013-10-21 Thread lukaszlenart
Author: lukaszlenart
Date: Mon Oct 21 10:57:43 2013
New Revision: 1534091

URL: http://svn.apache.org/r1534091
Log:
WW-4192 Reduces log verbosity about missing property

Modified:

struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java

Modified: 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java?rev=1534091&r1=1534090&r2=1534091&view=diff
==
--- 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
 (original)
+++ 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
 Mon Oct 21 10:57:43 2013
@@ -321,7 +321,7 @@ public class ParametersInterceptor exten
 String developerNotification = 
LocalizedTextUtil.findText(ParametersInterceptor.class, "devmode.notification", 
ActionContext.getContext().getLocale(), "Developer Notification:\n{0}", new 
Object[]{
  "Unexpected Exception caught setting '" + name + 
"' on '" + action.getClass() + ": " + e.getMessage()
 });
-LOG.error(developerNotification, e);
+LOG.error(developerNotification);
 if (action instanceof ValidationAware) {
 ((ValidationAware) 
action).addActionMessage(developerNotification);
 }




svn commit: r1534123 - in /struts/struts2/trunk/xwork-core/src: main/java/com/opensymphony/xwork2/interceptor/ main/java/com/opensymphony/xwork2/ognl/ test/java/com/opensymphony/xwork2/interceptor/

2013-10-21 Thread lukaszlenart
Author: lukaszlenart
Date: Mon Oct 21 12:19:52 2013
New Revision: 1534123

URL: http://svn.apache.org/r1534123
Log:
WW-4109 WW-4154 Reverts to previous behaviour where both ParametersInterceptor 
and ParameterNameAware must accept parameter

Modified:

struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterNameAware.java

struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java

struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java

struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java

Modified: 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterNameAware.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterNameAware.java?rev=1534123&r1=1534122&r2=1534123&view=diff
==
--- 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterNameAware.java
 (original)
+++ 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterNameAware.java
 Mon Oct 21 12:19:52 2013
@@ -17,19 +17,10 @@ package com.opensymphony.xwork2.intercep
 
 /**
  * 
- *
  * This interface is implemented by actions that want to declare acceptable 
parameters. Works in conjunction with {@link
  * ParametersInterceptor}. For example, actions may want to create a whitelist 
of parameters they will accept or a
  * blacklist of paramters they will reject to prevent clients from setting 
other unexpected (and possibly dangerous)
  * parameters.
- * 
- * Using {@link ParameterNameAware} could be dangerous as {@link 
ParameterNameAware#acceptableParameterName(String)} takes precedence
- * over {@link ParametersInterceptor} which means if ParametersInterceptor 
excluded given parameter name you can accept it with
- * {@link ParameterNameAware#acceptableParameterName(String)}.
- *
- * The best idea is to define very tight restrictions with 
ParametersInterceptor and relax them per action with
- * {@link ParameterNameAware#acceptableParameterName(String)}
- *
  * 
  *
  * @author Bob Lee (crazy...@google.com)

Modified: 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java?rev=1534123&r1=1534122&r2=1534123&view=diff
==
--- 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
 (original)
+++ 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
 Mon Oct 21 12:19:52 2013
@@ -344,7 +344,7 @@ public class ParametersInterceptor exten
  */
 protected boolean isAcceptableParameter(String name, Object action) {
 ParameterNameAware parameterNameAware = (action instanceof 
ParameterNameAware) ? (ParameterNameAware) action : null;
-return acceptableName(name) || (parameterNameAware != null && 
parameterNameAware.acceptableParameterName(name));
+return acceptableName(name) && (parameterNameAware == null || 
parameterNameAware.acceptableParameterName(name));
 }
 
 /**

Modified: 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java?rev=1534123&r1=1534122&r2=1534123&view=diff
==
--- 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
 (original)
+++ 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
 Mon Oct 21 12:19:52 2013
@@ -80,7 +80,7 @@ public class SecurityMemberAccess extend
 return true;
 }
 
-if ((isAccepted(name) && !isExcluded(name)) || (propertiesJudge != 
null && propertiesJudge.acceptProperty(name))) {
+if ((!isExcluded(name)) && isAccepted(name) && (propertiesJudge == 
null || propertiesJudge.acceptProperty(name))) {
 return true;
 }
 return false;

Modified: 
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java?rev=1534123&r1=1534122&r2=1534123&view=diff
==
--- 
struts/str

svn commit: r1534156 - /struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java

2013-10-21 Thread lukaszlenart
Author: lukaszlenart
Date: Mon Oct 21 13:51:04 2013
New Revision: 1534156

URL: http://svn.apache.org/r1534156
Log:
WW-4066 Solves problem with StringIndexOutOfBoundsException when message was 
already translated

Modified:

struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java

Modified: 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java?rev=1534156&r1=1534155&r2=1534156&view=diff
==
--- 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
 (original)
+++ 
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
 Mon Oct 21 13:51:04 2013
@@ -23,12 +23,23 @@ import com.opensymphony.xwork2.conversio
 import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.ognl.PropertiesJudge;
-import com.opensymphony.xwork2.util.*;
+import com.opensymphony.xwork2.util.ArrayUtils;
+import com.opensymphony.xwork2.util.ClearableValueStack;
+import com.opensymphony.xwork2.util.LocalizedTextUtil;
+import com.opensymphony.xwork2.util.MemberAccessValueStack;
+import com.opensymphony.xwork2.util.ValueStack;
+import com.opensymphony.xwork2.util.ValueStackFactory;
 import com.opensymphony.xwork2.util.logging.Logger;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
 
-import java.util.*;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -318,13 +329,7 @@ public class ParametersInterceptor exten
 newStack.setParameter(name, value);
 } catch (RuntimeException e) {
 if (devMode) {
-String developerNotification = 
LocalizedTextUtil.findText(ParametersInterceptor.class, "devmode.notification", 
ActionContext.getContext().getLocale(), "Developer Notification:\n{0}", new 
Object[]{
- "Unexpected Exception caught setting '" + name + 
"' on '" + action.getClass() + ": " + e.getMessage()
-});
-LOG.error(developerNotification);
-if (action instanceof ValidationAware) {
-((ValidationAware) 
action).addActionMessage(developerNotification);
-}
+notifyDeveloper(action, name, e.getMessage());
 }
 }
 }
@@ -335,6 +340,22 @@ public class ParametersInterceptor exten
 addParametersToContext(ActionContext.getContext(), 
acceptableParameters);
 }
 
+protected void notifyDeveloper(Object action, String property, String 
message) {
+String developerNotification = 
LocalizedTextUtil.findText(ParametersInterceptor.class, "devmode.notification",
+ActionContext.getContext().getLocale(), "Developer 
Notification:\n{0}",
+new Object[]{
+"Unexpected Exception caught setting '" + property + 
"' on '" + action.getClass() + ": " + message
+}
+);
+LOG.error(developerNotification);
+// see https://issues.apache.org/jira/browse/WW-4066
+if (action instanceof ValidationAware) {
+Collection messages = ((ValidationAware) 
action).getActionMessages();
+messages.add(message);
+((ValidationAware) action).setActionMessages(messages);
+}
+}
+
 /**
  * Checks if name of parameter can be accepted or thrown away
  *




[CONF] Confluence Changes in the last 24 hours

2013-10-21 Thread Anonymous (Confluence)







   Apache ActiveMQ


Pages

 Blog post:
 Apache ActiveMQ 5.9.0 Released
created by Gary Tully[09:54 PM]

 Page:
 Replicated LevelDB Store
edited by Gary Tully[02:48 PM]
(view changes)

 Page:
 QuickLinks
edited by Gary Tully[12:23 PM]
(view changes)

 Home page:
 Index
edited by Gary Tully[12:21 PM]
(view changes)

 Page:
 Download
edited by Gary Tully[12:20 PM]
(view changes)

 Page:
 ActiveMQ 5.9.0 Release
edited by Gary Tully[12:15 PM]
(view changes)

 Page:
 Xml Reference
edited by Gary Tully[12:13 PM]
(view changes)

 Page:
 Release Guide
edited by Gary Tully[12:11 PM]
(view changes)



   Apache Camel


Pages

 Page:
 Log
edited by Claus Ibsen[02:02 PM]
(view changes)

 Page:
 Camel 2.13.0 Release
edited by Claus Ibsen[12:51 PM]
(view changes)

 Page:
 ETL Example
edited by Babak Vahdat[12:35 PM]
(view changes)

 Page:
 Merging commits from trunk to fixes branch
edited by Ben O'Day[03:27 AM]
(view changes)



   Apache Cloudstack


Pages

 Page:
 Release Management
created by Animesh[11:26 PM]

 Page:
 Cloudstack 4.2 Release
edited by Animesh[11:26 PM]
(view changes)

 Page:
 Dynamic Compute Offering FS
edited by Bharat Kumar[10:25 AM]
(view changes)

 Page:
 Deployment
edited by Donal Lafferty[09:30 AM]
(view changes)

 Page:
 Update UI visual appearance
edited by Frankie Onuonga[08:23 AM]
(view changes)



   Apache Hive


Pages

 Page:
 HiveODBC
edited by Thejas M Nair[08:15 PM]
(view changes)



   Apache Kafka


Pages

 Page:
 FAQ