| /* |
| * 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 com.opensymphony.xwork2; |
| |
| import com.opensymphony.xwork2.validator.annotations.*; |
| |
| import java.util.ArrayList; |
| import java.util.Date; |
| import java.util.Properties; |
| |
| |
| /** |
| * Simple Test Action for annotaton processing. |
| * |
| * @author Rainer Hermanns |
| * @version $Revision$ |
| */ |
| @Validation() |
| public class SimpleAnnotationAction extends ActionSupport { |
| //~ Static fields/initializers ///////////////////////////////////////////// |
| |
| public static final String COMMAND_RETURN_CODE = "com.opensymphony.xwork2.SimpleAnnotationAction.CommandInvoked"; |
| |
| //~ Instance fields //////////////////////////////////////////////////////// |
| |
| private ArrayList<String> someList = new ArrayList<>(); |
| private Date date = new Date(); |
| private Properties settings = new Properties(); |
| private String blah; |
| private String name; |
| private AnnotatedTestBean bean = new AnnotatedTestBean(); |
| private boolean throwException; |
| private int bar; |
| private int baz; |
| private int foo; |
| private double percentage; |
| |
| private String aliasSource; |
| private String aliasDest; |
| |
| |
| |
| //~ Constructors /////////////////////////////////////////////////////////// |
| |
| public SimpleAnnotationAction() { |
| } |
| |
| //~ Methods //////////////////////////////////////////////////////////////// |
| |
| @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}.") |
| public void setBar(int bar) { |
| this.bar = bar; |
| } |
| |
| public int getBar() { |
| return bar; |
| } |
| |
| @IntRangeFieldValidator(min = "0", key = "baz.range", message = "Could not find baz.range!") |
| public void setBaz(int baz) { |
| this.baz = baz; |
| } |
| |
| public int getBaz() { |
| return baz; |
| } |
| |
| public double getPercentage() { |
| return percentage; |
| } |
| |
| @DoubleRangeFieldValidator(minInclusive = "0.123", key = "baz.range", message = "Could not find percentage.range!") |
| public void setPercentage(double percentage) { |
| this.percentage = percentage; |
| } |
| |
| public void setBean(AnnotatedTestBean bean) { |
| this.bean = bean; |
| } |
| |
| public AnnotatedTestBean getBean() { |
| return bean; |
| } |
| |
| public void setBlah(String blah) { |
| this.blah = blah; |
| } |
| |
| public String getBlah() { |
| return blah; |
| } |
| |
| public Boolean getBool(String b) { |
| return new Boolean(b); |
| } |
| |
| public boolean[] getBools() { |
| return new boolean[] {true, false, false, true}; |
| } |
| |
| @DateRangeFieldValidator(min = "12/22/2002", max = "12/25/2002", message = "The date must be between 12-22-2002 and 12-25-2002.") |
| public void setDate(Date date) { |
| this.date = date; |
| } |
| |
| public Date getDate() { |
| return date; |
| } |
| |
| public void setFoo(int foo) { |
| this.foo = foo; |
| } |
| |
| public int getFoo() { |
| return foo; |
| } |
| |
| public void setName(String name) { |
| this.name = name; |
| } |
| |
| public String getName() { |
| return name; |
| } |
| |
| public void setSettings(Properties settings) { |
| this.settings = settings; |
| } |
| |
| public Properties getSettings() { |
| return settings; |
| } |
| |
| |
| public String getAliasDest() { |
| return aliasDest; |
| } |
| |
| public void setAliasDest(String aliasDest) { |
| this.aliasDest = aliasDest; |
| } |
| |
| public String getAliasSource() { |
| return aliasSource; |
| } |
| |
| public void setAliasSource(String aliasSource) { |
| this.aliasSource = aliasSource; |
| } |
| |
| |
| public void setSomeList(ArrayList<String> someList) { |
| this.someList = someList; |
| } |
| |
| public ArrayList<String> getSomeList() { |
| return someList; |
| } |
| |
| public void setThrowException(boolean throwException) { |
| this.throwException = throwException; |
| } |
| |
| public String commandMethod() throws Exception { |
| return COMMAND_RETURN_CODE; |
| } |
| |
| public String exceptionMethod() throws Exception { |
| if (throwException) { |
| throw new Exception("We're supposed to throw this"); |
| } |
| |
| return "OK"; |
| } |
| |
| @Override |
| @Validations( |
| requiredFields = |
| {@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "customfield", message = "You must enter a value for field.")}, |
| requiredStrings = |
| {@RequiredStringValidator(type = ValidatorType.SIMPLE, fieldName = "stringisrequired", message = "You must enter a value for string.")}, |
| emails = |
| { @EmailValidator(type = ValidatorType.SIMPLE, fieldName = "emailaddress", message = "You must enter a value for email.")}, |
| urls = |
| { @UrlValidator(type = ValidatorType.SIMPLE, fieldName = "hreflocation", message = "You must enter a value for email.")}, |
| stringLengthFields = |
| {@StringLengthFieldValidator(type = ValidatorType.SIMPLE, trim = true, minLength="10" , maxLength = "12", fieldName = "needstringlength", message = "You must enter a stringlength.")}, |
| intRangeFields = |
| { @IntRangeFieldValidator(type = ValidatorType.SIMPLE, fieldName = "intfield", min = "6", max = "10", message = "bar must be between ${min} and ${max}, current value is ${bar}.")}, |
| dateRangeFields = |
| {@DateRangeFieldValidator(type = ValidatorType.SIMPLE, fieldName = "datefield", min = "-1", max = "99", message = "bar must be between ${min} and ${max}, current value is ${bar}.")}, |
| expressions = { |
| @ExpressionValidator(expression = "foo > 1", message = "Foo must be greater than Bar 1. Foo = ${foo}, Bar = ${bar}."), |
| @ExpressionValidator(expression = "foo > 2", message = "Foo must be greater than Bar 2. Foo = ${foo}, Bar = ${bar}."), |
| @ExpressionValidator(expression = "foo > 3", message = "Foo must be greater than Bar 3. Foo = ${foo}, Bar = ${bar}."), |
| @ExpressionValidator(expression = "foo > 4", message = "Foo must be greater than Bar 4. Foo = ${foo}, Bar = ${bar}."), |
| @ExpressionValidator(expression = "foo > 5", message = "Foo must be greater than Bar 5. Foo = ${foo}, Bar = ${bar}.") |
| } |
| ) |
| public String execute() throws Exception { |
| if (foo == bar) { |
| return ERROR; |
| } |
| |
| baz = foo + bar; |
| |
| name = "HelloWorld"; |
| settings.put("foo", "bar"); |
| settings.put("black", "white"); |
| |
| someList.add("jack"); |
| someList.add("bill"); |
| someList.add("kerry"); |
| |
| return SUCCESS; |
| } |
| } |