You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by ku...@apache.org on 2024/07/13 13:09:00 UTC
(struts) 03/05: WW-5440 Add missing annotations
This is an automated email from the ASF dual-hosted git repository.
kusal pushed a commit to branch WW-5440-convention
in repository https://gitbox.apache.org/repos/asf/struts.git
commit f9953938f7313840a7122e4706235c8334fbee4e
Author: Kusal Kithul-Godage <gi...@kusal.io>
AuthorDate: Sat Jul 13 19:39:13 2024 +1000
WW-5440 Add missing annotations
---
.../org/demo/rest/example/OrdersController.java | 24 ++++----
.../java/org/demo/rest/example/OrdersService.java | 7 ++-
.../struts2/showcase/DynamicTreeSelectAction.java | 3 +-
.../showcase/LotsOfOptiontransferselectAction.java | 17 +++++-
.../showcase/LotsOfRichtexteditorAction.java | 7 ++-
.../apache/struts2/showcase/MoreSelectsAction.java | 10 +++-
.../showcase/ShowAjaxDynamicTreeAction.java | 2 +
.../org/apache/struts2/showcase/UITagExample.java | 8 +++
.../showcase/action/AbstractCRUDAction.java | 11 ++--
.../struts2/showcase/action/EmployeeAction.java | 5 +-
.../struts2/showcase/action/ExampleAction.java | 10 +++-
.../struts2/showcase/action/JSPEvalAction.java | 8 ++-
.../struts2/showcase/action/SkillAction.java | 2 +
.../showcase/actionchaining/ActionChain1.java | 3 +
.../showcase/actionchaining/ActionChain2.java | 5 +-
.../showcase/actionchaining/ActionChain3.java | 8 ++-
.../struts2/showcase/ajax/AjaxTestAction.java | 3 +-
.../showcase/ajax/AutocompleterExampleAction.java | 5 +-
.../showcase/ajax/Example4ShowPanelAction.java | 3 +
.../struts2/showcase/ajax/Example5Action.java | 3 +
.../struts2/showcase/ajax/tree/GetCategory.java | 3 +
.../apache/struts2/showcase/ajax/tree/Toggle.java | 2 +
.../struts2/showcase/async/ChatRoomAction.java | 13 ++---
.../struts2/showcase/chat/ChatLoginAction.java | 5 +-
.../struts2/showcase/chat/CrudRoomAction.java | 3 +
.../struts2/showcase/chat/EnterRoomAction.java | 5 +-
.../struts2/showcase/chat/ExitRoomAction.java | 5 +-
.../chat/MessagesAvailableInRoomAction.java | 6 +-
.../showcase/chat/SendMessageToRoomAction.java | 10 ++--
.../showcase/chat/UsersAvailableInRoomAction.java | 7 ++-
.../showcase/conversion/OperationsEnumAction.java | 3 +-
.../showcase/freemarker/StandardTagsAction.java | 6 +-
.../showcase/hangman/GuessCharacterAction.java | 6 +-
.../showcase/modelDriven/ModelDrivenAction.java | 3 +
.../struts2/showcase/person/EditPersonAction.java | 6 +-
.../struts2/showcase/person/ListPeopleAction.java | 3 +-
.../struts2/showcase/person/NewPersonAction.java | 3 +
.../struts2/showcase/source/ViewSourceAction.java | 12 +++-
.../tag/nonui/actionPrefix/SubmitAction.java | 3 +
.../tag/nonui/debugtag/DebugTagAction.java | 3 +-
.../nonui/iteratortag/AppendIteratorTagDemo.java | 7 ++-
.../iteratortag/IteratorGeneratorTagDemo.java | 9 +--
.../nonui/iteratortag/MergeIteratorTagDemo.java | 9 +--
.../nonui/iteratortag/SubsetIteratorTagDemo.java | 13 ++---
.../apache/struts2/showcase/token/TokenAction.java | 2 +
.../AbstractValidationActionSupport.java | 1 +
.../showcase/validation/AjaxFormSubmitAction.java | 31 +++++++----
.../validation/BeanValidationExampleAction.java | 13 ++++-
.../NonFieldValidatorsExampleAction.java | 5 ++
.../struts2/showcase/validation/QuizAction.java | 4 ++
.../showcase/validation/SubmitApplication.java | 3 +
.../validation/VisitorValidatorsExampleAction.java | 3 +
.../apache/struts2/showcase/xslt/JVMAction.java | 6 +-
.../struts2/osgi/admin/actions/BundlesAction.java | 9 +--
.../struts2/osgi/admin/actions/ShellAction.java | 15 ++---
.../src/main/java/actions/osgi/BundlesAction.java | 1 +
.../main/java/actions/osgi/HelloWorldAction.java | 4 +-
.../xwork2/ValidationAwareSupport.java | 15 +++--
.../struts2/dispatcher/DefaultActionSupport.java | 10 ++--
.../com/opensymphony/xwork2/ActionSupportTest.java | 7 ++-
.../com/opensymphony/xwork2/ModelDrivenAction.java | 8 ++-
.../xwork2/ModelDrivenAnnotationAction.java | 8 ++-
.../opensymphony/xwork2/ProxyInvocationAction.java | 2 +
.../java/com/opensymphony/xwork2/SimpleAction.java | 26 +++++----
.../xwork2/SimpleAnnotationAction.java | 32 +++++++++--
.../opensymphony/xwork2/ValidationOrderAction.java | 36 ++++++------
.../interceptor/ModelDrivenInterceptorTest.java | 8 ++-
.../ScopedModelDrivenInterceptorTest.java | 10 ++++
.../annotations/AllowingByDefaultAction.java | 9 ++-
.../annotations/BlockingByDefaultAction.java | 9 ++-
.../xwork2/test/ModelDrivenAction2.java | 4 +-
.../xwork2/test/ModelDrivenAnnotationAction2.java | 4 +-
.../opensymphony/xwork2/test/SimpleAction2.java | 3 +-
.../opensymphony/xwork2/test/SimpleAction3.java | 8 ++-
.../xwork2/test/SimpleAnnotationAction2.java | 2 +
.../xwork2/test/SimpleAnnotationAction3.java | 8 ++-
.../ValidateAnnotatedMethodOnlyAction.java | 3 +
.../java/com/opensymphony/xwork2/util/Bar.java | 5 +-
.../util/StrutsLocalizedTextProviderTest.java | 10 ++--
.../validator/ActionValidatorManagerTest.java | 5 +-
.../validator/AnnotationValidationAction.java | 1 +
.../validator/AnnotationValidationExpAction.java | 1 +
.../validator/StringLengthFieldValidatorTest.java | 7 +++
.../validator/VisitorValidatorModelAction.java | 3 +
.../validator/VisitorValidatorTestAction.java | 7 ++-
.../apache/struts2/ExecutionCountTestAction.java | 3 +-
.../org/apache/struts2/HttpMethodsTestAction.java | 2 +
.../test/java/org/apache/struts2/TestAction.java | 1 +
.../struts2/interceptor/CookieInterceptorTest.java | 9 +++
.../interceptor/FileUploadInterceptorTest.java | 4 +-
.../views/jsp/IteratorGeneratorTagTest.java | 13 ++---
.../struts2/views/jsp/SortIteratorTagTest.java | 22 +++-----
.../struts2/views/jsp/SubsetIteratorTagTest.java | 29 +++++-----
.../views/jsp/ui/DoubleValidationAction.java | 2 +
.../struts2/views/jsp/ui/FieldErrorTagTest.java | 13 ++---
.../struts2/views/jsp/ui/IntValidationAction.java | 2 +
.../struts/beanvalidation/actions/FieldAction.java | 2 +
.../beanvalidation/actions/FieldMatchAction.java | 5 ++
.../beanvalidation/actions/ModelDrivenAction.java | 5 +-
.../actions/ValidateGroupAction.java | 7 ++-
.../struts2/config_browser/ActionNamesAction.java | 5 +-
.../config_browser/ListValidatorsAction.java | 8 ++-
.../struts2/config_browser/ShowBeansAction.java | 2 +
.../struts2/config_browser/ShowConfigAction.java | 25 ++++++---
.../config_browser/ShowValidatorAction.java | 24 +++++---
.../src/test/java/actions/MessageAction.java | 2 +-
.../json/JSONValidationInterceptorTest.java | 5 ++
.../org/apache/struts2/junit/JUnitTestAction.java | 2 +
.../struts2/junit/session/SessionGetAction.java | 1 +
.../struts2/junit/session/SessionSetAction.java | 1 +
.../oval/interceptor/FieldsWithProfiles.java | 4 ++
.../struts2/oval/interceptor/MemberObject.java | 8 +--
.../oval/interceptor/ModelDrivenAction.java | 11 ++--
.../struts2/oval/interceptor/SimpleField.java | 5 +-
.../struts2/oval/interceptor/SimpleFieldI18n.java | 2 +
.../interceptor/SimpleFieldI18nDefaultKey.java | 4 +-
.../interceptor/SimpleFieldJPAAnnotations.java | 2 +
.../interceptor/SimpleFieldOGNLExpression.java | 4 +-
.../struts2/oval/interceptor/SimpleFieldsXML.java | 4 +-
.../oval/interceptor/SimpleFieldsXMLChild.java | 3 +
.../struts2/oval/interceptor/SimpleMethod.java | 4 +-
.../struts2/rest/RestActionInvocationTest.java | 65 +++++++++++-----------
.../com/opensymphony/xwork2/ModelDrivenAction.java | 8 ++-
123 files changed, 647 insertions(+), 308 deletions(-)
diff --git a/apps/rest-showcase/src/main/java/org/demo/rest/example/OrdersController.java b/apps/rest-showcase/src/main/java/org/demo/rest/example/OrdersController.java
index 2184e2b1e..50d9c8fa6 100644
--- a/apps/rest-showcase/src/main/java/org/demo/rest/example/OrdersController.java
+++ b/apps/rest-showcase/src/main/java/org/demo/rest/example/OrdersController.java
@@ -18,30 +18,30 @@
*/
package org.demo.rest.example;
-import java.util.Collection;
-
+import com.opensymphony.xwork2.ModelDriven;
+import com.opensymphony.xwork2.Validateable;
+import com.opensymphony.xwork2.ValidationAwareSupport;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.apache.struts2.convention.annotation.Result;
+import org.apache.struts2.convention.annotation.Results;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.rest.DefaultHttpHeaders;
import org.apache.struts2.rest.HttpHeaders;
-import org.apache.struts2.convention.annotation.Results;
-import org.apache.struts2.convention.annotation.Result;
-import com.opensymphony.xwork2.ModelDriven;
-import com.opensymphony.xwork2.Validateable;
-import com.opensymphony.xwork2.ValidationAwareSupport;
+import java.util.Collection;
@Results({
@Result(name="success", type="redirectAction", params = {"actionName" , "orders"})
})
-public class OrdersController extends ValidationAwareSupport implements ModelDriven<Object>, Validateable{
+public class OrdersController extends ValidationAwareSupport implements ModelDriven<Object>, Validateable {
private static final Logger log = LogManager.getLogger(OrdersController.class);
private Order model = new Order();
private String id;
private Collection<Order> list;
- private OrdersService ordersService = new OrdersService();
+ private final OrdersService ordersService = new OrdersService();
// GET /orders/1
public HttpHeaders show() {
@@ -54,7 +54,7 @@ public class OrdersController extends ValidationAwareSupport implements ModelDri
return new DefaultHttpHeaders("index")
.disableCaching();
}
-
+
// GET /orders/1/edit
public String edit() {
return "edit";
@@ -101,13 +101,15 @@ public class OrdersController extends ValidationAwareSupport implements ModelDri
}
}
+ @StrutsParameter
public void setId(String id) {
if (id != null) {
this.model = ordersService.get(id);
}
this.id = id;
}
-
+
+ @Override
public Object getModel() {
return (list != null ? list : model);
}
diff --git a/apps/rest-showcase/src/main/java/org/demo/rest/example/OrdersService.java b/apps/rest-showcase/src/main/java/org/demo/rest/example/OrdersService.java
index 321723e3f..431fdcf57 100644
--- a/apps/rest-showcase/src/main/java/org/demo/rest/example/OrdersService.java
+++ b/apps/rest-showcase/src/main/java/org/demo/rest/example/OrdersService.java
@@ -18,11 +18,14 @@
*/
package org.demo.rest.example;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
public class OrdersService {
- private static Map<String,Order> orders = new HashMap<String,Order>();
+ private static final Map<String,Order> orders = new HashMap<>();
private static int nextId = 6;
static {
orders.put("3", new Order("3", "Bob", 33));
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/DynamicTreeSelectAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/DynamicTreeSelectAction.java
index 422b483cb..c194ca386 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/DynamicTreeSelectAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/DynamicTreeSelectAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.showcase.ajax.tree.Category;
//START SNIPPET: treeExampleDynamicJavaSelected
@@ -30,7 +31,7 @@ public class DynamicTreeSelectAction extends ActionSupport {
private long nodeId;
private Category currentCategory;
-
+ @StrutsParameter
public void setNodeId(long nodeId) {
this.nodeId = nodeId;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfOptiontransferselectAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfOptiontransferselectAction.java
index b56618eeb..9d861c920 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfOptiontransferselectAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfOptiontransferselectAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -74,6 +75,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _favouriteCartoonCharactersKeys;
}
+ @StrutsParameter
public void setFavouriteCartoonCharacters(List favouriteCartoonCharacters) {
_favouriteCartoonCharactersKeys = favouriteCartoonCharacters;
}
@@ -82,6 +84,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _notFavouriteCartoonCharactersKeys;
}
+ @StrutsParameter
public void setNotFavouriteCartoonCharacters(List notFavouriteCartoonCharacters) {
_notFavouriteCartoonCharactersKeys = notFavouriteCartoonCharacters;
}
@@ -108,6 +111,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _favouriteCarsKeys;
}
+ @StrutsParameter
public void setFavouriteCars(List favouriteCars) {
_favouriteCarsKeys = favouriteCars;
}
@@ -116,6 +120,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _notFavouriteCarsKeys;
}
+ @StrutsParameter
public void setNotFavouriteCars(List notFavouriteCars) {
_notFavouriteCarsKeys = notFavouriteCars;
}
@@ -142,6 +147,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _favouriteMotorcyclesKeys;
}
+ @StrutsParameter
public void setFavouriteMotorcycles(List favouriteMotorcycles) {
_favouriteMotorcyclesKeys = favouriteMotorcycles;
}
@@ -150,6 +156,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _notFavouriteMotorcyclesKeys;
}
+ @StrutsParameter
public void setNotFavouriteMotorcycles(List notFavouriteMotorcycles) {
_notFavouriteMotorcyclesKeys = notFavouriteMotorcycles;
}
@@ -176,6 +183,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _favouriteCountriesKeys;
}
+ @StrutsParameter
public void setFavouriteCountries(List favouriteCountries) {
_favouriteCountriesKeys = favouriteCountries;
}
@@ -184,6 +192,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _notFavouriteCountriesKeys;
}
+ @StrutsParameter
public void setNotFavouriteCountries(List notFavouriteCountries) {
_notFavouriteCountriesKeys = notFavouriteCountries;
}
@@ -205,6 +214,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _favouriteSportsKeys;
}
+ @StrutsParameter
public void setFavouriteSports(List favouriteSportsKeys) {
this._favouriteSportsKeys = favouriteSportsKeys;
}
@@ -213,6 +223,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _nonFavouriteSportsKeys;
}
+ @StrutsParameter
public void setNonFavouriteSports(List notFavouriteSportsKeys) {
this._nonFavouriteSportsKeys = notFavouriteSportsKeys;
}
@@ -222,6 +233,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _prioritisedFavouriteCartoonCharacters;
}
+ @StrutsParameter
public void setPrioritisedFavouriteCartoonCharacters(List prioritisedFavouriteCartoonCharacters) {
_prioritisedFavouriteCartoonCharacters = prioritisedFavouriteCartoonCharacters;
}
@@ -230,6 +242,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _prioritisedFavouriteCars;
}
+ @StrutsParameter
public void setPrioritisedFavouriteCars(List prioritisedFavouriteCars) {
_prioritisedFavouriteCars = prioritisedFavouriteCars;
}
@@ -239,6 +252,7 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _prioritisedFavouriteCountries;
}
+ @StrutsParameter
public void setPrioritisedFavouriteCountries(List prioritisedFavouriteCountries) {
_prioritisedFavouriteCountries = prioritisedFavouriteCountries;
}
@@ -264,12 +278,13 @@ public class LotsOfOptiontransferselectAction extends ActionSupport {
return _favouriteCities;
}
+ @StrutsParameter
public void setFavouriteCities(List favouriteCities) {
this._favouriteCities = favouriteCities;
}
// actions
-
+ @Override
public String input() throws Exception {
return SUCCESS;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfRichtexteditorAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfRichtexteditorAction.java
index 1e106691d..ac18342a5 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfRichtexteditorAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfRichtexteditorAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
*
@@ -36,6 +37,7 @@ public class LotsOfRichtexteditorAction extends ActionSupport {
return this.description1;
}
+ @StrutsParameter
public void setDescription1(String description1) {
this.description1 = description1;
}
@@ -45,6 +47,7 @@ public class LotsOfRichtexteditorAction extends ActionSupport {
return this.description2;
}
+ @StrutsParameter
public void setDescription2(String description2) {
this.description2 = description2;
}
@@ -54,6 +57,7 @@ public class LotsOfRichtexteditorAction extends ActionSupport {
return this.description3;
}
+ @StrutsParameter
public void setDescription3(String description3) {
this.description3 = description3;
}
@@ -63,11 +67,12 @@ public class LotsOfRichtexteditorAction extends ActionSupport {
return this.description4;
}
+ @StrutsParameter
public void setDescription4(String description4) {
this.description4 = description4;
}
-
+ @Override
public String input() throws Exception {
return SUCCESS;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/MoreSelectsAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/MoreSelectsAction.java
index 6a5d85f67..72f554bed 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/MoreSelectsAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/MoreSelectsAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -75,11 +76,11 @@ public class MoreSelectsAction extends ActionSupport {
return list;
}
-
public List getPrioritisedFavouriteCartoonCharacters() {
return _prioritisedFavouriteCartoonCharacters;
}
+ @StrutsParameter
public void setPrioritisedFavouriteCartoonCharacters(List prioritisedFavouriteCartoonCharacters) {
_prioritisedFavouriteCartoonCharacters = prioritisedFavouriteCartoonCharacters;
}
@@ -88,15 +89,16 @@ public class MoreSelectsAction extends ActionSupport {
return _prioritisedFavouriteCars;
}
+ @StrutsParameter
public void setPrioritisedFavouriteCars(List prioritisedFavouriteCars) {
_prioritisedFavouriteCars = prioritisedFavouriteCars;
}
-
public List getPrioritisedFavouriteCountries() {
return _prioritisedFavouriteCountries;
}
+ @StrutsParameter
public void setPrioritisedFavouriteCountries(List prioritisedFavouriteCountries) {
_prioritisedFavouriteCountries = prioritisedFavouriteCountries;
}
@@ -105,6 +107,7 @@ public class MoreSelectsAction extends ActionSupport {
return favouriteNumbers;
}
+ @StrutsParameter
public void setFavouriteNumbers(List favouriteNumbers) {
this.favouriteNumbers = favouriteNumbers;
}
@@ -129,12 +132,13 @@ public class MoreSelectsAction extends ActionSupport {
return favouriteCities;
}
+ @StrutsParameter
public void setFavouriteCities(List favouriteCities) {
this.favouriteCities = favouriteCities;
}
// actions
-
+ @Override
public String input() throws Exception {
return SUCCESS;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/ShowAjaxDynamicTreeAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/ShowAjaxDynamicTreeAction.java
index 40ec4b72c..242790c9f 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/ShowAjaxDynamicTreeAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/ShowAjaxDynamicTreeAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.showcase.ajax.tree.Category;
public class ShowAjaxDynamicTreeAction extends ActionSupport {
@@ -34,6 +35,7 @@ public class ShowAjaxDynamicTreeAction extends ActionSupport {
return nodeId;
}
+ @StrutsParameter
public void setNodeId(int nodeId) {
this.nodeId = nodeId;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/UITagExample.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/UITagExample.java
index 1e87b2193..c04114c2e 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/UITagExample.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/UITagExample.java
@@ -200,6 +200,7 @@ public class UITagExample extends ActionSupport implements Validateable {
return bestFriend;
}
+ @StrutsParameter
public void setBestFriend(String bestFriend) {
this.bestFriend = bestFriend;
}
@@ -231,6 +232,7 @@ public class UITagExample extends ActionSupport implements Validateable {
this.region = region;
}
+ @StrutsParameter
public void setPicture(File picture) {
this.picture = picture;
}
@@ -239,10 +241,12 @@ public class UITagExample extends ActionSupport implements Validateable {
return this.picture;
}
+ @StrutsParameter
public void setPictureContentType(String pictureContentType) {
this.pictureContentType = pictureContentType;
}
+ @StrutsParameter
public void setPictureFileName(String pictureFileName) {
this.pictureFileName = pictureFileName;
}
@@ -323,6 +327,7 @@ public class UITagExample extends ActionSupport implements Validateable {
return this.description;
}
+ @Override
public boolean equals(Object obj) {
if (!(obj instanceof VehicalType)) {
return false;
@@ -331,6 +336,7 @@ public class UITagExample extends ActionSupport implements Validateable {
}
}
+ @Override
public int hashCode() {
return key.hashCode();
}
@@ -354,6 +360,7 @@ public class UITagExample extends ActionSupport implements Validateable {
return this.description;
}
+ @Override
public boolean equals(Object obj) {
if (!(obj instanceof VehicalSpecific)) {
return false;
@@ -362,6 +369,7 @@ public class UITagExample extends ActionSupport implements Validateable {
}
}
+ @Override
public int hashCode() {
return key.hashCode();
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/AbstractCRUDAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/AbstractCRUDAction.java
index 4c79c7ea9..2880f3658 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/AbstractCRUDAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/AbstractCRUDAction.java
@@ -21,6 +21,7 @@ package org.apache.struts2.showcase.action;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.showcase.dao.Dao;
import org.apache.struts2.showcase.model.IdEntity;
@@ -40,7 +41,6 @@ public abstract class AbstractCRUDAction extends ActionSupport {
protected abstract Dao getDao();
-
public Collection getAvailableItems() {
return availableItems;
}
@@ -49,6 +49,7 @@ public abstract class AbstractCRUDAction extends ActionSupport {
return toDelete;
}
+ @StrutsParameter
public void setToDelete(String[] toDelete) {
this.toDelete = toDelete;
}
@@ -64,11 +65,11 @@ public abstract class AbstractCRUDAction extends ActionSupport {
public String delete() throws Exception {
if (toDelete != null) {
int count = 0;
- for (int i = 0, j = toDelete.length; i < j; i++) {
- count = count + getDao().delete(toDelete[i]);
- }
+ for (String s : toDelete) {
+ count = count + getDao().delete(s);
+ }
if (log.isDebugEnabled()) {
- log.debug("AbstractCRUDAction - [delete]: " + count + " items deleted.");
+ log.debug("AbstractCRUDAction - [delete]: {} items deleted.", count);
}
}
return SUCCESS;
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction.java
index af2281f17..e8a411fe3 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction.java
@@ -21,6 +21,7 @@ package org.apache.struts2.showcase.action;
import com.opensymphony.xwork2.Preparable;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.showcase.application.TestDataProvider;
import org.apache.struts2.showcase.dao.Dao;
import org.apache.struts2.showcase.dao.EmployeeDao;
@@ -52,7 +53,7 @@ public class EmployeeAction extends AbstractCRUDAction implements Preparable {
public String execute() throws Exception {
if (getCurrentEmployee() != null && getCurrentEmployee().getOtherSkills() != null) {
- setSelectedSkills(new ArrayList<String>());
+ setSelectedSkills(new ArrayList<>());
Iterator it = getCurrentEmployee().getOtherSkills().iterator();
while (it.hasNext()) {
getSelectedSkills().add(((Skill) it.next()).getName());
@@ -73,10 +74,12 @@ public class EmployeeAction extends AbstractCRUDAction implements Preparable {
return empId;
}
+ @StrutsParameter
public void setEmpId(Long empId) {
this.empId = empId;
}
+ @StrutsParameter(depth = 2)
public Employee getCurrentEmployee() {
return currentEmployee;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/ExampleAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/ExampleAction.java
index 35c071563..771d49cbc 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/ExampleAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/ExampleAction.java
@@ -20,7 +20,11 @@ package org.apache.struts2.showcase.action;
import com.opensymphony.xwork2.ActionSupport;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
public class ExampleAction extends ActionSupport {
public static final String CONSTANT = "Struts Rocks!";
@@ -46,7 +50,7 @@ public class ExampleAction extends ActionSupport {
}
public Map<String, Book> getBooks() {
- Map<String, Book> books = new HashMap<String, Book>();
+ Map<String, Book> books = new HashMap<>();
books.put("Iliad", new Book("Iliad", "Homer"));
books.put("The Republic", new Book("The Replublic", "Plato"));
books.put("Thus Spake Zarathustra", new Book("Thus Spake Zarathustra",
@@ -79,4 +83,4 @@ class Book {
public void setAuthor(String author) {
this.author = author;
}
-}
\ No newline at end of file
+}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/JSPEvalAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/JSPEvalAction.java
index fed9cd644..7683a9701 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/JSPEvalAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/JSPEvalAction.java
@@ -21,8 +21,13 @@ package org.apache.struts2.showcase.action;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.interceptor.annotations.After;
import org.apache.struts2.ServletActionContext;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
-import java.io.*;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
import java.net.URL;
/**
@@ -62,6 +67,7 @@ public class JSPEvalAction extends ExampleAction {
}
}
+ @StrutsParameter
public void setJsp(String jsp) {
this.jsp = jsp;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction.java
index 6ba209691..ce462095b 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction.java
@@ -46,6 +46,7 @@ public class SkillAction extends AbstractCRUDAction implements Preparable {
*
* @throws Exception thrown if a system level exception occurs.
*/
+ @Override
public void prepare() throws Exception {
Skill preFetched = (Skill) fetch(getSkillName(), getCurrentSkill());
if (preFetched != null) {
@@ -64,6 +65,7 @@ public class SkillAction extends AbstractCRUDAction implements Preparable {
return skillName;
}
+ @StrutsParameter
public void setSkillName(String skillName) {
this.skillName = skillName;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain1.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain1.java
index e196e2226..e57006f2b 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain1.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain1.java
@@ -19,6 +19,7 @@
package org.apache.struts2.showcase.actionchaining;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class ActionChain1 extends ActionSupport {
@@ -26,6 +27,7 @@ public class ActionChain1 extends ActionSupport {
private String actionChain1Property1 = "Property Set In Action Chain 1";
+ @Override
public String input() throws Exception {
return SUCCESS;
}
@@ -34,6 +36,7 @@ public class ActionChain1 extends ActionSupport {
return actionChain1Property1;
}
+ @StrutsParameter
public void setActionChain1Property1(String actionChain1Property1) {
this.actionChain1Property1 = actionChain1Property1;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain2.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain2.java
index b973a2b78..32e7f6767 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain2.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain2.java
@@ -19,6 +19,7 @@
package org.apache.struts2.showcase.actionchaining;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class ActionChain2 extends ActionSupport {
@@ -27,6 +28,7 @@ public class ActionChain2 extends ActionSupport {
private String actionChain1Property1;
private String actionChain2Property1 = "Property Set in Action Chain 2";
+ @Override
public String execute() throws Exception {
return SUCCESS;
}
@@ -35,15 +37,16 @@ public class ActionChain2 extends ActionSupport {
return actionChain1Property1;
}
+ @StrutsParameter
public void setActionChain1Property1(String actionChain1Property1) {
this.actionChain1Property1 = actionChain1Property1;
}
-
public String getActionChain2Property1() {
return actionChain2Property1;
}
+ @StrutsParameter
public void setActionChain2Property1(String actionChain2Property1) {
this.actionChain2Property1 = actionChain2Property1;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain3.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain3.java
index e22712f8e..402a1b578 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain3.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain3.java
@@ -19,6 +19,7 @@
package org.apache.struts2.showcase.actionchaining;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class ActionChain3 extends ActionSupport {
@@ -28,7 +29,7 @@ public class ActionChain3 extends ActionSupport {
private String actionChain2Property1;
private String actionChain3Property1 = "Property set in Action Chain 3";
-
+ @Override
public String execute() throws Exception {
return SUCCESS;
}
@@ -37,24 +38,25 @@ public class ActionChain3 extends ActionSupport {
return actionChain1Property1;
}
+ @StrutsParameter
public void setActionChain1Property1(String actionChain1Property1) {
this.actionChain1Property1 = actionChain1Property1;
}
-
public String getActionChain2Property1() {
return actionChain2Property1;
}
+ @StrutsParameter
public void setActionChain2Property1(String actionChain2Property1) {
this.actionChain2Property1 = actionChain2Property1;
}
-
public String getActionChain3Property1() {
return actionChain3Property1;
}
+ @StrutsParameter
public void setActionChain3Property1(String actionChain3Property1) {
this.actionChain3Property1 = actionChain3Property1;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/AjaxTestAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/AjaxTestAction.java
index 6fd2bfecb..ec146c05d 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/AjaxTestAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/AjaxTestAction.java
@@ -21,10 +21,10 @@
package org.apache.struts2.showcase.ajax;
import com.opensymphony.xwork2.Action;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.io.Serializable;
-
public class AjaxTestAction implements Action, Serializable {
private static int counter = 0;
@@ -46,6 +46,7 @@ public class AjaxTestAction implements Action, Serializable {
return data;
}
+ @StrutsParameter
public void setData(String data) {
this.data = data;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/AutocompleterExampleAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/AutocompleterExampleAction.java
index 001cffa39..9193ec918 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/AutocompleterExampleAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/AutocompleterExampleAction.java
@@ -21,16 +21,18 @@
package org.apache.struts2.showcase.ajax;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.ArrayList;
import java.util.List;
public class AutocompleterExampleAction extends ActionSupport {
private String select;
- private List<String> options = new ArrayList<String>();
+ private final List<String> options = new ArrayList<>();
private static final long serialVersionUID = -8481638176160014396L;
+ @Override
public String execute() throws Exception {
if ("fruits".equals(select)) {
options.add("apple");
@@ -49,6 +51,7 @@ public class AutocompleterExampleAction extends ActionSupport {
return select;
}
+ @StrutsParameter
public void setSelect(String select) {
this.select = select;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/Example4ShowPanelAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/Example4ShowPanelAction.java
index 10a2d10db..c698da86d 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/Example4ShowPanelAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/Example4ShowPanelAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase.ajax;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -51,6 +52,7 @@ public class Example4ShowPanelAction extends ActionSupport {
return gender;
}
+ @StrutsParameter
public void setGender(String gender) {
this.gender = gender;
}
@@ -59,6 +61,7 @@ public class Example4ShowPanelAction extends ActionSupport {
return name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/Example5Action.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/Example5Action.java
index 4f7d3ed65..d5f7b1c3d 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/Example5Action.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/Example5Action.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase.ajax;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class Example5Action extends ActionSupport {
@@ -37,6 +38,7 @@ public class Example5Action extends ActionSupport {
return name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
@@ -45,6 +47,7 @@ public class Example5Action extends ActionSupport {
return age;
}
+ @StrutsParameter
public void setAge(Integer age) {
this.age = age;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/GetCategory.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/GetCategory.java
index 73362667d..cbb7ec1e4 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/GetCategory.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/GetCategory.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase.ajax.tree;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
*/
@@ -28,6 +29,7 @@ public class GetCategory extends ActionSupport {
private long catId;
private Category category;
+ @Override
public String execute() throws Exception {
if (catId < 1) {
// force the root
@@ -39,6 +41,7 @@ public class GetCategory extends ActionSupport {
return SUCCESS;
}
+ @StrutsParameter
public void setCatId(long catId) {
this.catId = catId;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Toggle.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Toggle.java
index 036719157..a050054b2 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Toggle.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Toggle.java
@@ -24,6 +24,8 @@ package org.apache.struts2.showcase.ajax.tree;
/**
*/
public class Toggle extends GetCategory {
+
+ @Override
public String execute() throws Exception {
super.execute();
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/async/ChatRoomAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/async/ChatRoomAction.java
index 67b27e3b6..be05ce1a9 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/async/ChatRoomAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/async/ChatRoomAction.java
@@ -50,15 +50,12 @@ public class ChatRoomAction extends ActionSupport {
}
public Callable<String> receiveNewMessages() throws Exception {
- return new Callable<String>() {
- @Override
- public String call() throws Exception {
- while (lastIndex >= messages.size()) {
- Thread.sleep(3000);
- }
- newMessages = messages.subList(lastIndex, messages.size());
- return SUCCESS;
+ return () -> {
+ while (lastIndex >= messages.size()) {
+ Thread.sleep(3000);
}
+ newMessages = messages.subList(lastIndex, messages.size());
+ return SUCCESS;
};
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatLoginAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatLoginAction.java
index 0dcfd8943..d40232e0b 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatLoginAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatLoginAction.java
@@ -21,11 +21,11 @@
package org.apache.struts2.showcase.chat;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.action.SessionAware;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.Map;
-import org.apache.struts2.action.SessionAware;
-
public class ChatLoginAction extends ActionSupport implements SessionAware {
private static final long serialVersionUID = 1L;
@@ -43,6 +43,7 @@ public class ChatLoginAction extends ActionSupport implements SessionAware {
return this.name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/CrudRoomAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/CrudRoomAction.java
index f447b073e..ca546792a 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/CrudRoomAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/CrudRoomAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase.chat;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class CrudRoomAction extends ActionSupport {
@@ -36,6 +37,7 @@ public class CrudRoomAction extends ActionSupport {
return description;
}
+ @StrutsParameter
public void setDescription(String description) {
this.description = description;
}
@@ -44,6 +46,7 @@ public class CrudRoomAction extends ActionSupport {
return name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/EnterRoomAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/EnterRoomAction.java
index 4b3939b0d..bf5c6df9a 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/EnterRoomAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/EnterRoomAction.java
@@ -21,11 +21,11 @@
package org.apache.struts2.showcase.chat;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.action.SessionAware;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.Map;
-import org.apache.struts2.action.SessionAware;
-
public class EnterRoomAction extends ActionSupport implements SessionAware {
private static final long serialVersionUID = 1L;
@@ -38,6 +38,7 @@ public class EnterRoomAction extends ActionSupport implements SessionAware {
return this.roomName;
}
+ @StrutsParameter
public void setRoomName(String roomName) {
this.roomName = roomName;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ExitRoomAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ExitRoomAction.java
index 7dc14be1d..e87dfdc95 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ExitRoomAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ExitRoomAction.java
@@ -21,11 +21,11 @@
package org.apache.struts2.showcase.chat;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.action.SessionAware;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.Map;
-import org.apache.struts2.action.SessionAware;
-
public class ExitRoomAction extends ActionSupport implements SessionAware {
private static final long serialVersionUID = 1L;
@@ -38,6 +38,7 @@ public class ExitRoomAction extends ActionSupport implements SessionAware {
return roomName;
}
+ @StrutsParameter
public void setRoomName(String roomName) {
this.roomName = roomName;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/MessagesAvailableInRoomAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/MessagesAvailableInRoomAction.java
index a7330e733..3489bac71 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/MessagesAvailableInRoomAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/MessagesAvailableInRoomAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase.chat;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.ArrayList;
import java.util.List;
@@ -30,13 +31,14 @@ public class MessagesAvailableInRoomAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String roomName;
- private ChatService chatService;
- private List<ChatMessage> messagesAvailableInRoom = new ArrayList<ChatMessage>();
+ private final ChatService chatService;
+ private List<ChatMessage> messagesAvailableInRoom = new ArrayList<>();
public String getRoomName() {
return this.roomName;
}
+ @StrutsParameter
public void setRoomName(String roomName) {
this.roomName = roomName;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/SendMessageToRoomAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/SendMessageToRoomAction.java
index 96bfe75c2..51843179d 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/SendMessageToRoomAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/SendMessageToRoomAction.java
@@ -21,16 +21,16 @@
package org.apache.struts2.showcase.chat;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.action.SessionAware;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.Map;
-import org.apache.struts2.action.SessionAware;
-
public class SendMessageToRoomAction extends ActionSupport implements SessionAware {
private static final long serialVersionUID = 1L;
- private ChatService chatService;
+ private final ChatService chatService;
private String roomName;
private String message;
@@ -45,6 +45,7 @@ public class SendMessageToRoomAction extends ActionSupport implements SessionAwa
return this.roomName;
}
+ @StrutsParameter
public void setRoomName(String roomName) {
this.roomName = roomName;
}
@@ -53,11 +54,12 @@ public class SendMessageToRoomAction extends ActionSupport implements SessionAwa
return this.message;
}
+ @StrutsParameter
public void setMessage(String message) {
this.message = message;
}
-
+ @Override
public String execute() throws Exception {
User user = (User) session.get(ChatAuthenticationInterceptor.USER_SESSION_KEY);
try {
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/UsersAvailableInRoomAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/UsersAvailableInRoomAction.java
index bebd73830..0f97a3401 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/UsersAvailableInRoomAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/UsersAvailableInRoomAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase.chat;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.ArrayList;
import java.util.List;
@@ -29,8 +30,8 @@ public class UsersAvailableInRoomAction extends ActionSupport {
private static final long serialVersionUID = 1L;
- private ChatService chatService;
- private List<User> usersAvailableInRoom = new ArrayList<User>();
+ private final ChatService chatService;
+ private List<User> usersAvailableInRoom = new ArrayList<>();
private String roomName;
@@ -43,6 +44,7 @@ public class UsersAvailableInRoomAction extends ActionSupport {
return this.roomName;
}
+ @StrutsParameter
public void setRoomName(String roomName) {
this.roomName = roomName;
}
@@ -51,6 +53,7 @@ public class UsersAvailableInRoomAction extends ActionSupport {
return usersAvailableInRoom;
}
+ @Override
public String execute() throws Exception {
try {
usersAvailableInRoom = chatService.getUsersAvailableInRoom(roomName);
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/OperationsEnumAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/OperationsEnumAction.java
index 272c8b6cc..a3fb3b827 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/OperationsEnumAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/OperationsEnumAction.java
@@ -34,7 +34,7 @@ public class OperationsEnumAction extends ActionSupport {
private static final long serialVersionUID = -2229489704988870318L;
- private List<OperationsEnum> selectedOperations = new LinkedList<OperationsEnum>();
+ private List<OperationsEnum> selectedOperations = new LinkedList<>();
public String input() throws Exception {
return SUCCESS;
@@ -53,7 +53,6 @@ public class OperationsEnumAction extends ActionSupport {
this.selectedOperations = selectedOperations;
}
-
public List<OperationsEnum> getAvailableOperations() {
return Arrays.asList(OperationsEnum.values());
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/StandardTagsAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/StandardTagsAction.java
index c23ee156a..c79480ff0 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/StandardTagsAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/StandardTagsAction.java
@@ -22,6 +22,7 @@ package org.apache.struts2.showcase.freemarker;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Preparable;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.text.DateFormatSymbols;
@@ -34,6 +35,7 @@ public class StandardTagsAction extends ActionSupport implements Preparable {
private String[] gender;
private String[] months;
+ @Override
public void prepare() {
months = new DateFormatSymbols().getMonths();
name = StandardTagsAction.class.getName().substring(StandardTagsAction.class.getName().lastIndexOf(".") + 1);
@@ -44,6 +46,7 @@ public class StandardTagsAction extends ActionSupport implements Preparable {
return name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
@@ -52,15 +55,16 @@ public class StandardTagsAction extends ActionSupport implements Preparable {
return months;
}
+ @StrutsParameter
public void setMonths(String[] months) {
this.months = months;
}
-
public String[] getGender() {
return gender;
}
+ @StrutsParameter
public void setGender(String[] gender) {
this.gender = gender;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GuessCharacterAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GuessCharacterAction.java
index 67ea15099..3df913d58 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GuessCharacterAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GuessCharacterAction.java
@@ -21,11 +21,11 @@
package org.apache.struts2.showcase.hangman;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.action.SessionAware;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.Map;
-import org.apache.struts2.action.SessionAware;
-
public class GuessCharacterAction extends ActionSupport implements SessionAware {
private static final long serialVersionUID = 9050915577007590674L;
@@ -34,6 +34,7 @@ public class GuessCharacterAction extends ActionSupport implements SessionAware
private Character character;
private Hangman hangman;
+ @Override
public String execute() throws Exception {
hangman = (Hangman) session.get(HangmanConstants.HANGMAN_SESSION_KEY);
hangman.guess(character);
@@ -45,6 +46,7 @@ public class GuessCharacterAction extends ActionSupport implements SessionAware
return hangman;
}
+ @StrutsParameter
public void setCharacter(Character character) {
this.character = character;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/modelDriven/ModelDrivenAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/modelDriven/ModelDrivenAction.java
index c32cd2003..a491ba7ca 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/modelDriven/ModelDrivenAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/modelDriven/ModelDrivenAction.java
@@ -30,14 +30,17 @@ public class ModelDrivenAction extends ActionSupport implements ModelDriven {
private static final long serialVersionUID = 1271130427666936592L;
+ @Override
public String input() throws Exception {
return SUCCESS;
}
+ @Override
public String execute() throws Exception {
return SUCCESS;
}
+ @Override
public Object getModel() {
return new Gangster();
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/EditPersonAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/EditPersonAction.java
index 4d102f780..8fbdee0b2 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/EditPersonAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/EditPersonAction.java
@@ -23,10 +23,10 @@ package org.apache.struts2.showcase.person;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
/**
@@ -42,13 +42,14 @@ public class EditPersonAction extends ActionSupport {
@Autowired
private PersonManager personManager;
- private List<Person> persons = new ArrayList<Person>();
+ private List<Person> persons = new ArrayList<>();
/**
* A default implementation that does nothing an returns "success".
*
* @return {@link #INPUT}
*/
+ @Override
public String execute() throws Exception {
persons.addAll(personManager.getPeople());
return INPUT;
@@ -68,6 +69,7 @@ public class EditPersonAction extends ActionSupport {
return "list";
}
+ @StrutsParameter(depth = 2)
public List<Person> getPersons() {
return persons;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/ListPeopleAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/ListPeopleAction.java
index e64c199d6..2d2158787 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/ListPeopleAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/ListPeopleAction.java
@@ -35,8 +35,9 @@ public class ListPeopleAction extends ActionSupport {
@Autowired
private PersonManager personManager;
- private List<Person> people = new ArrayList<Person>();
+ private final List<Person> people = new ArrayList<>();
+ @Override
public String execute() {
people.addAll(personManager.getPeople());
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/NewPersonAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/NewPersonAction.java
index eb07bd721..d5888af85 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/person/NewPersonAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/person/NewPersonAction.java
@@ -23,6 +23,7 @@ package org.apache.struts2.showcase.person;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.springframework.beans.factory.annotation.Autowired;
@@ -38,12 +39,14 @@ public class NewPersonAction extends ActionSupport {
private PersonManager personManager;
private Person person;
+ @Override
public String execute() {
personManager.createPerson(person);
return "list";
}
+ @StrutsParameter(depth = 1)
public Person getPerson() {
return person;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/source/ViewSourceAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/source/ViewSourceAction.java
index ce5b5b949..bbd4bb54a 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/source/ViewSourceAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/source/ViewSourceAction.java
@@ -23,6 +23,7 @@ package org.apache.struts2.showcase.source;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.ClassLoaderUtil;
import org.apache.struts2.action.ServletContextAware;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import javax.servlet.ServletContext;
import java.io.BufferedReader;
@@ -98,8 +99,9 @@ public class ViewSourceAction extends ActionSupport implements ServletContextAwa
/**
* @param className the className to set
*/
+ @StrutsParameter
public void setClassName(String className) {
- if (className != null && className.trim().length() > 0) {
+ if (className != null && !className.trim().isEmpty()) {
this.className = className;
}
}
@@ -107,8 +109,9 @@ public class ViewSourceAction extends ActionSupport implements ServletContextAwa
/**
* @param config the config to set
*/
+ @StrutsParameter
public void setConfig(String config) {
- if (config != null && config.trim().length() > 0) {
+ if (config != null && !config.trim().isEmpty()) {
this.config = config;
}
}
@@ -116,8 +119,9 @@ public class ViewSourceAction extends ActionSupport implements ServletContextAwa
/**
* @param page the page to set
*/
+ @StrutsParameter
public void setPage(String page) {
- if (page != null && page.trim().length() > 0) {
+ if (page != null && !page.trim().isEmpty()) {
this.page = page;
}
}
@@ -125,6 +129,7 @@ public class ViewSourceAction extends ActionSupport implements ServletContextAwa
/**
* @param padding the padding to set
*/
+ @StrutsParameter
public void setPadding(int padding) {
this.padding = padding;
}
@@ -222,6 +227,7 @@ public class ViewSourceAction extends ActionSupport implements ServletContextAwa
return snippet;
}
+ @Override
public void withServletContext(ServletContext arg0) {
this.servletContext = arg0;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/actionPrefix/SubmitAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/actionPrefix/SubmitAction.java
index 7ae6257eb..6e5afa806 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/actionPrefix/SubmitAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/actionPrefix/SubmitAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase.tag.nonui.actionPrefix;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class SubmitAction extends ActionSupport {
@@ -32,10 +33,12 @@ public class SubmitAction extends ActionSupport {
return text;
}
+ @StrutsParameter
public void setText(String text) {
this.text = text;
}
+ @Override
public String execute() throws Exception {
return SUCCESS;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/debugtag/DebugTagAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/debugtag/DebugTagAction.java
index e3c268150..4d732fecd 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/debugtag/DebugTagAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/debugtag/DebugTagAction.java
@@ -23,8 +23,9 @@ import org.apache.struts2.dispatcher.PrepareOperations;
public class DebugTagAction extends ActionSupport {
+ @Override
public String execute() throws Exception {
PrepareOperations.overrideDevMode(true); // Just for Showcase, explicitly switch on for this action only
return SUCCESS;
}
-}
\ No newline at end of file
+}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/AppendIteratorTagDemo.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/AppendIteratorTagDemo.java
index f3936a49b..deca54ab0 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/AppendIteratorTagDemo.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/AppendIteratorTagDemo.java
@@ -22,6 +22,7 @@ package org.apache.struts2.showcase.tag.nonui.iteratortag;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Validateable;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
*
@@ -47,25 +48,25 @@ public class AppendIteratorTagDemo extends ActionSupport implements Validateable
}
}
-
public String getIteratorValue1() {
return iteratorValue1;
}
+ @StrutsParameter
public void setIteratorValue1(String iteratorValue1) {
this.iteratorValue1 = iteratorValue1;
}
-
public String getIteratorValue2() {
return iteratorValue2;
}
+ @StrutsParameter
public void setIteratorValue2(String iteratorValue2) {
this.iteratorValue2 = iteratorValue2;
}
-
+ @Override
public String input() throws Exception {
return SUCCESS;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/IteratorGeneratorTagDemo.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/IteratorGeneratorTagDemo.java
index 0e48519bd..ca66f63de 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/IteratorGeneratorTagDemo.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/IteratorGeneratorTagDemo.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase.tag.nonui.iteratortag;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
*/
@@ -37,34 +38,34 @@ public class IteratorGeneratorTagDemo extends ActionSupport {
return value;
}
+ @StrutsParameter
public void setValue(String value) {
this.value = value;
}
-
public Integer getCount() {
return count;
}
+ @StrutsParameter
public void setCount(Integer count) {
this.count = count;
}
-
public String getSeparator() {
return this.separator;
}
+ @StrutsParameter
public void setSeparator(String separator) {
this.separator = separator;
}
-
public String submit() throws Exception {
return SUCCESS;
}
-
+ @Override
public String input() throws Exception {
return SUCCESS;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/MergeIteratorTagDemo.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/MergeIteratorTagDemo.java
index cc8fa28de..6bb4c9b1c 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/MergeIteratorTagDemo.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/MergeIteratorTagDemo.java
@@ -22,6 +22,7 @@ package org.apache.struts2.showcase.tag.nonui.iteratortag;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Validateable;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
@@ -33,7 +34,7 @@ public class MergeIteratorTagDemo extends ActionSupport implements Validateable
private String iteratorValue1;
private String iteratorValue2;
-
+ @Override
public void validate() {
if (iteratorValue1 == null || iteratorValue1.trim().length() <= 0) {
addFieldError("iteratorValue1", "iterator value 1 cannot be empty");
@@ -47,25 +48,25 @@ public class MergeIteratorTagDemo extends ActionSupport implements Validateable
}
}
-
public String getIteratorValue1() {
return this.iteratorValue1;
}
+ @StrutsParameter
public void setIteratorValue1(String iteratorValue1) {
this.iteratorValue1 = iteratorValue1;
}
-
public String getIteratorValue2() {
return this.iteratorValue2;
}
+ @StrutsParameter
public void setIteratorValue2(String iteratorValue2) {
this.iteratorValue2 = iteratorValue2;
}
-
+ @Override
public String input() throws Exception {
return SUCCESS;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/SubsetIteratorTagDemo.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/SubsetIteratorTagDemo.java
index 11b221137..ccbd31013 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/SubsetIteratorTagDemo.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/SubsetIteratorTagDemo.java
@@ -22,6 +22,7 @@ package org.apache.struts2.showcase.tag.nonui.iteratortag;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Validateable;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
*
@@ -34,7 +35,7 @@ public class SubsetIteratorTagDemo extends ActionSupport implements Validateable
private Integer count;
private Integer start;
-
+ @Override
public void validate() {
if (iteratorValue == null || iteratorValue.trim().length() <= 0) {
addFieldError("iteratorValue1", "iterator value 1 cannot be empty");
@@ -43,34 +44,34 @@ public class SubsetIteratorTagDemo extends ActionSupport implements Validateable
}
}
-
public String getIteratorValue() {
return this.iteratorValue;
}
+ @StrutsParameter
public void setIteratorValue(String iteratorValue) {
this.iteratorValue = iteratorValue;
}
-
public Integer getCount() {
return this.count;
}
+ @StrutsParameter
public void setCount(Integer count) {
this.count = count;
}
-
public Integer getStart() {
return this.start;
}
+ @StrutsParameter
public void setStart(Integer start) {
this.start = start;
}
-
+ @Override
public String input() throws Exception {
return SUCCESS;
}
@@ -78,6 +79,4 @@ public class SubsetIteratorTagDemo extends ActionSupport implements Validateable
public String submit() throws Exception {
return SUCCESS;
}
-
-
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/token/TokenAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/token/TokenAction.java
index 680fde649..297c19c75 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/token/TokenAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/token/TokenAction.java
@@ -22,6 +22,7 @@ package org.apache.struts2.showcase.token;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.Date;
@@ -76,6 +77,7 @@ public class TokenAction extends ActionSupport {
return amount;
}
+ @StrutsParameter
public void setAmount(int amount) {
this.amount = amount;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/AbstractValidationActionSupport.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/AbstractValidationActionSupport.java
index 9e04cd094..53228a952 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/AbstractValidationActionSupport.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/AbstractValidationActionSupport.java
@@ -30,6 +30,7 @@ public abstract class AbstractValidationActionSupport extends ActionSupport {
return "success";
}
+ @Override
public String input() throws Exception {
return "input";
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/AjaxFormSubmitAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/AjaxFormSubmitAction.java
index 7ef478ab4..4c831c754 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/AjaxFormSubmitAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/AjaxFormSubmitAction.java
@@ -18,8 +18,6 @@
*/
package org.apache.struts2.showcase.validation;
-import java.sql.Date;
-
import com.opensymphony.xwork2.validator.annotations.DateRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.EmailValidator;
import com.opensymphony.xwork2.validator.annotations.FieldExpressionValidator;
@@ -29,6 +27,9 @@ import com.opensymphony.xwork2.validator.annotations.RequiredFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;
import com.opensymphony.xwork2.validator.annotations.StringLengthFieldValidator;
import com.opensymphony.xwork2.validator.annotations.UrlValidator;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
+
+import java.sql.Date;
/**
* <!-- START SNIPPET: ajaxFormSubmit -->
@@ -72,9 +73,10 @@ public class AjaxFormSubmitAction extends AbstractValidationActionSupport {
}
@DateRangeFieldValidator(
- min="01/01/1990",
- max="01/01/2000",
+ min="01/01/1990",
+ max="01/01/2000",
message="must be a min 01-01-1990 max 01-01-2000 if supplied")
+ @StrutsParameter
public void setDateValidatorField(Date dateValidatorField) {
this.dateValidatorField = dateValidatorField;
}
@@ -84,6 +86,7 @@ public class AjaxFormSubmitAction extends AbstractValidationActionSupport {
}
@EmailValidator(message="must be a valid email if supplied")
+ @StrutsParameter
public void setEmailValidatorField(String emailValidatorField) {
this.emailValidatorField = emailValidatorField;
}
@@ -93,6 +96,7 @@ public class AjaxFormSubmitAction extends AbstractValidationActionSupport {
}
@IntRangeFieldValidator(min="1", max="10", message="must be integer min 1 max 10 if supplied")
+ @StrutsParameter
public void setIntegerValidatorField(Integer integerValidatorField) {
this.integerValidatorField = integerValidatorField;
}
@@ -102,8 +106,9 @@ public class AjaxFormSubmitAction extends AbstractValidationActionSupport {
}
@RegexFieldValidator(
- regex="[^<>]+",
+ regex="[^<>]+",
message="regexValidatorField must match a regexp (.*\\.txt) if specified")
+ @StrutsParameter
public void setRegexValidatorField(String regexValidatorField) {
this.regexValidatorField = regexValidatorField;
}
@@ -113,6 +118,7 @@ public class AjaxFormSubmitAction extends AbstractValidationActionSupport {
}
@RequiredStringValidator(trim=true, message="required and must be string")
+ @StrutsParameter
public void setRequiredStringValidatorField(String requiredStringValidatorField) {
this.requiredStringValidatorField = requiredStringValidatorField;
}
@@ -122,6 +128,7 @@ public class AjaxFormSubmitAction extends AbstractValidationActionSupport {
}
@RequiredFieldValidator(message="required")
+ @StrutsParameter
public void setRequiredValidatorField(String requiredValidatorField) {
this.requiredValidatorField = requiredValidatorField;
}
@@ -131,10 +138,11 @@ public class AjaxFormSubmitAction extends AbstractValidationActionSupport {
}
@StringLengthFieldValidator(
- minLength="2",
- maxLength="4",
- trim=true,
+ minLength="2",
+ maxLength="4",
+ trim=true,
message="must be a String of a specific greater than 1 less than 5 if specified")
+ @StrutsParameter
public void setStringLengthValidatorField(String stringLengthValidatorField) {
this.stringLengthValidatorField = stringLengthValidatorField;
}
@@ -144,10 +152,10 @@ public class AjaxFormSubmitAction extends AbstractValidationActionSupport {
}
@FieldExpressionValidator(
- expression = "(fieldExpressionValidatorField == requiredValidatorField)",
+ expression = "(fieldExpressionValidatorField == requiredValidatorField)",
message = "must be the same as the Required Validator Field if specified")
- public void setFieldExpressionValidatorField(
- String fieldExpressionValidatorField) {
+ @StrutsParameter
+ public void setFieldExpressionValidatorField(String fieldExpressionValidatorField) {
this.fieldExpressionValidatorField = fieldExpressionValidatorField;
}
@@ -156,6 +164,7 @@ public class AjaxFormSubmitAction extends AbstractValidationActionSupport {
}
@UrlValidator(message="must be a valid url if supplied")
+ @StrutsParameter
public void setUrlValidatorField(String urlValidatorField) {
this.urlValidatorField = urlValidatorField;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/BeanValidationExampleAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/BeanValidationExampleAction.java
index 4c07f51e9..e4aed74cc 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/BeanValidationExampleAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/BeanValidationExampleAction.java
@@ -26,6 +26,7 @@ import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.interceptor.validation.SkipValidation;
import org.hibernate.validator.constraints.ScriptAssert;
import org.hibernate.validator.constraints.URL;
@@ -95,6 +96,7 @@ public class BeanValidationExampleAction extends ActionSupport {
return dateValidatorField;
}
+ @StrutsParameter
public void setDateValidatorField(Date dateValidatorField) {
this.dateValidatorField = dateValidatorField;
}
@@ -103,6 +105,7 @@ public class BeanValidationExampleAction extends ActionSupport {
return emailValidatorField;
}
+ @StrutsParameter
public void setEmailValidatorField(String emailValidatorField) {
this.emailValidatorField = emailValidatorField;
}
@@ -111,6 +114,7 @@ public class BeanValidationExampleAction extends ActionSupport {
return integerValidatorField;
}
+ @StrutsParameter
public void setIntegerValidatorField(Integer integerValidatorField) {
this.integerValidatorField = integerValidatorField;
}
@@ -119,6 +123,7 @@ public class BeanValidationExampleAction extends ActionSupport {
return regexValidatorField;
}
+ @StrutsParameter
public void setRegexValidatorField(String regexValidatorField) {
this.regexValidatorField = regexValidatorField;
}
@@ -127,6 +132,7 @@ public class BeanValidationExampleAction extends ActionSupport {
return requiredStringValidatorField;
}
+ @StrutsParameter
public void setRequiredStringValidatorField(String requiredStringValidatorField) {
this.requiredStringValidatorField = requiredStringValidatorField;
}
@@ -135,6 +141,7 @@ public class BeanValidationExampleAction extends ActionSupport {
return requiredValidatorField;
}
+ @StrutsParameter
public void setRequiredValidatorField(String requiredValidatorField) {
this.requiredValidatorField = requiredValidatorField;
}
@@ -143,6 +150,7 @@ public class BeanValidationExampleAction extends ActionSupport {
return stringLengthValidatorField;
}
+ @StrutsParameter
public void setStringLengthValidatorField(String stringLengthValidatorField) {
this.stringLengthValidatorField = stringLengthValidatorField;
}
@@ -151,8 +159,8 @@ public class BeanValidationExampleAction extends ActionSupport {
return fieldExpressionValidatorField;
}
- public void setFieldExpressionValidatorField(
- String fieldExpressionValidatorField) {
+ @StrutsParameter
+ public void setFieldExpressionValidatorField(String fieldExpressionValidatorField) {
this.fieldExpressionValidatorField = fieldExpressionValidatorField;
}
@@ -160,6 +168,7 @@ public class BeanValidationExampleAction extends ActionSupport {
return urlValidatorField;
}
+ @StrutsParameter
public void setUrlValidatorField(String urlValidatorField) {
this.urlValidatorField = urlValidatorField;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/NonFieldValidatorsExampleAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/NonFieldValidatorsExampleAction.java
index 2b16d9b76..d263e5db7 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/NonFieldValidatorsExampleAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/NonFieldValidatorsExampleAction.java
@@ -20,6 +20,8 @@
*/
package org.apache.struts2.showcase.validation;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
+
/**
*/
@@ -37,6 +39,7 @@ public class NonFieldValidatorsExampleAction extends AbstractValidationActionSup
return someText;
}
+ @StrutsParameter
public void setSomeText(String someText) {
this.someText = someText;
}
@@ -45,6 +48,7 @@ public class NonFieldValidatorsExampleAction extends AbstractValidationActionSup
return someTextRetype;
}
+ @StrutsParameter
public void setSomeTextRetype(String someTextRetype) {
this.someTextRetype = someTextRetype;
}
@@ -53,6 +57,7 @@ public class NonFieldValidatorsExampleAction extends AbstractValidationActionSup
return someTextRetypeAgain;
}
+ @StrutsParameter
public void setSomeTextRetypeAgain(String someTextRetypeAgain) {
this.someTextRetypeAgain = someTextRetypeAgain;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/QuizAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/QuizAction.java
index 57a583193..35fc1c3ca 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/QuizAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/QuizAction.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase.validation;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
*/
@@ -39,6 +40,7 @@ public class QuizAction extends ActionSupport {
return name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
@@ -47,6 +49,7 @@ public class QuizAction extends ActionSupport {
return age;
}
+ @StrutsParameter
public void setAge(int age) {
this.age = age;
}
@@ -55,6 +58,7 @@ public class QuizAction extends ActionSupport {
return answer;
}
+ @StrutsParameter
public void setAnswer(String answer) {
this.answer = answer;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/SubmitApplication.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/SubmitApplication.java
index 5a990d01a..ca01f8993 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/SubmitApplication.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/SubmitApplication.java
@@ -21,6 +21,7 @@
package org.apache.struts2.showcase.validation;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
* @version $Date$ $Id$
@@ -30,6 +31,7 @@ public class SubmitApplication extends ActionSupport {
private String name;
private Integer age;
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
@@ -38,6 +40,7 @@ public class SubmitApplication extends ActionSupport {
return this.name;
}
+ @StrutsParameter
public void setAge(Integer age) {
this.age = age;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction.java
index 7c13f35b6..6cba47612 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction.java
@@ -23,12 +23,15 @@ package org.apache.struts2.showcase.validation;
// START SNIPPET: visitorValidatorsExample
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
+
public class VisitorValidatorsExampleAction extends AbstractValidationActionSupport {
private static final long serialVersionUID = 4375454086939598216L;
private User user;
+ @StrutsParameter(depth = 1)
public User getUser() {
return user;
}
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java
index 6472adf62..aae7d3777 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java
@@ -21,11 +21,9 @@
package org.apache.struts2.showcase.xslt;
import com.opensymphony.xwork2.ActionSupport;
-
-import javax.servlet.http.HttpServletRequest;
-
import org.apache.struts2.action.ServletRequestAware;
+import javax.servlet.http.HttpServletRequest;
import java.util.Map;
import java.util.Properties;
@@ -72,7 +70,7 @@ public class JVMAction implements ServletRequestAware {
this.info = info;
}
- public class ImportantInfo {
+ public static class ImportantInfo {
private String classpath;
private Properties systemProperties;
diff --git a/bundles/admin/src/main/java/org/apache/struts2/osgi/admin/actions/BundlesAction.java b/bundles/admin/src/main/java/org/apache/struts2/osgi/admin/actions/BundlesAction.java
index 26b703002..673b218f6 100644
--- a/bundles/admin/src/main/java/org/apache/struts2/osgi/admin/actions/BundlesAction.java
+++ b/bundles/admin/src/main/java/org/apache/struts2/osgi/admin/actions/BundlesAction.java
@@ -25,10 +25,11 @@ import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.inject.Inject;
+import org.apache.struts2.action.ServletContextAware;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.osgi.BundleAccessor;
-import org.apache.struts2.osgi.host.OsgiHost;
import org.apache.struts2.osgi.StrutsOsgiListener;
-import org.apache.struts2.action.ServletContextAware;
+import org.apache.struts2.osgi.host.OsgiHost;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleException;
@@ -36,9 +37,8 @@ import javax.servlet.ServletContext;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.List;
import java.util.Collections;
-import java.util.Comparator;
+import java.util.List;
public class BundlesAction extends ActionSupport implements ServletContextAware {
@@ -114,6 +114,7 @@ public class BundlesAction extends ActionSupport implements ServletContextAware
return id;
}
+ @StrutsParameter
public void setId(String id) {
this.id = id;
}
diff --git a/bundles/admin/src/main/java/org/apache/struts2/osgi/admin/actions/ShellAction.java b/bundles/admin/src/main/java/org/apache/struts2/osgi/admin/actions/ShellAction.java
index 1870a5b38..aa87e4d7f 100644
--- a/bundles/admin/src/main/java/org/apache/struts2/osgi/admin/actions/ShellAction.java
+++ b/bundles/admin/src/main/java/org/apache/struts2/osgi/admin/actions/ShellAction.java
@@ -21,25 +21,25 @@
package org.apache.struts2.osgi.admin.actions;
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionSupport;
import org.apache.felix.shell.ShellService;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.osgi.DefaultBundleAccessor;
import org.apache.struts2.osgi.interceptor.BundleContextAware;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionSupport;
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
/**
* This action executes commands on the Felix Shell.
- *
+ *
* The action is BundleContextAware so that if the OSGi interceptor is used the BundleContext
* can be provided for configurations where the DefaultBundleAccessor is insufficient.
- *
+ *
*/
public class ShellAction extends ActionSupport implements BundleContextAware {
private String command;
@@ -77,6 +77,7 @@ public class ShellAction extends ActionSupport implements BundleContextAware {
return command;
}
+ @StrutsParameter
public void setCommand(String command) {
this.command = command;
}
diff --git a/bundles/demo/src/main/java/actions/osgi/BundlesAction.java b/bundles/demo/src/main/java/actions/osgi/BundlesAction.java
index 9c5464fcb..a7d5da9cd 100644
--- a/bundles/demo/src/main/java/actions/osgi/BundlesAction.java
+++ b/bundles/demo/src/main/java/actions/osgi/BundlesAction.java
@@ -33,6 +33,7 @@ import org.osgi.framework.BundleContext;
public class BundlesAction extends ActionSupport implements BundleContextAware {
private BundleContext bundleContext;
+ @Override
public void withBundleContext(BundleContext bundleContext) {
this.bundleContext = bundleContext;
}
diff --git a/bundles/demo/src/main/java/actions/osgi/HelloWorldAction.java b/bundles/demo/src/main/java/actions/osgi/HelloWorldAction.java
index dad0c25a7..6bb927b4e 100644
--- a/bundles/demo/src/main/java/actions/osgi/HelloWorldAction.java
+++ b/bundles/demo/src/main/java/actions/osgi/HelloWorldAction.java
@@ -26,6 +26,7 @@ import org.apache.struts2.convention.annotation.Actions;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.ResultPath;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
@Namespace("/osgi")
@ResultPath("/content/osgi")
@@ -41,6 +42,7 @@ public class HelloWorldAction extends ActionSupport {
return SUCCESS;
}
+ @StrutsParameter(depth = 1)
public Message getMessage() {
return message;
}
@@ -60,4 +62,4 @@ public class HelloWorldAction extends ActionSupport {
sb.append("}");
return sb.toString();
}
-}
\ No newline at end of file
+}
diff --git a/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java b/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java
index 378351a79..385911c61 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java
@@ -21,7 +21,12 @@ package com.opensymphony.xwork2;
import com.opensymphony.xwork2.interceptor.ValidationAware;
import java.io.Serializable;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
/**
* Provides a default implementation of ValidationAware. Returns new collections for
@@ -72,13 +77,7 @@ public class ValidationAwareSupport implements ValidationAware, Serializable {
public synchronized void addFieldError(String fieldName, String errorMessage) {
final Map<String, List<String>> errors = internalGetFieldErrors();
- List<String> thisFieldErrors = errors.get(fieldName);
-
- if (thisFieldErrors == null) {
- thisFieldErrors = new ArrayList<>();
- errors.put(fieldName, thisFieldErrors);
- }
-
+ List<String> thisFieldErrors = errors.computeIfAbsent(fieldName, k -> new ArrayList<>());
thisFieldErrors.add(errorMessage);
}
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/DefaultActionSupport.java b/core/src/main/java/org/apache/struts2/dispatcher/DefaultActionSupport.java
index 7fa83fc87..0df1e3e90 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/DefaultActionSupport.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/DefaultActionSupport.java
@@ -18,11 +18,11 @@
*/
package org.apache.struts2.dispatcher;
-import javax.servlet.http.HttpServletRequest;
-
+import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
-import com.opensymphony.xwork2.ActionSupport;
+import javax.servlet.http.HttpServletRequest;
/**
* A simple action support class that sets properties to be able to serve
@@ -44,6 +44,7 @@ public class DefaultActionSupport extends ActionSupport {
/* (non-Javadoc)
* @see com.opensymphony.xwork2.ActionSupport#execute()
*/
+ @Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
String requestedUrl = request.getPathInfo();
@@ -61,9 +62,8 @@ public class DefaultActionSupport extends ActionSupport {
/**
* @param successResultValue The successResultValue to set.
*/
+ @StrutsParameter
public void setSuccessResultValue(String successResultValue) {
this.successResultValue = successResultValue;
}
-
-
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java b/core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java
index 65c38d38e..b917aaed4 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java
@@ -20,8 +20,12 @@ package com.opensymphony.xwork2;
import com.opensymphony.xwork2.conversion.impl.ConversionData;
import com.opensymphony.xwork2.util.ValueStack;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.ResourceBundle;
/**
* Unit test for {@link ActionSupport}.
@@ -334,6 +338,7 @@ public class ActionSupportTest extends XWorkTestCase {
return val;
}
+ @StrutsParameter
public void setVal(Double val) {
this.val = val;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/ModelDrivenAction.java b/core/src/test/java/com/opensymphony/xwork2/ModelDrivenAction.java
index fabc3ed95..6ffcad2ff 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ModelDrivenAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ModelDrivenAction.java
@@ -19,6 +19,8 @@
package com.opensymphony.xwork2;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
+
/**
* ModelDrivenAction
*
@@ -28,9 +30,9 @@ package com.opensymphony.xwork2;
public class ModelDrivenAction extends ActionSupport implements ModelDriven {
private String foo;
- private TestBean model = new TestBean();
-
+ private final TestBean model = new TestBean();
+ @StrutsParameter
public void setFoo(String foo) {
this.foo = foo;
}
@@ -42,6 +44,8 @@ public class ModelDrivenAction extends ActionSupport implements ModelDriven {
/**
* @return the model to be pushed onto the ValueStack after the Action itself
*/
+ @StrutsParameter(depth = 2)
+ @Override
public Object getModel() {
return model;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/ModelDrivenAnnotationAction.java b/core/src/test/java/com/opensymphony/xwork2/ModelDrivenAnnotationAction.java
index a103d7d5c..5549b60b1 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ModelDrivenAnnotationAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ModelDrivenAnnotationAction.java
@@ -18,6 +18,8 @@
*/
package com.opensymphony.xwork2;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
+
/**
* ModelDrivenAnnotationAction
*
@@ -28,9 +30,9 @@ package com.opensymphony.xwork2;
public class ModelDrivenAnnotationAction extends ActionSupport implements ModelDriven {
private String foo;
- private AnnotatedTestBean model = new AnnotatedTestBean();
-
+ private final AnnotatedTestBean model = new AnnotatedTestBean();
+ @StrutsParameter
public void setFoo(String foo) {
this.foo = foo;
}
@@ -42,6 +44,8 @@ public class ModelDrivenAnnotationAction extends ActionSupport implements ModelD
/**
* @return the model to be pushed onto the ValueStack after the Action itself
*/
+ @StrutsParameter(depth = 2)
+ @Override
public Object getModel() {
return model;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationAction.java b/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationAction.java
index ac4e2c36e..47afb2baa 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationAction.java
@@ -22,6 +22,8 @@ package com.opensymphony.xwork2;
* Need by the ProxyInvocationTest
*/
public class ProxyInvocationAction extends ActionSupport implements ProxyInvocationInterface {
+
+ @Override
public String show() {
return "proxyResult";
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/SimpleAction.java b/core/src/test/java/com/opensymphony/xwork2/SimpleAction.java
index 16b3357b1..51d9fa7f7 100644
--- a/core/src/test/java/com/opensymphony/xwork2/SimpleAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/SimpleAction.java
@@ -21,7 +21,12 @@ package com.opensymphony.xwork2;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.inject.Inject;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
/**
@@ -56,7 +61,7 @@ public class SimpleAction extends ActionSupport {
private Map<String, String> existingMap = new HashMap<>();
private List<TestBean> beanList;
-
+
public static boolean resultCalled;
@@ -64,11 +69,11 @@ public class SimpleAction extends ActionSupport {
resultCalled = false;
existingMap.put("existingKey", "value");
}
-
+
public Map<String,String> getTheProtectedMap() {
return protectedMap;
}
-
+
protected Map<String,String> getTheSemiProtectedMap() {
return protectedMap;
}
@@ -81,7 +86,6 @@ public class SimpleAction extends ActionSupport {
return existingMap;
}
-
public void setBar(int bar) {
this.bar = bar;
}
@@ -187,15 +191,15 @@ public class SimpleAction extends ActionSupport {
public ArrayList<String> getSomeList() {
return someList;
}
-
+
public String getIndexedProp(int index) {
return indexedProps.get(index);
}
-
+
public void setIndexedProp(int index, String val) {
indexedProps.put(index, val);
}
-
+
public void setThrowException(boolean throwException) {
this.throwException = throwException;
@@ -204,7 +208,7 @@ public class SimpleAction extends ActionSupport {
public String commandMethod() throws Exception {
return COMMAND_RETURN_CODE;
}
-
+
public Result resultAction() throws Exception {
return new Result() {
public Configuration configuration;
@@ -217,7 +221,7 @@ public class SimpleAction extends ActionSupport {
if (configuration != null)
resultCalled = true;
}
-
+
};
}
@@ -251,7 +255,7 @@ public class SimpleAction extends ActionSupport {
return SUCCESS;
}
-
+
public long getLongFoo() {
return longFoo;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/SimpleAnnotationAction.java b/core/src/test/java/com/opensymphony/xwork2/SimpleAnnotationAction.java
index 5e21a0984..312e7bc9c 100644
--- a/core/src/test/java/com/opensymphony/xwork2/SimpleAnnotationAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/SimpleAnnotationAction.java
@@ -18,7 +18,18 @@
*/
package com.opensymphony.xwork2;
-import com.opensymphony.xwork2.validator.annotations.*;
+import com.opensymphony.xwork2.validator.annotations.DateRangeFieldValidator;
+import com.opensymphony.xwork2.validator.annotations.DoubleRangeFieldValidator;
+import com.opensymphony.xwork2.validator.annotations.EmailValidator;
+import com.opensymphony.xwork2.validator.annotations.ExpressionValidator;
+import com.opensymphony.xwork2.validator.annotations.IntRangeFieldValidator;
+import com.opensymphony.xwork2.validator.annotations.RequiredFieldValidator;
+import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;
+import com.opensymphony.xwork2.validator.annotations.StringLengthFieldValidator;
+import com.opensymphony.xwork2.validator.annotations.UrlValidator;
+import com.opensymphony.xwork2.validator.annotations.Validations;
+import com.opensymphony.xwork2.validator.annotations.ValidatorType;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.ArrayList;
import java.util.Date;
@@ -49,8 +60,6 @@ public class SimpleAnnotationAction extends ActionSupport {
private String aliasSource;
private String aliasDest;
-
-
//~ Constructors ///////////////////////////////////////////////////////////
@@ -61,6 +70,7 @@ public class SimpleAnnotationAction extends ActionSupport {
@RequiredFieldValidator(type = ValidatorType.FIELD, message = "You must enter a value for bar.")
@IntRangeFieldValidator(type = ValidatorType.FIELD, min = "6", max = "10", message = "bar must be between ${min} and ${max}, current value is ${bar}.")
+ @StrutsParameter
public void setBar(int bar) {
this.bar = bar;
}
@@ -70,6 +80,7 @@ public class SimpleAnnotationAction extends ActionSupport {
}
@IntRangeFieldValidator(min = "0", key = "baz.range", message = "Could not find baz.range!")
+ @StrutsParameter
public void setBaz(int baz) {
this.baz = baz;
}
@@ -83,6 +94,7 @@ public class SimpleAnnotationAction extends ActionSupport {
}
@DoubleRangeFieldValidator(minInclusive = "0.123", key = "baz.range", message = "Could not find percentage.range!")
+ @StrutsParameter
public void setPercentage(double percentage) {
this.percentage = percentage;
}
@@ -91,10 +103,12 @@ public class SimpleAnnotationAction extends ActionSupport {
this.bean = bean;
}
+ @StrutsParameter(depth = 2)
public AnnotatedTestBean getBean() {
return bean;
}
+ @StrutsParameter
public void setBlah(String blah) {
this.blah = blah;
}
@@ -112,6 +126,7 @@ public class SimpleAnnotationAction extends ActionSupport {
}
@DateRangeFieldValidator(min = "12/22/2002", max = "12/25/2002", message = "The date must be between 12-22-2002 and 12-25-2002.")
+ @StrutsParameter
public void setDate(Date date) {
this.date = date;
}
@@ -120,6 +135,7 @@ public class SimpleAnnotationAction extends ActionSupport {
return date;
}
+ @StrutsParameter
public void setFoo(int foo) {
this.foo = foo;
}
@@ -128,6 +144,7 @@ public class SimpleAnnotationAction extends ActionSupport {
return foo;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
@@ -140,15 +157,16 @@ public class SimpleAnnotationAction extends ActionSupport {
this.settings = settings;
}
+ @StrutsParameter(depth = 1)
public Properties getSettings() {
return settings;
}
-
public String getAliasDest() {
return aliasDest;
}
+ @StrutsParameter
public void setAliasDest(String aliasDest) {
this.aliasDest = aliasDest;
}
@@ -157,11 +175,12 @@ public class SimpleAnnotationAction extends ActionSupport {
return aliasSource;
}
+ @StrutsParameter
public void setAliasSource(String aliasSource) {
this.aliasSource = aliasSource;
}
-
+ @StrutsParameter
public void setSomeList(ArrayList<String> someList) {
this.someList = someList;
}
@@ -170,6 +189,7 @@ public class SimpleAnnotationAction extends ActionSupport {
return someList;
}
+ @StrutsParameter
public void setThrowException(boolean throwException) {
this.throwException = throwException;
}
@@ -186,7 +206,6 @@ public class SimpleAnnotationAction extends ActionSupport {
return "OK";
}
- @Override
@Validations(
requiredFields =
{@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "customfield", message = "You must enter a value for field.")},
@@ -210,6 +229,7 @@ public class SimpleAnnotationAction extends ActionSupport {
@ExpressionValidator(expression = "foo > 5", message = "Foo must be greater than Bar 5. Foo = ${foo}, Bar = ${bar}.")
}
)
+ @Override
public String execute() throws Exception {
if (foo == bar) {
return ERROR;
diff --git a/core/src/test/java/com/opensymphony/xwork2/ValidationOrderAction.java b/core/src/test/java/com/opensymphony/xwork2/ValidationOrderAction.java
index 0928301e3..f5cc1c4e2 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ValidationOrderAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ValidationOrderAction.java
@@ -18,14 +18,16 @@
*/
package com.opensymphony.xwork2;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
+
/**
* A sample action to test validation order.
- *
+ *
* @author tm_jee
* @version $Date$ $Id$
*/
public class ValidationOrderAction extends ActionSupport {
-
+
private String username;
private String password;
private String confirmPassword;
@@ -38,9 +40,9 @@ public class ValidationOrderAction extends ActionSupport {
private String email;
private String website;
private String passwordHint;
-
-
-
+
+
+
@Override
public String execute() throws Exception {
return SUCCESS;
@@ -53,7 +55,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setCity(String city) {
this.city = city;
}
@@ -65,7 +67,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setConfirmPassword(String confirmPassword) {
this.confirmPassword = confirmPassword;
}
@@ -77,7 +79,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setCountry(String country) {
this.country = country;
}
@@ -89,7 +91,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setEmail(String email) {
this.email = email;
}
@@ -101,7 +103,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@@ -113,7 +115,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setLastName(String lastName) {
this.lastName = lastName;
}
@@ -125,7 +127,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setPassword(String password) {
this.password = password;
}
@@ -137,7 +139,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setPasswordHint(String passwordHint) {
this.passwordHint = passwordHint;
}
@@ -149,7 +151,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setPostalCode(String postalCode) {
this.postalCode = postalCode;
}
@@ -161,7 +163,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setProvince(String province) {
this.province = province;
}
@@ -173,7 +175,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setUsername(String username) {
this.username = username;
}
@@ -185,7 +187,7 @@ public class ValidationOrderAction extends ActionSupport {
}
-
+ @StrutsParameter
public void setWebsite(String website) {
this.website = website;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptorTest.java
index 4f3589f9f..65b21c86d 100644
--- a/core/src/test/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptorTest.java
@@ -20,7 +20,12 @@ package com.opensymphony.xwork2.interceptor;
import com.mockobjects.dynamic.ConstraintMatcher;
import com.mockobjects.dynamic.Mock;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.ActionSupport;
+import com.opensymphony.xwork2.ModelDriven;
+import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.ValueStack;
import java.util.Date;
@@ -175,6 +180,7 @@ public class ModelDrivenInterceptorTest extends XWorkTestCase {
public class ModelDrivenAction extends ActionSupport implements ModelDriven {
+ @Override
public Object getModel() {
return model;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptorTest.java
index 39358f264..577f66321 100644
--- a/core/src/test/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptorTest.java
@@ -190,22 +190,27 @@ public class ScopedModelDrivenInterceptorTest extends XWorkTestCase {
private String key;
private User model;
+ @Override
public void setModel(Object model) {
this.model = (User) model;
}
+ @Override
public void setScopeKey(String key) {
this.key = key;
}
+ @Override
public String getScopeKey() {
return key;
}
+ @Override
public User getModel() {
return model;
}
+ @Override
public String execute() throws Exception {
return SUCCESS;
}
@@ -217,22 +222,27 @@ public class ScopedModelDrivenInterceptorTest extends XWorkTestCase {
private String key;
private Equidae model;
+ @Override
public void setModel(Object model) {
this.model = (Equidae) model;
}
+ @Override
public void setScopeKey(String key) {
this.key = key;
}
+ @Override
public String getScopeKey() {
return key;
}
+ @Override
public Equidae getModel() {
return model;
}
+ @Override
public String execute() throws Exception {
return SUCCESS;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AllowingByDefaultAction.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AllowingByDefaultAction.java
index c70fcae44..21ec5462e 100644
--- a/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AllowingByDefaultAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AllowingByDefaultAction.java
@@ -19,21 +19,24 @@
package com.opensymphony.xwork2.interceptor.annotations;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
* @author martin.gilday
*
*/
public class AllowingByDefaultAction extends ActionSupport {
-
+
@Blocked
private String name;
private String job;
-
+
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
-
+
+ @StrutsParameter
public void setJob(String job) {
this.job = job;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BlockingByDefaultAction.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BlockingByDefaultAction.java
index fa1f7e742..499fb2c94 100644
--- a/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BlockingByDefaultAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BlockingByDefaultAction.java
@@ -19,6 +19,7 @@
package com.opensymphony.xwork2.interceptor.annotations;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
* @author martin.gilday
@@ -26,15 +27,17 @@ import com.opensymphony.xwork2.ActionSupport;
*/
@BlockByDefault
public class BlockingByDefaultAction extends ActionSupport {
-
+
@Allowed
private String name;
private String job;
-
+
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
-
+
+ @StrutsParameter
public void setJob(String job) {
this.job = job;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/test/ModelDrivenAction2.java b/core/src/test/java/com/opensymphony/xwork2/test/ModelDrivenAction2.java
index 5bbc2d48c..0c445860b 100644
--- a/core/src/test/java/com/opensymphony/xwork2/test/ModelDrivenAction2.java
+++ b/core/src/test/java/com/opensymphony/xwork2/test/ModelDrivenAction2.java
@@ -19,6 +19,7 @@
package com.opensymphony.xwork2.test;
import com.opensymphony.xwork2.ModelDrivenAction;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
@@ -28,12 +29,13 @@ import com.opensymphony.xwork2.ModelDrivenAction;
*/
public class ModelDrivenAction2 extends ModelDrivenAction {
- private TestBean2 model = new TestBean2();
+ private final TestBean2 model = new TestBean2();
/**
* @return the model to be pushed onto the ValueStack after the Action itself
*/
+ @StrutsParameter(depth = 3)
@Override
public Object getModel() {
return model;
diff --git a/core/src/test/java/com/opensymphony/xwork2/test/ModelDrivenAnnotationAction2.java b/core/src/test/java/com/opensymphony/xwork2/test/ModelDrivenAnnotationAction2.java
index c7aef9315..7c26dcfab 100644
--- a/core/src/test/java/com/opensymphony/xwork2/test/ModelDrivenAnnotationAction2.java
+++ b/core/src/test/java/com/opensymphony/xwork2/test/ModelDrivenAnnotationAction2.java
@@ -19,6 +19,7 @@
package com.opensymphony.xwork2.test;
import com.opensymphony.xwork2.ModelDrivenAnnotationAction;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
@@ -29,12 +30,13 @@ import com.opensymphony.xwork2.ModelDrivenAnnotationAction;
*/
public class ModelDrivenAnnotationAction2 extends ModelDrivenAnnotationAction {
- private AnnotationTestBean2 model = new AnnotationTestBean2();
+ private final AnnotationTestBean2 model = new AnnotationTestBean2();
/**
* @return the model to be pushed onto the ValueStack after the Action itself
*/
+ @StrutsParameter(depth = 3)
@Override
public Object getModel() {
return model;
diff --git a/core/src/test/java/com/opensymphony/xwork2/test/SimpleAction2.java b/core/src/test/java/com/opensymphony/xwork2/test/SimpleAction2.java
index d08435464..1d9540402 100644
--- a/core/src/test/java/com/opensymphony/xwork2/test/SimpleAction2.java
+++ b/core/src/test/java/com/opensymphony/xwork2/test/SimpleAction2.java
@@ -19,6 +19,7 @@
package com.opensymphony.xwork2.test;
import com.opensymphony.xwork2.SimpleAction;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
@@ -31,7 +32,7 @@ public class SimpleAction2 extends SimpleAction {
private int count;
-
+ @StrutsParameter
public void setCount(int count) {
this.count = count;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/test/SimpleAction3.java b/core/src/test/java/com/opensymphony/xwork2/test/SimpleAction3.java
index f4934cd89..40a4c79b2 100644
--- a/core/src/test/java/com/opensymphony/xwork2/test/SimpleAction3.java
+++ b/core/src/test/java/com/opensymphony/xwork2/test/SimpleAction3.java
@@ -20,6 +20,7 @@ package com.opensymphony.xwork2.test;
import com.opensymphony.xwork2.SimpleAction;
import com.opensymphony.xwork2.util.Bar;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
@@ -32,19 +33,24 @@ public class SimpleAction3 extends SimpleAction implements DataAware {
private Bar bar;
private String data;
-
+ @Override
public void setBarObj(Bar b) {
bar = b;
}
+ @StrutsParameter(depth = 1)
+ @Override
public Bar getBarObj() {
return bar;
}
+ @StrutsParameter
+ @Override
public void setData(String data) {
this.data = data;
}
+ @Override
public String getData() {
return data;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/test/SimpleAnnotationAction2.java b/core/src/test/java/com/opensymphony/xwork2/test/SimpleAnnotationAction2.java
index 1f7d98a16..d5e566e40 100644
--- a/core/src/test/java/com/opensymphony/xwork2/test/SimpleAnnotationAction2.java
+++ b/core/src/test/java/com/opensymphony/xwork2/test/SimpleAnnotationAction2.java
@@ -21,6 +21,7 @@ package com.opensymphony.xwork2.test;
import com.opensymphony.xwork2.SimpleAnnotationAction;
import com.opensymphony.xwork2.validator.annotations.IntRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RequiredFieldValidator;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
* SimpleAction2
@@ -35,6 +36,7 @@ public class SimpleAnnotationAction2 extends SimpleAnnotationAction {
@RequiredFieldValidator(message = "You must enter a value for count.")
@IntRangeFieldValidator(min = "0", max = "5", message = "count must be between ${min} and ${max}, current value is ${count}.")
+ @StrutsParameter
public void setCount(int count) {
this.count = count;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/test/SimpleAnnotationAction3.java b/core/src/test/java/com/opensymphony/xwork2/test/SimpleAnnotationAction3.java
index 929eb4b51..dea337bce 100644
--- a/core/src/test/java/com/opensymphony/xwork2/test/SimpleAnnotationAction3.java
+++ b/core/src/test/java/com/opensymphony/xwork2/test/SimpleAnnotationAction3.java
@@ -20,6 +20,7 @@ package com.opensymphony.xwork2.test;
import com.opensymphony.xwork2.SimpleAnnotationAction;
import com.opensymphony.xwork2.util.Bar;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
@@ -33,19 +34,24 @@ public class SimpleAnnotationAction3 extends SimpleAnnotationAction implements A
private Bar bar;
private String data;
-
+ @Override
public void setBarObj(Bar b) {
bar = b;
}
+ @StrutsParameter(depth = 1)
+ @Override
public Bar getBarObj() {
return bar;
}
+ @StrutsParameter
+ @Override
public void setData(String data) {
this.data = data;
}
+ @Override
public String getData() {
return data;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/test/annotations/ValidateAnnotatedMethodOnlyAction.java b/core/src/test/java/com/opensymphony/xwork2/test/annotations/ValidateAnnotatedMethodOnlyAction.java
index b57361cd4..aefaa94a0 100644
--- a/core/src/test/java/com/opensymphony/xwork2/test/annotations/ValidateAnnotatedMethodOnlyAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/test/annotations/ValidateAnnotatedMethodOnlyAction.java
@@ -20,6 +20,7 @@ package com.opensymphony.xwork2.test.annotations;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.validator.annotations.ExpressionValidator;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
* <code>ValidateAnnotatedMethodOnlyAction</code>
@@ -34,6 +35,7 @@ public class ValidateAnnotatedMethodOnlyAction extends ActionSupport {
return param1;
}
+ @StrutsParameter
public void setParam1(String param1) {
this.param1 = param1;
}
@@ -42,6 +44,7 @@ public class ValidateAnnotatedMethodOnlyAction extends ActionSupport {
return param2;
}
+ @StrutsParameter
public void setParam2(String param2) {
this.param2 = param2;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/util/Bar.java b/core/src/test/java/com/opensymphony/xwork2/util/Bar.java
index 348a28576..6332a570b 100644
--- a/core/src/test/java/com/opensymphony/xwork2/util/Bar.java
+++ b/core/src/test/java/com/opensymphony/xwork2/util/Bar.java
@@ -19,6 +19,7 @@
package com.opensymphony.xwork2.util;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
@@ -32,7 +33,7 @@ public class Bar extends ActionSupport {
String title;
int somethingElse;
-
+ @StrutsParameter
public void setId(Long id) {
this.id = id;
}
@@ -41,6 +42,7 @@ public class Bar extends ActionSupport {
return this.id;
}
+ @StrutsParameter
public void setSomethingElse(int somethingElse) {
this.somethingElse = somethingElse;
}
@@ -49,6 +51,7 @@ public class Bar extends ActionSupport {
return somethingElse;
}
+ @StrutsParameter
public void setTitle(String title) {
this.title = title;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProviderTest.java b/core/src/test/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProviderTest.java
index b86923db1..7bb8af612 100644
--- a/core/src/test/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProviderTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProviderTest.java
@@ -32,6 +32,7 @@ import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.test.ModelDrivenAction2;
import com.opensymphony.xwork2.test.TestBean2;
import org.apache.struts2.config.StrutsXmlConfigurationProvider;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.text.DateFormat;
import java.text.ParseException;
@@ -83,6 +84,7 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase {
public static class MyAction extends ActionSupport {
private Bar testBean2;
+ @StrutsParameter(depth = 1)
public Bar getBarObj() {
return testBean2;
}
@@ -460,7 +462,7 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase {
/**
* Test the {@link StrutsLocalizedTextProvider#findText(java.lang.Class, java.lang.String, java.util.Locale, java.lang.String, java.lang.Object[], com.opensymphony.xwork2.util.ValueStack) }
* method for basic correctness.
- *
+ *
* It is the version of the method that will search the class hierarchy resource bundles first, unless {@link StrutsLocalizedTextProvider#searchDefaultBundlesFirst}
* is true (in which case it will search the default resource bundles first). No matter the flag setting, it should search until it finds a match, or fails to find
* a match and returns the default message parameter that was passed.
@@ -611,7 +613,7 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase {
/**
* Attempt to force the resource bundles to be reloaded, even if configuration would otherwise prevent it.
- * It will preserve the current reloadBundles state, attempt to force a reload and then restore the
+ * It will preserve the current reloadBundles state, attempt to force a reload and then restore the
* original reloadBundles value.
*/
public void callReloadBundlesForceReload() {
@@ -625,9 +627,9 @@ public class StrutsLocalizedTextProviderTest extends XWorkTestCase {
}
/**
- * Returns the value of the resource bundles reloaded state from the context, provided that one was
+ * Returns the value of the resource bundles reloaded state from the context, provided that one was
* previously set. If no value is found, the result will be false (same as if bundles had not been reloaded).
- *
+ *
* @return true if resource bundles reloaded indicator is true, false otherwise (including if value was never set).
*/
public boolean getBundlesReloadedIndicatorValue() {
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/ActionValidatorManagerTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/ActionValidatorManagerTest.java
index 385f2ab0a..0c100babe 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/ActionValidatorManagerTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/ActionValidatorManagerTest.java
@@ -25,6 +25,7 @@ import com.opensymphony.xwork2.util.ValueStackFactory;
import com.opensymphony.xwork2.validator.validators.RequiredFieldValidator;
import com.opensymphony.xwork2.validator.validators.RequiredStringValidator;
import com.opensymphony.xwork2.validator.validators.VisitorFieldValidator;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.ArrayList;
import java.util.Collections;
@@ -201,8 +202,10 @@ public class ActionValidatorManagerTest extends XWorkTestCase {
public void setReferenceNumber(String referenceNumber) { this.referenceNumber = referenceNumber; }
public Integer getOrder() { return order; }
+ @StrutsParameter
public void setOrder(Integer order) { this.order = order; }
+ @StrutsParameter(depth = 2)
public Customer getCustomer() { return customer; }
public void setCustomer(Customer customer) { this.customer = customer; }
}
@@ -233,4 +236,4 @@ public class ActionValidatorManagerTest extends XWorkTestCase {
public String getPobox() { return pobox; }
public void setPobox(String pobox) { this.pobox = pobox; }
}
-}
\ No newline at end of file
+}
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationAction.java b/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationAction.java
index 3142c4515..b8e6b1601 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationAction.java
@@ -87,6 +87,7 @@ public class AnnotationValidationAction extends ActionSupport {
messageParams = {"one", "two", "three"})
@VisitorFieldValidator(message = "Foo isn't valid!", key = "visitorfield.key", fieldName = "foo", appendPrefix = false,
shortCircuit = true, messageParams = {"one", "two", "three"})
+ @Override
public String execute() {
return SUCCESS;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationExpAction.java b/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationExpAction.java
index 073ff3bce..f79439149 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationExpAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationExpAction.java
@@ -89,6 +89,7 @@ public class AnnotationValidationExpAction extends ActionSupport {
messageParams = {"one", "two", "three"})
@VisitorFieldValidator(message = "Foo isn't valid!", key = "visitorfield.key", fieldName = "foo", appendPrefix = false,
shortCircuit = true, messageParams = {"one", "two", "three"})
+ @Override
public String execute() {
return SUCCESS;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java
index 20d8a2bfc..dc1ee6b12 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java
@@ -24,6 +24,7 @@ import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.Arrays;
import java.util.Collection;
@@ -220,6 +221,7 @@ public class StringLengthFieldValidatorTest extends XWorkTestCase {
return this.myField;
}
+ @StrutsParameter
public void setMyField(String myField) {
this.myField = myField;
}
@@ -228,6 +230,7 @@ public class StringLengthFieldValidatorTest extends XWorkTestCase {
return trimValue;
}
+ @StrutsParameter
public void setTrimValue(boolean trimValue) {
this.trimValue = trimValue;
}
@@ -236,6 +239,7 @@ public class StringLengthFieldValidatorTest extends XWorkTestCase {
return minLengthValue;
}
+ @StrutsParameter
public void setMinLengthValue(int minLengthValue) {
this.minLengthValue = minLengthValue;
}
@@ -244,6 +248,7 @@ public class StringLengthFieldValidatorTest extends XWorkTestCase {
return maxLengthValue;
}
+ @StrutsParameter
public void setMaxLengthValue(int maxLengthValue) {
this.maxLengthValue = maxLengthValue;
}
@@ -252,6 +257,7 @@ public class StringLengthFieldValidatorTest extends XWorkTestCase {
return strings;
}
+ @StrutsParameter
public void setStrings(String[] strings) {
this.strings = strings;
}
@@ -260,6 +266,7 @@ public class StringLengthFieldValidatorTest extends XWorkTestCase {
return stringCollection;
}
+ @StrutsParameter
public void setStringCollection(Collection<String> stringCollection) {
this.stringCollection = stringCollection;
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/VisitorValidatorModelAction.java b/core/src/test/java/com/opensymphony/xwork2/validator/VisitorValidatorModelAction.java
index fee56451b..9f5baeee0 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/VisitorValidatorModelAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/VisitorValidatorModelAction.java
@@ -19,6 +19,7 @@
package com.opensymphony.xwork2.validator;
import com.opensymphony.xwork2.ModelDriven;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
@@ -32,6 +33,8 @@ public class VisitorValidatorModelAction extends VisitorValidatorTestAction impl
/**
* @return the model to be pushed onto the ValueStack instead of the Action itself
*/
+ @StrutsParameter(depth = 2)
+ @Override
public Object getModel() {
return getBean();
}
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/VisitorValidatorTestAction.java b/core/src/test/java/com/opensymphony/xwork2/validator/VisitorValidatorTestAction.java
index 9e672bf48..b7cef86ae 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/VisitorValidatorTestAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/VisitorValidatorTestAction.java
@@ -20,6 +20,7 @@ package com.opensymphony.xwork2.validator;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.TestBean;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.ArrayList;
import java.util.Date;
@@ -49,15 +50,16 @@ public class VisitorValidatorTestAction extends ActionSupport {
}
}
-
public void setBean(TestBean bean) {
this.bean = bean;
}
+ @StrutsParameter(depth = 2)
public TestBean getBean() {
return bean;
}
+ @StrutsParameter
public void setContext(String context) {
this.context = context;
}
@@ -70,6 +72,7 @@ public class VisitorValidatorTestAction extends ActionSupport {
this.testBeanArray = testBeanArray;
}
+ @StrutsParameter(depth = 3)
public TestBean[] getTestBeanArray() {
return testBeanArray;
}
@@ -78,6 +81,7 @@ public class VisitorValidatorTestAction extends ActionSupport {
this.testBeanList = testBeanList;
}
+ @StrutsParameter(depth = 3)
public List<TestBean> getTestBeanList() {
return testBeanList;
}
@@ -86,6 +90,7 @@ public class VisitorValidatorTestAction extends ActionSupport {
return birthday;
}
+ @StrutsParameter
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
diff --git a/core/src/test/java/org/apache/struts2/ExecutionCountTestAction.java b/core/src/test/java/org/apache/struts2/ExecutionCountTestAction.java
index 1d609e572..ca8ee077f 100644
--- a/core/src/test/java/org/apache/struts2/ExecutionCountTestAction.java
+++ b/core/src/test/java/org/apache/struts2/ExecutionCountTestAction.java
@@ -41,9 +41,10 @@ public class ExecutionCountTestAction extends ActionSupport {
return executionCount;
}
+ @Override
public String execute() throws Exception {
executionCount++;
- LOG.info("executing ExecutionCountTestAction. Current count is " + executionCount);
+ LOG.info("executing ExecutionCountTestAction. Current count is {}", executionCount);
return SUCCESS;
}
diff --git a/core/src/test/java/org/apache/struts2/HttpMethodsTestAction.java b/core/src/test/java/org/apache/struts2/HttpMethodsTestAction.java
index 255044b95..33921e220 100644
--- a/core/src/test/java/org/apache/struts2/HttpMethodsTestAction.java
+++ b/core/src/test/java/org/apache/struts2/HttpMethodsTestAction.java
@@ -68,6 +68,7 @@ public class HttpMethodsTestAction extends ActionSupport implements HttpMethodAw
return "onDelete";
}
+ @Override
public void setMethod(HttpMethod httpMethod) {
this.httpMethod = httpMethod;
}
@@ -76,6 +77,7 @@ public class HttpMethodsTestAction extends ActionSupport implements HttpMethodAw
return httpMethod;
}
+ @Override
public String getBadRequestResultName() {
return resultName;
}
diff --git a/core/src/test/java/org/apache/struts2/TestAction.java b/core/src/test/java/org/apache/struts2/TestAction.java
index b9595de11..f90f538f2 100644
--- a/core/src/test/java/org/apache/struts2/TestAction.java
+++ b/core/src/test/java/org/apache/struts2/TestAction.java
@@ -184,6 +184,7 @@ public class TestAction extends ActionSupport {
this.fooInt = fooInt;
}
+ @Override
public String execute() throws Exception {
if (result == null) {
result = Action.SUCCESS;
diff --git a/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
index afe18f731..8e6f6d19d 100644
--- a/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
+++ b/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
@@ -27,6 +27,7 @@ import com.opensymphony.xwork2.security.DefaultAcceptedPatternsChecker;
import com.opensymphony.xwork2.security.DefaultExcludedPatternsChecker;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.StrutsInternalTestCase;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.springframework.mock.web.MockHttpServletRequest;
import javax.servlet.http.Cookie;
@@ -503,6 +504,7 @@ public class CookieInterceptorTest extends StrutsInternalTestCase {
private String cookie2;
private String cookie3;
+ @Override
public void setCookiesMap(Map<String, String> cookies) {
this.cookies = cookies;
}
@@ -515,6 +517,7 @@ public class CookieInterceptorTest extends StrutsInternalTestCase {
return cookie1;
}
+ @StrutsParameter
public void setCookie1(String cookie1) {
this.cookie1 = cookie1;
}
@@ -523,6 +526,7 @@ public class CookieInterceptorTest extends StrutsInternalTestCase {
return cookie2;
}
+ @StrutsParameter
public void setCookie2(String cookie2) {
this.cookie2 = cookie2;
}
@@ -531,6 +535,7 @@ public class CookieInterceptorTest extends StrutsInternalTestCase {
return cookie3;
}
+ @StrutsParameter
public void setCookie3(String cookie3) {
this.cookie3 = cookie3;
}
@@ -543,6 +548,7 @@ public class CookieInterceptorTest extends StrutsInternalTestCase {
private String cookie2;
private String cookie3;
+ @Override
public void withCookies(Map<String, String> cookies) {
this.cookies = cookies;
}
@@ -555,6 +561,7 @@ public class CookieInterceptorTest extends StrutsInternalTestCase {
return cookie1;
}
+ @StrutsParameter
public void setCookie1(String cookie1) {
this.cookie1 = cookie1;
}
@@ -563,6 +570,7 @@ public class CookieInterceptorTest extends StrutsInternalTestCase {
return cookie2;
}
+ @StrutsParameter
public void setCookie2(String cookie2) {
this.cookie2 = cookie2;
}
@@ -571,6 +579,7 @@ public class CookieInterceptorTest extends StrutsInternalTestCase {
return cookie3;
}
+ @StrutsParameter
public void setCookie3(String cookie3) {
this.cookie3 = cookie3;
}
diff --git a/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java
index 14bb23c36..cfb305770 100644
--- a/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java
+++ b/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java
@@ -27,7 +27,6 @@ import com.opensymphony.xwork2.util.ClassLoaderUtil;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.StrutsInternalTestCase;
-import org.apache.struts2.TestAction;
import org.apache.struts2.dispatcher.HttpParameters;
import org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest;
import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
@@ -37,7 +36,6 @@ import org.springframework.mock.web.MockHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
-import java.io.IOException;
import java.net.URI;
import java.net.URL;
import java.nio.charset.StandardCharsets;
@@ -595,6 +593,7 @@ public class FileUploadInterceptorTest extends StrutsInternalTestCase {
return new MultiPartRequestWrapper(jak, req, tempDir.getAbsolutePath(), new DefaultLocaleProvider());
}
+ @Override
protected void setUp() throws Exception {
super.setUp();
@@ -605,6 +604,7 @@ public class FileUploadInterceptorTest extends StrutsInternalTestCase {
tempDir.mkdirs();
}
+ @Override
protected void tearDown() throws Exception {
tempDir.delete();
interceptor.destroy();
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/IteratorGeneratorTagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/IteratorGeneratorTagTest.java
index d1748e16f..a5739b00e 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/IteratorGeneratorTagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/IteratorGeneratorTagTest.java
@@ -18,13 +18,12 @@
*/
package org.apache.struts2.views.jsp;
-import java.util.Iterator;
-
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.util.IteratorGenerator.Converter;
import org.apache.struts2.views.jsp.iterator.IteratorGeneratorTag;
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionSupport;
+import java.util.Iterator;
/**
* Test case for IteratorGeneratorTag.
@@ -428,11 +427,7 @@ public class IteratorGeneratorTagTest extends AbstractTagTest {
public Action getAction() {
return new ActionSupport() {
public Converter getMyConverter() {
- return new Converter() {
- public Object convert(String value) throws Exception {
- return "myConverter-"+value;
- }
- };
+ return value -> "myConverter-"+value;
}
public int getMyCount() {
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/SortIteratorTagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/SortIteratorTagTest.java
index f88c2ae81..700e6e80a 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/SortIteratorTagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/SortIteratorTagTest.java
@@ -18,18 +18,16 @@
*/
package org.apache.struts2.views.jsp;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.views.jsp.iterator.SortIteratorTag;
+
+import javax.servlet.jsp.JspException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
-import javax.servlet.jsp.JspException;
-
-import org.apache.struts2.views.jsp.iterator.SortIteratorTag;
-
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionSupport;
-
/**
* Test case to test SortIteratorTag.
*
@@ -338,13 +336,11 @@ public class SortIteratorTagTest extends AbstractTagTest {
public Action getAction() {
return new ActionSupport() {
public Comparator getComparator() {
- return new Comparator() {
- public int compare(Object o1, Object o2) {
- Integer i1 = (Integer) o1;
- Integer i2 = (Integer) o2;
+ return (o1, o2) -> {
+ Integer i1 = (Integer) o1;
+ Integer i2 = (Integer) o2;
- return (i1.intValue() - i2.intValue());
- }
+ return (i1 - i2);
};
}
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/SubsetIteratorTagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/SubsetIteratorTagTest.java
index 4498124bb..fc03dda0d 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/SubsetIteratorTagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/SubsetIteratorTagTest.java
@@ -18,15 +18,14 @@
*/
package org.apache.struts2.views.jsp;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.util.SubsetIteratorFilter.Decider;
import org.apache.struts2.views.jsp.iterator.SubsetIteratorTag;
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionSupport;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
/**
@@ -641,11 +640,11 @@ public class SubsetIteratorTagTest extends AbstractTagTest {
return new ActionSupport() {
public List getMyList() {
List l = new ArrayList();
- l.add(new Integer(1));
- l.add(new Integer(2));
- l.add(new Integer(3));
- l.add(new Integer(4));
- l.add(new Integer(5));
+ l.add(1);
+ l.add(2);
+ l.add(3);
+ l.add(4);
+ l.add(5);
return l;
}
@@ -660,11 +659,9 @@ public class SubsetIteratorTagTest extends AbstractTagTest {
}
public Decider getMyDecider() {
- return new Decider() {
- public boolean decide(Object element) throws Exception {
- int integer = ((Integer)element).intValue();
- return (((integer % 2) == 0)?true:false);
- }
+ return element -> {
+ int integer = (Integer) element;
+ return integer % 2 == 0;
};
}
};
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleValidationAction.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleValidationAction.java
index e62e3be5c..aedc8596c 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleValidationAction.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleValidationAction.java
@@ -19,6 +19,7 @@
package org.apache.struts2.views.jsp.ui;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
*
@@ -30,6 +31,7 @@ public class DoubleValidationAction extends ActionSupport {
return longint;
}
+ @StrutsParameter
public void setLongint(double longint) {
this.longint = longint;
}
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java
index f8e611337..348f98fbe 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java
@@ -18,19 +18,18 @@
*/
package org.apache.struts2.views.jsp.ui;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.TestAction;
+import org.apache.struts2.views.jsp.AbstractUITagTest;
+import org.apache.struts2.views.jsp.ParamTag;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import org.apache.struts2.views.jsp.AbstractUITagTest;
-import org.apache.struts2.views.jsp.ParamTag;
-import org.apache.struts2.TestAction;
-
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionSupport;
-
/**
* FieldError Tag Test Case.
*
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/IntValidationAction.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/IntValidationAction.java
index 2be6ebdd1..f996c066d 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/IntValidationAction.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/IntValidationAction.java
@@ -19,6 +19,7 @@
package org.apache.struts2.views.jsp.ui;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
/**
*
@@ -30,6 +31,7 @@ public class IntValidationAction extends ActionSupport {
return longint;
}
+ @StrutsParameter
public void setLongint(int longint) {
this.longint = longint;
}
diff --git a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/FieldAction.java b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/FieldAction.java
index e9af62d4f..1c0470d82 100644
--- a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/FieldAction.java
+++ b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/FieldAction.java
@@ -19,6 +19,7 @@
package org.apache.struts.beanvalidation.actions;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.hibernate.validator.constraints.NotBlank;
public class FieldAction extends ActionSupport {
@@ -30,6 +31,7 @@ public class FieldAction extends ActionSupport {
return test;
}
+ @StrutsParameter
public void setTest(String test) {
this.test = test;
}
diff --git a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/FieldMatchAction.java b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/FieldMatchAction.java
index 935ad5d17..688661f63 100644
--- a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/FieldMatchAction.java
+++ b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/FieldMatchAction.java
@@ -20,6 +20,7 @@ package org.apache.struts.beanvalidation.actions;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts.beanvalidation.constraints.FieldMatch;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotBlank;
@@ -48,6 +49,7 @@ public class FieldMatchAction extends ActionSupport {
return password;
}
+ @StrutsParameter
public void setPassword(String password) {
this.password = password;
}
@@ -56,6 +58,7 @@ public class FieldMatchAction extends ActionSupport {
return confirmPassword;
}
+ @StrutsParameter
public void setConfirmPassword(String confirmPassword) {
this.confirmPassword = confirmPassword;
}
@@ -64,6 +67,7 @@ public class FieldMatchAction extends ActionSupport {
return email;
}
+ @StrutsParameter
public void setEmail(String email) {
this.email = email;
}
@@ -72,6 +76,7 @@ public class FieldMatchAction extends ActionSupport {
return confirmEmail;
}
+ @StrutsParameter
public void setConfirmEmail(String confirmEmail) {
this.confirmEmail = confirmEmail;
}
diff --git a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ModelDrivenAction.java b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ModelDrivenAction.java
index d39e04847..9b32fa24b 100644
--- a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ModelDrivenAction.java
+++ b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ModelDrivenAction.java
@@ -21,14 +21,17 @@ package org.apache.struts.beanvalidation.actions;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import org.apache.struts.beanvalidation.models.Person;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import javax.validation.Valid;
public class ModelDrivenAction extends ActionSupport implements ModelDriven<Person>, ModelDrivenActionInterface {
@Valid
- private Person model = new Person();
+ private final Person model = new Person();
+ @StrutsParameter(depth = 2)
+ @Override
public Person getModel() {
return model;
}
diff --git a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ValidateGroupAction.java b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ValidateGroupAction.java
index 6b17ab736..7d3540551 100644
--- a/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ValidateGroupAction.java
+++ b/plugins/bean-validation/src/test/java/org/apache/struts/beanvalidation/actions/ValidateGroupAction.java
@@ -22,14 +22,17 @@ import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import org.apache.struts.beanvalidation.constraints.ValidationGroup;
import org.apache.struts.beanvalidation.models.Person;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import javax.validation.Valid;
public class ValidateGroupAction extends ActionSupport implements ModelDriven<Person> {
@Valid
- private Person model = new Person();
+ private final Person model = new Person();
+ @StrutsParameter(depth = 2)
+ @Override
public Person getModel() {
return model;
}
@@ -67,4 +70,4 @@ public class ValidateGroupAction extends ActionSupport implements ModelDriven<Pe
public String actionLongNameChecks() {
return SUCCESS;
}
-}
\ No newline at end of file
+}
diff --git a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java
index 9b6efbdad..0686f2192 100644
--- a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java
+++ b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java
@@ -23,6 +23,7 @@ import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.inject.Inject;
import org.apache.commons.text.StringEscapeUtils;
import org.apache.struts2.StrutsConstants;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.Set;
import java.util.TreeSet;
@@ -54,6 +55,7 @@ public class ActionNamesAction extends ActionSupport {
return StringEscapeUtils.escapeHtml4(namespace);
}
+ @StrutsParameter
public void setNamespace(String namespace) {
this.namespace = namespace;
}
@@ -81,9 +83,10 @@ public class ActionNamesAction extends ActionSupport {
return extension;
}
+ @Override
public String execute() throws Exception {
namespaces = configHelper.getNamespaces();
- if (namespaces.size() == 0) {
+ if (namespaces.isEmpty()) {
addActionError("There are no namespaces in this configuration");
return ERROR;
}
diff --git a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ListValidatorsAction.java b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ListValidatorsAction.java
index 9eade6bb6..5a3344cf1 100644
--- a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ListValidatorsAction.java
+++ b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ListValidatorsAction.java
@@ -26,6 +26,7 @@ import com.opensymphony.xwork2.validator.ActionValidatorManager;
import com.opensymphony.xwork2.validator.Validator;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.util.Collections;
import java.util.List;
@@ -43,16 +44,17 @@ public class ListValidatorsAction extends ActionSupport {
List<Validator> validators = Collections.emptyList();
private ActionValidatorManager actionValidatorManager;
-
+
@Inject
public void setActionValidatorManager(ActionValidatorManager mgr) {
this.actionValidatorManager = mgr;
}
-
+
public String getClazz() {
return clazz;
}
+ @StrutsParameter
public void setClazz(String clazz) {
this.clazz = clazz;
}
@@ -69,6 +71,7 @@ public class ListValidatorsAction extends ActionSupport {
return context;
}
+ @StrutsParameter
public void setContext(String context) {
this.context = context;
}
@@ -77,6 +80,7 @@ public class ListValidatorsAction extends ActionSupport {
return validators;
}
+ @Override
public String execute() throws Exception {
loadValidators();
return super.execute();
diff --git a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowBeansAction.java b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowBeansAction.java
index 1e8dab8be..6248b6964 100644
--- a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowBeansAction.java
+++ b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowBeansAction.java
@@ -46,6 +46,7 @@ public class ShowBeansAction extends ActionNamesAction {
Map<String, Set<Binding>> bindings;
@Inject
+ @Override
public void setContainer(Container container) {
super.setContainer(container);
bindings = new TreeMap<>();
@@ -123,6 +124,7 @@ public class ShowBeansAction extends ActionNamesAction {
return isDefault;
}
+ @Override
public int compareTo(Binding b2) {
int ret;
if (isDefault) {
diff --git a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowConfigAction.java b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowConfigAction.java
index 51b0d50e5..25547c395 100644
--- a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowConfigAction.java
+++ b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowConfigAction.java
@@ -21,10 +21,11 @@ package org.apache.struts2.config_browser;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.inject.Inject;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
import org.apache.commons.text.StringEscapeUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.beans.PropertyDescriptor;
import java.util.Set;
@@ -43,8 +44,8 @@ public class ShowConfigAction extends ActionNamesAction {
private Set<String> actionNames;
private String detailView = "results";
private PropertyDescriptor[] properties;
- private static Logger LOG = LogManager.getLogger(ShowConfigAction.class);
-
+ private static final Logger LOG = LogManager.getLogger(ShowConfigAction.class);
+
private ObjectFactory objectFactory;
private ReflectionProvider reflectionProvider;
@@ -52,23 +53,26 @@ public class ShowConfigAction extends ActionNamesAction {
return detailView;
}
+ @StrutsParameter
public void setDetailView(String detailView) {
this.detailView = detailView;
}
+ @Override
public Set<String> getActionNames() {
return actionNames;
}
+ @Override
public String getNamespace() {
return StringEscapeUtils.escapeHtml4(namespace);
}
-
+
@Inject
public void setObjectFactory(ObjectFactory fac) {
this.objectFactory = fac;
}
-
+
@Inject
public void setReflectionProvider(ReflectionProvider prov) {
this.reflectionProvider = prov;
@@ -78,6 +82,7 @@ public class ShowConfigAction extends ActionNamesAction {
return clazz.getName().substring(clazz.getName().lastIndexOf('.') + 1);
}
+ @StrutsParameter
public void setNamespace(String namespace) {
this.namespace = namespace;
}
@@ -86,6 +91,7 @@ public class ShowConfigAction extends ActionNamesAction {
return actionName;
}
+ @StrutsParameter
public void setActionName(String actionName) {
this.actionName = actionName;
}
@@ -98,16 +104,17 @@ public class ShowConfigAction extends ActionNamesAction {
return properties;
}
+ @Override
public String execute() throws Exception {
super.execute();
config = configHelper.getActionConfig(namespace, actionName);
- actionNames = new TreeSet<String>(configHelper.getActionNames(namespace));
+ actionNames = new TreeSet<>(configHelper.getActionNames(namespace));
try {
Object action = objectFactory.buildAction(actionName, namespace, config, null);
properties = reflectionProvider.getPropertyDescriptors(action);
} catch (Exception e) {
- LOG.error("Unable to get properties for action " + actionName, e);
- addActionError("Unable to retrieve action properties: " + e.toString());
+ LOG.error("Unable to get properties for action {}", actionName, e);
+ addActionError("Unable to retrieve action properties: " + e);
}
if (hasErrors()) //super might have set some :)
diff --git a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowValidatorAction.java b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowValidatorAction.java
index c740e1473..524cee021 100644
--- a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowValidatorAction.java
+++ b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowValidatorAction.java
@@ -19,12 +19,13 @@
package org.apache.struts2.config_browser;
import com.opensymphony.xwork2.inject.Inject;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
import com.opensymphony.xwork2.util.reflection.ReflectionContextFactory;
import com.opensymphony.xwork2.util.reflection.ReflectionException;
import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
import com.opensymphony.xwork2.validator.Validator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
@@ -32,6 +33,7 @@ import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.util.Collections;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
@@ -42,11 +44,11 @@ import java.util.TreeSet;
public class ShowValidatorAction extends ListValidatorsAction {
private static final long serialVersionUID = 4061534149317835177L;
- private static Logger LOG = LogManager.getLogger(ShowValidatorAction.class);
+ private static final Logger LOG = LogManager.getLogger(ShowValidatorAction.class);
private Set<PropertyInfo> properties = Collections.emptySet();
private int selected = 0;
-
+
ReflectionProvider reflectionProvider;
ReflectionContextFactory reflectionContextFactory;
@@ -54,16 +56,17 @@ public class ShowValidatorAction extends ListValidatorsAction {
public void setReflectionProvider(ReflectionProvider prov) {
this.reflectionProvider = prov;
}
-
+
@Inject
public void setReflectionContextFactory(ReflectionContextFactory fac) {
this.reflectionContextFactory = fac;
}
-
+
public int getSelected() {
return selected;
}
+ @StrutsParameter
public void setSelected(int selected) {
this.selected = selected;
}
@@ -76,10 +79,11 @@ public class ShowValidatorAction extends ListValidatorsAction {
return validators.get(selected);
}
+ @Override
public String execute() throws Exception {
loadValidators();
Validator validator = getSelectedValidator();
- properties = new TreeSet<PropertyInfo>();
+ properties = new TreeSet<>();
try {
Map<String, Object> context = reflectionContextFactory.createDefaultContext(validator);
BeanInfo beanInfoFrom;
@@ -162,6 +166,7 @@ public class ShowValidatorAction extends ListValidatorsAction {
this.name = name;
}
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof PropertyInfo)) return false;
@@ -170,11 +175,11 @@ public class ShowValidatorAction extends ListValidatorsAction {
if (!name.equals(propertyInfo.name)) return false;
if (!type.equals(propertyInfo.type)) return false;
- if (value != null ? !value.equals(propertyInfo.value) : propertyInfo.value != null) return false;
- return true;
+ return Objects.equals(value, propertyInfo.value);
}
+ @Override
public int hashCode() {
int result;
result = name.hashCode();
@@ -183,6 +188,7 @@ public class ShowValidatorAction extends ListValidatorsAction {
return result;
}
+ @Override
public int compareTo(Object o) {
PropertyInfo other = (PropertyInfo) o;
return this.name.compareTo(other.name);
diff --git a/plugins/convention/src/test/java/actions/MessageAction.java b/plugins/convention/src/test/java/actions/MessageAction.java
index 2482fdbc8..3c963d5ca 100644
--- a/plugins/convention/src/test/java/actions/MessageAction.java
+++ b/plugins/convention/src/test/java/actions/MessageAction.java
@@ -31,7 +31,7 @@ public class MessageAction extends ActionSupport {
return message;
}
-
+ @Override
public String execute() {
message = "Hello World";
return SUCCESS;
diff --git a/plugins/json/src/test/java/org/apache/struts2/json/JSONValidationInterceptorTest.java b/plugins/json/src/test/java/org/apache/struts2/json/JSONValidationInterceptorTest.java
index 8cf3dcef1..b53187e25 100644
--- a/plugins/json/src/test/java/org/apache/struts2/json/JSONValidationInterceptorTest.java
+++ b/plugins/json/src/test/java/org/apache/struts2/json/JSONValidationInterceptorTest.java
@@ -29,6 +29,7 @@ import com.opensymphony.xwork2.validator.annotations.IntRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;
import com.opensymphony.xwork2.validator.annotations.StringLengthFieldValidator;
import org.apache.struts2.StrutsStatics;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor;
import org.apache.struts2.interceptor.validation.SkipValidation;
import org.apache.struts2.junit.StrutsTestCase;
@@ -214,6 +215,7 @@ public class JSONValidationInterceptorTest extends StrutsTestCase {
private boolean executed = false;
private String password;
+ @Override
public String execute() {
executed = true;
return Action.SUCCESS;
@@ -230,11 +232,13 @@ public class JSONValidationInterceptorTest extends StrutsTestCase {
@StringLengthFieldValidator(minLength = "2", message = "Too short")
@EmailValidator(message = "This is no email")
+ @StrutsParameter
public void setText(String text) {
this.text = text;
}
@RequiredStringValidator(message = "Password isn't correct")
+ @StrutsParameter
public void setPassword(String password) {
this.password = password;
}
@@ -248,6 +252,7 @@ public class JSONValidationInterceptorTest extends StrutsTestCase {
}
@IntRangeFieldValidator(min = "-1", message = "Min value is -1")
+ @StrutsParameter
public void setValue(int value) {
this.value = value;
}
diff --git a/plugins/junit/src/test/java/org/apache/struts2/junit/JUnitTestAction.java b/plugins/junit/src/test/java/org/apache/struts2/junit/JUnitTestAction.java
index f09c34144..1531c3670 100644
--- a/plugins/junit/src/test/java/org/apache/struts2/junit/JUnitTestAction.java
+++ b/plugins/junit/src/test/java/org/apache/struts2/junit/JUnitTestAction.java
@@ -19,6 +19,7 @@
package org.apache.struts2.junit;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.springframework.beans.factory.annotation.Autowired;
public class JUnitTestAction extends ActionSupport {
@@ -33,6 +34,7 @@ public class JUnitTestAction extends ActionSupport {
return name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
diff --git a/plugins/junit/src/test/java/org/apache/struts2/junit/session/SessionGetAction.java b/plugins/junit/src/test/java/org/apache/struts2/junit/session/SessionGetAction.java
index 2149f7bd0..039cf9cd9 100644
--- a/plugins/junit/src/test/java/org/apache/struts2/junit/session/SessionGetAction.java
+++ b/plugins/junit/src/test/java/org/apache/struts2/junit/session/SessionGetAction.java
@@ -27,6 +27,7 @@ import com.opensymphony.xwork2.ActionSupport;
public class SessionGetAction extends ActionSupport {
private static final long serialVersionUID = 8366502863472148631L;
+ @Override
public String execute() {
return ActionSupport.SUCCESS;
}
diff --git a/plugins/junit/src/test/java/org/apache/struts2/junit/session/SessionSetAction.java b/plugins/junit/src/test/java/org/apache/struts2/junit/session/SessionSetAction.java
index 7d3a0dc97..f463951c0 100644
--- a/plugins/junit/src/test/java/org/apache/struts2/junit/session/SessionSetAction.java
+++ b/plugins/junit/src/test/java/org/apache/struts2/junit/session/SessionSetAction.java
@@ -30,6 +30,7 @@ public class SessionSetAction extends ActionSupport {
public String SESSION_KEY = "sessionKey";
public String SESSION_VALUE = "sessionValue";
+ @Override
public String execute() {
ActionContext.getContext().getSession().put(SESSION_KEY, SESSION_VALUE);
return ActionSupport.SUCCESS;
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/FieldsWithProfiles.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/FieldsWithProfiles.java
index 5c5c342cd..09b06df18 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/FieldsWithProfiles.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/FieldsWithProfiles.java
@@ -20,6 +20,7 @@ package org.apache.struts2.oval.interceptor;
import com.opensymphony.xwork2.ActionSupport;
import net.sf.oval.constraint.NotNull;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.oval.annotation.Profiles;
public class FieldsWithProfiles extends ActionSupport {
@@ -46,6 +47,7 @@ public class FieldsWithProfiles extends ActionSupport {
return firstName;
}
+ @StrutsParameter
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@@ -54,6 +56,7 @@ public class FieldsWithProfiles extends ActionSupport {
return lastName;
}
+ @StrutsParameter
public void setLastName(String lastName) {
this.lastName = lastName;
}
@@ -62,6 +65,7 @@ public class FieldsWithProfiles extends ActionSupport {
return middleName;
}
+ @StrutsParameter
public void setMiddleName(String middleName) {
this.middleName = middleName;
}
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/MemberObject.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/MemberObject.java
index 591b1b206..3abe9dca1 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/MemberObject.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/MemberObject.java
@@ -18,17 +18,17 @@
*/
package org.apache.struts2.oval.interceptor;
+import com.opensymphony.xwork2.ActionSupport;
import net.sf.oval.constraint.AssertValid;
-
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.oval.interceptor.domain.Person;
-import com.opensymphony.xwork2.ActionSupport;
-
public class MemberObject extends ActionSupport {
@AssertValid
- private Person person = new Person();
+ private final Person person = new Person();
+ @StrutsParameter(depth = 2)
public Person getPerson() {
return person;
}
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/ModelDrivenAction.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/ModelDrivenAction.java
index c4b7a2ed2..21e4e88ee 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/ModelDrivenAction.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/ModelDrivenAction.java
@@ -18,18 +18,19 @@
*/
package org.apache.struts2.oval.interceptor;
-import net.sf.oval.constraint.AssertValid;
-
-import org.apache.struts2.oval.interceptor.domain.Person;
-
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
+import net.sf.oval.constraint.AssertValid;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
+import org.apache.struts2.oval.interceptor.domain.Person;
public class ModelDrivenAction extends ActionSupport implements ModelDriven<Person> {
@AssertValid
- private Person person = new Person();
+ private final Person person = new Person();
+ @StrutsParameter(depth = 2)
+ @Override
public Person getModel() {
return person;
}
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleField.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleField.java
index 045dc1f68..e8bfa618c 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleField.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleField.java
@@ -18,10 +18,11 @@
*/
package org.apache.struts2.oval.interceptor;
+import com.opensymphony.xwork2.ActionSupport;
import net.sf.oval.constraint.Length;
import net.sf.oval.constraint.NotEmpty;
import net.sf.oval.constraint.NotNull;
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class SimpleField extends ActionSupport{
@NotNull()
@@ -35,10 +36,12 @@ public class SimpleField extends ActionSupport{
return name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
+ @Override
public void validate() {
this.validateCalled = true;
}
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldI18n.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldI18n.java
index cc986ff1e..48a271d61 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldI18n.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldI18n.java
@@ -21,6 +21,7 @@ package org.apache.struts2.oval.interceptor;
import com.opensymphony.xwork2.ActionSupport;
import net.sf.oval.constraint.Length;
import net.sf.oval.constraint.NotNull;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class SimpleFieldI18n extends ActionSupport {
@NotNull(message = "notnull.field")
@@ -31,6 +32,7 @@ public class SimpleFieldI18n extends ActionSupport {
return name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldI18nDefaultKey.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldI18nDefaultKey.java
index d758ec4b6..2d8d507d6 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldI18nDefaultKey.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldI18nDefaultKey.java
@@ -20,8 +20,7 @@ package org.apache.struts2.oval.interceptor;
import com.opensymphony.xwork2.ActionSupport;
import net.sf.oval.constraint.NotNull;
-import net.sf.oval.constraint.NotEmpty;
-import net.sf.oval.constraint.Length;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class SimpleFieldI18nDefaultKey extends ActionSupport {
@NotNull(message = "notnull.field")
@@ -31,6 +30,7 @@ public class SimpleFieldI18nDefaultKey extends ActionSupport {
return name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldJPAAnnotations.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldJPAAnnotations.java
index 8df5c55f1..949a16958 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldJPAAnnotations.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldJPAAnnotations.java
@@ -19,6 +19,7 @@
package org.apache.struts2.oval.interceptor;
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import javax.persistence.Basic;
@@ -30,6 +31,7 @@ public class SimpleFieldJPAAnnotations extends ActionSupport {
return firstName;
}
+ @StrutsParameter
public void setFirstName(String firstName) {
this.firstName = firstName;
}
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldOGNLExpression.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldOGNLExpression.java
index 858c497c4..e5697a448 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldOGNLExpression.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldOGNLExpression.java
@@ -18,8 +18,9 @@
*/
package org.apache.struts2.oval.interceptor;
-import net.sf.oval.constraint.Assert;
import com.opensymphony.xwork2.ActionSupport;
+import net.sf.oval.constraint.Assert;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class SimpleFieldOGNLExpression extends ActionSupport {
@@ -30,6 +31,7 @@ public class SimpleFieldOGNLExpression extends ActionSupport {
return name;
}
+ @StrutsParameter
public void setName(String name) {
this.name = name;
}
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldsXML.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldsXML.java
index 09bf3fa00..32659fab1 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldsXML.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldsXML.java
@@ -19,8 +19,8 @@
package org.apache.struts2.oval.interceptor;
import com.opensymphony.xwork2.ActionSupport;
-import net.sf.oval.constraint.NotEmpty;
import net.sf.oval.constraint.NotNull;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class SimpleFieldsXML extends ActionSupport {
private String firstName;
@@ -32,6 +32,7 @@ public class SimpleFieldsXML extends ActionSupport {
return firstName;
}
+ @StrutsParameter
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@@ -40,6 +41,7 @@ public class SimpleFieldsXML extends ActionSupport {
return lastName;
}
+ @StrutsParameter
public void setLastName(String lastName) {
this.lastName = lastName;
}
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldsXMLChild.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldsXMLChild.java
index 971afb7fe..6a9808229 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldsXMLChild.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleFieldsXMLChild.java
@@ -18,6 +18,8 @@
*/
package org.apache.struts2.oval.interceptor;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
+
public class SimpleFieldsXMLChild extends SimpleFieldsXML {
private String middleName;
@@ -25,6 +27,7 @@ public class SimpleFieldsXMLChild extends SimpleFieldsXML {
return middleName;
}
+ @StrutsParameter
public void setMiddleName(String middleName) {
this.middleName = middleName;
}
diff --git a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleMethod.java b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleMethod.java
index a3dc92a4b..e69397322 100644
--- a/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleMethod.java
+++ b/plugins/oval/src/test/java/org/apache/struts2/oval/interceptor/SimpleMethod.java
@@ -19,9 +19,10 @@
package org.apache.struts2.oval.interceptor;
import com.opensymphony.xwork2.ActionSupport;
+import net.sf.oval.configuration.annotation.IsInvariant;
import net.sf.oval.constraint.Length;
import net.sf.oval.constraint.NotNull;
-import net.sf.oval.configuration.annotation.IsInvariant;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
public class SimpleMethod extends ActionSupport {
private String name;
@@ -33,6 +34,7 @@ public class SimpleMethod extends ActionSupport {
return name;
}
+ @StrutsParameter
public void setSomeName(String name) {
this.name = name;
}
diff --git a/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionInvocationTest.java b/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionInvocationTest.java
index 8e83dc155..6f22a583e 100644
--- a/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionInvocationTest.java
+++ b/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionInvocationTest.java
@@ -32,6 +32,7 @@ import com.opensymphony.xwork2.ognl.OgnlUtil;
import com.opensymphony.xwork2.util.XWorkTestCaseHelper;
import junit.framework.TestCase;
import org.apache.struts2.ServletActionContext;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
import org.apache.struts2.result.HttpHeaderResult;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
@@ -53,7 +54,7 @@ public class RestActionInvocationTest extends TestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
-
+
restActionInvocation = new RestActionInvocationTester();
request = new MockHttpServletRequest();
response = new MockHttpServletResponse();
@@ -61,7 +62,7 @@ public class RestActionInvocationTest extends TestCase {
ServletActionContext.setResponse(response);
}
-
+
/**
* Test the correct action results: null, String, HttpHeaders, Result
* @throws Exception
@@ -71,12 +72,12 @@ public class RestActionInvocationTest extends TestCase {
Object methodResult = "index";
ActionConfig actionConfig = restActionInvocation.getProxy().getConfig();
assertEquals("index", restActionInvocation.saveResult(actionConfig, methodResult));
-
+
setUp();
methodResult = new DefaultHttpHeaders("show");
assertEquals("show", restActionInvocation.saveResult(actionConfig, methodResult));
assertEquals(methodResult, restActionInvocation.httpHeaders);
-
+
setUp();
methodResult = new HttpHeaderResult(HttpServletResponse.SC_ACCEPTED);
assertEquals(null, restActionInvocation.saveResult(actionConfig, methodResult));
@@ -89,18 +90,18 @@ public class RestActionInvocationTest extends TestCase {
// ko
assertFalse(true);
-
+
} catch (ConfigurationException c) {
// ok, object not allowed
}
}
-
+
/**
* Test the target selection: exception, error messages, model and null
* @throws Exception
*/
public void testSelectTarget() throws Exception {
-
+
// Exception
Exception e = new Exception();
restActionInvocation.getStack().set("exception", e);
@@ -118,7 +119,7 @@ public class RestActionInvocationTest extends TestCase {
errors.put("actionErrors", list);
restActionInvocation.selectTarget();
assertEquals(errors, restActionInvocation.target);
-
+
// Model with get and no content in post, put, delete
setUp();
RestAction restAction = (RestAction)restActionInvocation.getAction();
@@ -168,18 +169,18 @@ public class RestActionInvocationTest extends TestCase {
};
model.add("Item");
restAction.model = model;
-
+
restActionInvocation.processResult();
assertEquals(SC_NOT_MODIFIED, response.getStatus());
-
+
}
-
+
/**
* Test the default error result.
* @throws Exception
*/
public void testDefaultErrorResult() throws Exception {
-
+
// Exception
Exception e = new Exception();
restActionInvocation.getStack().set("exception", e);
@@ -189,24 +190,24 @@ public class RestActionInvocationTest extends TestCase {
List<String> model = new ArrayList<String>();
model.add("Item");
restAction.model = model;
-
+
restActionInvocation.setDefaultErrorResultName("default-error");
- ResultConfig resultConfig = new ResultConfig.Builder("default-error",
+ ResultConfig resultConfig = new ResultConfig.Builder("default-error",
"org.apache.struts2.result.HttpHeaderResult")
.addParam("status", "123").build();
- ActionConfig actionConfig = new ActionConfig.Builder("org.apache.rest",
+ ActionConfig actionConfig = new ActionConfig.Builder("org.apache.rest",
"RestAction", "org.apache.rest.RestAction")
.addResultConfig(resultConfig)
.build();
((MockActionProxy)restActionInvocation.getProxy()).setConfig(actionConfig);
-
+
restActionInvocation.processResult();
assertEquals(123, response.getStatus());
-
+
}
-
+
public void testNoResult() throws Exception {
-
+
RestAction restAction = (RestAction)restActionInvocation.getAction();
List<String> model = new ArrayList<String>();
model.add("Item");
@@ -219,34 +220,34 @@ public class RestActionInvocationTest extends TestCase {
// ko
assertFalse(true);
-
+
} catch (ConfigurationException c) {
// ok, no result
}
}
-
+
/**
* Test the global execution
* @throws Exception
*/
public void testInvoke() throws Exception {
-
+
// Default index method return 'success'
((MockActionProxy)restActionInvocation.getProxy()).setMethod("index");
// Define result 'success'
- ResultConfig resultConfig = new ResultConfig.Builder("success",
+ ResultConfig resultConfig = new ResultConfig.Builder("success",
"org.apache.struts2.result.HttpHeaderResult")
.addParam("status", "123").build();
- ActionConfig actionConfig = new ActionConfig.Builder("org.apache.rest",
+ ActionConfig actionConfig = new ActionConfig.Builder("org.apache.rest",
"RestAction", "org.apache.rest.RestAction")
.addResultConfig(resultConfig)
.build();
((MockActionProxy)restActionInvocation.getProxy()).setConfig(actionConfig);
request.setMethod("GET");
-
+
restActionInvocation.setOgnlUtil(new OgnlUtil());
restActionInvocation.invoke();
@@ -264,7 +265,7 @@ public class RestActionInvocationTest extends TestCase {
interceptorMappings.add(new InterceptorMapping("interceptor", mockInterceptor));
interceptors = interceptorMappings.iterator();
MockActionProxy actionProxy = new MockActionProxy();
- ActionConfig actionConfig = new ActionConfig.Builder("org.apache.rest",
+ ActionConfig actionConfig = new ActionConfig.Builder("org.apache.rest",
"RestAction", "org.apache.rest.RestAction").build();
actionProxy.setConfig(actionConfig);
proxy = actionProxy;
@@ -280,18 +281,20 @@ public class RestActionInvocationTest extends TestCase {
container = ActionContext.getContext().getContainer();
stack = ActionContext.getContext().getValueStack();
objectFactory = container.getInstance(ObjectFactory.class);
-
+
}
-
+
}
- class RestAction extends RestActionSupport implements ModelDriven<List<String>> {
+ static class RestAction extends RestActionSupport implements ModelDriven<List<String>> {
List<String> model;
-
+
+ @StrutsParameter(depth = 1)
+ @Override
public List<String> getModel() {
return model;
}
-
+
}
}
diff --git a/plugins/spring/src/test/java/com/opensymphony/xwork2/ModelDrivenAction.java b/plugins/spring/src/test/java/com/opensymphony/xwork2/ModelDrivenAction.java
index fabc3ed95..6ffcad2ff 100644
--- a/plugins/spring/src/test/java/com/opensymphony/xwork2/ModelDrivenAction.java
+++ b/plugins/spring/src/test/java/com/opensymphony/xwork2/ModelDrivenAction.java
@@ -19,6 +19,8 @@
package com.opensymphony.xwork2;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
+
/**
* ModelDrivenAction
*
@@ -28,9 +30,9 @@ package com.opensymphony.xwork2;
public class ModelDrivenAction extends ActionSupport implements ModelDriven {
private String foo;
- private TestBean model = new TestBean();
-
+ private final TestBean model = new TestBean();
+ @StrutsParameter
public void setFoo(String foo) {
this.foo = foo;
}
@@ -42,6 +44,8 @@ public class ModelDrivenAction extends ActionSupport implements ModelDriven {
/**
* @return the model to be pushed onto the ValueStack after the Action itself
*/
+ @StrutsParameter(depth = 2)
+ @Override
public Object getModel() {
return model;
}