details:   https://code.openbravo.com/erp/devel/pi/rev/788979b3e20e
changeset: 19665:788979b3e20e
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.

diffstat:

 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/event/EntityPersistenceEventObserver.java
 |   5 +++
 src/org/openbravo/erpCommon/utility/Utility.java                               
                               |  15 ++++++++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diffs (59 lines):

diff -r 61bff1717ecf -r 788979b3e20e 
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
     Wed Feb 13 11:50:44 2013 +0100
+++ 
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/event/EntityPersistenceEventObserver.java
     Wed Feb 13 13:02:57 2013 +0100
@@ -19,6 +19,7 @@
 package org.openbravo.client.kernel.event;
 
 import org.openbravo.base.model.Entity;
+import org.openbravo.erpCommon.utility.Utility;
 
 /**
  * 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 (Utility.isImporting()) {
+      return false;
+    }
     final Entity targetEntity = event.getTargetInstance().getEntity();
     for (Entity entity : getObservedEntities()) {
       if (entity == targetEntity) {
diff -r 61bff1717ecf -r 788979b3e20e 
src/org/openbravo/erpCommon/utility/Utility.java
--- a/src/org/openbravo/erpCommon/utility/Utility.java  Wed Feb 13 11:50:44 
2013 +0100
+++ b/src/org/openbravo/erpCommon/utility/Utility.java  Wed Feb 13 13:02:57 
2013 +0100
@@ -72,6 +72,7 @@
 import org.openbravo.base.secureApp.VariablesSecureApp;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
+import org.openbravo.dal.service.OBQuery;
 import org.openbravo.data.FieldProvider;
 import org.openbravo.data.Sqlc;
 import org.openbravo.database.ConnectionProvider;
@@ -79,6 +80,7 @@
 import org.openbravo.erpCommon.obps.ActivationKey;
 import org.openbravo.erpCommon.obps.ActivationKey.LicenseClass;
 import org.openbravo.erpCommon.reference.PInstanceProcessData;
+import org.openbravo.model.ad.access.SessionStatus;
 import org.openbravo.model.ad.system.ClientInformation;
 import org.openbravo.model.ad.system.SystemInformation;
 import org.openbravo.model.ad.ui.Process;
@@ -2600,4 +2602,17 @@
       OBContext.restorePreviousMode();
     }
   }
+
+  /**
+   * Checks if the database is being imported.
+   * 
+   * 
+   * @return true if data is being imported, false if not
+   */
+  public static boolean isImporting() {
+    OBQuery<SessionStatus> obq = 
OBDal.getInstance().createQuery(SessionStatus.class,
+        " importing='Y'");
+    return (obq.count() > 0);
+  }
+
 }

------------------------------------------------------------------------------
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