You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jo...@apache.org on 2007/02/12 03:05:09 UTC

svn commit: r506219 - /ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/GenericWebEvent.java

Author: jonesde
Date: Sun Feb 11 18:05:08 2007
New Revision: 506219

URL: http://svn.apache.org/viewvc?view=rev&rev=506219
Log:
A few error message related changes; somehow the error messages here got dumbed down a LOT making it more difficult to use the entity data maintenance stuff

Modified:
    ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/GenericWebEvent.java

Modified: ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/GenericWebEvent.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/GenericWebEvent.java?view=diff&rev=506219&r1=506218&r2=506219
==============================================================================
--- ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/GenericWebEvent.java (original)
+++ ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/GenericWebEvent.java Sun Feb 11 18:05:08 2007
@@ -57,13 +57,11 @@
      * call a forward on a RequestDispatcher.
      */
     public static String updateGeneric(HttpServletRequest request, HttpServletResponse response) {
-        String errMsg = "";
-
         String entityName = request.getParameter("entityName");
         Locale locale = UtilHttp.getLocale(request);
 
         if (entityName == null || entityName.length() <= 0) {
-            errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.entity_name_not_specified", locale) + ".";
+            String errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.entity_name_not_specified", locale) + ".";
             request.setAttribute("_ERROR_MESSAGE_", errMsg);            
             Debug.logWarning("[GenericWebEvent.updateGeneric] The entityName was not specified, but is required.", module);
             return "error";
@@ -73,13 +71,13 @@
         GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator");
 
         if (security == null) {
-            errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource,"genericWebEvent.security_object_not_found", locale) + ".";
+            String errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource,"genericWebEvent.security_object_not_found", locale) + ".";
             request.setAttribute("_ERROR_MESSAGE_", errMsg);
             Debug.logWarning("[updateGeneric] The security object was not found in the request, please check the control servlet init.", module);
             return "error";
         }
         if (delegator == null) {
-            errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.delegator_object_not_found", locale) + ".";
+            String errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.delegator_object_not_found", locale) + ".";
             request.setAttribute("_ERROR_MESSAGE_", errMsg);
             Debug.logWarning("[updateGeneric] The delegator object was not found in the request, please check the control servlet init.", module);
             return "error";
@@ -97,7 +95,7 @@
         String updateMode = request.getParameter("UPDATE_MODE");
 
         if (updateMode == null || updateMode.length() <= 0) {
-            errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.update_mode_not_specified", locale) + ".";
+            String errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.update_mode_not_specified", locale) + ".";
             request.setAttribute("_ERROR_MESSAGE_", errMsg);
             Debug.logWarning("[updateGeneric] Update Mode was not specified, but is required; entityName: " + entityName, module);
             return "error";
@@ -107,7 +105,7 @@
         if (!security.hasEntityPermission("ENTITY_DATA", "_" + updateMode, request.getSession()) &&
             !security.hasEntityPermission(entity.getPlainTableName(), "_" + updateMode, request.getSession())) {
                 Map messageMap = UtilMisc.toMap("updateMode", updateMode, "entityName", entity.getEntityName(), "entityPlainTableName", entity.getPlainTableName());
-                errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.not_sufficient_permissions_01", messageMap, locale);
+                String errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.not_sufficient_permissions_01", messageMap, locale);
                 errMsg += UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.not_sufficient_permissions_02", messageMap, locale) + ".";
 
                 request.setAttribute("_ERROR_MESSAGE_", errMsg);
@@ -118,8 +116,10 @@
         GenericValue findByEntity = delegator.makeValue(entityName, null);
 
         // get the primary key parameters...
+        String errMsgPk = "";
         Iterator pksIter = entity.getPksIterator();
         while (pksIter.hasNext()) {
+            String errMsg = "";
             ModelField field = (ModelField) pksIter.next();
 
             ModelFieldType type = null;
@@ -143,6 +143,11 @@
             }
         }
 
+        if (errMsgPk.length() > 0) {
+            request.setAttribute("_ERROR_MESSAGE_", errMsgPk);
+            return "error";
+        }
+        
         // if this is a delete, do that before getting all of the non-pk parameters and validating them
         if (updateMode.equals("DELETE")) {
             // Remove associated/dependent entries from other tables here
@@ -150,8 +155,8 @@
             try {
                 delegator.removeByPrimaryKey(findByEntity.getPrimaryKey());
             } catch (GenericEntityException e) {
-                Debug.logWarning(e, module);
-                errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.delete_failed", locale);
+                String errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.delete_failed", locale) + ": " + e.toString();
+                Debug.logWarning(e, errMsg, module);
                 request.setAttribute("_ERROR_MESSAGE_", errMsg);
                 return "error";
             }
@@ -160,6 +165,7 @@
         }
 
         // get the non-primary key parameters
+        String errMsgNonPk = "";
         Iterator nopksIter = entity.getNopksIterator();
         while (nopksIter.hasNext()) {
             ModelField field = (ModelField) nopksIter.next();
@@ -170,7 +176,7 @@
             } catch (GenericEntityException e) {
                 Debug.logWarning(e, module);
                 Map messageMap = UtilMisc.toMap("fieldType", field.getType());
-                errMsg += UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.fatal_error_param", messageMap, locale) + ".";
+                errMsgNonPk += UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.fatal_error_param", messageMap, locale) + ".";
             }
             
             String fval = request.getParameter(field.getName());
@@ -179,12 +185,18 @@
                     findByEntity.setString(field.getName(), fval);
                 } catch (Exception e) {
                     Map messageMap = UtilMisc.toMap("fval", fval);
-                    errMsg = errMsg + field.getColName() + UtilProperties.getMessage(GenericWebEvent.err_resource,
+                    errMsgNonPk += field.getColName() + UtilProperties.getMessage(GenericWebEvent.err_resource,
                             "genericWebEvent.conversion_failed", messageMap, locale) + type.getJavaType() + ".";
                     Debug.logWarning("[updateGeneric] " + field.getColName() + " conversion failed: \"" + fval + "\" is not a valid " + type.getJavaType() + "; entityName: " + entityName, module);
                 }
             }
         }
+        
+        if (errMsgNonPk.length() > 0) {
+            request.setAttribute("_ERROR_MESSAGE_", errMsgNonPk);
+            return "error";
+        }
+        
 
         // if the updateMode is CREATE, check to see if an entity with the specified primary key already exists
         if (updateMode.equals("CREATE")) {
@@ -193,20 +205,21 @@
             try {
                 tempEntity = delegator.findByPrimaryKey(findByEntity.getPrimaryKey());
             } catch (GenericEntityException e) {
-                Debug.logWarning(e, module);
-                errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.create_failed_by_check", locale);
+                String errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.create_failed_by_check", locale) + ": " + e.toString();
+                Debug.logWarning(e, errMsg, module);
 
                 request.setAttribute("_ERROR_MESSAGE_", errMsg);
                 return "error";
             }
             if (tempEntity != null) {
                 Map messageMap = UtilMisc.toMap("primaryKey", findByEntity.getPrimaryKey().toString());
-                errMsg = errMsg + entity.getEntityName() + UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.already_exists_pk", messageMap, locale)+ ".";
+                String errMsg = entity.getEntityName() + UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.already_exists_pk", messageMap, locale)+ ".";
                 Debug.logWarning("[updateGeneric] " + entity.getEntityName() + " already exists with primary key: " + findByEntity.getPrimaryKey().toString() + "; please change.", module);
             }
         }
 
         // Validate parameters...
+        String errMsgParam = "";
         Iterator fieldIter = entity.getFieldsIterator();
         while (fieldIter.hasNext()) {
             ModelField field = (ModelField) fieldIter.next();
@@ -261,7 +274,7 @@
                         Debug.logError("[updateGeneric] Could not find validation message field: " + curValidate + "Msg of class " + className + "; returning generic validation failure message.", module);
                         message = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.validation_failed", locale) + ".";
                     }
-                    errMsg = errMsg + field.getColName() + " " + curValidate + " " + UtilProperties.getMessage(GenericWebEvent.err_resource,
+                    errMsgParam += field.getColName() + " " + curValidate + " " + UtilProperties.getMessage(GenericWebEvent.err_resource,
                             "genericWebEvent.failed", locale) + ": " + message;
 
                     Debug.logWarning("[updateGeneric] " + field.getColName() + " " + curValidate + " failed: " + message, module);
@@ -269,9 +282,9 @@
             }
         }
 
-        if (errMsg.length() > 0) {
-            errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.following_error_occurred", locale) + errMsg;
-            request.setAttribute("_ERROR_MESSAGE_", errMsg);
+        if (errMsgParam.length() > 0) {
+            errMsgParam = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.following_error_occurred", locale) + errMsgParam;
+            request.setAttribute("_ERROR_MESSAGE_", errMsgParam);
             return "error";
         }
 
@@ -281,12 +294,9 @@
             try {
                 value = delegator.create(findByEntity.getEntityName(), findByEntity.getAllFields());
             } catch (GenericEntityException e) {
-                Debug.logWarning(e, module);
-                value = null;
-            }
-            if (value == null) {
                 Map messageMap = UtilMisc.toMap("entityName", entity.getEntityName());
-                errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.creation_param_failed", messageMap, locale)+ ": " + findByEntity.toString();
+                String errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.creation_param_failed", messageMap, locale)+ ": " + findByEntity.toString() + ": " + e.toString();
+                Debug.logWarning(e, errMsg, module);
                 request.setAttribute("_ERROR_MESSAGE_", errMsg);
                 return "error";
             }
@@ -296,16 +306,15 @@
             try {
                 value.store();
             } catch (GenericEntityException e) {
-                Debug.logWarning(e, module);
                 Map messageMap = UtilMisc.toMap("entityName", entity.getEntityName());
-                errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.update_of_param_failed", messageMap, locale)+ ": " + value.toString();
-
+                String errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.update_of_param_failed", messageMap, locale)+ ": " + value.toString() + ": " + e.toString();
+                Debug.logWarning(e, errMsg, module);
                 request.setAttribute("_ERROR_MESSAGE_", errMsg);
                 return "error";
             }
         } else {
             Map messageMap = UtilMisc.toMap("updateMode", updateMode);
-            errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.update_of_param_failed", messageMap, locale)+ ".";
+            String errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.update_of_param_failed", messageMap, locale)+ ".";
                                     
             request.setAttribute("_ERROR_MESSAGE_", errMsg);
             Debug.logWarning("updateGeneric: Update Mode specified (" + updateMode + ") was not valid for entity: " + findByEntity.toString(), module);