From 546c85b4d6e2278777fff8e2b4661e61dff318a8 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Wed, 11 Sep 2013 14:46:03 -0500 Subject: [PATCH] IDEMPIERE-1349 Setup Wizard wrong translation --- .../src/org/compiere/model/MDocType.java | 1 + org.adempiere.base/src/org/compiere/wf/MWFNode.java | 10 ++++++---- org.adempiere.base/src/org/compiere/wf/MWorkflow.java | 7 ++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MDocType.java b/org.adempiere.base/src/org/compiere/model/MDocType.java index 95eae88f4d..a0aec2dc21 100644 --- a/org.adempiere.base/src/org/compiere/model/MDocType.java +++ b/org.adempiere.base/src/org/compiere/model/MDocType.java @@ -364,6 +364,7 @@ public class MDocType extends X_C_DocType */ public String getNameTrl() { + // warning: to cache this translation you need to change the cache to include language (see i.e. MWFNode) return get_Translation (COLUMNNAME_Name, Env.getAD_Language(getCtx())); } // getNameTrl diff --git a/org.adempiere.base/src/org/compiere/wf/MWFNode.java b/org.adempiere.base/src/org/compiere/wf/MWFNode.java index e3f8398bc3..241b511109 100644 --- a/org.adempiere.base/src/org/compiere/wf/MWFNode.java +++ b/org.adempiere.base/src/org/compiere/wf/MWFNode.java @@ -64,7 +64,7 @@ public class MWFNode extends X_AD_WF_Node */ public static MWFNode get (Properties ctx, int AD_WF_Node_ID) { - Integer key = new Integer (AD_WF_Node_ID); + String key = Env.getAD_Language(ctx) + "_" + AD_WF_Node_ID; MWFNode retValue = (MWFNode) s_cache.get (key); if (retValue != null) return retValue; @@ -75,7 +75,7 @@ public class MWFNode extends X_AD_WF_Node } // get /** Cache */ - private static CCache s_cache = new CCache (Table_Name, 50); + private static CCache s_cache = new CCache (Table_Name, 50); /************************************************************************** @@ -139,9 +139,11 @@ public class MWFNode extends X_AD_WF_Node loadNext(); loadTrl(); // Save to Cache - Integer key = null; + String key = null; try { - key = new Integer (rs.getInt("AD_WF_Node_ID")); + Integer wfnodeid = new Integer (rs.getInt("AD_WF_Node_ID")); + if (wfnodeid != null && wfnodeid.intValue() > 0) + key = Env.getAD_Language(ctx) + "_" + wfnodeid; } catch (SQLException e) { throw new AdempiereException(e); } diff --git a/org.adempiere.base/src/org/compiere/wf/MWorkflow.java b/org.adempiere.base/src/org/compiere/wf/MWorkflow.java index 9fa1cec49c..0a90d574a5 100644 --- a/org.adempiere.base/src/org/compiere/wf/MWorkflow.java +++ b/org.adempiere.base/src/org/compiere/wf/MWorkflow.java @@ -70,12 +70,13 @@ public class MWorkflow extends X_AD_Workflow */ public static MWorkflow get (Properties ctx, int AD_Workflow_ID) { - MWorkflow retValue = (MWorkflow)s_cache.get(AD_Workflow_ID); + String key = Env.getAD_Language(ctx) + "_" + AD_Workflow_ID; + MWorkflow retValue = (MWorkflow)s_cache.get(key); if (retValue != null) return retValue; retValue = new MWorkflow (ctx, AD_Workflow_ID, null); if (retValue.get_ID() != 0) - s_cache.put(AD_Workflow_ID, retValue); + s_cache.put(key, retValue); return retValue; } // get @@ -144,7 +145,7 @@ public class MWorkflow extends X_AD_Workflow /** Single Cache */ - private static CCache s_cache = new CCache(Table_Name, 20); + private static CCache s_cache = new CCache(Table_Name, 20); /** Document Value Cache */ private static CCache s_cacheDocValue = new CCache (Table_Name, Table_Name+"_Document_Value", 5); /** Static Logger */