svn commit: r572413 - in /ofbiz/trunk/framework/entity/src/org/ofbiz/entity: transaction/TransactionUtil.java util/EntityDataAssert.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r572413 - in /ofbiz/trunk/framework/entity/src/org/ofbiz/entity: transaction/TransactionUtil.java util/EntityDataAssert.java

jonesde
Author: jonesde
Date: Mon Sep  3 13:22:51 2007
New Revision: 572413

URL: http://svn.apache.org/viewvc?rev=572413&view=rev
Log:
Small format change only in TransactionUtil; in EntityDataAssert fixed a couple of NPE cases and improved to make much more robust

Modified:
    ofbiz/trunk/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java
    ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityDataAssert.java

Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java?rev=572413&r1=572412&r2=572413&view=diff
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java (original)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java Mon Sep  3 13:22:51 2007
@@ -313,7 +313,7 @@
         try {
             if (TransactionUtil.getStatus() == TransactionUtil.STATUS_ACTIVE) {
                 TransactionManager txMgr = TransactionFactory.getTransactionManager();
-                if (txMgr != null ) {
+                if (txMgr != null) {
                     pushTransactionBeginStackSave(clearTransactionBeginStack());
                     pushSetRollbackOnlyCauseSave(clearSetRollbackOnlyCause());
                     Transaction trans = txMgr.suspend();

Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityDataAssert.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityDataAssert.java?rev=572413&r1=572412&r2=572413&view=diff
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityDataAssert.java (original)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityDataAssert.java Mon Sep  3 13:22:51 2007
@@ -82,31 +82,51 @@
     }
     
     public static void checkSingleValue(GenericValue checkValue, GenericDelegator delegator, List errorMessages) throws GenericEntityException {
-        // to check get the PK, find by that, compare all fields
-        GenericPK checkPK = checkValue.getPrimaryKey();
-        GenericValue currentValue = delegator.findByPrimaryKey(checkPK);
-        if (currentValue == null) {
-            errorMessages.add("Entity [" + checkPK.getEntityName() + "] record not found for pk: " + checkPK);
+        if (checkValue == null) {
+            errorMessages.add("Got a value to check was null");
+            return;
         }
-
-        ModelEntity modelEntity = currentValue.getModelEntity();
-        List nonpkFieldNameList = modelEntity.getNoPkFieldNames();
-        Iterator nonpkFieldNameIter = nonpkFieldNameList.iterator();
-        while (nonpkFieldNameIter.hasNext()) {
-            String nonpkFieldName = (String) nonpkFieldNameIter.next();
-            // skip the fields the entity engine maintains
-            if (ModelEntity.CREATE_STAMP_FIELD.equals(nonpkFieldName) || ModelEntity.CREATE_STAMP_TX_FIELD.equals(nonpkFieldName) ||
-                    ModelEntity.STAMP_FIELD.equals(nonpkFieldName) || ModelEntity.STAMP_TX_FIELD.equals(nonpkFieldName)) {
-                continue;
+        // to check get the PK, find by that, compare all fields
+        GenericPK checkPK = null;
+        
+        try {
+            checkPK = checkValue.getPrimaryKey();
+            GenericValue currentValue = delegator.findByPrimaryKey(checkPK);
+            if (currentValue == null) {
+                errorMessages.add("Entity [" + checkPK.getEntityName() + "] record not found for pk: " + checkPK);
+                return;
             }
-            
-            Object checkField = checkValue.get(nonpkFieldName);
-            Object currentField = currentValue.get(nonpkFieldName);
 
-            if (checkField != null && !checkField.equals(currentField)) {
-                errorMessages.add("Field [" + modelEntity.getEntityName() + "." + nonpkFieldName +
-                        "] did not match; file value [" + checkField + "], db value [" + currentField + "] pk [" + checkPK + "]");
+            ModelEntity modelEntity = checkValue.getModelEntity();
+            List nonpkFieldNameList = modelEntity.getNoPkFieldNames();
+            Iterator nonpkFieldNameIter = nonpkFieldNameList.iterator();
+            while (nonpkFieldNameIter.hasNext()) {
+                String nonpkFieldName = (String) nonpkFieldNameIter.next();
+                // skip the fields the entity engine maintains
+                if (ModelEntity.CREATE_STAMP_FIELD.equals(nonpkFieldName) || ModelEntity.CREATE_STAMP_TX_FIELD.equals(nonpkFieldName) ||
+                        ModelEntity.STAMP_FIELD.equals(nonpkFieldName) || ModelEntity.STAMP_TX_FIELD.equals(nonpkFieldName)) {
+                    continue;
+                }
+                
+                Object checkField = checkValue.get(nonpkFieldName);
+                Object currentField = currentValue.get(nonpkFieldName);
+
+                if (checkField != null && !checkField.equals(currentField)) {
+                    errorMessages.add("Field [" + modelEntity.getEntityName() + "." + nonpkFieldName +
+                            "] did not match; file value [" + checkField + "], db value [" + currentField + "] pk [" + checkPK + "]");
+                }
+            }
+        } catch (GenericEntityException e) {
+            throw e;
+        } catch (Throwable t) {
+            String errMsg;
+            if (checkPK == null) {
+                errMsg = "Error checking value [" + checkValue + "]: " + t.toString();
+            } else {
+                errMsg = "Error checking entity [" + checkPK.getEntityName() + "] with pk [" + checkPK.getAllFields() + "]: " + t.toString();
             }
+            errorMessages.add(errMsg);
+            Debug.logError(t, errMsg, module);
         }
     }
 }