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