package org.apache.struts.edit.action; import com.opensymphony.xwork2.ActionSupport; import org.apache.struts.edit.model.Person; import org.apache.struts.edit.model.State; import org.apache.struts.edit.service.EditService; import org.apache.struts.edit.service.EditServiceInMemory; import javax.validation.Valid; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Acts as a controller to handle actions * related to editing a Person. * @author bruce phillips * */ public class EditAction extends ActionSupport { private static final long serialVersionUID = 1L; private EditService editService = new EditServiceInMemory(); @Valid private Person personBean; private String[] sports = {"football", "baseball", "basketball"}; private String[] genders = {"male", "female", "not sure"}; private List<State> states; private String[] carModelsAvailable = {"Ford", "Chrysler", "Toyota", "Nissan"}; public String execute() throws Exception { editService.savePerson(getPersonBean()); return SUCCESS; } public String input() throws Exception { setPersonBean(editService.getPerson()); return INPUT; } public Person getPersonBean() { return personBean; } public void setPersonBean(Person person) { personBean = person; } public List<String> getSports() { return Arrays.asList(sports); } public List<String> getGenders() { return Arrays.asList(genders); } public List<State> getStates() { states = new ArrayList<>(); states.add(new State("AZ", "Arizona")); states.add(new State("CA", "California")); states.add(new State("FL", "Florida")); states.add(new State("KS", "Kansas")); states.add(new State("NY", "New York")); return states; } public String[] getCarModelsAvailable() { return carModelsAvailable; } }