You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2009/12/13 20:49:58 UTC

svn commit: r890107 - /ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/event/ManagerEvents.java

Author: jleroux
Date: Sun Dec 13 19:49:58 2009
New Revision: 890107

URL: http://svn.apache.org/viewvc?rev=890107&view=rev
Log:
Cleaner: try catch finally block around EntityLisIterator was missing

Modified:
    ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/event/ManagerEvents.java

Modified: ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/event/ManagerEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/event/ManagerEvents.java?rev=890107&r1=890106&r2=890107&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/event/ManagerEvents.java (original)
+++ ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/event/ManagerEvents.java Sun Dec 13 19:49:58 2009
@@ -42,6 +42,8 @@
 import org.ofbiz.entity.condition.EntityCondition;
 import org.ofbiz.entity.condition.EntityExpr;
 import org.ofbiz.entity.condition.EntityOperator;
+import org.ofbiz.entity.transaction.GenericTransactionException;
+import org.ofbiz.entity.transaction.TransactionUtil;
 import org.ofbiz.entity.util.EntityListIterator;
 import org.ofbiz.guiapp.xui.XuiSession;
 import org.ofbiz.pos.PosTransaction;
@@ -478,52 +480,75 @@
         BigDecimal othTotal = ZERO;
         BigDecimal total = ZERO;
 
-        Delegator delegator = pos.getSession().getDelegator();
-        List<EntityExpr> exprs = UtilMisc.toList(EntityCondition.makeCondition("originFacilityId", EntityOperator.EQUALS, trans.getFacilityId()),
-                EntityCondition.makeCondition("terminalId", EntityOperator.EQUALS, trans.getTerminalId()));
-        EntityListIterator eli = null;
-
+        boolean beganTransaction = false;
         try {
-            eli = delegator.find("OrderHeaderAndPaymentPref", EntityCondition.makeCondition(exprs, EntityOperator.AND), null, null, null, null);
-        } catch (GenericEntityException e) {
-            Debug.logError(e, module);
-        }
-
-        Timestamp dayStart = state.getTimestamp("openedDate");
-        Timestamp dayEnd = state.getTimestamp("closedDate");
-        if (dayEnd == null) {
-            dayEnd = UtilDateTime.nowTimestamp();
-        }
-
-        if (eli != null) {
-            GenericValue ohpp;
-            while (((ohpp = (GenericValue) eli.next()) != null)) {
-                Timestamp orderDate = ohpp.getTimestamp("orderDate");
-                if (orderDate.after(dayStart) && orderDate.before(dayEnd)) {
-                    String pmt = ohpp.getString("paymentMethodTypeId");
-                    BigDecimal amt = ohpp.getBigDecimal("maxAmount");
-
-                    if ("CASH".equals(pmt)) {
-                        cashTotal = cashTotal.add(amt);
-                    } else  if ("PERSONAL_CHECK".equals(pmt)) {
-                        checkTotal = checkTotal.add(amt);
-                    } else if ("GIFT_CARD".equals(pmt)) {
-                        gcTotal = gcTotal.add(amt);
-                    } else if ("CREDIT_CARD".equals(pmt)) {
-                        ccTotal = ccTotal.add(amt);
-                    } else {
-                        othTotal = othTotal.add(amt);
+            beganTransaction = TransactionUtil.begin();
+        
+            Delegator delegator = pos.getSession().getDelegator();
+            List<EntityExpr> exprs = UtilMisc.toList(EntityCondition.makeCondition("originFacilityId", EntityOperator.EQUALS, trans.getFacilityId()),
+                    EntityCondition.makeCondition("terminalId", EntityOperator.EQUALS, trans.getTerminalId()));
+            EntityListIterator eli = null;
+    
+            try {
+                eli = delegator.find("OrderHeaderAndPaymentPref", EntityCondition.makeCondition(exprs, EntityOperator.AND), null, null, null, null);
+            } catch (GenericEntityException e) {
+                Debug.logError(e, module);
+            }
+    
+            Timestamp dayStart = state.getTimestamp("openedDate");
+            Timestamp dayEnd = state.getTimestamp("closedDate");
+            if (dayEnd == null) {
+                dayEnd = UtilDateTime.nowTimestamp();
+            }
+    
+            if (eli != null) {
+                GenericValue ohpp;
+                while (((ohpp = (GenericValue) eli.next()) != null)) {
+                    Timestamp orderDate = ohpp.getTimestamp("orderDate");
+                    if (orderDate.after(dayStart) && orderDate.before(dayEnd)) {
+                        String pmt = ohpp.getString("paymentMethodTypeId");
+                        BigDecimal amt = ohpp.getBigDecimal("maxAmount");
+    
+                        if ("CASH".equals(pmt)) {
+                            cashTotal = cashTotal.add(amt);
+                        } else  if ("PERSONAL_CHECK".equals(pmt)) {
+                            checkTotal = checkTotal.add(amt);
+                        } else if ("GIFT_CARD".equals(pmt)) {
+                            gcTotal = gcTotal.add(amt);
+                        } else if ("CREDIT_CARD".equals(pmt)) {
+                            ccTotal = ccTotal.add(amt);
+                        } else {
+                            othTotal = othTotal.add(amt);
+                        }
+                        total = total.add(amt);
                     }
-                    total = total.add(amt);
+                }
+    
+                try {
+                    eli.close();
+                } catch (GenericEntityException e) {
+                    Debug.logWarning(e, "Trouble closing ELI", module);
+                    pos.showDialog("dialog/error/exception", e.getMessage());                    
                 }
             }
-
+        } catch (GenericTransactionException e) {
+            Debug.logError(e, module);
             try {
-                eli.close();
-            } catch (GenericEntityException e) {
-                Debug.logWarning(e, "Trouble closing ELI", module);
+                TransactionUtil.rollback(beganTransaction, e.getMessage(), e);
+            } catch (GenericTransactionException e2) {
+                Debug.logError(e2, "Unable to rollback transaction", module);
+                pos.showDialog("dialog/error/exception", e2.getMessage());
+            }
+            pos.showDialog("dialog/error/exception", e.getMessage());
+        } finally {
+            try {
+                TransactionUtil.commit(beganTransaction);
+            } catch (GenericTransactionException e) {
+                Debug.logError(e, "Unable to commit transaction", module);
+                pos.showDialog("dialog/error/exception", e.getMessage());
             }
         }
+            
 
         Map<String, String> reportMap = FastMap.newInstance();
         String reportTemplate = "totals.txt";