Results Format
Common JSON format across all the results
All the result returned by the REST API are structured as follows:
{
"status": "[success|error]",
"data": {
...
}
}
In case of error the following structure is sent:
{
"status": "error",
"data": {
"errorChain": [
{
"type": "",
"message": ""
},
...
],
"stackTrace": ""
}
}
Endpoints and Responses
The following matrix outlines the different endpoints and the information their response contains.
Endpoint | Response |
---|---|
submitTasks | Return the list of task ids (String) as a result |
submitOrders | Return the list of task ids (String) as a result |
submitTemplateOrders | Return the list of task ids (String) as a result |
addTemplateOrder | Does not return any specific value |
removeTemplateOrder | Does not return any specific value |
clearOldCompletedTasks | Returns the number of tasks cleared |
isTaskCompleted | Simply return a boolean. |
isTaskListCompleted | Simply return a boolean. |
getTaskStatus | Return a result based on the DeeTaskInfoDTO and DeeResultFileInfoDTO classes. |
getTaskListStatus | Return a result based on the DeeTaskInfoDTO and DeeResultFileInfoDTO classes. |
cancelTask | Return a result based on the DeeTaskInfoDTO and DeeResultFileInfoDTO classes. |
cancelTaskList | Return a result based on the DeeTaskInfoDTO and DeeResultFileInfoDTO classes. |
Enhanced Drillthrough Endpoints and Responses
Here are the endpoints exposed by the Enhanced Drillthrough component of the Extraction Engine:
Endpoint | Response |
---|---|
executeSearchFacts | Returns list of Object[] representing the extracted attributes for each fact that fell into the query scope |
executeEnhancedDrillthrough | Returns no content, just an ok or error status |
retrieveEnhancedDrillthroughResult | Returns the current status of the task in an EnhancedDrillthroughTaskInfoDTO object. |
cancelEnhancedDrillthrough | Returns the last status of the task if the query has been cancelled, nothing otherwise |
getEnhancedDrillthroughMaxRows/{pivotId} | Returns the max rows value for the specified cube |
executeEnhancedCount | Returns the number of aggregate DTO’s returned as results of the query |
Response Examples
Below are examples for the different endpoints.
Submit calls
The methods submitTasks
, submitOrders
and submitTemplateOrders
return the list of task ids (String) as a result.
Example response for submitTasks
:
{
"status": "success",
"data": [
"1612394532198_2"
]
}
Template calls
The methods addTemplateOrder
and removeTemplateOrder
do not return any specific value.
Clean-up calls
The method clearOldCompletedTasks
returns the number of tasks cleared.
Example response:
{
"status": "success",
"data": 1
}
Check if task(s) is completed
The methods isTaskCompleted
and isTaskListCompleted
simply return a boolean.
Example response for isTaskCompleted
:
{
"status": "success",
"data": true
}
Status calls
The methods getTaskStatus
, getTaskListStatus
, cancelTask
and cancelTaskList
return a result based on the DeeTaskInfoDTO
and DeeResultFileInfoDTO
classes.
Below are examples of XML and Json response DTO objects:
XML Status Call Result Format
<deeTaskInfo>
<taskId>1</taskId>
<taskOwner>admin</taskOwner>
<taskStatus>RUNNING</taskStatus>
<statusLastUpdateTime>24/01/2020 12:58:23</statusLastUpdateTime>
<orderName>orderName</orderName>
<orderDescription>orderDesc</orderDescription>
<taskCreationTime>24/01/2020 12:58:23</taskCreationTime>
<taskRunStartTime>24/01/2020 12:58:23</taskRunStartTime>
<taskRunStopTime>24/01/2020 12:58:23</taskRunStopTime>
<taskExceptionMessage>exceptionMessage</taskExceptionMessage>
<taskExceptionDetails>exceptionDetails</taskExceptionDetails>
<dataSetDescription>dataSetDesc</dataSetDescription>
<dataRawSize>2000</dataRawSize>
<deeResultFileInfo>
<url>http://path/to/file</url>
<size>2000</size>
<linesCount>10</linesCount>
</deeResultFileInfo>
</deeTaskInfo>
JSON Status Call Result Format
{
"status": "success",
"data": {
"taskId": "1",
"taskOwner": "admin",
"taskStatus": "RUNNING",
"statusLastUpdateTime": "24/01/2020 12:58:23",
"orderName": "orderName",
"orderDescription": "orderDesc",
"taskCreationTime": "24/01/2020 12:58:23",
"taskRunStartTime": "24/01/2020 12:58:23",
"taskRunStopTime": "24/01/2020 12:58:23",
"taskExceptionMessage": "exceptionMessage",
"taskExceptionDetails": "exceptionDetails",
"dataSetDescription": "dataSetDesc",
"dataRawSize": "2000",
"resultFile": [
{
"url": "http://path/to/file",
"size": 2000,
"linesCount": 10
}
]
}
}
Enhanced Drillthrough REST Responses
Execute Search Facts Query
Returns list of Object[] representing the extracted attributes for each fact that fell into the query scope
Execute Enhanced Drillthrough Query
Returns no content, just an ok or error status
Retrieve Enhanced Drillthrough Result
The REST service returns a JSON object following the EnhancedDrillthroughTaskInfoDTO
definition.
Example of output:
{
"status": "success",
"data": {
"taskOwner": "admin",
"taskStatus": "SUCCESS",
"dataRawSize": "2000",
"taskException": "",
"resultFiles": [
{
"url": "",
"size": 2000,
"linesCount": -1
}
]
}
}
Cancel Enhanced Drillthrough
The REST service returns a JSON object following the EnhancedDrillthroughTaskInfoDTO
definition.
Example of output:
{
"status": "success",
"data": {
"taskOwner": "admin",
"taskStatus": "CANCELLED",
"dataRawSize": "",
"taskException": "",
"resultFiles": []
}
}
Get Enhanced Drillthrough Max Rows
This returns the maximum number of rows the enhanced drill-through is allowed to extract for a specific cube.
Example of output:
{
"status": "success",
"data": 10
}
Execute Enhanced Count
This retrieves the contributors.COUNT for a particular location, with some custom logic to ensure appropriate count calculation when dealing with analysis dimensions in the target cube.
Example of output:
{
"status": "success",
"data": 10
}