package org.tgdb.webapp.action.project;
import org.tgdb.frame.advanced.Workflow;
import org.tgdb.exceptions.ApplicationException;
import org.tgdb.TgDbCaller;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.tgdb.webapp.action.*;
public class SaveRoleAction extends TgDbAction {
public SaveRoleAction() {}
public String getName() {
return "SaveRoleAction";
}
public boolean performAction(HttpServletRequest request, ServletContext context) throws ApplicationException {
try {
HttpSession session = request.getSession();
String ass[] = request.getParameterValues("ass");
String other[] = request.getParameterValues("other");
String rid = (String)request.getParameter("rid");
TgDbCaller _caller = (TgDbCaller)session.getAttribute("caller");
if (isSubmit(request, "add")) {
projectManager.addPrivilegesToRole(other, new Integer(rid).intValue(), _caller);
} else if (isSubmit(request, "remove")) {
projectManager.removePrivilegesFromRole(ass, new Integer(rid).intValue(), _caller);
} else if (isSubmit(request, "submit")) {
String name = request.getParameter("name");
String comm = request.getParameter("comm");
projectManager.updateRole(Integer.parseInt(rid), name, comm, _caller);
} else if(isSubmit(request, "create")) {
String name = request.getParameter("name");
String comm = request.getParameter("comm");
int pid = _caller.getPid();
Workflow w = (Workflow)request.getAttribute("workflow");
if (w.getAttribute("pid")!=null)
pid = new Integer((String)w.getAttribute("pid")).intValue();
logger.debug("---------------------------------------->SaveRoleAction#performAction: workflow pid = "+w.getAttribute("pid")+" & request pid = "+request.getParameter("pid"));
int roleID = projectManager.createRole(name, comm, pid, _caller);
}
return true;
} catch (ApplicationException ae) {
logger.error("---------------------------------------->SaveRoleAction#performAction: Failed");
throw ae;
} catch (Exception e) {
logger.error("---------------------------------------->SaveRoleAction#performAction: Failed");
throw new ApplicationException("SaveRoleAction", e);
}
}
}