diff --git a/org.adempiere.base/src/org/compiere/model/MTable.java b/org.adempiere.base/src/org/compiere/model/MTable.java index 4b2862421c..87089c7610 100644 --- a/org.adempiere.base/src/org/compiere/model/MTable.java +++ b/org.adempiere.base/src/org/compiere/model/MTable.java @@ -576,8 +576,7 @@ public PO getPO (int Record_ID, String trxName) { if (po.get_ID() != Record_ID && Record_ID > 0) po = null; - else - return po; + return po; } } s_modelFactoryCache.remove(tableName); @@ -596,21 +595,19 @@ public PO getPO (int Record_ID, String trxName) { if (po.get_ID() != Record_ID && Record_ID > 0) po = null; - else - { - s_modelFactoryCache.put(tableName, factory); - break; - } + s_modelFactoryCache.put(tableName, factory); + break; } } } } - if (po == null) + if (po == null && s_modelFactoryCache.get(tableName) == null) { po = new GenericPO(tableName, getCtx(), Record_ID, trxName); if (po.get_ID() != Record_ID && Record_ID > 0) po = null; + // TODO: how to add GenericPO to the s_modelFactoryCache ?? } return po;