From 6ff4f0aea37daf5dbc0c524b40b6e33421fc2978 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Sun, 11 Dec 2011 10:07:48 +0800 Subject: [PATCH] IDEMPIERE-106 Add getUUIDColumnName function to PO. (transplanted from cb4db1801b53b0208f47bddc93529c68f30eb915) --- .../src/org/compiere/model/MColumn.java | 2 +- org.adempiere.base/src/org/compiere/model/PO.java | 12 ++++++------ .../org/adempiere/pipo2/AbstractElementHandler.java | 2 +- .../src/org/adempiere/pipo2/ReferenceUtils.java | 7 ++++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MColumn.java b/org.adempiere.base/src/org/compiere/model/MColumn.java index d2d5be642d..17afe81858 100644 --- a/org.adempiere.base/src/org/compiere/model/MColumn.java +++ b/org.adempiere.base/src/org/compiere/model/MColumn.java @@ -278,7 +278,7 @@ public class MColumn extends X_AD_Column if (isAllowCopy()) { if ( isKey() || getColumnSQL() != null - || colname.equals(getAD_Table().getTableName()+"_UU") + || colname.equals(PO.getUUIDColumnName(getAD_Table().getTableName())) || isStandardColumn() ) setIsAllowCopy(false); diff --git a/org.adempiere.base/src/org/compiere/model/PO.java b/org.adempiere.base/src/org/compiere/model/PO.java index 221c768e56..46e9ee1a75 100644 --- a/org.adempiere.base/src/org/compiere/model/PO.java +++ b/org.adempiere.base/src/org/compiere/model/PO.java @@ -3164,7 +3164,7 @@ public abstract class PO //uuid column int uuidColumnId = DB.getSQLValue(get_TrxName(), "SELECT col.AD_Column_ID FROM AD_Column col INNER JOIN AD_Table tbl ON col.AD_Table_ID = tbl.AD_Table_ID WHERE tbl.TableName=? AND col.ColumnName=?", - tableName+"_Trl", tableName+"_Trl_UU"); + tableName+"_Trl", PO.getUUIDColumnName(tableName+"_Trl")); StringBuffer sql = new StringBuffer ("INSERT INTO ") .append(tableName).append("_Trl (AD_Language,") @@ -3172,7 +3172,7 @@ public abstract class PO .append(iColumns) .append(" IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy"); if (uuidColumnId > 0 && uuidFunction) - sql.append(",").append(tableName).append("_Trl_UU ) "); + sql.append(",").append(PO.getUUIDColumnName(tableName+"_Trl")).append(" ) "); else sql.append(" ) "); sql.append("SELECT l.AD_Language,t.") @@ -3344,9 +3344,9 @@ public abstract class PO //uuid column int uuidColumnId = DB.getSQLValue(get_TrxName(), "SELECT col.AD_Column_ID FROM AD_Column col INNER JOIN AD_Table tbl ON col.AD_Table_ID = tbl.AD_Table_ID WHERE tbl.TableName=? AND col.ColumnName=?", - acctTable, acctTable+"_UU"); + acctTable, PO.getUUIDColumnName(acctTable)); if (uuidColumnId > 0 && uuidFunction) - sb.append(",").append(acctTable).append("_UU"); + sb.append(",").append(PO.getUUIDColumnName(acctTable)); // .. SELECT sb.append(") SELECT ").append(get_ID()) .append(", p.C_AcctSchema_ID, p.AD_Client_ID,0,'Y', SysDate,") @@ -3417,14 +3417,14 @@ public abstract class PO //uuid column int uuidColumnId = DB.getSQLValue(get_TrxName(), "SELECT col.AD_Column_ID FROM AD_Column col INNER JOIN AD_Table tbl ON col.AD_Table_ID = tbl.AD_Table_ID WHERE tbl.TableName=? AND col.ColumnName=?", - tableName, tableName+"_UU"); + tableName, PO.getUUIDColumnName(tableName)); StringBuffer sb = new StringBuffer ("INSERT INTO ") .append(tableName) .append(" (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy, " + "AD_Tree_ID, Node_ID, Parent_ID, SeqNo"); if (uuidColumnId > 0 && uuidFunction) - sb.append(", ").append(tableName).append("_UU) "); + sb.append(", ").append(PO.getUUIDColumnName(tableName)).append(") "); else sb.append(") "); sb.append("SELECT t.AD_Client_ID, 0, 'Y', SysDate, "+getUpdatedBy()+", SysDate, "+getUpdatedBy()+"," diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java b/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java index f1bc436990..39280d9f3d 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java @@ -585,7 +585,7 @@ public abstract class AbstractElementHandler implements ElementHandler { protected T findPO(Properties ctx, Element element) { T po = null; String tableName = element.getElementValue(); - String uuidColumn = tableName + "_UU"; + String uuidColumn = PO.getUUIDColumnName(tableName); String idColumn = tableName + "_ID"; if (element.properties.containsKey(uuidColumn)) { String uuid = element.properties.get(uuidColumn).contents.toString(); diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/ReferenceUtils.java b/org.adempiere.pipo/src/org/adempiere/pipo2/ReferenceUtils.java index c25a699a92..1226738d14 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/ReferenceUtils.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/ReferenceUtils.java @@ -3,6 +3,7 @@ package org.adempiere.pipo2; import java.util.Properties; import org.compiere.model.MTable; +import org.compiere.model.PO; import org.compiere.util.DB; import org.compiere.util.Env; import org.xml.sax.helpers.AttributesImpl; @@ -39,7 +40,7 @@ public class ReferenceUtils { } else if (isUUIDLookup(e)) { - return IDFinder.findIdByColumn(referenceKey, referenceKey + "_UU", value.trim(), Env.getAD_Client_ID(ctx), trxName); + return IDFinder.findIdByColumn(referenceKey, PO.getUUIDColumnName(referenceKey), value.trim(), Env.getAD_Client_ID(ctx), trxName); } else { @@ -94,9 +95,9 @@ public class ReferenceUtils { else { MTable table = MTable.get(Env.getCtx(), tableName); - if (table.getColumn(tableName + "_UU") != null) + if (table.getColumn(PO.getUUIDColumnName(tableName)) != null) { - sql = "SELECT " + tableName + "_UU" + " FROM " + sql = "SELECT " + PO.getUUIDColumnName(tableName) + " FROM " + tableName + " WHERE " + keyColumn + " = ?"; String value = DB.getSQLValueString(null, sql, id); if (value != null && value.trim().length() > 0)