package ch.ffhs.webE.action; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.StrutsStatics; import ch.ffhs.webE.dao.RelationshipTypeDAO; import ch.ffhs.webE.dao.RelationshipTypeDAOImpl; import ch.ffhs.webE.domain.RelationshipType; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class RelationshipTypeAction extends ActionSupport implements ModelDriven { private static final long serialVersionUID = -3644691864156792139L; private RelationshipType relType = new RelationshipType(); private List relTypeList = new ArrayList(); private final RelationshipTypeDAO relTypeDAO = new RelationshipTypeDAOImpl(); @Override public RelationshipType getModel() { return this.relType; } public String addOrUpdate() { this.relTypeDAO.saveOrUpdateRelType(this.relType); return Action.SUCCESS; } public String list() { this.relTypeList = this.relTypeDAO.getRelTypes(); return Action.SUCCESS; } public String edit() { int id = this.getIdParameter(); if (id > 0) { this.relType = this.relTypeDAO.getRelTypeById(id); return Action.SUCCESS; } else { return Action.ERROR; } } /** * Gets the ID Parameter for update / delete requests * * @return int from the ID request. If not set or wrong, it gives back -1 */ private int getIdParameter() { HttpServletRequest request = (HttpServletRequest) ActionContext .getContext().get(StrutsStatics.HTTP_REQUEST); int id = -1; try { id = Integer.parseInt(request.getParameter("id")); } catch (Exception e) { // TODO: Logging - wrong parameter set } return id; } /** * deletes a relationshipType, gets the ID from the id parameter that was * submitted * * @return String - either success or error */ public String delete() { int id = this.getIdParameter(); // Check for malicious ID values if (id > 0) { this.relTypeDAO.deleteRelationshipType(id); return Action.SUCCESS; } else { return Action.ERROR; } } /* * Getters and setters */ public RelationshipType getRelType() { return this.relType; } public void setRelType(RelationshipType relType) { this.relType = relType; } public List getRelTypeList() { return this.relTypeList; } public void setRelTypeList(List relTypeList) { this.relTypeList = relTypeList; } }