Subversion Repositories WebE

Rev

Rev 34 | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed

1
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.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<RelationshipType>
{

  private static final long serialVersionUID = -3644691864156792139L;

  private RelationshipType relType = new RelationshipType();
  private List<RelationshipType> relTypeList = new ArrayList<RelationshipType>();
  private final RelationshipTypeDAO relTypeDAO = new RelationshipTypeDAO();

  public boolean edit = false;
  public boolean added = false;
  public RelationshipType savedRelType;

  @Override
  public RelationshipType getModel()
  {
    return this.relType;
  }

  public String addOrUpdate()
  {
    this.relTypeDAO.saveOrUpdate(this.relType);
    return Action.SUCCESS;
  }

  public String list()
  {
    this.relTypeList = this.relTypeDAO.getList();
    return Action.SUCCESS;
  }

  public String edit()
  {
    int id = this.getIdParameter();

    String result = Action.ERROR;
    if (id > 0)
    {
      this.relType = this.relTypeDAO.getById(id);
      this.edit = true;
      result = Action.SUCCESS;
    }

    this.list();

    return result;
  }

  /**
   * 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.delete(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<RelationshipType> getRelTypeList()
  {
    return this.relTypeList;
  }

  public void setRelTypeList(List<RelationshipType> relTypeList)
  {
    this.relTypeList = relTypeList;
  }
}