Menu menu = recoverMenuDetails(request, mod);
response.setAttribute(MENU, menu);
response.setAttribute(AdmintoolsConstants.MODALITY, mod);
IMenuDAO menuDao=DAOFactory.getMenuDAO();
menuDao.setUserProfile(profile);
// if there are some validation errors into the errorHandler does not write into DB
Collection errors = errorHandler.getErrors();
if (errors != null && errors.size() > 0) {
Iterator iterator = errors.iterator();
while (iterator.hasNext()) {
Object error = iterator.next();
if (error instanceof EMFValidationError) {
Integer parentMenuId = menu.getParentId();
Menu parentMenu = null;
if (parentMenuId != null) {
parentMenu = menuDao.loadMenuByID(parentMenuId);
}
if (parentMenu== null) {
throw new EMFUserError(EMFErrorSeverity.ERROR, "10001", messageBundle);
} else {
response.setAttribute(PARENT_ID, parentMenu.getMenuId());
}
return;
}
}
}
if(mod.equalsIgnoreCase(AdmintoolsConstants.DETAIL_INS)) {
menuDao.insertMenu(menu);
} else if(mod.equalsIgnoreCase(AdmintoolsConstants.DETAIL_MOD)) {
menuDao.modifyMenu(menu);
}
response.setAttribute(AdmintoolsConstants.LOOPBACK, "true");
}