* @param itemSB the technical item to add
* @param father
* @return
*/
private static Menu getAdminItem(SourceBean itemSB, Integer progStart, IEngUserProfile profile){
Menu node = new Menu();
try{
Integer menuId = new Integer(progStart*1000);
String functionality = (String) itemSB.getAttribute("functionality");
String code = (String) itemSB.getAttribute("code");
String titleCode = (String) itemSB.getAttribute("title");
String iconUrl = (String) itemSB.getAttribute("iconUrl");
String url = (String) itemSB.getAttribute("url");
node.setMenuId(menuId);
node.setCode(code);
node.setParentId(null);
node.setProg(progStart);
node.setName(titleCode);
node.setLevel(new Integer(1));
node.setDescr(titleCode);
node.setUrl(url);
node.setViewIcons(true);
node.setIconPath(iconUrl);
node.setAdminsMenu(true);
if (functionality == null) {
//father node
List subItems = itemSB.getAttributeAsList("ITEM");
Iterator it = subItems.iterator();
if (subItems == null || subItems.isEmpty())
node.setHasChildren(false);
else{
node.setHasChildren(true);
List lstChildren = new ArrayList();
while (it.hasNext()) {
//defines children
SourceBean subItem = (SourceBean) it.next();
if (isAbleToSeeItem(subItem, profile)) {
functionality = (String) subItem.getAttribute("functionality");
code = (String) subItem.getAttribute("code");
titleCode = (String) subItem.getAttribute("title");
iconUrl = (String) subItem.getAttribute("iconUrl");
url = (String) subItem.getAttribute("url");
Menu subNode = new Menu();
subNode.setMenuId(menuId++);
subNode.setCode(code);
subNode.setParentId(progStart*1000);
subNode.setName(titleCode);
subNode.setProg(progStart);
subNode.setLevel(new Integer(2));
subNode.setDescr(titleCode);
subNode.setUrl(url);
subNode.setViewIcons(true);
subNode.setIconPath(iconUrl);
subNode.setAdminsMenu(true);
lstChildren.add(subNode);
}
}
node.setLstChildren(lstChildren);
}