for(int i=0; i<roles.length; i++) {
String idRoleStr = (String)attrsList.get(i);
roles[i] = DAOFactory.getRoleDAO().loadByID(new Integer(idRoleStr));
}
Menu menu = null;
if(mod.equalsIgnoreCase(AdmintoolsConstants.DETAIL_INS)) {
String idParent = (String)request.getAttribute(DetailMenuModule.PARENT_ID);
menu = new Menu();
menu.setHasChildren(false);
if(idParent!=null)
menu.setParentId(Integer.valueOf(idParent));
else
menu.setParentId(null);
} else if(mod.equalsIgnoreCase(AdmintoolsConstants.DETAIL_MOD)) {
String idMenu = (String)request.getAttribute(DetailMenuModule.MENU_ID);
menu = DAOFactory.getMenuDAO().loadMenuByID(Integer.valueOf(idMenu));
}
menu.setName(name);
menu.setDescr(description);
menu.setRoles(roles);
String nodeContent = (String) request.getAttribute("nodeContent");
if ("nodeDocument".equals(nodeContent)) {
// menu node with document
String objectId=(String)request.getAttribute(DetailMenuModule.MENU_OBJ);
menu.setObjId(Integer.valueOf(objectId));
String objParameters = (String) request.getAttribute("objParameters");
if (objParameters != null && !objParameters.trim().equals("")) {
menu.setObjParameters(objParameters);
} else {
menu.setObjParameters(null);
}
String subobjectName = (String) request.getAttribute("subobjectName");
if (subobjectName != null && !subobjectName.trim().equals("")) {
menu.setSubObjName(subobjectName);
} else {
menu.setSubObjName(null);
}
String snapshotName = (String) request.getAttribute("snapshotName");
if (snapshotName != null && !snapshotName.trim().equals("")) {
menu.setSnapshotName(snapshotName);
} else {
menu.setSnapshotName(null);
}
String snapshotHistoryStr = (String) request.getAttribute("snapshotHistory");
if (snapshotHistoryStr != null && !snapshotHistoryStr.trim().equals("")) {
Integer snapshotHistory = null;
try {
snapshotHistory = new Integer(Integer.parseInt(snapshotHistoryStr));
} catch (Exception e) {
logger.error("Error while parsing [" + snapshotHistoryStr + "] into an integer", e);
snapshotHistory = new Integer(0);
}
menu.setSnapshotHistory(snapshotHistory);
} else {
menu.setSnapshotHistory(null);
}
menu.setStaticPage(null);
menu.setExternalApplicationUrl(null);
menu.setFunctionality(null);
menu.setInitialPath(null);
String hideToolbarB=(String)request.getAttribute("hideToolbar");
String hideSlidersB=(String)request.getAttribute("hideSliders");
if(hideToolbarB!=null)menu.setHideToolbar(Boolean.valueOf(hideToolbarB).booleanValue());
else menu.setHideToolbar(false);
if(hideSlidersB!=null)menu.setHideSliders(Boolean.valueOf(hideSlidersB).booleanValue());
else menu.setHideSliders(false);
} else if ("nodeStaticPage".equals(nodeContent)) {
// menu node with static page
menu.setExternalApplicationUrl(null);
menu.setObjId(null);
menu.setSubObjName(null);
menu.setObjParameters(null);
menu.setSnapshotName(null);
menu.setSnapshotHistory(null);
menu.setFunctionality(null);
menu.setInitialPath(null);
menu.setHideToolbar(false);
menu.setHideSliders(false);
String staticPage = (String) request.getAttribute("staticpage");
menu.setStaticPage(staticPage);
} else if ("nodeFunctionality".equals(nodeContent)) {
// menu node with static page
menu.setObjId(null);
menu.setSubObjName(null);
menu.setObjParameters(null);
menu.setSnapshotName(null);
menu.setSnapshotHistory(null);
menu.setStaticPage(null);
menu.setExternalApplicationUrl(null);
menu.setHideToolbar(false);
menu.setHideSliders(false);
String functionality = (String) request.getAttribute("functionality");
menu.setFunctionality(functionality);
if (functionality.equals("DocumentUserManagement")) {
String initialPath = (String) request.getAttribute("initialPath");
menu.setInitialPath(initialPath);
} else {
menu.setInitialPath(null);
}
} else if ("nodeExternalApp".equals(nodeContent)) {
// url for external application
String url = (String) request.getAttribute(DetailMenuModule.EXT_APP_URL);
menu.setExternalApplicationUrl(url);
menu.setObjId(null);
menu.setSubObjName(null);
menu.setObjParameters(null);
menu.setSnapshotName(null);
menu.setSnapshotHistory(null);
menu.setStaticPage(null);
menu.setFunctionality(null);
menu.setInitialPath(null);
menu.setHideToolbar(false);
menu.setHideSliders(false);
} else {
// empty menu node
menu.setObjId(null);
menu.setSubObjName(null);
menu.setObjParameters(null);
menu.setSnapshotName(null);
menu.setSnapshotHistory(null);
menu.setStaticPage(null);
menu.setExternalApplicationUrl(null);
menu.setFunctionality(null);
menu.setInitialPath(null);
menu.setHideToolbar(false);
menu.setHideSliders(false);
}
String viewIconsB=(String)request.getAttribute("viewicons");
if(viewIconsB!=null)menu.setViewIcons(Boolean.valueOf(viewIconsB).booleanValue());
else menu.setViewIcons(false);
return menu;
}