From 608771cc2148f92cad9bcba1ecd4f36cf1c1b663 Mon Sep 17 00:00:00 2001 From: deathmeat Date: Wed, 13 Jun 2007 15:21:22 +0000 Subject: [PATCH] Bug introduced with new process invocation methods. processClass is not forced to be a SvrProcess class, it can be also a ReportStarter one (used with Jasper Reports) Fixed by class validation and minimal usage of reflection. Jasper Reports as well as normal processes are now both working again. --- base/src/org/adempiere/util/ProcessUtil.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/base/src/org/adempiere/util/ProcessUtil.java b/base/src/org/adempiere/util/ProcessUtil.java index ae1e370d77..7c214be143 100644 --- a/base/src/org/adempiere/util/ProcessUtil.java +++ b/base/src/org/adempiere/util/ProcessUtil.java @@ -78,7 +78,18 @@ public final class ProcessUtil { ProcessCall process = null; try { - process = (SvrProcess)processClass.newInstance (); + if(processClass.getName().equals("org.compiere.report.ReportStarter")) + { + Class clazz = Class.forName("org.compiere.report.ReportStarter"); + Object processObj = processClass.newInstance(); + process = (ProcessCall)clazz.cast(processObj); + } + else + { + Class clazz = Class.forName("org.compiere.process.SvrProcess"); + Object processObj = processClass.newInstance(); + process = (ProcessCall)clazz.cast(processObj); + } } catch (Exception ex) {