From 9740f2bf18add0fa95ec8a59e7c2d8f7457e0ec0 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 28 May 2024 16:23:25 +0200 Subject: [PATCH] IDEMPIERE-5849 Fix PackOut broken with GenericPO after Cache Reset (#2382) --- org.adempiere.base/src/org/adempiere/model/GenericPO.java | 3 ++- org.adempiere.base/src/org/compiere/model/POInfo.java | 1 + org.adempiere.pipo/src/org/adempiere/pipo2/PoExporter.java | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/org.adempiere.base/src/org/adempiere/model/GenericPO.java b/org.adempiere.base/src/org/adempiere/model/GenericPO.java index 23656aa137..50463421ea 100644 --- a/org.adempiere.base/src/org/adempiere/model/GenericPO.java +++ b/org.adempiere.base/src/org/adempiere/model/GenericPO.java @@ -26,6 +26,7 @@ import java.math.BigDecimal; import java.sql.ResultSet; import java.util.Properties; +import org.adempiere.util.ServerContextPropertiesWrapper; import org.compiere.model.MTable; import org.compiere.model.PO; import org.compiere.model.POInfo; @@ -346,7 +347,7 @@ public class GenericPO extends PO implements DocAction { * @author Low Heng Sin * */ -class PropertiesWrapper extends Properties { +class PropertiesWrapper extends ServerContextPropertiesWrapper { /** * generated serial id */ diff --git a/org.adempiere.base/src/org/compiere/model/POInfo.java b/org.adempiere.base/src/org/compiere/model/POInfo.java index ce09001f51..4e4e559351 100644 --- a/org.adempiere.base/src/org/compiere/model/POInfo.java +++ b/org.adempiere.base/src/org/compiere/model/POInfo.java @@ -584,6 +584,7 @@ public class POInfo implements Serializable } catch (Exception e) { + CLogger.get().log(Level.WARNING, "Cannot create Lookup for " + m_columns[index].ColumnName + "[" + m_columns[index].AD_Column_ID + "]", e); lookup = null; // cannot create Lookup } return lookup; diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PoExporter.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PoExporter.java index 115cad3cdb..f8dd4a3a4f 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/PoExporter.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PoExporter.java @@ -309,6 +309,8 @@ public class PoExporter { String lookupColumn = info.getColumnLookup(i).getColumnName(); tableName = lookupColumn.substring(0, lookupColumn.indexOf(".")); } + if (tableName == null) + throw new AdempiereException("Could not find the related table for column " + po.get_TableName() + "." + columnName); if ( info.getColumnDisplayType(i) == DisplayType.ChosenMultipleSelectionList || DisplayType.isMultiID(info.getColumnDisplayType(i))) { addTableReferenceMulti(columnName, tableName, new AttributesImpl());