From 393655c8b307914da76e7f1b0e5c77944b6b90cd Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Mon, 10 Aug 2015 12:24:02 -0500 Subject: [PATCH 1/6] IDEMPIERE-2756 Background threads losing context when user log out / found issue when cached objects have lost their context but are still returned from cache (failing case second run of any ModelRunProcess web service) --- org.adempiere.base/src/org/compiere/model/PO.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org.adempiere.base/src/org/compiere/model/PO.java b/org.adempiere.base/src/org/compiere/model/PO.java index 430dd1fd48..95e3ed0e14 100644 --- a/org.adempiere.base/src/org/compiere/model/PO.java +++ b/org.adempiere.base/src/org/compiere/model/PO.java @@ -425,6 +425,8 @@ public abstract class PO */ public Properties getCtx() { + if (p_ctx.size() == 0 && Env.getCtx().size() > 0) + p_ctx = Env.getCtx(); return p_ctx; } // getCtx From 13af00a8403168a0303f2e2b7d8b60da1f244a9d Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 11 Aug 2015 07:33:04 -0500 Subject: [PATCH 2/6] IDEMPIERE-2675 Adding custom table support in Tree / fix error reported in forums - Initial Client Setup broken --- org.adempiere.base/src/org/compiere/model/MClient.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/org.adempiere.base/src/org/compiere/model/MClient.java b/org.adempiere.base/src/org/compiere/model/MClient.java index 4a6a020c1f..4acd6b10fb 100644 --- a/org.adempiere.base/src/org/compiere/model/MClient.java +++ b/org.adempiere.base/src/org/compiere/model/MClient.java @@ -362,7 +362,13 @@ public class MClient extends X_AD_Client success = tree.save(); AD_Tree_Activity_ID = tree.getAD_Tree_ID(); } - else if (value.equals(X_AD_Tree.TREETYPE_Menu)) // No Menu + else if ( value.equals(X_AD_Tree.TREETYPE_Menu) // No Menu + || value.equals(X_AD_Tree.TREETYPE_Table) // No Custom Table + || value.equals(X_AD_Tree.TREETYPE_User1) // No custom user trees + || value.equals(X_AD_Tree.TREETYPE_User2) + || value.equals(X_AD_Tree.TREETYPE_User3) + || value.equals(X_AD_Tree.TREETYPE_User4) + ) success = true; else // PC (Product Category), BB (BOM) { From d533d83b24cac2e598bf93f6574133feb8b6094b Mon Sep 17 00:00:00 2001 From: Thomas Bayen Date: Tue, 11 Aug 2015 08:31:32 -0500 Subject: [PATCH 3/6] IDEMPIERE-1618 building server and client product gives error Java returned: 13 --- org.adempiere.ui.swing-feature/product.ant | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/org.adempiere.ui.swing-feature/product.ant b/org.adempiere.ui.swing-feature/product.ant index f302877d73..a4e581c000 100644 --- a/org.adempiere.ui.swing-feature/product.ant +++ b/org.adempiere.ui.swing-feature/product.ant @@ -20,7 +20,7 @@ - + @@ -43,5 +43,16 @@ + + + + + + + \ No newline at end of file From e0aaa62d8d16ff1264d6fbbea58074ba0a52b59b Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 11 Aug 2015 08:33:42 -0500 Subject: [PATCH 4/6] IDEMPIERE-1618 building server and client product gives error Java returned: 13 / apply same patch from tbayen to server --- org.adempiere.server-feature/product.ant | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/org.adempiere.server-feature/product.ant b/org.adempiere.server-feature/product.ant index c2829b81af..d6d7b83fcd 100644 --- a/org.adempiere.server-feature/product.ant +++ b/org.adempiere.server-feature/product.ant @@ -20,7 +20,7 @@ - + @@ -43,5 +43,16 @@ + + + + + + + - \ No newline at end of file + From 9397af1b11a5883fb35801ec4fb996a233377891 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Tue, 11 Aug 2015 12:11:09 -0500 Subject: [PATCH 5/6] IDEMPIERE-2756 Background threads losing context when user log out / Fixed context management for web service. / integrated by Carlos Ruiz from hengsin --- .../org/idempiere/adinterface/CompiereService.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java index bd01f4651f..75f04413ea 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java @@ -39,8 +39,6 @@ public class CompiereService { private static CLogger log = CLogger.getCLogger(CompiereService.class); - private Properties m_ctx; - private int m_AD_Client_ID; private int m_AD_Org_ID; private int m_AD_User_ID; @@ -92,7 +90,7 @@ public class CompiereService { * @return context of current request */ public Properties getCtx() { - return m_ctx; + return Env.getCtx(); } /** @@ -113,11 +111,10 @@ public class CompiereService { { CompiereUtil.initWeb(); - m_ctx = new Properties(); m_connected = true; - ServerContext.setCurrentInstance(m_ctx); - Env.setContext( m_ctx, "#AD_Language", "en_US" ); + ServerContext.setCurrentInstance(new Properties()); + Env.setContext(getCtx(), "#AD_Language", "en_US" ); m_language = Language.getLanguage("en_US"); dateFormat = DisplayType.getDateFormat(DisplayType.Date, m_language); @@ -138,7 +135,6 @@ public class CompiereService { { Env.logout(); ServerContext.dispose(); - m_ctx = null; m_loggedin = false; m_connected = false; } @@ -255,7 +251,7 @@ public class CompiereService { m_locale = Lang; m_userName = MUser.getNameOfUser(m_AD_User_ID); - Env.setContext( m_ctx, "#AD_Language", Lang); + Env.setContext( getCtx(), "#AD_Language", Lang); m_language = Language.getLanguage(Lang); Env.verifyLanguage( getCtx(), m_language ); @@ -274,7 +270,7 @@ public class CompiereService { if (log.isLoggable(Level.INFO)) log.info(" #Date = "+ Env.getContextAsDate( getCtx(), "#Date")); Env.setContext( getCtx(), "#M_Warehouse_ID", M_Warehouse_ID ); - Env.setContext(m_ctx, Env.LANGUAGE, m_language.getAD_Language()); + Env.setContext(getCtx(), Env.LANGUAGE, m_language.getAD_Language()); // Create session MSession session = MSession.get (getCtx(), false); From 6ff666e30c9671cbcb971ffa7c06048ef0b2f886 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 11 Aug 2015 12:11:43 -0500 Subject: [PATCH 6/6] IDEMPIERE-2756 Background threads losing context when user log out - fix validation --- org.adempiere.base/src/org/compiere/model/PO.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/PO.java b/org.adempiere.base/src/org/compiere/model/PO.java index 95e3ed0e14..4492e9a891 100644 --- a/org.adempiere.base/src/org/compiere/model/PO.java +++ b/org.adempiere.base/src/org/compiere/model/PO.java @@ -425,8 +425,6 @@ public abstract class PO */ public Properties getCtx() { - if (p_ctx.size() == 0 && Env.getCtx().size() > 0) - p_ctx = Env.getCtx(); return p_ctx; } // getCtx @@ -4676,7 +4674,7 @@ public abstract class PO } private void checkValidContext() { - if (getCtx().size() == 0) + if (getCtx().isEmpty() && getCtx().getProperty("#AD_Client_ID") == null) throw new AdempiereException("Context lost"); }