From cd56fdec77541d695e3bc9266541672a5095388d Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Wed, 17 Jan 2007 10:06:03 +0000 Subject: [PATCH] * [ 1633995 ] AD_Process feature to run locally --- client/src/org/compiere/apps/ProcessCtl.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/client/src/org/compiere/apps/ProcessCtl.java b/client/src/org/compiere/apps/ProcessCtl.java index 6572b6970d..735783f1ce 100644 --- a/client/src/org/compiere/apps/ProcessCtl.java +++ b/client/src/org/compiere/apps/ProcessCtl.java @@ -448,10 +448,16 @@ public class ProcessCtl extends Thread log.fine(m_pi.toString()); boolean started = false; - //CacheReset must execute on client - boolean resetCache = CacheReset.class.getName().equals(m_pi.getClassName()); + //hengsin, bug [ 1633995 ] + boolean clientOnly = false; + Class processClass = null; + try { + processClass = Class.forName(m_pi.getClassName()); + if (ClientProcess.class.isAssignableFrom(processClass)) + clientOnly = true; + } catch (Exception e) {} - if (DB.isRemoteProcess() && !resetCache) + if (DB.isRemoteProcess() && !clientOnly) { Server server = CConnection.get().getServer(); try @@ -490,13 +496,12 @@ public class ProcessCtl extends Thread } } // Run locally - if (!started && !m_IsServerProcess) + if (!started && (!m_IsServerProcess || clientOnly )) { ProcessCall myObject = null; try { - Class myClass = Class.forName(m_pi.getClassName()); - myObject = (ProcessCall)myClass.newInstance(); + myObject = (ProcessCall)processClass.newInstance(); if (myObject == null) m_pi.setSummary("No Instance for " + m_pi.getClassName(), true); else