svn commit: r1532704 - /struts/struts2/trunk/core/src/main/resources/struts-default.xml
Author: lukaszlenart Date: Wed Oct 16 09:58:43 2013 New Revision: 1532704 URL: http://svn.apache.org/r1532704 Log: WW-4222 Removes duplicated unused beans Modified: struts/struts2/trunk/core/src/main/resources/struts-default.xml 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=1532704&r1=1532703&r2=1532704&view=diff == --- struts/struts2/trunk/core/src/main/resources/struts-default.xml (original) +++ struts/struts2/trunk/core/src/main/resources/struts-default.xml Wed Oct 16 09:58:43 2013 @@ -21,39 +21,34 @@ * under the License. */ --> + + http://struts.apache.org/dtds/struts-2.3.dtd";> - - - - + - - - - - - - - - - - - - @@ -66,8 +61,6 @@ - - @@ -80,6 +73,7 @@ +
svn commit: r1532732 - in /struts/struts2/trunk/plugins/convention/src: main/java/org/apache/struts2/convention/ test/java/org/apache/struts2/convention/ test/java/org/apache/struts2/convention/action
Author: lukaszlenart Date: Wed Oct 16 11:31:21 2013 New Revision: 1532732 URL: http://svn.apache.org/r1532732 Log: WW-4100 Solves problem with global "error" result when used with Convention plugin Added: struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/actions/result/GlobalResultAction.java struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/actions/result/GlobalResultOverrideAction.java Modified: struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/DefaultResultMapBuilderTest.java struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java Modified: struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java?rev=1532732&r1=1532731&r2=1532732&view=diff == --- struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java (original) +++ struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java Wed Oct 16 11:31:21 2013 @@ -20,21 +20,6 @@ */ package org.apache.struts2.convention; -import java.io.IOException; -import java.net.URL; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -import javax.servlet.ServletContext; - -import org.apache.commons.lang3.ObjectUtils; -import org.apache.commons.lang3.StringUtils; -import org.apache.struts2.convention.annotation.Result; -import org.apache.struts2.convention.annotation.Results; - import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.config.ConfigurationException; @@ -49,6 +34,19 @@ import com.opensymphony.xwork2.util.find import com.opensymphony.xwork2.util.finder.Test; import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.struts2.convention.annotation.Result; +import org.apache.struts2.convention.annotation.Results; + +import javax.servlet.ServletContext; +import java.io.IOException; +import java.net.URL; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; /** * @@ -103,7 +101,7 @@ import com.opensymphony.xwork2.util.logg * * * - * All results that are conigured from resources are given a type corresponding + * All results that are configured from resources are given a type corresponding * to the resources extension. The extensions and types are given in the * table below: * @@ -178,7 +176,7 @@ public class DefaultResultMapBuilder imp LOG.trace("Using final calculated namespace [#0]", namespace); } -// Add that ending slash for concatentation +// Add that ending slash for concatenation if (!defaultResultPath.endsWith("/")) { defaultResultPath += "/"; } @@ -266,7 +264,7 @@ public class DefaultResultMapBuilder imp } else if(fileName.lastIndexOf(".") > 0){ String suffix = fileName.substring(fileName.lastIndexOf(".")+1); - + if(conventionsService.getResultTypesByExtension(packageConfig).get(suffix) == null) { if (LOG.isDebugEnabled()) LOG.debug("No result type defined for file suffix : [#0]. Ignoring file #1", suffix, fileName); @@ -356,6 +354,7 @@ public class DefaultResultMapBuilder imp protected void makeResults(Class actionClass, String path, String resultPrefix, Map results, PackageConfig packageConfig, Map resultsByExtension) { + if (path.startsWith(resultPrefix)) { int indexOfDot = path.indexOf('.', resultPrefix.length()); @@ -367,24 +366,9 @@ public class DefaultResultMapBuilder imp " be overridden by another result file or an annotation.", path); } -if (!results.containsKey(Action.SUCCESS)) { -ResultConfig success = createResultConfig(actionClass, -new ResultInfo(Action.SUCCESS, path, packageConfig, resultsByExtension), -packageConfig, null); -
svn commit: r1532741 - /struts/struts2/trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java
Author: lukaszlenart Date: Wed Oct 16 12:05:23 2013 New Revision: 1532741 URL: http://svn.apache.org/r1532741 Log: WW-4064 Reverts changes introduced by WW-3698 to avoid class cast exception Modified: struts/struts2/trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java Modified: struts/struts2/trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java?rev=1532741&r1=1532740&r2=1532741&view=diff == --- struts/struts2/trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java (original) +++ struts/struts2/trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java Wed Oct 16 12:05:23 2013 @@ -101,10 +101,10 @@ public class ValueStackDataSource implem Object value = valueStack.findValue(expression); if (LOG.isDebugEnabled()) { -LOG.debug("field: " + field.getName() + "/" + value); +LOG.debug("Field [#0] = [#1]", field.getName(), value); } -if ((!field.getValueClass().isInstance(value) && MakeIterator.isIterable(value))) { +if (MakeIterator.isIterable(value)) { // wrap value with ValueStackDataSource if not already wrapped return new ValueStackDataSource(this.valueStack, expression); } else {
svn commit: r1532760 - /struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java
Author: lukaszlenart Date: Wed Oct 16 13:39:39 2013 New Revision: 1532760 URL: http://svn.apache.org/r1532760 Log: WW-4117 Makes fields protected instead of private to meet user's needs Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java?rev=1532760&r1=1532759&r2=1532760&view=diff == --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java Wed Oct 16 13:39:39 2013 @@ -76,8 +76,8 @@ import java.util.List; */ public class RolesInterceptor extends AbstractInterceptor { -private List allowedRoles = new ArrayList(); -private List disallowedRoles = new ArrayList(); +protected List allowedRoles = new ArrayList(); +protected List disallowedRoles = new ArrayList(); public void setAllowedRoles(String roles) { this.allowedRoles = stringToList(roles);
[CONF] Confluence Changes in the last 24 hours
Apache Camel Pages Page: Team edited by Ben O'Day[04:41 PM] (view changes) Apache Cloudstack Pages Page: Cisco UCS Integration functional spec edited by frank.zhang[11:27 PM] (view changes) Page: Database Transactions created by Darren Shepherd[04:49 PM] Page: Userdata Support for Hyper-V with KVP Data Exchange edited by Donal Lafferty[01:47 PM] (view changes) Page: Coding conventions edited by Rajani Karuturi[01:18 PM] (view changes) Page: Dynamic Compute Offering FS edited by Bharat Kumar[11:25 AM] (view changes) Page: Documentation Sprint for Enhancing API Documentation created by Radhika Nair[10:18 AM] Page: BootArgs Support for Hyper-V with KVP Data Exchange created by Donal Lafferty[09:10 AM] Page: Remote Access VPN for VPC created by Sheng Yang[12:11 AM] Apache CXF Documentation Pages Page: 3.0 Migration Guide edited by Daniel Kulp[07:28 PM] (view changes) Apache Hive Pages Home page: Home edited by Lars Francke[09:12 AM] (view changes) OFBiz (Open For Business) Project Open Wiki Pages Page: In The News edited by Jacques Le Roux[10:28 AM] (view changes) Apache OpenOffice Community Comments Page: AOO4.1 - Desktop Icons has 4 new comments [ Drew Jensen, Samer Mansour, Kay Schenk] Apache Qpid Pages Page: DesignNotesOnReliableDistributedTopic created by Gordon Sim[05:44 PM] Apache Sling Pages Page: Solving the Authentication Handler Credential Validation Problem edited by Felix Meschberger[08:21 AM] (view changes) Apache Solr Reference Guide Pages Page: Internal - TODO List edited by Cassandra Targett[01:50 PM] (view changes) Commen
svn commit: r1532974 - in /struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor: XWorkMapPropertyAccessor.java XWorkMapPropertyAccessorTest.java
Author: lukaszlenart Date: Thu Oct 17 06:11:32 2013 New Revision: 1532974 URL: http://svn.apache.org/r1532974 Log: WW-3603 Prevents creating new map entries Added: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessorTest.java Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java?rev=1532974&r1=1532973&r2=1532974&view=diff == --- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java (original) +++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java Thu Oct 17 06:11:32 2013 @@ -95,7 +95,7 @@ public class XWorkMapPropertyAccessor ex result = map.get(key); if (result == null && -context.get(ReflectionContextState.CREATE_NULL_OBJECTS) != null + Boolean.TRUE.equals(context.get(ReflectionContextState.CREATE_NULL_OBJECTS)) && objectTypeDeterminer.shouldCreateIfNew(lastClass,lastProperty,target,null,false)) { Class valueClass = objectTypeDeterminer.getElementClass(lastClass, lastProperty, key); Added: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessorTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessorTest.java?rev=1532974&view=auto == --- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessorTest.java (added) +++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessorTest.java Thu Oct 17 06:11:32 2013 @@ -0,0 +1,54 @@ +package com.opensymphony.xwork2.ognl.accessor; + +import com.opensymphony.xwork2.ActionContext; +import com.opensymphony.xwork2.XWorkTestCase; +import com.opensymphony.xwork2.util.Element; +import com.opensymphony.xwork2.util.ValueStack; +import com.opensymphony.xwork2.util.reflection.ReflectionContextState; + +import java.util.Collections; +import java.util.Map; + +public class XWorkMapPropertyAccessorTest extends XWorkTestCase { +public void testCreateNullObjectsIsFalseByDefault() { +ValueStack vs = ActionContext.getContext().getValueStack(); +vs.push(new MapHolder(Collections.emptyMap())); +assertNull(vs.findValue("map[key]")); +} + +public void testMapContentsAreReturned() { +ValueStack vs = ActionContext.getContext().getValueStack(); +vs.push(new MapHolder(Collections.singletonMap("key", "value"))); +assertEquals("value", vs.findValue("map['key']")); +} + +public void testNullIsNotReturnedWhenCreateNullObjectsIsSpecified() { +ValueStack vs = ActionContext.getContext().getValueStack(); +vs.push(new MapHolder(Collections.emptyMap())); +ReflectionContextState.setCreatingNullObjects(vs.getContext(), true); + +Object value = vs.findValue("map['key']"); +assertNotNull(value); +assertSame(Object.class, value.getClass()); +} + +public void testNullIsReturnedWhenCreateNullObjectsIsSpecifiedAsFalse() { +ValueStack vs = ActionContext.getContext().getValueStack(); +vs.push(new MapHolder(Collections.emptyMap())); +ReflectionContextState.setCreatingNullObjects(vs.getContext(), false); +assertNull(vs.findValue("map['key']")); +} + +private static class MapHolder { +private final Map map; + +public MapHolder(Map m) { +this.map = m; +} + +@Element(value = Object.class) +public Map getMap() { +return map; +} +} +}