From cc04468c7d05e793d22de01d5926ac8d9056748d Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Fri, 24 Dec 2010 11:55:02 +0800 Subject: [PATCH] added null check for Parent_ID element. --- .../pipo2/handler/MenuElementHandler.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MenuElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MenuElementHandler.java index b7a2ac8b20..2053f48bc3 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MenuElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MenuElementHandler.java @@ -54,7 +54,7 @@ public class MenuElementHandler extends AbstractElementHandler { public void startElement(Properties ctx, Element element) throws SAXException { - + List excludes = defaultExcludeList(X_AD_Menu.Table_Name); X_AD_Menu mMenu = findPO(ctx, element); @@ -69,7 +69,7 @@ public class MenuElementHandler extends AbstractElementHandler { { filler.setInteger("AD_Menu_ID"); } - + List notFounds = filler.autoFill(excludes); if (notFounds.size() > 0) { element.defer = true; @@ -78,7 +78,7 @@ public class MenuElementHandler extends AbstractElementHandler { if (!mMenu.is_new() && !mMenu.is_Changed()) return; - + X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Menu.Table_Name, X_AD_Menu.Table_ID); String action = null; @@ -103,14 +103,16 @@ public class MenuElementHandler extends AbstractElementHandler { log.info("setmenu:" + e); } } - + Element parentElement = element.properties.get("Parent_ID"); int parentId = 0; - if (ReferenceUtils.isIDLookup(parentElement) || ReferenceUtils.isUUIDLookup(parentElement)) { - parentId = ReferenceUtils.resolveReference(ctx, parentElement); - } else { - String parent = getStringValue(element, "Parent_ID"); - parentId = findIdByName(ctx, "AD_Menu", parent); + if (parentElement != null) { + if (ReferenceUtils.isIDLookup(parentElement) || ReferenceUtils.isUUIDLookup(parentElement)) { + parentId = ReferenceUtils.resolveReference(ctx, parentElement); + } else { + String parent = getStringValue(element, "Parent_ID"); + parentId = findIdByName(ctx, "AD_Menu", parent); + } } StringBuffer updateSQL = null;