svn commit: r1842372 - /ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java

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

svn commit: r1842372 - /ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java

jleroux@apache.org
Author: jleroux
Date: Sun Sep 30 13:49:30 2018
New Revision: 1842372

URL: http://svn.apache.org/viewvc?rev=1842372&view=rev
Log:
Fixed: Service Log screen is broken
(OFBIZ-10342)

Steps to regenerate

    Navigate to Logging menu under webtools
    https://demo-trunk.ofbiz.apache.org/webtools/control/LogView

    Select Service Log menu, see NPE error

Thanks: Swapnil M Mane for report and Swapnil and Rishi Solanki for reviews

Modified:
    ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java

Modified: ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java?rev=1842372&r1=1842371&r2=1842372&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java Sun Sep 30 13:49:30 2018
@@ -301,6 +301,7 @@ public class ServiceDispatcher {
                     if (modelService.requireNewTransaction) {
                         parentTransaction = TransactionUtil.suspend();
                         if (TransactionUtil.isTransactionInPlace()) {
+                            rs.setEndStamp();
                             throw new GenericTransactionException("In service " + modelService.name + " transaction is still in place after suspend, status is " + TransactionUtil.getStatusString());
                         }
                         // now start a new transaction
@@ -358,6 +359,7 @@ public class ServiceDispatcher {
                     GenericValue userLogin = (GenericValue) context.get("userLogin");
 
                     if (modelService.auth && userLogin == null) {
+                        rs.setEndStamp();
                         throw new ServiceAuthException("User authorization is required for this service: " + modelService.name + modelService.debugInfo());
                     }
 
@@ -381,6 +383,7 @@ public class ServiceDispatcher {
                             modelService.validate(context, ModelService.IN_PARAM, locale);
                         } catch (ServiceValidationException e) {
                             Debug.logError(e, "Incoming context (in runSync : " + modelService.name + ") does not match expected requirements", module);
+                            rs.setEndStamp();
                             throw e;
                         }
                     }
@@ -489,6 +492,7 @@ public class ServiceDispatcher {
                     try {
                         modelService.validate(result, ModelService.OUT_PARAM, locale);
                     } catch (ServiceValidationException e) {
+                        rs.setEndStamp();
                         throw new GenericServiceException("Outgoing result (in runSync : " + modelService.name + ") does not match expected requirements", e);
                     }
                 }
@@ -555,6 +559,7 @@ public class ServiceDispatcher {
                         if (e.getMessage() != null) {
                             errMsg = errMsg + ": " + e.getMessage();
                         }
+                        rs.setEndStamp();
                         throw new GenericServiceException(errMsg);
                     }
                 }
@@ -567,6 +572,7 @@ public class ServiceDispatcher {
             }
         } catch (GenericTransactionException te) {
             Debug.logError(te, "Problems with the transaction", module);
+            rs.setEndStamp();
             throw new GenericServiceException("Problems with the transaction.", te.getNested());
         } finally {
             if (lock != null) {
@@ -584,6 +590,7 @@ public class ServiceDispatcher {
                     TransactionUtil.resume(parentTransaction);
                 } catch (GenericTransactionException ite) {
                     Debug.logWarning(ite, "Transaction error, not resumed", module);
+                    rs.setEndStamp();
                     throw new GenericServiceException("Resume transaction exception, see logs");
                 }
             }