* org.apache.struts.action.ActionForm,
* javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
public ActionForward modify(ActionMapping mapping, ActionForm form,HttpServletRequest req, HttpServletResponse resp) {
AccessCheckInteractionEnterOrEditForm accessCheckForm = (AccessCheckInteractionEnterOrEditForm)form;
MessageResources resources = getResources(req);
long commandEntryId = accessCheckForm.getCommandEntryId();
CommandEntryManager commandEntryManager = new CommandEntryManager(locale,session);
CommandEntry commandEntry = commandEntryManager.getCommandEntry(commandEntryId);
if (commandEntry == null || !(commandEntry instanceof AccessCheckCommandEntry)){
throw new InputException(getResources(req).getMessage(locale, "smssvc.editedInteractionDoesNotExistAnymore")); // may have been deleted
}
AccessCheckCommandEntry accessCheckCommandEntry = (AccessCheckCommandEntry)commandEntry;
checkAccessRights(req, accessCheckCommandEntry.getGroup());
commandEntryManager.evict(accessCheckCommandEntry); // do not modify in this session yet (might be erroneous)
accessCheckForm.toEntry(accessCheckCommandEntry, accessCheckCommandEntry.getGroup(), locale, session, resources);
LOGGER.info("User " + req.getUserPrincipal().getName().toLowerCase() + ": Command Entry with id: " + commandEntryId + " has been modified");
setCommandEntryInRequest(req, accessCheckCommandEntry);
return mapping.findForward("modified");
}