/*
* $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.struts2;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.validator.annotations.RequiredFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;
import com.opensymphony.xwork2.validator.annotations.Validations;
import com.opensymphony.xwork2.validator.annotations.ValidatorType;
import org.apache.struts2.views.jsp.ui.User;
import java.util.*;
/**
*/
public class TestAction extends ActionSupport {
private static final long serialVersionUID = -8891365561914451494L;
private Collection collection;
private Collection collection2;
private Map map;
private String foo;
private Integer fooInt;
private String result;
private User user;
private String[] array;
private String[][] list;
private List list2;
private List list3;
private SomeEnum status = SomeEnum.COMPLETED;
private Float floatNumber;
private final Map<String, String> texts = new HashMap<String, String>();
/**
* Define a text resource within this action that will be returned by the getText methods
* here before delegating to the default TextProvider
*
* call
* @param key
* @param value
*/
public void setText(String key, String value) {
this.texts.put(key, value);
}
/** Returns the test value if defined otherwise delegates to the default TextProvider */
public String getText(String key) {
if (this.texts.containsKey(key)) {
return this.texts.get(key);
}
return super.getText(key);
}
/** This is the method invoked by the {@link org.apache.struts2.util.TextProviderHelper}.
* Returns the test value if defined otherwise delegates to the default TextProvider */
public String getText(String key, String defaultValue, List<?> args, ValueStack stack) {
if (this.texts.containsKey(key)) {
return this.texts.get(key);
} else {
return super.getText(key, defaultValue, args, stack);
}
}
public Collection getCollection() {
return collection;
}
public void setCollection(Collection collection) {
this.collection = collection;
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public String getFoo() {
return foo;
}
public void setFoo(String foo) {
this.foo = foo;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String[] getArray() {
return array;
}
public void setArray(String[] array) {
this.array = array;
}
public String[][] getList() {
return list;
}
public void setList(String[][] list) {
this.list = list;
}
public List getList2() {
return list2;
}
public void setList2(List list2) {
this.list2 = list2;
}
public void setList3(List list) {
this.list3 = list;
}
public List getList3() {
return this.list3;
}
public Collection getCollection2() {
return this.collection2;
}
public void setCollection2(Collection collection) {
this.collection2 = collection;
}
public Integer getFooInt() {
return fooInt;
}
public void setFooInt(Integer fooInt) {
this.fooInt = fooInt;
}
public String execute() throws Exception {
if (result == null) {
result = Action.SUCCESS;
}
return result;
}
@Validations(
requiredFields = {
@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "status", message = "You must enter a value for field.")
},
requiredStrings = {
@RequiredStringValidator(type = ValidatorType.SIMPLE, fieldName = "result", message = "You must enter a value for field.")
}
)
public String annotatedExecute1() throws Exception {
return Action.SUCCESS;
}
@Validations(
requiredFields = {
@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "status", message = "You must enter a value for field.")
}
)
public String annotatedExecute2() throws Exception {
return Action.SUCCESS;
}
public String executeThrowsException() throws Exception {
throw new StrutsException("something went wrong!");
}
public String doInput() throws Exception {
return INPUT;
}
public SomeEnum getStatus() {
return status;
}
public void setStatus(SomeEnum status) {
this.status = status;
}
public List<SomeEnum> getStatusList() {
return Arrays.asList(SomeEnum.values());
}
public Float getFloatNumber() {
return floatNumber;
}
public void setFloatNumber(Float floatNumber) {
this.floatNumber = floatNumber;
}
}