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");
}
}