details:   /erp/devel/pi/rev/eb3434537214
changeset: 7584:eb3434537214
user:      Iván Perdomo <ivan.perdomo <at> openbravo.com>
date:      Fri Jun 11 11:20:26 2010 +0200
summary:   Fixes issue 13618: Fixes problem with misfired status, and double 
deactivation
The Heartbeat process could be in misfired status, this status is now
considered when evaluating if is enabled. The double deactivation was due to a
wrong logic when checking the request.

details:   /erp/devel/pi/rev/3b82a8f8e67f
changeset: 7585:3b82a8f8e67f
user:      Iván Perdomo <ivan.perdomo <at> openbravo.com>
date:      Fri Jun 11 11:29:01 2010 +0200
summary:   Related to issue 13618: Restored public constants

diffstat:

 src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java |   4 ++-
 src/org/openbravo/erpCommon/ad_process/TestHeartbeat.java    |  14 +++++++++--
 2 files changed, 14 insertions(+), 4 deletions(-)

diffs (68 lines):

diff -r 62566014690e -r 3b82a8f8e67f 
src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java
--- a/src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java      Fri Jun 
11 12:05:40 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java      Fri Jun 
11 11:29:01 2010 +0200
@@ -292,7 +292,9 @@
     final OBCriteria<ProcessRequest> prCriteria = 
OBDal.getInstance().createCriteria(
         ProcessRequest.class);
     
prCriteria.add(Expression.and(Expression.eq(ProcessRequest.PROPERTY_PROCESS, 
HBProcess),
-        Expression.eq(ProcessRequest.PROPERTY_STATUS, STATUS_SCHEDULED)));
+        Expression.or(Expression.eq(ProcessRequest.PROPERTY_STATUS,
+            org.openbravo.scheduling.Process.SCHEDULED), Expression.eq(
+            ProcessRequest.PROPERTY_STATUS, 
org.openbravo.scheduling.Process.MISFIRED))));
     final List<ProcessRequest> prRequestList = prCriteria.list();
 
     if (prRequestList.size() == 0) { // Resetting state to disabled
diff -r 62566014690e -r 3b82a8f8e67f 
src/org/openbravo/erpCommon/ad_process/TestHeartbeat.java
--- a/src/org/openbravo/erpCommon/ad_process/TestHeartbeat.java Fri Jun 11 
12:05:40 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_process/TestHeartbeat.java Fri Jun 11 
11:29:01 2010 +0200
@@ -31,6 +31,7 @@
 
 import org.hibernate.criterion.Expression;
 import org.openbravo.base.filter.IsIDFilter;
+import org.openbravo.base.filter.ValueListFilter;
 import org.openbravo.base.provider.OBProvider;
 import org.openbravo.base.secureApp.HttpSecureAppServlet;
 import org.openbravo.base.secureApp.VariablesSecureApp;
@@ -58,6 +59,7 @@
   private static final String SystemInfomation_ID = "0";
   private static final String EVERY_N_DAYS = "N";
   private static final String SCHEDULE = "S";
+  private static final ValueListFilter activeFilter = new ValueListFilter("Y", 
"N");
 
   @Override
   public void doPost(HttpServletRequest request, HttpServletResponse response)
@@ -73,9 +75,10 @@
         SystemInfomation_ID);
 
     final String clickedButton = 
vars.getStringParameter("inpLastFieldChanged");
+    final String isHBActive = vars.getStringParameter("inptestproxy", 
activeFilter);
 
     if (HeartbeatProcess.isHeartbeatEnabled()
-        || clickedButton.equalsIgnoreCase("inpisheartbeatactive")) {
+        || clickedButton.equalsIgnoreCase("inpisheartbeatactive") || 
"Y".equals(isHBActive)) {
       // Disable Heartbeat
       try {
 
@@ -95,7 +98,10 @@
         final OBCriteria<ProcessRequest> prCriteria = 
OBDal.getInstance().createCriteria(
             ProcessRequest.class);
         
prCriteria.add(Expression.and(Expression.eq(ProcessRequest.PROPERTY_PROCESS, 
HBProcess),
-            Expression.eq(ProcessRequest.PROPERTY_STATUS, 
HeartbeatProcess.STATUS_SCHEDULED)));
+            Expression.or(Expression.eq(ProcessRequest.PROPERTY_STATUS,
+                org.openbravo.scheduling.Process.SCHEDULED), Expression.eq(
+                ProcessRequest.PROPERTY_STATUS, 
org.openbravo.scheduling.Process.MISFIRED))));
+
         final List<ProcessRequest> requestList = prCriteria.list();
 
         if (requestList.size() != 0) {
@@ -163,7 +169,9 @@
         final OBCriteria<ProcessRequest> prCriteria = 
OBDal.getInstance().createCriteria(
             ProcessRequest.class);
         
prCriteria.add(Expression.and(Expression.eq(ProcessRequest.PROPERTY_PROCESS, 
HBProcess),
-            Expression.eq(ProcessRequest.PROPERTY_STATUS, 
HeartbeatProcess.STATUS_UNSCHEDULED)));
+            Expression.or(Expression.eq(ProcessRequest.PROPERTY_STATUS,
+                org.openbravo.scheduling.Process.UNSCHEDULED), Expression.eq(
+                ProcessRequest.PROPERTY_STATUS, 
org.openbravo.scheduling.Process.MISFIRED))));
         final List<ProcessRequest> requestList = prCriteria.list();
 
         ProcessRequest pr = null;

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to