details:   https://code.openbravo.com/erp/devel/pi/rev/4d1741a4d62d
changeset: 30686:4d1741a4d62d
user:      Carlos Aristu <carlos.aristu <at> openbravo.com>
date:      Fri Nov 25 14:05:04 2016 +0100
summary:   fixes issue 34566: Classes implementing Process can not use CDI 
automatically

Now classes implementing org.openbravo.scheduling.Process interface are 
instantiated using Weld. This allows the usage of CDI with them.

diffstat:

 modules/org.openbravo.base.weld/src/META-INF/beans.xml                |  6 
+++++-
 src-test/src/org/openbravo/test/scheduling/ProcessSchedulingTest.java |  4 ++--
 src/org/openbravo/scheduling/ProcessRunner.java                       |  3 ++-
 3 files changed, 9 insertions(+), 4 deletions(-)

diffs (64 lines):

diff -r 74a3926b798b -r 4d1741a4d62d 
modules/org.openbravo.base.weld/src/META-INF/beans.xml
--- a/modules/org.openbravo.base.weld/src/META-INF/beans.xml    Mon Nov 21 
10:41:15 2016 -0800
+++ b/modules/org.openbravo.base.weld/src/META-INF/beans.xml    Fri Nov 25 
14:05:04 2016 +0100
@@ -37,7 +37,11 @@
         <weld:exclude name="org.openbravo.model.**"/>
         <weld:exclude name="org.openbravo.examples.**"/>
         <weld:exclude name="org.openbravo.authentication.**"/>
-        <weld:exclude name="org.openbravo.**.ad_*.**"/>
+        <weld:exclude name="org.openbravo.**.ad_callouts.**"/>
+        <weld:exclude name="org.openbravo.**.ad_combos.**"/>
+        <weld:exclude name="org.openbravo.**.ad_forms.**"/>
+        <weld:exclude name="org.openbravo.**.ad_help.**"/>
+        <weld:exclude name="org.openbravo.**.ad_reports.**"/>
         <weld:exclude name="org.openbravo.**.test.**">
           <weld:if-class-available 
name="!org.jboss.ejb3.api.spi.EJBContainerWrapper"/>
         </weld:exclude>
diff -r 74a3926b798b -r 4d1741a4d62d 
src-test/src/org/openbravo/test/scheduling/ProcessSchedulingTest.java
--- a/src-test/src/org/openbravo/test/scheduling/ProcessSchedulingTest.java     
Mon Nov 21 10:41:15 2016 -0800
+++ b/src-test/src/org/openbravo/test/scheduling/ProcessSchedulingTest.java     
Fri Nov 25 14:05:04 2016 +0100
@@ -27,6 +27,7 @@
 
 import org.junit.Test;
 import org.openbravo.base.secureApp.VariablesSecureApp;
+import org.openbravo.base.weld.test.WeldBaseTest;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.model.ad.ui.ProcessRun;
 import org.openbravo.scheduling.Process;
@@ -35,7 +36,6 @@
 import org.openbravo.scheduling.ProcessRunner;
 import org.openbravo.service.db.DalBaseProcess;
 import org.openbravo.service.db.DalConnectionProvider;
-import org.openbravo.test.base.OBBaseTest;
 
 /**
  * Test cases for process schedule and process runner
@@ -43,7 +43,7 @@
  * @author alostale
  *
  */
-public class ProcessSchedulingTest extends OBBaseTest {
+public class ProcessSchedulingTest extends WeldBaseTest {
   private static final String anyProcessID = "800170";
   private static final String USER_ID = "100";
   private static final String ROLE_ID = "0";
diff -r 74a3926b798b -r 4d1741a4d62d 
src/org/openbravo/scheduling/ProcessRunner.java
--- a/src/org/openbravo/scheduling/ProcessRunner.java   Mon Nov 21 10:41:15 
2016 -0800
+++ b/src/org/openbravo/scheduling/ProcessRunner.java   Fri Nov 25 14:05:04 
2016 +0100
@@ -27,6 +27,7 @@
 import javax.servlet.ServletException;
 
 import org.apache.log4j.Logger;
+import org.openbravo.base.weld.WeldUtils;
 import org.openbravo.database.ConnectionProvider;
 import org.openbravo.erpCommon.utility.SequenceIdData;
 
@@ -55,7 +56,7 @@
 
     Process process = null;
     try {
-      process = bundle.getProcessClass().newInstance();
+      process = 
WeldUtils.getInstanceFromStaticBeanManager(bundle.getProcessClass());
 
     } catch (final Exception e) {
       log.error(e.getMessage(), e);

------------------------------------------------------------------------------
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to