Subversion Repositories WebE

Rev

Rev 26 | Rev 34 | Go to most recent revision | 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.ServletActionContext;

import ch.ffhs.webE.dao.RelationshipTypeDAO;
import ch.ffhs.webE.dao.RelationshipTypeDAOImpl;
import ch.ffhs.webE.domain.RelationshipType;

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 RelationshipTypeDAO relTypeDAO = new RelationshipTypeDAOImpl();

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

    public String addOrUpdate()
    {
        relTypeDAO.saveOrUpdateRelType(relType);
        return SUCCESS;
    }

    public String list()
    {
        relTypeList = relTypeDAO.listRelationshipTypes();
        return SUCCESS;
    }
   
    public String edit()
    {
        int id = getIdParameter();

        if (id > 0)
        {
            relType = relTypeDAO.listRelTypeById(id);
            return SUCCESS;
        }
        else
        {
            return 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(ServletActionContext.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 = getIdParameter();

        // Check for malicious ID values
        if (id > 0)
        {
            relTypeDAO.deleteRelationshipType(id);
            return SUCCESS;
        }
        else
        {
            return ERROR;
        }
    }

    /*
     * Getters and setters
     */


    public RelationshipType getRelType()
    {
        return relType;
    }

    public void setRelType(RelationshipType relType)
    {
        this.relType = relType;
    }

    public List<RelationshipType> getRelTypeList()
    {
        return relTypeList;
    }

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