Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.micro.integrator.dataservices.common.DBConstants;
import org.wso2.micro.integrator.dataservices.core.opentelemetry.DataServicesTracingCollector;

import static org.wso2.micro.integrator.dataservices.core.opentelemetry.DataServicesTracingConstants.DATA_SERVICE_INDEX;

/**
* This class represents the Axis2 message receiver used to dispatch in-only service calls.
Expand All @@ -42,26 +45,29 @@ public class DBInOnlyMessageReceiver extends RawXMLINOnlyMessageReceiver {
* on invalid method (wrong signature) or behavior (return
* null)
*/
public void invokeBusinessLogic(MessageContext msgContext) throws AxisFault {
try {
if (log.isDebugEnabled()) {
log.debug("Request received to DSS: Data Service - " + msgContext.getServiceContext().getName() +
", Operation - " + msgContext.getSoapAction() + ", Request body - " +
msgContext.getEnvelope().getText() + ", ThreadID - " + Thread.currentThread().getId());
}
DataServiceProcessor.dispatch(msgContext);
msgContext.setProperty(DBConstants.TENANT_IN_ONLY_MESSAGE, Boolean.TRUE);
} catch (Exception e) {
log.error("Error in in-only message receiver", e);
msgContext.setProperty(Constants.FAULT_NAME, DBConstants.DS_FAULT_NAME);
throw DBUtils.createAxisFault(e);
} finally {
if (log.isDebugEnabled()) {
log.debug("Request processing completed from DSS: Data Service - " +
msgContext.getServiceContext().getName() + ", Operation - " + msgContext.getSoapAction() +
", ThreadID - " + Thread.currentThread().getId());
}
}
}

public void invokeBusinessLogic(MessageContext msgContext) throws AxisFault {
try {
if (log.isDebugEnabled()) {
log.debug("Request received to DSS: Data Service - " + msgContext.getServiceContext().getName() +
", Operation - " + msgContext.getSoapAction() + ", Request body - " +
msgContext.getEnvelope().getText() + ", ThreadID - " + Thread.currentThread().getId());
}
DataServicesTracingCollector.reportEntryEvent(msgContext);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 1

Suggested change
DataServicesTracingCollector.reportEntryEvent(msgContext);
DataServicesTracingCollector.reportEntryEvent(msgContext);
log.info("Processing in-only message for Data Service: " + msgContext.getServiceContext().getName() + ", Operation: " + msgContext.getSoapAction());

DataServiceProcessor.dispatch(msgContext);
msgContext.setProperty(DBConstants.TENANT_IN_ONLY_MESSAGE, Boolean.TRUE);
DataServicesTracingCollector.closeEntryEvent(msgContext, null);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 2

Suggested change
DataServicesTracingCollector.closeEntryEvent(msgContext, null);
DataServicesTracingCollector.closeEntryEvent(msgContext, null);
log.info("Successfully completed in-only message processing for Data Service: " + msgContext.getServiceContext().getName());

} catch (Exception e) {
log.error("Error in in-only message receiver", e);
msgContext.setProperty(Constants.FAULT_NAME, DBConstants.DS_FAULT_NAME);
DataServicesTracingCollector.closeFlowForcefully(msgContext, DATA_SERVICE_INDEX, e);
throw DBUtils.createAxisFault(e);
} finally {
if (log.isDebugEnabled()) {
log.debug("Request processing completed from DSS: Data Service - " +
msgContext.getServiceContext().getName() + ", Operation - " + msgContext.getSoapAction() +
", ThreadID - " + Thread.currentThread().getId());
}
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,12 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.micro.integrator.dataservices.common.DBConstants;
import org.wso2.micro.integrator.dataservices.core.opentelemetry.DataServicesTracingCollector;

import java.util.Map;

import static org.wso2.micro.integrator.dataservices.core.opentelemetry.DataServicesTracingConstants.DATA_SERVICE_INDEX;

/**
* This class represents the Axis2 message receiver used to dispatch in-out service calls.
*/
Expand Down Expand Up @@ -59,6 +62,7 @@ public void invokeBusinessLogic(MessageContext msgContext,
", Operation - " + msgContext.getSoapAction() + ", Request body - " +
msgContext.getEnvelope().getText() + ", ThreadID - " + Thread.currentThread().getId());
}
DataServicesTracingCollector.reportEntryEvent(msgContext);
boolean isAcceptJson = false;
Map transportHeaders = (Map) msgContext.getProperty(MessageContext.TRANSPORT_HEADERS);
if (transportHeaders != null) {
Expand Down Expand Up @@ -91,9 +95,11 @@ public void invokeBusinessLogic(MessageContext msgContext,
newMsgContext.setProperty(Constants.Configuration.MESSAGE_TYPE,
HTTPConstants.MEDIA_TYPE_APPLICATION_JSON);
}
DataServicesTracingCollector.closeEntryEvent(msgContext, result);
Comment on lines 95 to +98
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 4

Suggested change
newMsgContext.setProperty(Constants.Configuration.MESSAGE_TYPE,
HTTPConstants.MEDIA_TYPE_APPLICATION_JSON);
}
DataServicesTracingCollector.closeEntryEvent(msgContext, result);
newMsgContext.setProperty(Constants.Configuration.MESSAGE_TYPE,
HTTPConstants.MEDIA_TYPE_APPLICATION_JSON);
}
log.info("Data service request completed successfully - MessageID: " + msgContext.getMessageID());

} catch (Exception e) {
log.error("Error in in-out message receiver", e);
msgContext.setProperty(Constants.FAULT_NAME, DBConstants.DS_FAULT_NAME);
DataServicesTracingCollector.closeFlowForcefully(msgContext, DATA_SERVICE_INDEX, e);
throw DBUtils.createAxisFault(e);
} finally {
if (msgContext.getProperty(DATA_SERVICE_LATENCY_TIMER) != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import org.wso2.micro.integrator.dataservices.core.dispatch.DataServiceRequest;
import org.wso2.micro.integrator.dataservices.core.dispatch.DispatchStatus;
import org.wso2.micro.integrator.dataservices.core.engine.DataService;
import org.wso2.micro.integrator.dataservices.core.opentelemetry.DataServicesTracingCollector;

import javax.xml.namespace.QName;

Expand All @@ -37,7 +38,8 @@ public class DataServiceProcessor {
public static OMElement dispatch(MessageContext msgContext) throws DataServiceFault {
DispatchStatus.clearRequestStatus();
DataServiceRequest request = DataServiceRequest.createDataServiceRequest(msgContext);
OMElement result = request.dispatch();
DataServicesTracingCollector.reportQueryExecutionEvent(msgContext, request);
Comment on lines 40 to +41
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 5

Suggested change
DataServiceRequest request = DataServiceRequest.createDataServiceRequest(msgContext);
OMElement result = request.dispatch();
DataServicesTracingCollector.reportQueryExecutionEvent(msgContext, request);
DataServiceRequest request = DataServiceRequest.createDataServiceRequest(msgContext);
log.info("Processing data service request: " + request.getRequestName());
DataServicesTracingCollector.reportQueryExecutionEvent(msgContext, request);

OMElement result = request.dispatch(msgContext);
if (result == null) {
DataService ds = request.getDataService();
String requestName = request.getRequestName();
Expand All @@ -46,6 +48,7 @@ public static OMElement dispatch(MessageContext msgContext) throws DataServiceFa
result = generateRequestSuccessElement();
}
}
DataServicesTracingCollector.closeQueryExecutionEvent(msgContext, result);
return result;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,14 @@
import javax.xml.stream.XMLStreamException;

import org.apache.axiom.om.OMElement;
import org.apache.axis2.context.MessageContext;
import org.apache.commons.io.output.NullOutputStream;
import org.wso2.micro.integrator.dataservices.core.DBUtils;
import org.wso2.micro.integrator.dataservices.core.DataServiceFault;
import org.wso2.micro.integrator.dataservices.core.dispatch.DataServiceRequest;
import org.wso2.micro.integrator.dataservices.core.opentelemetry.DataServicesTracingCollector;

import static org.wso2.micro.integrator.dataservices.core.opentelemetry.DataServicesTracingConstants.MULTI_REQUEST_LAST_INDEX_PROPERTY;

/**
* Represents a boxcarring session service request group.
Expand Down Expand Up @@ -56,13 +60,16 @@ public void clear() {
* and the stored requests will be executed,
* the result of the last operation is returned.
*/
public synchronized OMElement execute() throws DataServiceFault {
public synchronized OMElement execute(MessageContext messageContext) throws DataServiceFault {
OMElement result;
Comment on lines +63 to 64
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 7

Suggested change
public synchronized OMElement execute(MessageContext messageContext) throws DataServiceFault {
OMElement result;
public synchronized OMElement execute(MessageContext messageContext) throws DataServiceFault {
log.info("Starting boxcarring session execution with " + this.getRequests().size() + " requests");
OMElement result;

List<DataServiceRequest> reqList = this.getRequests();
int n = reqList.size();
OMElement resultElement = null;
for (int i = 0; i < n; i++) {
result = reqList.get(i).dispatch();
DataServicesTracingCollector.reportMultiEvent(messageContext, i, reqList.get(i));
Comment on lines 68 to +69
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 8

Suggested change
for (int i = 0; i < n; i++) {
result = reqList.get(i).dispatch();
DataServicesTracingCollector.reportMultiEvent(messageContext, i, reqList.get(i));
for (int i = 0; i < n; i++) {
if (log.isDebugEnabled()) {
log.debug("Executing request " + (i + 1) + " of " + n + " in boxcarring session");
}
DataServicesTracingCollector.reportMultiEvent(messageContext, i, reqList.get(i));

messageContext.setProperty(MULTI_REQUEST_LAST_INDEX_PROPERTY, i);
result = reqList.get(i).dispatch(messageContext);
DataServicesTracingCollector.closerMultiEvent(messageContext, i, result);
Comment on lines +63 to +72
Copy link

@coderabbitai coderabbitai bot Dec 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Potential NullPointerException if messageContext is null.

Line 70 calls messageContext.setProperty(...) without a null check. While DataServicesTracingCollector methods internally check for null, this direct property access will throw NPE if messageContext is null. The DataServiceRequest.dispatch() no-arg method calls dispatch(null), making this a possible code path.

Consider adding a null guard:

 for (int i = 0; i < n; i++) {
     DataServicesTracingCollector.reportMultiEvent(messageContext, i, reqList.get(i));
-    messageContext.setProperty(MULTI_REQUEST_LAST_INDEX_PROPERTY, i);
+    if (messageContext != null) {
+        messageContext.setProperty(MULTI_REQUEST_LAST_INDEX_PROPERTY, i);
+    }
     result = reqList.get(i).dispatch(messageContext);
     DataServicesTracingCollector.closerMultiEvent(messageContext, i, result);
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
public synchronized OMElement execute(MessageContext messageContext) throws DataServiceFault {
OMElement result;
List<DataServiceRequest> reqList = this.getRequests();
int n = reqList.size();
OMElement resultElement = null;
for (int i = 0; i < n; i++) {
result = reqList.get(i).dispatch();
DataServicesTracingCollector.reportMultiEvent(messageContext, i, reqList.get(i));
messageContext.setProperty(MULTI_REQUEST_LAST_INDEX_PROPERTY, i);
result = reqList.get(i).dispatch(messageContext);
DataServicesTracingCollector.closerMultiEvent(messageContext, i, result);
public synchronized OMElement execute(MessageContext messageContext) throws DataServiceFault {
OMElement result;
List<DataServiceRequest> reqList = this.getRequests();
int n = reqList.size();
OMElement resultElement = null;
for (int i = 0; i < n; i++) {
DataServicesTracingCollector.reportMultiEvent(messageContext, i, reqList.get(i));
if (messageContext != null) {
messageContext.setProperty(MULTI_REQUEST_LAST_INDEX_PROPERTY, i);
}
result = reqList.get(i).dispatch(messageContext);
DataServicesTracingCollector.closerMultiEvent(messageContext, i, result);
🤖 Prompt for AI Agents
In
components/data/data-services/org.wso2.micro.integrator.dataservices.core/src/main/java/org/wso2/micro/integrator/dataservices/core/boxcarring/RequestBox.java
around lines 63 to 72, the code calls messageContext.setProperty(...) and
DataServicesTracingCollector methods without checking if messageContext is null
which can cause a NullPointerException (dispatch may be called with null). Add a
null guard: if messageContext is non-null, perform the tracing/reporting and
setProperty calls as written; otherwise skip those calls and invoke
reqList.get(i).dispatch(null) (or dispatch with the existing null) so dispatch
still runs but no property access or tracing occurs on a null messageContext.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check this suggestion

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AmilaSamith, I've reviewed the suggestion. The concern is valid based on the code flow:

Tracing the null path:

  1. In DataServiceRequest.java, the no-arg dispatch() method delegates to dispatch(null) (lines visible in the AI summary)
  2. This null MessageContext is then passed to processRequest(messageContext)
  3. For BoxcarringDataServiceRequest, processRequest() calls execute(messageContext) in RequestBox
  4. At line 70 in RequestBox.execute(), messageContext.setProperty(...) is called without a null check

Result: If the no-arg dispatch() is called anywhere in the codebase, it will cause a NullPointerException at line 70.

The suggested null guard is appropriate since:

  • DataServicesTracingCollector methods already handle null messageContext internally (based on the pattern)
  • The setProperty call is purely for tracing infrastructure and shouldn't break the core boxcarring flow
  • The dispatch(messageContext) call on line 71 should work fine with null (delegates back to no-arg version)

Would you like to apply this fix, or is there a guarantee that execute() will never receive a null messageContext in your deployment?

if (result != null) {
try {
/* if it's the last request, return the result,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,14 @@
import java.util.Map;

import org.apache.axiom.om.OMElement;
import org.apache.axis2.context.MessageContext;
import org.wso2.micro.integrator.dataservices.core.DataServiceFault;
import org.wso2.micro.integrator.dataservices.core.TLConnectionStore;
import org.wso2.micro.integrator.dataservices.core.engine.DataService;
import org.wso2.micro.integrator.dataservices.core.engine.ParamValue;
import org.wso2.micro.integrator.dataservices.core.opentelemetry.DataServicesTracingCollector;

import static org.wso2.micro.integrator.dataservices.core.opentelemetry.DataServicesTracingConstants.MULTI_REQUEST_LAST_INDEX_PROPERTY;

/**
* Represents a batch data service request.
Expand Down Expand Up @@ -85,10 +89,10 @@ public List<SingleDataServiceRequest> getDSRequests() {
}

/**
* @see DataServiceRequest#processRequest()
* @see DataServiceRequest#processRequest(MessageContext messageContext)
*/
@Override
public OMElement processRequest() throws DataServiceFault {
public OMElement processRequest(MessageContext messageContext) throws DataServiceFault {
boolean error = true;
try {
/* signal that we are batch processing */
Expand All @@ -103,7 +107,10 @@ public OMElement processRequest() throws DataServiceFault {
/* set the current batch request number in TL */
DispatchStatus.setBatchRequestNumber(i);
/* execute/enqueue request */
OMElement element = requests.get(i).dispatch();
DataServicesTracingCollector.reportMultiEvent(messageContext, i, requests.get(i));
messageContext.setProperty(MULTI_REQUEST_LAST_INDEX_PROPERTY, i);
OMElement element = requests.get(i).dispatch(messageContext);
DataServicesTracingCollector.closerMultiEvent(messageContext, i, element);
if (element != null && element.getFirstOMChild() != null) {
result = element;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axis2.context.MessageContext;
import org.wso2.micro.integrator.dataservices.common.DBConstants.BoxcarringOps;
import org.wso2.micro.integrator.dataservices.core.DBUtils;
import org.wso2.micro.integrator.dataservices.core.DSSessionManager;
Expand Down Expand Up @@ -48,10 +49,10 @@ public DataServiceRequest getDSRequest() {
}

/**
* @see DataServiceRequest#processRequest()
* @see DataServiceRequest#processRequest(MessageContext messageContext)
*/
@Override
public OMElement processRequest() throws DataServiceFault {
public OMElement processRequest(MessageContext messageContext) throws DataServiceFault {
if (BoxcarringOps.BEGIN_BOXCAR.equals(this.getRequestName())) {
/* clear earlier boxcarring sessions */
DSSessionManager.getCurrentRequestBox().clear();
Expand All @@ -65,7 +66,7 @@ public OMElement processRequest() throws DataServiceFault {
if (!this.getDataService().isInDTX()) {
this.getDataService().getDSSTxManager().begin();
}
OMElement lastRequestResult = DSSessionManager.getCurrentRequestBox().execute();
OMElement lastRequestResult = DSSessionManager.getCurrentRequestBox().execute(messageContext);
error = false;
Comment on lines 66 to 70
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 12

Suggested change
if (!this.getDataService().isInDTX()) {
this.getDataService().getDSSTxManager().begin();
}
OMElement lastRequestResult = DSSessionManager.getCurrentRequestBox().execute();
OMElement lastRequestResult = DSSessionManager.getCurrentRequestBox().execute(messageContext);
error = false;
if (!this.getDataService().isInDTX()) {
this.getDataService().getDSSTxManager().begin();
}
if (log.isDebugEnabled()) {
log.debug("Executing boxcarring requests for session");
}
OMElement lastRequestResult = DSSessionManager.getCurrentRequestBox().execute(messageContext);
error = false;
log.info("Successfully executed boxcarring session");

return lastRequestResult;
} finally {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,8 @@ private static List<Map<String, ParamValue>> getBatchInputValuesFromOM(
*/
@SuppressWarnings("unchecked")
private static DataServiceRequest createRequestBoxRequest(DataService dataService, String requestName,
OMElement inputMessage) throws DataServiceFault {
OMElement inputMessage)
throws DataServiceFault {
RequestBoxRequest dsRequest = new RequestBoxRequest(dataService, requestName);

if (inputMessage == null) {
Expand Down Expand Up @@ -352,11 +353,11 @@ public String[] getUserRoles() {

/**
* Dispatches the current request. This method does common dispatching logic and call the
* request type specific {@link DataServiceRequest}{@link #processRequest()} method.
* request type specific {@link DataServiceRequest}{@link #processRequest(MessageContext messageContext)} method.
* @return The result of the request invocation
* @throws DataServiceFault
*/
public OMElement dispatch() throws DataServiceFault {
public OMElement dispatch(MessageContext messageContext) throws DataServiceFault {
Comment on lines 359 to +360
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 13

Suggested change
*/
public OMElement dispatch() throws DataServiceFault {
public OMElement dispatch(MessageContext messageContext) throws DataServiceFault {
public OMElement dispatch(MessageContext messageContext) throws DataServiceFault {
log.debug("Dispatching data service request: " + this.requestName);
/* set user */

/* set user */
if (this.getUserRoles() != null) {
DataServiceUser currentUser = new DataServiceUser(this.getUser(),
Expand All @@ -365,7 +366,7 @@ public OMElement dispatch() throws DataServiceFault {
}

/* request specific processing */
OMElement result = this.processRequest();
OMElement result = this.processRequest(messageContext);
/* check disable streaming */
Comment on lines +369 to 370
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 14

Suggested change
OMElement result = this.processRequest(messageContext);
/* check disable streaming */
OMElement result = this.processRequest(messageContext);
if (log.isDebugEnabled()) {
log.debug("Request processed successfully for: " + this.requestName);
}
/* check disable streaming */

if (this.isDisableStreaming()) {
/* if result is of type OMSourcedElementImpl, that means,
Expand All @@ -376,12 +377,22 @@ public OMElement dispatch() throws DataServiceFault {
}
return result;
}

/**
* Dispatches the current request.
*
* @return The result of the request invocation
* @throws DataServiceFault
*/
public OMElement dispatch() throws DataServiceFault {
return dispatch(null);
}

/**
* This method must implement the request specific request processing logic.
* @param messageContext Axis2 message context of the request
* @return The result of the request invocation
* @throws DataServiceFault
*/
public abstract OMElement processRequest() throws DataServiceFault;

*/
public abstract OMElement processRequest(MessageContext messageContext) throws DataServiceFault;
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,13 @@
package org.wso2.micro.integrator.dataservices.core.dispatch;

import org.apache.axiom.om.OMElement;
import org.apache.axis2.context.MessageContext;
import org.wso2.micro.integrator.dataservices.core.DataServiceFault;
import org.wso2.micro.integrator.dataservices.core.TLConnectionStore;
import org.wso2.micro.integrator.dataservices.core.boxcarring.RequestBox;
import org.wso2.micro.integrator.dataservices.core.boxcarring.TLParamStore;
import org.wso2.micro.integrator.dataservices.core.engine.DataService;
import org.wso2.micro.integrator.dataservices.core.opentelemetry.DataServicesTracingCollector;

/**
* Request box data service request for request grouping.
Expand Down Expand Up @@ -54,18 +56,18 @@ public void addRequests(DataServiceRequest request) {
}

/**
* @see DataServiceRequest#processRequest()
* @see DataServiceRequest#processRequest(MessageContext messageContext)
*/
@Override
public OMElement processRequest() throws DataServiceFault {
public OMElement processRequest(MessageContext messageContext) throws DataServiceFault {

boolean error = true;
try {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 15

Suggested change
try {
DispatchStatus.setBoxcarringRequest();
log.info("Processing request box with " + this.requestBox.getRequestCount() + " requests");

DispatchStatus.setBoxcarringRequest();
if (!this.getDataService().isInDTX()) {
this.getDataService().getDSSTxManager().begin();
}
OMElement lastRequestResult = this.requestBox.execute();
OMElement lastRequestResult = this.requestBox.execute(messageContext);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 16

Suggested change
OMElement lastRequestResult = this.requestBox.execute(messageContext);
OMElement lastRequestResult = this.requestBox.execute(messageContext);
log.debug("Request box execution completed successfully");

error = false;
return lastRequestResult;
} finally {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.llom.OMSourcedElementImpl;
import org.apache.axis2.context.MessageContext;
import org.wso2.micro.integrator.dataservices.core.DBUtils;
import org.wso2.micro.integrator.dataservices.core.DataServiceFault;
import org.wso2.micro.integrator.dataservices.core.XSLTTransformer;
Expand Down Expand Up @@ -55,10 +56,10 @@ public Map<String, ParamValue> getParams() {
}

/**
* @see DataServiceRequest#processRequest()
* @see DataServiceRequest#processRequest(MessageContext messageContext)
*/
@Override
public OMElement processRequest() throws DataServiceFault {
public OMElement processRequest(MessageContext messageContext) throws DataServiceFault {
Comment on lines 61 to +62
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 17

Suggested change
@Override
public OMElement processRequest() throws DataServiceFault {
public OMElement processRequest(MessageContext messageContext) throws DataServiceFault {
@Override
public OMElement processRequest(MessageContext messageContext) throws DataServiceFault {
log.info("Processing single data service request");

try {
Query.resetQueryPreprocessing();
Query.setQueryPreprocessingInitial(true);
Expand Down
Loading
Loading