From aaa27dc380f1b846eddca8a6124240595dccec79 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Tue, 19 Mar 2013 22:11:59 +0000 Subject: [PATCH] WW-3994 Uses constructor injections instead property injections to avoid NPE git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@1458543 13f79535-47bb-0310-9956-ffa450edef68 --- .../mapper/CompositeActionMapper.java | 19 ++++++++----------- .../mapper/CompositeActionMapperTest.java | 18 ++++-------------- 2 files changed, 12 insertions(+), 25 deletions(-) diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapper.java index fa008ceae..ccfb6349a 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapper.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapper.java @@ -21,18 +21,16 @@ package org.apache.struts2.dispatcher.mapper; -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.struts2.StrutsConstants; - import com.opensymphony.xwork2.config.ConfigurationManager; import com.opensymphony.xwork2.inject.Container; import com.opensymphony.xwork2.inject.Inject; import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory; +import org.apache.struts2.StrutsConstants; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; /** * @@ -88,12 +86,11 @@ public class CompositeActionMapper implements ActionMapper { protected Container container; protected List actionMappers = new ArrayList(); - - @Inject - public void setContainer(Container container) { + + public CompositeActionMapper(@Inject Container container) { this.container = container; } - + @Inject(StrutsConstants.STRUTS_MAPPER_COMPOSITE) public void setActionMappers(String list) { if (list != null) { diff --git a/core/src/test/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapperTest.java b/core/src/test/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapperTest.java index f1126de7d..e19755048 100644 --- a/core/src/test/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapperTest.java +++ b/core/src/test/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapperTest.java @@ -21,23 +21,14 @@ package org.apache.struts2.dispatcher.mapper; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.struts2.StrutsConstants; -import org.springframework.mock.web.MockHttpServletRequest; - import com.mockobjects.dynamic.C; import com.mockobjects.dynamic.Mock; import com.opensymphony.xwork2.config.ConfigurationManager; import com.opensymphony.xwork2.inject.Container; -import com.opensymphony.xwork2.inject.Scope.Strategy; - import junit.framework.TestCase; +import org.springframework.mock.web.MockHttpServletRequest; + +import javax.servlet.http.HttpServletRequest; /** * @@ -49,9 +40,8 @@ public class CompositeActionMapperTest extends TestCase { Mock mockContainer; public void setUp() throws Exception { - compositeActionMapper = new CompositeActionMapper(); mockContainer = new Mock(Container.class); - compositeActionMapper.setContainer((Container)mockContainer.proxy()); + compositeActionMapper = new CompositeActionMapper((Container)mockContainer.proxy()); }