details:   https://code.openbravo.com/erp/devel/main/rev/424f975b3099
changeset: 19626:424f975b3099
user:      Augusto Mauch <augusto.mauch <at> openbravo.com>
date:      Wed Feb 13 13:02:57 2013 +0100
summary:   Fixes issue 23060: Event handlers disabled when data is being 
imported

When data is being imported there will be a register in the AD_Session_Status 
table with the importing column set to true. In that case all event handlers 
will
 be disabled by means of making the EntityPersistenceEventObserver.isValidEvent 
method return false.

details:   https://code.openbravo.com/erp/devel/main/rev/a1c692901558
changeset: 19627:a1c692901558
user:      Augusto Mauch <augusto.mauch <at> openbravo.com>
date:      Wed Feb 13 14:44:20 2013 +0100
summary:   Fixes issue 23060: Disables event handlers using session info

Instead of querying the database each time an event handlers is going to be 
executed to check is the system is importing data, that information is taken 
from the session using TriggerHandler.getInstance().isDisabled().

diffstat:

 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/event/EntityPersistenceEventObserver.java
 |  5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diffs (22 lines):

diff -r 8b1d41a80e83 -r a1c692901558 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/event/EntityPersistenceEventObserver.java
--- 
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/event/EntityPersistenceEventObserver.java
     Tue Feb 12 14:01:39 2013 +0100
+++ 
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/event/EntityPersistenceEventObserver.java
     Wed Feb 13 14:44:20 2013 +0100
@@ -19,6 +19,7 @@
 package org.openbravo.client.kernel.event;
 
 import org.openbravo.base.model.Entity;
+import org.openbravo.dal.core.TriggerHandler;
 
 /**
  * A base listener which can be extended to perform specific actions when 
persisting entities.
@@ -45,6 +46,10 @@
    * @see #getObservedEntities()
    */
   protected boolean isValidEvent(EntityPersistenceEvent event) {
+    // Disable event handlers if data is being imported
+    if (TriggerHandler.getInstance().isDisabled()) {
+      return false;
+    }
     final Entity targetEntity = event.getTargetInstance().getEntity();
     for (Entity entity : getObservedEntities()) {
       if (entity == targetEntity) {

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to