ofbiz-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Brohl <michael.br...@ecomify.de>
Subject Re: svn commit: r1819730 [1/6] - in /ofbiz/ofbiz-framework/trunk/applications: content/src/main/java/org/apache/ofbiz/content/ content/src/main/java/org/apache/ofbiz/content/compdoc/ content/src/main/java/org/apache/ofbiz/content/content/ content/src/main/...
Date Mon, 01 Jan 2018 12:13:00 GMT
Inline...


Am 01.01.18 um 12:45 schrieb Jacques Le Roux:
> Le 01/01/2018 à 11:42, Michael Brohl a écrit :
>> For me, reviewing is much easier if I can apply a patch to the 
>> codebase and use the IDE tools to examine the diff with the code 
>> contexts. 
> This is something I'll take into account in the future. I'll ask for 
> reviews before committing such large patches.
That would be a good idea...
>
>> This is not possible for me now the code is already committed. I 
>> won't review this in the my email client.
> Actually if you really want to review there is a possibility.
> You copy you current trunk working copy under another name.
> You svn update just before the commit (here at r1819694).
> You modify the name in .project with the copied name.
> You import in the IDE, you patch, it's ready for a review.
> This can be done in minutes, the longer part being the copy.
This is unnecessary complicated compared to just applying a patch and I 
won't do it also in this case.
>
>>
>> This is a big commit and most of the patches were submitted just 
>> before Christmas. I cannot see the urge to commit the work so fast 
>> without letting more people review.
> 2 reasons:
>
> 1. Large patches reviews (and not only large ones) tend to be 
> postponed (we are humans), then are deprecated and can't be applied so 
> get forgotten.
>    I'm sure I can find several examples in Jira.
> 2. When in trunk they can be "hand" and "automatically" (thanks to 
> spiders) tested, in demo. Also by people running them on their 
> machine. They are
>    not supposed to be used in production of course.

My standpoint in these cases is to do a review and dicussion before the 
commit. If there is a chance and others do not take it, you can commit 
later. That does not postpone the issue too much.

We should also take into account that people might use the trunk as base 
of their work. Even if trunk is not considered stable and we have 
releases, we should still try to be as stable as possible in trunk.

>> I won't insist on this further. There seems to be a substantial 
>> difference in perception how we should handle these issues and I'm 
>> tired to discuss this again and again. Hope you will take care about 
>> the fixes resulting from the commit if they are necessary.
> Yes as I said I'll review again. I hope the contributors (Suraj and 
> Anushi ) and others will help me do so, it's indeed a large task
I would expect that the testing was done before providing the patches. 
You cannot rely on the tests in all cases because different return 
results might not affect the single event/service but the integration 
logic/flow. I am not sure if we have enough tests for this.

Anyway, I made my point clear (now and in the past) and I don't like the 
process. It's up to you to take responsibility if things are broken.
I'm finished with this discussion.

Michael
>
> Jacques
>
>>
>> Michael
>>
>>
>> Am 01.01.18 um 08:53 schrieb Jacques Le Roux:
>>> Michael,
>>>
>>> I'll review again but will not revert. It will take time, but will 
>>> be done before we create the next release branch. This will allow 
>>> usage, on demo at least, to help finding possible issues.
>>>
>>> My basic idea is simple: we should handle error in services like 
>>> exceptions in Java: no swallowing at all.
>>>
>>> Handling a service returning an error only with a debug log error 
>>> should be only done when strictly necessary, ie when we don't want 
>>> to derail the flow. There are some cases in the commits (plugins is 
>>> another one).
>>>
>>> To answer you Taher, no I did not test all services manually. Of 
>>> course I'd appreciate any help in reviewing...
>>>
>>> Jacques
>>>
>>>
>>> Le 31/12/2017 à 23:49, Jacques Le Roux a écrit :
>>>> It's far better than before. I reviewed all carefully and tests 
>>>> pass. If you see something specific which hurts you please fix it
>>>>
>>>> Thanks
>>>>
>>>> Jacques
>>>>
>>>>
>>>> Le 31/12/2017 à 15:41, Michael Brohl a écrit :
>>>>> I have not the time to look at this further now but some changes 
>>>>> seem to change the business logic, e.g. by returning an "error" 
>>>>> result in events where they did not before, same in services. It 
>>>>> makes a difference in both the controller logic as well as in the 
>>>>> service engine logic.
>>>>>
>>>>> This seems not to be a simple refactoring and we should have some 
>>>>> thorough testing before this goes into the codebase.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Michael
>>>>>
>>>>>
>>>>> Am 31.12.17 um 15:11 schrieb Taher Alkhateeb:
>>>>>> 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, <jleroux@apache.org> 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);
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>
>

Mime
View raw message