I don't know what the rest of the team thinks, but I am really worried
from this commit. It is one of those mass updates which I constantly
warn against.

Can you please clarify what kind of testing was done against all the
services that were updated and the context of each service?

On Sun, Dec 31, 2017 at 2:11 PM,  <[email protected]> wrote:
> Author: jleroux
> Date: Sun Dec 31 11:11:46 2017
> New Revision: 1819730
>
> URL: http://svn.apache.org/viewvc?rev=1819730&view=rev
> Log:
> Improved: Handle service response effectively
> (OFBIZ-9981)
>
> As per discussion on Dev ML:
> ==========================
> Every service calling from java/groovy must handle errors by service util
> methods such as isError, returnError etc.
> and similarly in case of XML <call-service, there should be <check-error/>
> to make sure service was executed successfully.
>
> Apart from this, one suggestion is to include *Debug.logError* in
> *ServiceUtil.returnProblem* so that in case of any error occurred and handled,
> it will always be logged on the console.
> ==========================
>
> jleroux: this is the applications part with some slight changes
>
> Thanks: Suraj Khurana
>
> Modified:
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ConvertTree.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/compdoc/CompDocEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentPermissionServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentWorker.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/UploadContentAndImage.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/data/DataEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/layout/LayoutEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/survey/PdfSurveyServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/bom/BOMHelper.java
>     
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/bom/BOMNode.java
>     
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/bom/BOMServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/jobshopmgt/ProductionRun.java
>     
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/jobshopmgt/ProductionRunEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/mrp/MrpServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/mrp/ProposedOrder.java
>     
> ofbiz/ofbiz-framework/trunk/applications/marketing/src/main/java/org/apache/ofbiz/sfa/vcard/VCard.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/OrderManagerEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderChangeHelper.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderLookupServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReturnServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/quote/QuoteServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/requirement/RequirementServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartItem.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppinglist/ShoppingListEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppinglist/ShoppingListServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/task/TaskEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/test/OrderTestServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/test/PurchaseOrderTest.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/test/SalesOrderTest.java
>     
> ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/party/src/main/java/org/apache/ofbiz/party/communication/CommunicationEventServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/party/src/main/java/org/apache/ofbiz/party/contact/ContactMechServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/party/src/main/java/org/apache/ofbiz/party/party/PartyRelationshipServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/party/src/main/java/org/apache/ofbiz/party/party/PartyServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/imagemanagement/CropImage.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/imagemanagement/FrameImage.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/imagemanagement/ImageManagementServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/imagemanagement/ReplaceImage.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/imagemanagement/RotateImage.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/product/ProductServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/packing/PackingSession.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/shipment/ShipmentEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/shipment/ShipmentServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/shipment/ShipmentWorker.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/dhl/DhlServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/ups/UpsServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/usps/UspsServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/usps/UspsServicesTests.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/verify/VerifyPickSession.java
>     
> ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/shipment/weightPackage/WeightPackageSession.java
>     
> ofbiz/ofbiz-framework/trunk/applications/securityext/src/main/java/org/apache/ofbiz/securityext/login/LoginEvents.java
>     
> ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/ICalConverter.java
>     
> ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/ICalWorker.java
>     
> ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/WorkEffortPartyAssignmentServices.java
>     
> ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/WorkEffortServices.java
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementEvents.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementEvents.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementEvents.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementEvents.java
>  Sun Dec 31 11:11:46 2017
> @@ -43,11 +43,9 @@ import org.apache.ofbiz.entity.util.Enti
>  import org.apache.ofbiz.security.Security;
>  import org.apache.ofbiz.service.GenericServiceException;
>  import org.apache.ofbiz.service.LocalDispatcher;
> -import org.apache.ofbiz.service.ModelService;
> +import org.apache.ofbiz.service.ServiceUtil;
>  import org.apache.ofbiz.webapp.website.WebSiteWorker;
>
> -
> -
>  /**
>   * ContentManagementEvents Class
>   */
> @@ -63,6 +61,7 @@ public class ContentManagementEvents {
>          Delegator delegator = (Delegator)request.getAttribute("delegator");
>          LocalDispatcher dispatcher = 
> (LocalDispatcher)request.getAttribute("dispatcher");
>          Map<String, Object> paramMap = UtilHttp.getParameterMap(request);
> +        Map<String, Object> result = new HashMap<>();
>          String parentPlaceholderId = (String)paramMap.get("ph");
>          if (UtilValidate.isEmpty(parentPlaceholderId)) {
>              request.setAttribute("_ERROR_MESSAGE_", "ParentPlaceholder is 
> empty.");
> @@ -99,12 +98,24 @@ public class ContentManagementEvents {
>                          if (!paramValue.equals(pubValue)) {
>                              if ("Y".equalsIgnoreCase(paramValue)) {
>                                  serviceIn.put("fromDate", 
> UtilDateTime.nowTimestamp());
> -                                dispatcher.runSync("createContentAssoc", 
> serviceIn);
> +                                result = 
> dispatcher.runSync("createContentAssoc", serviceIn);
> +                                if (ServiceUtil.isError(result)) {
> +                                    String errorMessage = 
> ServiceUtil.getErrorMessage(result);
> +                                    request.setAttribute("_ERROR_MESSAGE_", 
> errorMessage);
> +                                    Debug.logError(errorMessage, module);
> +                                    return "error";
> +                                }
>                              } else if ("N".equalsIgnoreCase(paramValue) && 
> "Y".equalsIgnoreCase(pubValue)) {
>                                  serviceIn.put("thruDate", 
> UtilDateTime.nowTimestamp());
>                                  Timestamp fromDate = 
> (Timestamp)map.get(pubContentId + "FromDate");
>                                  serviceIn.put("fromDate", fromDate);
> -                                dispatcher.runSync("updateContentAssoc", 
> serviceIn);
> +                                result = 
> dispatcher.runSync("updateContentAssoc", serviceIn);
> +                                if (ServiceUtil.isError(result)) {
> +                                    String errorMessage = 
> ServiceUtil.getErrorMessage(result);
> +                                    request.setAttribute("_ERROR_MESSAGE_", 
> errorMessage);
> +                                    Debug.logError(errorMessage, module);
> +                                    return "error";
> +                                }
>                              }
>                          }
>                      } else if (UtilValidate.isNotEmpty(pubValue)) {
> @@ -112,7 +123,13 @@ public class ContentManagementEvents {
>                                  serviceIn.put("thruDate", 
> UtilDateTime.nowTimestamp());
>                                  Timestamp fromDate = 
> (Timestamp)map.get(pubContentId + "FromDate");
>                                  serviceIn.put("fromDate", fromDate);
> -                                dispatcher.runSync("updateContentAssoc", 
> serviceIn);
> +                                result = 
> dispatcher.runSync("updateContentAssoc", serviceIn);
> +                                if (ServiceUtil.isError(result)) {
> +                                    String errorMessage = 
> ServiceUtil.getErrorMessage(result);
> +                                    request.setAttribute("_ERROR_MESSAGE_", 
> errorMessage);
> +                                    Debug.logError(errorMessage, module);
> +                                    return "error";
> +                                }
>                          }
>                      }
>                  } catch (GenericServiceException e) {
> @@ -196,10 +213,8 @@ public class ContentManagementEvents {
>
>          // Loop thru all the possible subsites
>          Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
> -        String responseMessage = null;
> -        String errorMessage = null;
>          boolean statusIdUpdated = false;
> -        Map<String, Object> results = null;
> +        Map<String, Object> result = new HashMap<>();
>          for (Object [] arr : origPublishedLinkList) {
>              String contentId = (String)arr[0]; // main (2nd level) site id
>              String origSubContentId = null;
> @@ -243,13 +258,11 @@ public class ContentManagementEvents {
>                          serviceIn.put("targetOperationList", 
> targetOperationList);
>                          // TODO check if this should be removed (see above)
>                          serviceIn.put("contentPurposeList", 
> contentPurposeList);
> -                        results = dispatcher.runSync("createContentAssoc", 
> serviceIn);
> -                        responseMessage = 
> (String)results.get(ModelService.RESPONSE_MESSAGE);
> -                        if (UtilValidate.isNotEmpty(responseMessage)) {
> -                            errorMessage = 
> (String)results.get(ModelService.ERROR_MESSAGE);
> -                            Debug.logError("in updatePublishLinks, 
> serviceIn:" + serviceIn , module);
> -                            Debug.logError(errorMessage, module);
> +                        result = dispatcher.runSync("createContentAssoc", 
> serviceIn);
> +                        if (ServiceUtil.isError(result)) {
> +                            String errorMessage = 
> ServiceUtil.getErrorMessage(result);
>                              request.setAttribute("_ERROR_MESSAGE_", 
> errorMessage);
> +                            Debug.logError(errorMessage, module);
>                              return "error";
>                          }
>
> @@ -263,7 +276,13 @@ public class ContentManagementEvents {
>                          serviceIn.put("targetOperationList", 
> targetOperationList);
>                          // TODO check if this should be removed (see above)
>                          serviceIn.put("contentPurposeList", 
> contentPurposeList);
> -                        results = dispatcher.runSync("createContentAssoc", 
> serviceIn);
> +                        result = dispatcher.runSync("createContentAssoc", 
> serviceIn);
> +                        if (ServiceUtil.isError(result)) {
> +                            String errorMessage = 
> ServiceUtil.getErrorMessage(result);
> +                            request.setAttribute("_ERROR_MESSAGE_", 
> errorMessage);
> +                            Debug.logError(errorMessage, module);
> +                            return "error";
> +                        }
>                          if (!statusIdUpdated) {
>                              try {
>                                  GenericValue targContent = 
> EntityQuery.use(delegator).from("Content").where("contentId", 
> targContentId).queryOne();
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementServices.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementServices.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementServices.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementServices.java
>  Sun Dec 31 11:11:46 2017
> @@ -359,9 +359,8 @@ public class ContentManagementServices {
>                      Map<String, Object> ctx = 
> contentAssocModel.makeValid(contentAssoc, ModelService.IN_PARAM);
>                      contentAssocContext.putAll(ctx);
>                      thisResult = dispatcher.runSync("createContentAssoc", 
> contentAssocContext);
> -                    String errMsg = ServiceUtil.getErrorMessage(thisResult);
> -                    if (ServiceUtil.isError(thisResult) || 
> ServiceUtil.isFailure(thisResult) || UtilValidate.isNotEmpty(errMsg)) {
> -                        return ServiceUtil.returnError(errMsg);
> +                    if (ServiceUtil.isError(thisResult) || 
> ServiceUtil.isFailure(thisResult)) {
> +                        return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
>                      }
>
>                      results.put("caContentIdTo", 
> thisResult.get("contentIdTo"));
> @@ -379,9 +378,8 @@ public class ContentManagementServices {
>                      Map<String, Object> ctx = 
> contentAssocModel.makeValid(contentAssocExisting, ModelService.IN_PARAM);
>                      contentAssocContext.putAll(ctx);
>                      thisResult = dispatcher.runSync("updateContentAssoc", 
> contentAssocContext);
> -                    String errMsg = ServiceUtil.getErrorMessage(thisResult);
> -                    if (ServiceUtil.isError(thisResult) || 
> ServiceUtil.isFailure(thisResult) || UtilValidate.isNotEmpty(errMsg)) {
> -                        return ServiceUtil.returnError(errMsg);
> +                    if (ServiceUtil.isError(thisResult) || 
> ServiceUtil.isFailure(thisResult)) {
> +                        return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
>                      }
>                  }
>              } catch (GenericEntityException e) {
> @@ -455,12 +453,14 @@ public class ContentManagementServices {
>                        newContext.put("roleTypeId", 
> serviceContext.get("roleTypeId"));
>                        newContext.put("userLogin", userLogin);
>                        Map<String, Object> permResults = 
> dispatcher.runSync("deactivateAllContentRoles", newContext);
> +                      if (ServiceUtil.isError(permResults)) {
> +                          return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(permResults));
> +                      }
>                        serviceContext.put("fromDate", 
> UtilDateTime.nowTimestamp());
>                        if (Debug.infoOn()) Debug.logInfo("updateSiteRoles, 
> serviceContext(1):" + serviceContext, module);
>                        permResults = dispatcher.runSync("createContentRole", 
> serviceContext);
> -                      String errMsg = 
> ServiceUtil.getErrorMessage(permResults);
> -                      if (UtilValidate.isNotEmpty(errMsg)) {
> -                          return ServiceUtil.returnError(errMsg);
> +                      if (ServiceUtil.isError(permResults)) {
> +                          return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(permResults));
>                        }
>                    } catch (GenericServiceException e) {
>                        Debug.logError(e, e.toString(), module);
> @@ -481,9 +481,9 @@ public class ContentManagementServices {
>                        newContext.put("roleTypeId", 
> serviceContext.get("roleTypeId"));
>                        newContext.put("userLogin", userLogin);
>                        Map<String, Object> permResults = 
> dispatcher.runSync("deactivateAllContentRoles", newContext);
> -                      String errMsg = 
> ServiceUtil.getErrorMessage(permResults);
> -                      if (UtilValidate.isNotEmpty(errMsg))
> -                        return ServiceUtil.returnError(errMsg);
> +                      if (ServiceUtil.isError(permResults)) {
> +                          return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(permResults));
> +                      }
>                    } catch (GenericServiceException e) {
>                        Debug.logError(e, e.toString(), module);
>                        return ServiceUtil.returnError(e.toString());
> @@ -505,6 +505,9 @@ public class ContentManagementServices {
>            ModelService checkPermModel = 
> dispatcher.getDispatchContext().getModelService("checkContentPermission");
>            Map<String, Object> ctx = checkPermModel.makeValid(context, 
> ModelService.IN_PARAM);
>            Map<String, Object> thisResult = 
> dispatcher.runSync("checkContentPermission", ctx);
> +          if (ServiceUtil.isError(thisResult)) {
> +              return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
> +          }
>            String permissionStatus = 
> (String)thisResult.get("permissionStatus");
>            if (UtilValidate.isNotEmpty(permissionStatus) && 
> "granted".equalsIgnoreCase(permissionStatus)) {
>                result = persistDataResourceAndDataMethod(dctx, context);
> @@ -585,9 +588,8 @@ public class ContentManagementServices {
>
>        if (!dataResourceExists) { // Create
>            Map<String, Object> thisResult = 
> dispatcher.runSync("createDataResource", newDrContext);
> -          String errorMsg = ServiceUtil.getErrorMessage(thisResult);
> -          if (UtilValidate.isNotEmpty(errorMsg)) {
> -              throw(new Exception(errorMsg));
> +          if (ServiceUtil.isError(thisResult)) {
> +              throw(new Exception(ServiceUtil.getErrorMessage(thisResult)));
>            }
>            dataResourceId = (String)thisResult.get("dataResourceId");
>            if (Debug.infoOn()) {
> @@ -601,9 +603,8 @@ public class ContentManagementServices {
>                    fileContext.put("dataResourceId", dataResourceId);
>                    fileContext.put("imageData", imageDataBytes);
>                    thisResult = dispatcher.runSync("createImage", 
> fileContext);
> -                  errorMsg = ServiceUtil.getErrorMessage(thisResult);
> -                  if (UtilValidate.isNotEmpty(errorMsg)) {
> -                      return ServiceUtil.returnError(errorMsg);
> +                  if (ServiceUtil.isError(thisResult)) {
> +                      return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
>                    }
>                }
>            } else if ("SHORT_TEXT".equals(dataResourceTypeId)) {
> @@ -617,24 +618,25 @@ public class ContentManagementServices {
>                uploadImage.put("uploadedFile", imageDataBytes);
>                uploadImage.put("_uploadedFile_fileName", (String) 
> context.get("_imageData_fileName"));
>                uploadImage.put("_uploadedFile_contentType", (String) 
> context.get("_imageData_contentType"));
> -              dispatcher.runSync("attachUploadToDataResource", uploadImage);
> +              thisResult = dispatcher.runSync("attachUploadToDataResource", 
> uploadImage);
> +              if (ServiceUtil.isError(thisResult)) {
> +                  return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
> +              }
>            } else {
>                // assume ELECTRONIC_TEXT
>                if (UtilValidate.isNotEmpty(textData)) {
>                    fileContext.put("dataResourceId", dataResourceId);
>                    fileContext.put("textData", textData);
>                    thisResult = dispatcher.runSync("createElectronicText", 
> fileContext);
> -                  errorMsg = ServiceUtil.getErrorMessage(thisResult);
> -                  if (UtilValidate.isNotEmpty(errorMsg)) {
> -                      return ServiceUtil.returnError(errorMsg);
> +                  if (ServiceUtil.isError(thisResult)) {
> +                      return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
>                    }
>                }
>            }
>        } else { // Update
>            Map<String, Object> thisResult = 
> dispatcher.runSync("updateDataResource", newDrContext);
> -          String errorMsg = ServiceUtil.getErrorMessage(thisResult);
> -          if (UtilValidate.isNotEmpty(errorMsg)) {
> -              return ServiceUtil.returnError(errorMsg);
> +          if (ServiceUtil.isError(thisResult)) {
> +              return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
>            }
>            Map<String, Object> fileContext = new HashMap<String, Object>();
>            fileContext.put("userLogin", userLogin);
> @@ -644,9 +646,8 @@ public class ContentManagementServices {
>                    fileContext.put("dataResourceId", dataResourceId);
>                    fileContext.put("imageData", imageDataBytes);
>                    thisResult = dispatcher.runSync("updateImage", 
> fileContext);
> -                  errorMsg = ServiceUtil.getErrorMessage(thisResult);
> -                  if (UtilValidate.isNotEmpty(errorMsg)) {
> -                      return ServiceUtil.returnError(errorMsg);
> +                  if (ServiceUtil.isError(thisResult)) {
> +                      return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
>                    }
>                }
>            } else if ("SHORT_TEXT".equals(dataResourceTypeId)) {
> @@ -660,15 +661,17 @@ public class ContentManagementServices {
>                uploadImage.put("uploadedFile", imageDataBytes);
>                uploadImage.put("_uploadedFile_fileName", (String) 
> context.get("_imageData_fileName"));
>                uploadImage.put("_uploadedFile_contentType", (String) 
> context.get("_imageData_contentType"));
> -              dispatcher.runSync("attachUploadToDataResource", uploadImage);
> +              thisResult = dispatcher.runSync("attachUploadToDataResource", 
> uploadImage);
> +              if (ServiceUtil.isError(thisResult)) {
> +                  return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
> +              }
>            } else {
>                if (UtilValidate.isNotEmpty(textData) || 
> "true".equalsIgnoreCase(forceElectronicText)) {
>                    fileContext.put("dataResourceId", dataResourceId);
>                    fileContext.put("textData", textData);
>                    thisResult = dispatcher.runSync("updateElectronicText", 
> fileContext);
> -                  errorMsg = ServiceUtil.getErrorMessage(thisResult);
> -                  if (UtilValidate.isNotEmpty(errorMsg)) {
> -                      return ServiceUtil.returnError(errorMsg);
> +                  if (ServiceUtil.isError(thisResult)) {
> +                      return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
>                    }
>                }
>            }
> @@ -680,11 +683,15 @@ public class ContentManagementServices {
>      }
>
>      public static void addRoleToUser(Delegator delegator, LocalDispatcher 
> dispatcher, Map<String, Object> serviceContext) throws 
> GenericServiceException, GenericEntityException {
> +        Map<String, Object> result = new HashMap<>();
>          List<GenericValue> userLoginList = 
> EntityQuery.use(delegator).from("UserLogin").where("partyId", 
> serviceContext.get("partyId")).queryList();
>          for (GenericValue partyUserLogin : userLoginList) {
>              String partyUserLoginId = 
> partyUserLogin.getString("userLoginId");
>              serviceContext.put("contentId", partyUserLoginId); // author 
> contentId
> -            dispatcher.runSync("createContentRole", serviceContext);
> +            result = dispatcher.runSync("createContentRole", serviceContext);
> +            if (ServiceUtil.isError(result)) {
> +                Debug.logError(ServiceUtil.getErrorMessage(result), module);
> +            }
>          }
>      }
>
> @@ -692,6 +699,7 @@ public class ContentManagementServices {
>          LocalDispatcher dispatcher = dctx.getDispatcher();
>          Delegator delegator = dctx.getDelegator();
>          Map<String, Object> results = new HashMap<String, Object>();
> +        Map<String, Object> thisResult = new HashMap<String, Object>();
>          Map<String, Object> serviceContext = new HashMap<String, Object>();
>          // siteContentId will equal "ADMIN_MASTER", "AGINC_MASTER", etc.
>          // Remember that this service is called in the "multi" mode,
> @@ -725,7 +733,10 @@ public class ContentManagementServices {
>                              Debug.logInfo("updateSiteRoles, 
> serviceContext(1):" + serviceContext, module);
>                          }
>                          addRoleToUser(delegator, dispatcher, serviceContext);
> -                        dispatcher.runSync("createContentRole", 
> serviceContext);
> +                        thisResult = dispatcher.runSync("createContentRole", 
> serviceContext);
> +                        if (ServiceUtil.isError(thisResult)) {
> +                            return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
> +                        }
>                      } catch (GenericServiceException e) {
>                          Debug.logError(e, e.toString(), module);
>                      } catch (Exception e2) {
> @@ -742,7 +753,10 @@ public class ContentManagementServices {
>                          newContext.put("contentId", 
> serviceContext.get("contentId"));
>                          newContext.put("partyId", 
> serviceContext.get("partyId"));
>                          newContext.put("roleTypeId", 
> serviceContext.get("roleTypeId"));
> -                        dispatcher.runSync("deactivateAllContentRoles", 
> newContext);
> +                        thisResult = 
> dispatcher.runSync("deactivateAllContentRoles", newContext);
> +                        if (ServiceUtil.isError(thisResult)) {
> +                            return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
> +                        }
>                      } catch (GenericServiceException e) {
>                          Debug.logError(e, e.toString(), module);
>                      } catch (Exception e2) {
> @@ -892,6 +906,7 @@ public class ContentManagementServices {
>          Map<String, Object> result = new HashMap<String, Object>();
>          Delegator delegator = dctx.getDelegator();
>          LocalDispatcher dispatcher = dctx.getDispatcher();
> +        Map<String, Object> thisResult = new HashMap<String, Object>();
>          String contentId = (String)context.get("contentId");
>          GenericValue userLogin = (GenericValue)context.get("userLogin");
>          String userLoginId = userLogin.getString("userLoginId");
> @@ -926,7 +941,10 @@ public class ContentManagementServices {
>                  serviceIn.put("contentAssocTypeId", "SUB_CONTENT");
>                  serviceIn.put("sequenceNum", Long.valueOf(50));
>                  try {
> -                    dispatcher.runSync("persistContentAndAssoc", serviceIn);
> +                    thisResult = 
> dispatcher.runSync("persistContentAndAssoc", serviceIn);
> +                    if (ServiceUtil.isError(thisResult)) {
> +                        return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
> +                    }
>                  } catch (ServiceAuthException e) {
>                      return ServiceUtil.returnError(e.toString());
>                  }
> @@ -1281,7 +1299,7 @@ public class ContentManagementServices {
>          Delegator delegator = dctx.getDelegator();
>          LocalDispatcher dispatcher = dctx.getDispatcher();
>          Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
> -
> +        Map<String, Object> thisResult = new HashMap<String, Object>();
>          String partyId = (String) context.get("partyId");
>          String webPubPt = (String) context.get("contentId");
>          String roleTypeId = (String) context.get("useRoleTypeId");
> @@ -1347,7 +1365,10 @@ public class ContentManagementServices {
>                  map.put("partyId", partyId);
>                  map.put("roleTypeId", roleTypeId);
>                  map.put("userLogin", userLogin);
> -                dispatcher.runSync("ensurePartyRole", map);
> +                thisResult = dispatcher.runSync("ensurePartyRole", map);
> +                if (ServiceUtil.isError(thisResult)) {
> +                    return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResult));
> +                }
>                  contentRole.create();
>              }
>          } catch (GenericEntityException e) {
> @@ -1402,6 +1423,9 @@ public class ContentManagementServices {
>          ModelService subscriptionModel = 
> dispatcher.getDispatchContext().getModelService("updateContentSubscription");
>          Map<String, Object> ctx = subscriptionModel.makeValid(context, 
> ModelService.IN_PARAM);
>          result = dispatcher.runSync("updateContentSubscription", ctx);
> +        if (ServiceUtil.isError(result)) {
> +            return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
> +        }
>          return result;
>      }
>
> @@ -1447,7 +1471,10 @@ public class ContentManagementServices {
>                      context.put("productId", productId);
>                      context.put("quantity", Integer.valueOf(qty.intValue()));
>                      Map<String, Object> ctx = 
> subscriptionModel.makeValid(context, ModelService.IN_PARAM);
> -                    dispatcher.runSync("updateContentSubscriptionByProduct", 
> ctx);
> +                    result = 
> dispatcher.runSync("updateContentSubscriptionByProduct", ctx);
> +                    if (ServiceUtil.isError(result)) {
> +                        return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
> +                    }
>                  }
>              }
>          } catch (GenericEntityException e) {
> @@ -1510,6 +1537,9 @@ public class ContentManagementServices {
>
>          GenericValue userLogin = (GenericValue)context.get("userLogin");
>          result = dispatcher.runSync(serviceName, UtilMisc.toMap("content", 
> content, "userLogin", userLogin));
> +        if (ServiceUtil.isError(result)) {
> +            return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
> +        }
>
>          List<GenericValue> kids = 
> ContentWorker.getAssociatedContent(content, "from", contentAssocTypeIdList, 
> null, null, null);
>          for (GenericValue kidContent : kids) {
> @@ -1545,9 +1575,8 @@ public class ContentManagementServices {
>                ctx.remove("drDataResourceId");
>            }
>            result = dispatcher.runSync("persistContentAndAssoc", ctx);
> -          String errorMsg = ServiceUtil.getErrorMessage(result);
> -          if (UtilValidate.isNotEmpty(errorMsg)) {
> -              return ServiceUtil.returnError(errorMsg);
> +          if (ServiceUtil.isError(result)) {
> +              return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
>            }
>            String contentId = (String)result.get("contentId");
>            List<String> parentList = new LinkedList<String>();
> @@ -1557,6 +1586,9 @@ public class ContentManagementServices {
>                traversMap.put("direction", "To");
>                traversMap.put("contentAssocTypeId", "COMPDOC_PART");
>                Map<String, Object> traversResult = 
> dispatcher.runSync("traverseContent", traversMap);
> +              if (ServiceUtil.isError(traversResult)) {
> +                  return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(traversResult));
> +              }
>                parentList = 
> UtilGenerics.checkList(traversResult.get("parentList"));
>            } else {
>                parentList.add(masterRevisionContentId);
> @@ -1572,9 +1604,8 @@ public class ContentManagementServices {
>                String thisContentId = parentList.get(i);
>                contentRevisionMap.put("contentId", thisContentId);
>                result = dispatcher.runSync("persistContentRevisionAndItem", 
> contentRevisionMap);
> -              errorMsg = ServiceUtil.getErrorMessage(result);
> -              if (UtilValidate.isNotEmpty(errorMsg)) {
> -                  return ServiceUtil.returnError(errorMsg);
> +              if (ServiceUtil.isError(result)) {
> +                  return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
>                }
>            }
>        } catch (GenericServiceException e) {
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ConvertTree.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ConvertTree.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ConvertTree.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/ConvertTree.java
>  Sun Dec 31 11:11:46 2017
> @@ -70,6 +70,7 @@ In order to make this service active add
>          Locale locale = (Locale) context.get("locale");
>          GenericValue userLogin = (GenericValue) context.get("userLogin");
>          String file = (String) context.get("file");
> +        Map<String, Object> result = new HashMap<String, Object>();
>          String errMsg = "", sucMsg= "";
>          GenericValue Entity = null;
>          if (UtilValidate.isNotEmpty(file)) {
> @@ -77,8 +78,6 @@ In order to make this service active add
>                  String line = null;
>                  int size = 0;
>                  int counterLine = 0;
> -                //Home Document
> -                Entity = null;
>                  Entity = delegator.makeValue("Content");
>                  Entity.set("contentId", "ROOT");
>                  Entity.set("contentName", "ROOT");
> @@ -92,7 +91,6 @@ In order to make this service active add
>                  Entity.set("createdTxStamp", UtilDateTime.nowTimestamp());
>                  delegator.create(Entity);
>
> -                Entity = null;
>                  Entity = delegator.makeValue("Content");
>                  Entity.set("contentId", "HOME_DOCUMENT");
>                  Entity.set("contentName", "Home");
> @@ -111,7 +109,10 @@ In order to make this service active add
>                  contentAssoc.put("contentAssocTypeId", "TREE_CHILD");
>                  contentAssoc.put("contentIdTo", "ROOT");
>                  contentAssoc.put("userLogin", userLogin);
> -                dispatcher.runSync("createContentAssoc", contentAssoc);
> +                result = dispatcher.runSync("createContentAssoc", 
> contentAssoc);
> +                if (ServiceUtil.isError(result)) {
> +                    return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
> +                }
>                  while ((line = input.readLine()) != null) {//start line
>                      boolean hasFolder = true;
>                      String rootContent = null, contentId = null; 
> counterLine++;
> @@ -162,7 +163,6 @@ In order to make this service active add
>                                  }
>
>                                  if (contentAssocSize == 0 && 
> contentNameMatch == false) {//New Root Content
> -                                    Entity = null;
>                                      contentId = 
> delegator.getNextSeqId("Content");
>                                      Entity = delegator.makeValue("Content");
>                                      Entity.set("contentId", contentId);
> @@ -192,7 +192,10 @@ In order to make this service active add
>                                      contentAssoc.put("contentAssocTypeId", 
> "TREE_CHILD");
>                                      contentAssoc.put("contentIdTo", 
> rootContent);
>                                      contentAssoc.put("userLogin", userLogin);
> -                                    dispatcher.runSync("createContentAssoc", 
> contentAssoc);
> +                                    result = 
> dispatcher.runSync("createContentAssoc", contentAssoc);
> +                                    if (ServiceUtil.isError(result)) {
> +                                        return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
> +                                    }
>                                      rootContent = contentId;
>                                  } else {
>                                      //Debug.logInfo("ContentAssoc 
> [contentId= " + contentId + ", contentIdTo=" + rootContent + "] already 
> exist.");//ShoW log file
> @@ -230,6 +233,7 @@ In order to make this service active add
>          Delegator delegator = dctx.getDelegator();
>          LocalDispatcher dispatcher = dctx.getDispatcher();
>          GenericValue userLogin = (GenericValue) context.get("userLogin");
> +        Map<String, Object> result = new HashMap<String, Object>();
>          String subContents = null, check = ",", oldChar = "\"", newChar = 
> "", contentNameInprogress = "", contentName = "", contentId = null;
>          GenericValue Entity = null;
>          String errMsg = "", sucMsg= "";
> @@ -259,16 +263,17 @@ In order to make this service active add
>                              }
>                          }
>                      }
> -                    contentId = null;
>                      if (contentNameMatch == false) {
>                          //create DataResource
>                          Map<String,Object> data = new HashMap<String, 
> Object>();
>                          data.put("userLogin", userLogin);
> -                        String dataResourceId = 
> dispatcher.runSync("createDataResource", 
> data).get("dataResourceId").toString();
> -
> +                        result = dispatcher.runSync("createDataResource", 
> data);
> +                        if (ServiceUtil.isError(result)) {
> +                            return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
> +                        }
> +                        String dataResourceId = (String) 
> result.get("dataResourceId");
>                          //create Content
>                          contentId = delegator.getNextSeqId("Content");
> -                        Entity = null;
>                          Entity = delegator.makeValue("Content");
>                          Entity.set("contentId", contentId);
>                          Entity.set("contentName", contentName);
> @@ -289,7 +294,10 @@ In order to make this service active add
>                          contentAssoc.put("contentAssocTypeId", 
> "SUB_CONTENT");
>                          contentAssoc.put("contentIdTo", rootContent);
>                          contentAssoc.put("userLogin", userLogin);
> -                        dispatcher.runSync("createContentAssoc", 
> contentAssoc);
> +                        result = dispatcher.runSync("createContentAssoc", 
> contentAssoc);
> +                        if (ServiceUtil.isError(result)) {
> +                            return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
> +                        }
>                      }
>                      contentName ="";
>                      contentNameInprogress="";
> @@ -320,16 +328,17 @@ In order to make this service active add
>                              }
>                          }
>                      }
> -                    contentId = null;
>                      if (contentNameMatch == false) {
>                          //create DataResource
>                          Map<String,Object> data = new HashMap<String, 
> Object>();
>                          data.put("userLogin", userLogin);
> -                        String dataResourceId = 
> dispatcher.runSync("createDataResource",data).get("dataResourceId").toString();
> -
> +                        result = dispatcher.runSync("createDataResource", 
> data);
> +                        if (ServiceUtil.isError(result)) {
> +                            return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
> +                        }
> +                        String dataResourceId = (String) 
> result.get("dataResourceId");
>                          //create Content
>                          contentId = delegator.getNextSeqId("Content");
> -                        Entity = null;
>                          Entity = delegator.makeValue("Content");
>                          Entity.set("contentId", contentId);
>                          Entity.set("contentName", contentName);
> @@ -350,7 +359,10 @@ In order to make this service active add
>                          contentAssoc.put("contentAssocTypeId", 
> "SUB_CONTENT");
>                          contentAssoc.put("contentIdTo", rootContent);
>                          contentAssoc.put("userLogin", userLogin);
> -                        dispatcher.runSync("createContentAssoc", 
> contentAssoc);
> +                        result = dispatcher.runSync("createContentAssoc", 
> contentAssoc);
> +                        if (ServiceUtil.isError(result)) {
> +                            return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
> +                        }
>                      }
>                  }
>              }
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/compdoc/CompDocEvents.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/compdoc/CompDocEvents.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/compdoc/CompDocEvents.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/compdoc/CompDocEvents.java
>  Sun Dec 31 11:11:46 2017
> @@ -101,6 +101,12 @@ public class CompDocEvents {
>          persistMap.put("userLogin", userLogin);
>          try {
>              Map<String, Object> persistResult = 
> dispatcher.runSync("persistContentAndAssoc", persistMap);
> +            if (ServiceUtil.isError(persistResult)) {
> +                String errMsg = "Error running serviceName, 
> 'persistContentAndAssoc'. " + ServiceUtil.getErrorMessage(persistResult);
> +                request.setAttribute("_ERROR_MESSAGE_",  "<li>" + errMsg + 
> "</li>");
> +                Debug.logError(errMsg, module);
> +                return "error";
> +            }
>              contentId = (String)persistResult.get("contentId");
>              //request.setAttribute("contentId", contentId);
>              for (Entry<String, Object> entry : persistResult.entrySet()) {
> @@ -114,19 +120,17 @@ public class CompDocEvents {
>              contentRevisionMap.put("contentId", contentId);
>              contentRevisionMap.put("userLogin", userLogin);
>              Map<String, Object> result = 
> dispatcher.runSync("persistContentRevisionAndItem", contentRevisionMap);
> +            if (ServiceUtil.isError(result)) {
> +                String errMsg = "Error running serviceName, 
> 'persistContentRevisionAndItem'. " + ServiceUtil.getErrorMessage(result);
> +                request.setAttribute("_ERROR_MESSAGE_",  "<li>" + errMsg + 
> "</li>");
> +                Debug.logError(errMsg, module);
> +                return "error";
> +            }
>              for (Entry<String, Object> entry : result.entrySet()) {
>                  Object obj = entry.getValue();
>                  Object val = result.get(obj);
>                  request.setAttribute(obj.toString(), val);
>              }
> -            String errorMsg = ServiceUtil.getErrorMessage(result);
> -            if (UtilValidate.isNotEmpty(errorMsg)) {
> -                String errMsg = "Error running serviceName, 
> 'persistContentRevisionAndItem'. " + errorMsg;
> -                Debug.logError(errMsg, module);
> -                request.setAttribute("_ERROR_MESSAGE_", "<li>" + errMsg + 
> "</li>");
> -                return "error";
> -            }
> -
>          } catch (GenericServiceException e) {
>              String errMsg = "Error running serviceName, 
> 'persistContentAndAssoc'. " + e.toString();
>              Debug.logError(errMsg, module);
> @@ -166,6 +170,12 @@ public class CompDocEvents {
>          Map<String, Object> results = null;
>          try {
>              results = dispatcher.runSync("renderCompDocPdf", mapIn);
> +            if (ServiceUtil.isError(results)) {
> +                String errorMessage = ServiceUtil.getErrorMessage(results);
> +                request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                Debug.logError(errorMessage, module);
> +                return "error";
> +            }
>          } catch (ServiceAuthException e) {
>              request.setAttribute("_ERROR_MESSAGE_", e.toString());
>              return "error";
> @@ -177,11 +187,6 @@ public class CompDocEvents {
>              return "error";
>          }
>
> -        if (ServiceUtil.isError(results)) {
> -            request.setAttribute("_ERROR_MESSAGE_", 
> ServiceUtil.getErrorMessage(results));
> -            return "error";
> -        }
> -
>          ByteBuffer outByteBuffer = (ByteBuffer) results.get("outByteBuffer");
>
>          // setup content type
> @@ -222,6 +227,12 @@ public class CompDocEvents {
>          Map<String, Object> results = null;
>          try {
>              results = dispatcher.runSync("renderContentPdf", mapIn);
> +            if (ServiceUtil.isError(results)) {
> +                String errorMessage = ServiceUtil.getErrorMessage(results);
> +                request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                Debug.logError(errorMessage, module);
> +                return "error";
> +            }
>          } catch (ServiceAuthException e) {
>              request.setAttribute("_ERROR_MESSAGE_", e.toString());
>              return "error";
> @@ -233,11 +244,6 @@ public class CompDocEvents {
>              return "error";
>          }
>
> -        if (ServiceUtil.isError(results)) {
> -            request.setAttribute("_ERROR_MESSAGE_", 
> ServiceUtil.getErrorMessage(results));
> -            return "error";
> -        }
> -
>          ByteBuffer outByteBuffer = (ByteBuffer) results.get("outByteBuffer");
>
>          // setup content type
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentPermissionServices.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentPermissionServices.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentPermissionServices.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentPermissionServices.java
>  Sun Dec 31 11:11:46 2017
> @@ -291,6 +291,9 @@ public class ContentPermissionServices {
>
>          try {
>              permResults = dispatcher.runSync("checkContentPermission", 
> serviceInMap);
> +            if (ServiceUtil.isError(permResults)) {
> +                return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(permResults));
> +            }
>          } catch (GenericServiceException e) {
>              Debug.logError(e, "Problem checking permissions", 
> "ContentServices");
>          }
> @@ -307,6 +310,9 @@ public class ContentPermissionServices {
>          serviceInMap.put("contentPurposeList", relatedPurposes);
>          try {
>              permResults = dispatcher.runSync("checkContentPermission", 
> serviceInMap);
> +            if (ServiceUtil.isError(permResults)) {
> +                return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(permResults));
> +            }
>          } catch (GenericServiceException e) {
>              Debug.logError(e, "Problem checking permissions", 
> "ContentServices");
>          }
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentServices.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentServices.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentServices.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentServices.java
>  Sun Dec 31 11:11:46 2017
> @@ -105,6 +105,9 @@ public class ContentServices {
>              serviceInMap.put("currentContent", content);
>              try {
>                  permResults = dispatcher.runSync("checkContentPermission", 
> serviceInMap);
> +                if (ServiceUtil.isError(permResults)) {
> +                    return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(permResults));
> +                }
>              } catch (GenericServiceException e) {
>                  Debug.logError(e, "Problem checking permissions", 
> "ContentServices");
>                  return 
> ServiceUtil.returnError(UtilProperties.getMessage(resource, 
> "ContentPermissionNotGranted", locale));
> @@ -140,10 +143,8 @@ public class ContentServices {
>          traversMap.put("contentAssocTypeId", contentAssocTypeId);
>          try {
>              Map<String, Object> thisResults = 
> dispatcher.runSync("traverseContent", traversMap);
> -            String errorMsg = ServiceUtil.getErrorMessage(thisResults);
> -            if (UtilValidate.isNotEmpty(errorMsg)) {
> -                Debug.logError("Problem in traverseContent. " + errorMsg, 
> module);
> -                return ServiceUtil.returnError(errorMsg);
> +            if (ServiceUtil.isError(thisResults)) {
> +                return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResults));
>              }
>              Map<String, Object> nodeMap = 
> UtilGenerics.checkMap(thisResults.get("nodeMap"));
>              walkParentTree(nodeMap, parentList);
> @@ -442,14 +443,13 @@ public class ContentServices {
>
>          Map<String, Object> permResults = null;
>          permResults = dispatcher.runSync("checkAssocPermission", 
> serviceInMap);
> +        if (ServiceUtil.isError(permResults)) {
> +            return 
> ServiceUtil.returnFailure(ServiceUtil.getErrorMessage(permResults));
> +        }
>          permissionStatus = (String) permResults.get("permissionStatus");
>
>          if (permissionStatus != null && "granted".equals(permissionStatus)) {
>              contentAssoc.create();
> -        } else {
> -            String errorMsg = 
> (String)permResults.get(ModelService.ERROR_MESSAGE);
> -            result.put(ModelService.ERROR_MESSAGE, errorMsg);
> -            return ServiceUtil.returnFailure(errorMsg);
>          }
>
>          result.put("contentIdTo", contentIdTo);
> @@ -518,7 +518,10 @@ public class ContentServices {
>              if (UtilValidate.isNotEmpty(context.get("statusId"))) {
>                  Map<String, Object> statusInMap = UtilMisc.<String, 
> Object>toMap("contentId", context.get("contentId"), "statusId", 
> context.get("statusId"), "userLogin", userLogin);
>                  try {
> -                   dispatcher.runSync("setContentStatus", statusInMap);
> +                   result = dispatcher.runSync("setContentStatus", 
> statusInMap);
> +                   if (ServiceUtil.isError(result)) {
> +                       return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(result));
> +                   }
>                  } catch (GenericServiceException e) {
>                      Debug.logError(e, "Problem updating content Status", 
> "ContentServices");
>                      return 
> ServiceUtil.returnError(UtilProperties.getMessage(resource, 
> "ContentStatusUpdateError", UtilMisc.toMap("errorString", e), locale));
> @@ -635,6 +638,9 @@ public class ContentServices {
>          Map<String, Object> permResults = null;
>          try {
>              permResults = dispatcher.runSync("checkAssocPermission", 
> serviceInMap);
> +            if (ServiceUtil.isError(permResults)) {
> +                return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(permResults));
> +            }
>          } catch (GenericServiceException e) {
>              Debug.logError(e, "Problem checking permissions", 
> "ContentServices");
>              return 
> ServiceUtil.returnError(UtilProperties.getMessage(resource, 
> "ContentPermissionNotGranted", locale));
> @@ -726,6 +732,9 @@ public class ContentServices {
>          Map<String, Object> permResults = null;
>          try {
>              permResults = dispatcher.runSync("checkAssocPermission", 
> serviceInMap);
> +            if (ServiceUtil.isError(permResults)) {
> +                return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(permResults));
> +            }
>          } catch (GenericServiceException e) {
>              Debug.logError(e, "Problem checking permissions", 
> "ContentServices");
>              return 
> ServiceUtil.returnError(UtilProperties.getMessage(resource, 
> "ContentPermissionNotGranted", locale));
> @@ -958,19 +967,14 @@ public class ContentServices {
>                  // Only deactive if currently published
>                  if (isPublished) {
>                      Map<String, Object> thisResults = 
> dispatcher.runSync("deactivateAssocs", mapIn);
> -                    String errorMsg = 
> ServiceUtil.getErrorMessage(thisResults);
> -                    if (UtilValidate.isNotEmpty(errorMsg)) {
> -                        Debug.logError("Problem running deactivateAssocs. " 
> + errorMsg, "ContentServices");
> -                        return ServiceUtil.returnError(errorMsg);
> +                    if (ServiceUtil.isError(thisResults)) {
> +                        return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(thisResults));
>                      }
>                  }
>              }
> -        } catch (GenericEntityException e) {
> +        } catch (GenericEntityException | GenericServiceException e) {
>              Debug.logError(e, "Problem getting existing content", 
> "ContentServices");
>              return ServiceUtil.returnError(e.getMessage());
> -        } catch (GenericServiceException e) {
> -            Debug.logError(e, "Problem running deactivateAssocs", 
> "ContentServices");
> -            return ServiceUtil.returnError(e.getMessage());
>          }
>
>          return results;
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentWorker.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentWorker.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentWorker.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentWorker.java
>  Sun Dec 31 11:11:46 2017
> @@ -207,15 +207,16 @@ public class ContentWorker implements or
>                  Map<String,Object> serviceRes;
>                  try {
>                      serviceRes = dispatcher.runSync(serviceName, serviceCtx);
> +                    if (ServiceUtil.isError(serviceRes)) {
> +                        String errorMessage = 
> ServiceUtil.getErrorMessage(serviceRes);
> +                        Debug.logError(errorMessage, module);
> +                        throw new GeneralException(errorMessage);
> +                    }
>                  } catch (GenericServiceException e) {
>                      Debug.logError(e, module);
>                      throw e;
>                  }
> -                if (ServiceUtil.isError(serviceRes)) {
> -                    throw new 
> GeneralException(ServiceUtil.getErrorMessage(serviceRes));
> -                } else {
> -                    templateContext.putAll(serviceRes);
> -                }
> +                templateContext.putAll(serviceRes);
>              }
>          }
>
> @@ -1058,6 +1059,9 @@ public class ContentWorker implements or
>
>              try {
>                  permResults = dispatcher.runSync("checkContentPermission", 
> serviceInMap);
> +                if (ServiceUtil.isError(permResults)) {
> +                    Debug.logError(ServiceUtil.getErrorMessage(permResults) 
> + "Problem checking permissions", "ContentServices");
> +                }
>              } catch (GenericServiceException e) {
>                  Debug.logError(e, "Problem checking permissions", 
> "ContentServices");
>              }
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/UploadContentAndImage.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/UploadContentAndImage.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/UploadContentAndImage.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/content/UploadContentAndImage.java
>  Sun Dec 31 11:11:46 2017
> @@ -144,9 +144,10 @@ public class UploadContentAndImage {
>              String contentAssocTypeId = 
> (String)passedParams.get("contentAssocTypeId");
>              ftlContext.put("contentAssocTypeId", null); // Don't post assoc 
> at this time
>              Map<String, Object> ftlResults = 
> dispatcher.runSync("persistContentAndAssoc", ftlContext);
> -            boolean isError = 
> ModelService.RESPOND_ERROR.equals(ftlResults.get(ModelService.RESPONSE_MESSAGE));
> -            if (isError) {
> -                request.setAttribute("_ERROR_MESSAGE_", 
> ftlResults.get(ModelService.ERROR_MESSAGE));
> +            if (ServiceUtil.isError(ftlResults)) {
> +                String errorMessage = 
> ServiceUtil.getErrorMessage(ftlResults);
> +                request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                Debug.logError(errorMessage, module);
>                  TransactionUtil.rollback();
>                  return "error";
>              }
> @@ -176,9 +177,10 @@ public class UploadContentAndImage {
>                  }
>                  if (UtilValidate.isNotEmpty(map.get("contentAssocTypeId"))) {
>                      ftlResults = dispatcher.runSync("createContentAssoc", 
> map);
> -                    isError = 
> ModelService.RESPOND_ERROR.equals(ftlResults.get(ModelService.RESPONSE_MESSAGE));
> -                    if (isError) {
> -                        request.setAttribute("_ERROR_MESSAGE_", 
> ftlResults.get(ModelService.ERROR_MESSAGE));
> +                    if (ServiceUtil.isError(ftlResults)) {
> +                        String errorMessage = 
> ServiceUtil.getErrorMessage(ftlResults);
> +                        request.setAttribute("_ERROR_MESSAGE_", 
> errorMessage);
> +                        Debug.logError(errorMessage, module);
>                          TransactionUtil.rollback();
>                          return "error";
>                      }
> @@ -213,9 +215,10 @@ public class UploadContentAndImage {
>                  sumContext.put("mapKey", "SUMMARY");
>                  sumContext.put("dataTemplateTypeId", "NONE");
>                  Map<String, Object> sumResults = 
> dispatcher.runSync("persistContentAndAssoc", sumContext);
> -                isError = 
> ModelService.RESPOND_ERROR.equals(sumResults.get(ModelService.RESPONSE_MESSAGE));
> -                if (isError) {
> -                    request.setAttribute("_ERROR_MESSAGE_", 
> sumResults.get(ModelService.ERROR_MESSAGE));
> +                if (ServiceUtil.isError(ftlResults)) {
> +                    String errorMessage = 
> ServiceUtil.getErrorMessage(ftlResults);
> +                    request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                    Debug.logError(errorMessage, module);
>                      TransactionUtil.rollback();
>                      return "error";
>                  }
> @@ -242,9 +245,10 @@ public class UploadContentAndImage {
>                  txtContext.put("mapKey", "ARTICLE");
>                  txtContext.put("dataTemplateTypeId", "NONE");
>                  Map<String, Object> txtResults = 
> dispatcher.runSync("persistContentAndAssoc", txtContext);
> -                isError = 
> ModelService.RESPOND_ERROR.equals(txtResults.get(ModelService.RESPONSE_MESSAGE));
> -                if (isError) {
> -                    request.setAttribute("_ERROR_MESSAGE_", 
> txtResults.get(ModelService.ERROR_MESSAGE));
> +                if (ServiceUtil.isError(ftlResults)) {
> +                    String errorMessage = 
> ServiceUtil.getErrorMessage(ftlResults);
> +                    request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                    Debug.logError(errorMessage, module);
>                      TransactionUtil.rollback();
>                      return "error";
>                  }
> @@ -274,9 +278,10 @@ public class UploadContentAndImage {
>                  imgContext.put("rootDir", "rootDir");
>                  if (Debug.infoOn()) 
> Debug.logInfo("[UploadContentAndImage]imgContext " + imgContext, module);
>                  Map<String, Object> imgResults = 
> dispatcher.runSync("persistContentAndAssoc", imgContext);
> -                isError = 
> ModelService.RESPOND_ERROR.equals(imgResults.get(ModelService.RESPONSE_MESSAGE));
> -                if (isError) {
> -                    request.setAttribute("_ERROR_MESSAGE_", 
> imgResults.get(ModelService.ERROR_MESSAGE));
> +                if (ServiceUtil.isError(ftlResults)) {
> +                    String errorMessage = 
> ServiceUtil.getErrorMessage(ftlResults);
> +                    request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                    Debug.logError(errorMessage, module);
>                      TransactionUtil.rollback();
>                      return "error";
>                  }
> @@ -511,8 +516,8 @@ public class UploadContentAndImage {
>              errorMsgList.add(msg);
>              return "error";
>          }
> -        String msg = ServiceUtil.getErrorMessage(ftlResults);
> -        if (UtilValidate.isNotEmpty(msg)) {
> +        if (ServiceUtil.isError(ftlResults)) {
> +            String msg = ServiceUtil.getErrorMessage(ftlResults);
>              request.setAttribute("_ERROR_MESSAGE_", msg);
>              List<String> errorMsgList = 
> UtilGenerics.checkList(request.getAttribute("_EVENT_MESSAGE_LIST_"));
>              if (errorMsgList == null) {
> @@ -541,8 +546,14 @@ public class UploadContentAndImage {
>              resequenceContext.put("userLogin", userLogin);
>              try {
>                  ftlResults = dispatcher.runSync("resequence", 
> resequenceContext);
> +                if (ServiceUtil.isError(ftlResults)) {
> +                    String errorMessage = 
> ServiceUtil.getErrorMessage(ftlResults);
> +                    request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                    Debug.logError(errorMessage, module);
> +                    return "error";
> +                }
>              } catch (ServiceAuthException e) {
> -                msg = e.getMessage();
> +                String msg = e.getMessage();
>                  request.setAttribute("_ERROR_MESSAGE_", msg);
>                  List<String> errorMsgList = 
> UtilGenerics.checkList(request.getAttribute("_EVENT_MESSAGE_LIST_"));
>                  if (Debug.infoOn()) {
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/data/DataEvents.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/data/DataEvents.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/data/DataEvents.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/data/DataEvents.java
>  Sun Dec 31 11:11:46 2017
> @@ -312,29 +312,33 @@ public class DataEvents {
>          String mode = (String)paramMap.get("mode");
>          Locale locale = UtilHttp.getLocale(request);
>
> -        if (mode != null && "UPDATE".equals(mode)) {
> -            try {
> +        try {
> +            if (mode != null && "UPDATE".equals(mode)) {
>                  result = dispatcher.runSync("updateDataResource", 
> serviceInMap);
> -            } catch (GenericServiceException e) {
> -                String errMsg = 
> UtilProperties.getMessage(DataEvents.err_resource, 
> "dataEvents.error_call_update_service", locale);
> -                String errorMsg = "Error calling the updateDataResource 
> service." + e.toString();
> -                Debug.logError(e, errorMsg, module);
> -                request.setAttribute("_ERROR_MESSAGE_", errMsg + 
> e.toString());
> -                return "error";
> -            }
> -        } else {
> -            mode = "CREATE";
> -            try {
> +                if (ServiceUtil.isError(result)) {
> +                    String errMsg = 
> UtilProperties.getMessage(DataEvents.err_resource, 
> "dataEvents.error_call_update_service", locale);
> +                    String errorMsg = ServiceUtil.getErrorMessage(result);
> +                    Debug.logError(errorMsg, module);
> +                    request.setAttribute("_ERROR_MESSAGE_", errMsg);
> +                    return "error";
> +                }
> +            } else {
> +                mode = "CREATE";
>                  result = dispatcher.runSync("createDataResource", 
> serviceInMap);
> -            } catch (GenericServiceException e) {
> -                String errMsg = 
> UtilProperties.getMessage(DataEvents.err_resource, 
> "dataEvents.error_call_create_service", locale);
> -                String errorMsg = "Error calling the createDataResource 
> service." + e.toString();
> -                Debug.logError(e, errorMsg, module);
> -                request.setAttribute("_ERROR_MESSAGE_", errMsg + 
> e.toString());
> -                return "error";
> +                if (ServiceUtil.isError(result)) {
> +                    String errMsg = 
> UtilProperties.getMessage(DataEvents.err_resource, 
> "dataEvents.error_call_create_service", locale);
> +                    String errorMsg = ServiceUtil.getErrorMessage(result);
> +                    Debug.logError(errorMsg, module);
> +                    request.setAttribute("_ERROR_MESSAGE_", errMsg);
> +                    return "error";
> +                }
> +                dataResourceId = (String)result.get("dataResourceId");
> +                dataResource.set("dataResourceId", dataResourceId);
>              }
> -            dataResourceId = (String)result.get("dataResourceId");
> -            dataResource.set("dataResourceId", dataResourceId);
> +        } catch (GenericServiceException e) {
> +            Debug.logError(e, module);
> +            request.setAttribute("_ERROR_MESSAGE_", e.toString());
> +            return "error";
>          }
>
>          String returnStr = "success";
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java
>  Sun Dec 31 11:11:46 2017
> @@ -79,6 +79,7 @@ import org.apache.ofbiz.entity.util.Enti
>  import org.apache.ofbiz.entity.util.EntityUtilProperties;
>  import org.apache.ofbiz.service.GenericServiceException;
>  import org.apache.ofbiz.service.LocalDispatcher;
> +import org.apache.ofbiz.service.ServiceUtil;
>  import org.apache.ofbiz.widget.model.FormFactory;
>  import org.apache.ofbiz.widget.model.ModelForm;
>  import org.apache.ofbiz.widget.model.ModelScreen;
> @@ -335,6 +336,9 @@ public class DataResourceWorker  impleme
>              }
>              try {
>                  permResults = dispatcher.runSync("checkContentPermission", 
> serviceInMap);
> +                if (ServiceUtil.isError(permResults)) {
> +                    return permResults;
> +                 }
>              } catch (GenericServiceException e) {
>                  Debug.logError(e, "Problem checking permissions", 
> "ContentServices");
>              }
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/layout/LayoutEvents.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/layout/LayoutEvents.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/layout/LayoutEvents.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/layout/LayoutEvents.java
>  Sun Dec 31 11:11:46 2017
> @@ -49,6 +49,7 @@ import org.apache.ofbiz.minilang.SimpleM
>  import org.apache.ofbiz.service.GenericServiceException;
>  import org.apache.ofbiz.service.LocalDispatcher;
>  import org.apache.ofbiz.service.ModelService;
> +import org.apache.ofbiz.service.ServiceUtil;
>
>  /**
>   * LayoutEvents Class
> @@ -111,6 +112,12 @@ public class LayoutEvents {
>              }
>
>              Map<String, Object> result = 
> dispatcher.runSync("persistContentAndAssoc", context);
> +            if (ServiceUtil.isError(result)) {
> +                String errorMessage = ServiceUtil.getErrorMessage(result);
> +                request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                Debug.logError(errorMessage, module);
> +                return "error";
> +            }
>
>              String dataResourceId = (String) result.get("dataResourceId");
>              String activeContentId = (String) result.get("contentId");
> @@ -126,8 +133,14 @@ public class LayoutEvents {
>
>                  context2.put("contentIdTo", formInput.get("contentIdTo"));
>                  context2.put("mapKey", formInput.get("mapKey"));
> -
> -                dispatcher.runSync("deactivateAssocs", context2);
> +                Map<String, Object> serviceResult = new HashMap<String, 
> Object>();
> +                serviceResult = dispatcher.runSync("deactivateAssocs", 
> context2);
> +                if (ServiceUtil.isError(serviceResult)) {
> +                    String errorMessage = 
> ServiceUtil.getErrorMessage(serviceResult);
> +                    request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                    Debug.logError(errorMessage, module);
> +                    return "error";
> +                }
>              }
>
>              GenericValue dataResource = 
> EntityQuery.use(delegator).from("DataResource").where("dataResourceId", 
> dataResourceId).queryOne();
> @@ -247,6 +260,12 @@ public class LayoutEvents {
>
>              try {
>                  Map<String, Object> result = 
> dispatcher.runSync("persistContentAndAssoc", context);
> +                if (ServiceUtil.isError(result)) {
> +                    String errorMessage = 
> ServiceUtil.getErrorMessage(result);
> +                    request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                    Debug.logError(errorMessage, module);
> +                    return "error";
> +                }
>                  request.setAttribute("contentId", contentIdTo);
>                  Map<String, Object> context2 = new HashMap<String, Object>();
>                  context2.put("activeContentId", contentId);
> @@ -258,8 +277,14 @@ public class LayoutEvents {
>
>                  context2.put("contentIdTo", contentIdTo);
>                  context2.put("mapKey", mapKey);
> -
> -                dispatcher.runSync("deactivateAssocs", context2);
> +                Map<String, Object> serviceResult = new HashMap<String, 
> Object>();
> +                serviceResult = dispatcher.runSync("deactivateAssocs", 
> context2);
> +                if (ServiceUtil.isError(serviceResult)) {
> +                    String errorMessage = 
> ServiceUtil.getErrorMessage(serviceResult);
> +                    request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                    Debug.logError(errorMessage, module);
> +                    return "error";
> +                }
>              } catch (GenericServiceException e) {
>                  request.setAttribute("_ERROR_MESSAGE_", e.getMessage());
>                  return "error";
> @@ -348,6 +373,12 @@ public class LayoutEvents {
>          serviceIn.put("assocTypes", UtilMisc.toList("SUB_CONTENT"));
>          try {
>              results = 
> dispatcher.runSync("getAssocAndContentAndDataResource", serviceIn);
> +            if (ServiceUtil.isError(results)) {
> +                String errorMessage = ServiceUtil.getErrorMessage(results);
> +                request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                Debug.logError(errorMessage, module);
> +                return "error";
> +            }
>              entityList = UtilGenerics.checkList(results.get("entityList"));
>              if (UtilValidate.isEmpty(entityList)) {
>                  String errMsg = 
> UtilProperties.getMessage(LayoutEvents.err_resource, 
> "layoutEvents.no_subcontent", locale);
> @@ -390,6 +421,12 @@ public class LayoutEvents {
>                  serviceIn.put("thruDate", null);
>                  try {
>                      results = dispatcher.runSync("persistContentAndAssoc", 
> serviceIn);
> +                    if (ServiceUtil.isError(results)) {
> +                        String errorMessage = 
> ServiceUtil.getErrorMessage(results);
> +                        request.setAttribute("_ERROR_MESSAGE_", 
> errorMessage);
> +                        Debug.logError(errorMessage, module);
> +                        return "error";
> +                    }
>                  } catch (GenericServiceException e) {
>                      request.setAttribute("_ERROR_MESSAGE_", e.getMessage());
>                      return "error";
> @@ -452,9 +489,10 @@ public class LayoutEvents {
>                  Debug.logVerbose("in createSubContent, context:" + context, 
> module);
>              }
>              Map<String, Object> result = 
> dispatcher.runSync("persistContentAndAssoc", context);
> -            boolean isError = 
> ModelService.RESPOND_ERROR.equals(result.get(ModelService.RESPONSE_MESSAGE));
> -            if (isError) {
> -                request.setAttribute("_ERROR_MESSAGE_", 
> result.get(ModelService.ERROR_MESSAGE));
> +            if (ServiceUtil.isError(result)) {
> +                String errorMessage = ServiceUtil.getErrorMessage(result);
> +                request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                Debug.logError(errorMessage, module);
>                  return "error";
>              }
>
> @@ -473,8 +511,14 @@ public class LayoutEvents {
>              context2.put("contentIdTo", contentIdTo);
>              context2.put("mapKey", mapKey);
>              context2.put("userLogin", userLogin);
> -
> -            dispatcher.runSync("deactivateAssocs", context2);
> +            Map<String, Object> serviceResult = new HashMap<String, 
> Object>();
> +            serviceResult = dispatcher.runSync("deactivateAssocs", context2);
> +            if (ServiceUtil.isError(serviceResult)) {
> +                String errorMessage = 
> ServiceUtil.getErrorMessage(serviceResult);
> +                request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                Debug.logError(errorMessage, module);
> +                return "error";
> +            }
>          } catch (GenericServiceException e) {
>              request.setAttribute("_ERROR_MESSAGE_", e.getMessage());
>              return "error";
> @@ -517,9 +561,10 @@ public class LayoutEvents {
>              context.put("textData", paramMap.get("textData"));
>              context.put("contentAssocTypeId", null);
>              Map<String, Object> result = 
> dispatcher.runSync("persistContentAndAssoc", context);
> -            boolean isError = 
> ModelService.RESPOND_ERROR.equals(result.get(ModelService.RESPONSE_MESSAGE));
> -            if (isError) {
> -                request.setAttribute("_ERROR_MESSAGE_", 
> result.get(ModelService.ERROR_MESSAGE));
> +            if (ServiceUtil.isError(result)) {
> +                String errorMessage = ServiceUtil.getErrorMessage(result);
> +                request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                Debug.logError(errorMessage, module);
>                  return "error";
>              }
>              String contentId = (String) result.get("contentId");
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/survey/PdfSurveyServices.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/survey/PdfSurveyServices.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/survey/PdfSurveyServices.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/survey/PdfSurveyServices.java
>  Sun Dec 31 11:11:46 2017
> @@ -106,6 +106,9 @@ public class PdfSurveyServices {
>
>              // create a SurveyQuestionCategory to put the questions in
>              Map<String, Object> createCategoryResultMap = 
> dispatcher.runSync("createSurveyQuestionCategory", UtilMisc.<String, 
> Object>toMap("description", "From AcroForm in Content [" + contentId + "] for 
> Survey [" + surveyId + "]", "userLogin", userLogin));
> +            if (ServiceUtil.isError(createCategoryResultMap)) {
> +                return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(createCategoryResultMap));
> +            }
>              String surveyQuestionCategoryId = (String) 
> createCategoryResultMap.get("surveyQuestionCategoryId");
>
>              pdfStamper.setFormFlattening(true);
> @@ -516,7 +519,7 @@ public class PdfSurveyServices {
>              ctx.put("contentId", acroFormContentId);
>              Map<String, Object> map = dispatcher.runSync("setAcroFields", 
> ctx);
>              if (ServiceUtil.isError(map)) {
> -                return 
> ServiceUtil.returnError(ServiceUtil.makeErrorMessage(map, null, null, null, 
> null));
> +                return 
> ServiceUtil.returnError(ServiceUtil.getErrorMessage(map));
>              }
>              String pdfFileNameOut = (String) context.get("pdfFileNameOut");
>              ByteBuffer outByteBuffer = (ByteBuffer) map.get("outByteBuffer");
>
> Modified: 
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/bom/BOMHelper.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/bom/BOMHelper.java?rev=1819730&r1=1819729&r2=1819730&view=diff
> ==============================================================================
> --- 
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/bom/BOMHelper.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/bom/BOMHelper.java
>  Sun Dec 31 11:11:46 2017
> @@ -21,6 +21,7 @@ package org.apache.ofbiz.manufacturing.b
>
>  import java.util.Date;
>  import java.util.List;
> +import java.util.Map;
>
>  import org.apache.ofbiz.base.util.Debug;
>  import org.apache.ofbiz.base.util.UtilMisc;
> @@ -31,6 +32,7 @@ import org.apache.ofbiz.entity.GenericVa
>  import org.apache.ofbiz.entity.util.EntityQuery;
>  import org.apache.ofbiz.service.GenericServiceException;
>  import org.apache.ofbiz.service.LocalDispatcher;
> +import org.apache.ofbiz.service.ServiceUtil;
>
>  /** Helper class containing static method useful when dealing
>   * with product's bills of materials.
> @@ -150,7 +152,15 @@ public final class BOMHelper {
>                  Debug.logError("Production Run for order item (" + 
> orderItem.getString("orderId") + "/" + orderItem.getString("orderItemSeqId") 
> + ") not created.", module);
>                  continue;
>              }
> -            dispatcher.runSync("createProductionRunsForOrder", 
> UtilMisc.<String, Object>toMap("quantity", 
> shipmentPlan.getBigDecimal("quantity"), "orderId", 
> shipmentPlan.getString("orderId"), "orderItemSeqId", 
> shipmentPlan.getString("orderItemSeqId"), "shipGroupSeqId", 
> shipmentPlan.getString("shipGroupSeqId"), "shipmentId", shipmentId, 
> "userLogin", userLogin));
> +            Map<String, Object> result = 
> dispatcher.runSync("createProductionRunsForOrder", UtilMisc.<String, 
> Object>toMap("quantity", shipmentPlan.getBigDecimal("quantity"), "orderId",
> +                    shipmentPlan.getString("orderId"), "orderItemSeqId", 
> shipmentPlan.getString("orderItemSeqId"), "shipGroupSeqId", 
> shipmentPlan.getString("shipGroupSeqId"), "shipmentId",
> +                    shipmentId, "userLogin", userLogin));
> +            if (ServiceUtil.isError(result)) {
> +                String errorMessage = ServiceUtil.getErrorMessage(result);
> +                request.setAttribute("_ERROR_MESSAGE_", errorMessage);
> +                Debug.logError(errorMessage, module);
> +                return "error";
> +            }
>          }
>          } catch (GenericEntityException|GenericServiceException ge) {
>              Debug.logWarning(ge, module);
>
>

Reply via email to