public class ResponseUtil extends Object
Modifier and Type | Method and Description |
---|---|
static void |
addApplicationError(OperationResponse response,
TrackedData input,
String statusCode,
Payload payload)
Adds a single application error result for the given input to the given response.
|
static void |
addCombinedFailure(OperationResponse response,
Iterable<? extends TrackedData> inputs,
String statusCode)
Adds a single failure result with an empty payload for the given inputs to the given response.
|
static void |
addCombinedFailure(OperationResponse response,
Iterable<? extends TrackedData> inputs,
String statusCode,
Payload payload)
Adds a single failure result for the given inputs to the given response.
|
static void |
addCombinedSuccess(OperationResponse response,
Iterable<? extends TrackedData> inputs,
String statusCode)
Adds a single successful result with an empty payload for the given inputs to the given response.
|
static void |
addCombinedSuccess(OperationResponse response,
Iterable<? extends TrackedData> inputs,
String statusCode,
Payload payload)
Adds a single successful result for the given inputs to the given response.
|
static void |
addEmptyFailure(OperationResponse response,
TrackedData input,
String statusCode)
Adds a single failure result for the given input to the given response (this will not generate any output
document).
|
static void |
addEmptyFailures(OperationResponse response,
Iterable<? extends TrackedData> inputs,
String statusCode)
Adds a failure result for each of the given inputs to the given response (this will not generate any output
documents).
|
static void |
addEmptyResults(OperationResponse response,
Iterable<? extends TrackedData> inputs,
OperationStatus status,
String statusCode,
String statusMessage)
Adds each of the given inputs to the given response as an empty result (this will not generate any output
documents).
|
static void |
addEmptyResultWithHttpStatus(OperationResponse response,
TrackedData input,
int httpStatusCode,
String statusMessage)
Adds the given input to the given response as an empty result (this will not generate any output documents).
|
static void |
addEmptySuccess(OperationResponse response,
TrackedData input,
String statusCode)
Adds a single successful result for the given input to the given response (this will not generate any output
document).
|
static void |
addEmptySuccesses(OperationResponse response,
Iterable<? extends TrackedData> inputs,
String statusCode)
Adds a successful result for each of the given inputs to the given response (this will not generate any output
document).
|
static void |
addExceptionFailure(OperationResponse response,
TrackedData input,
Throwable t)
Adds a failure for the given input as well as logs the given Throwable.
|
static void |
addExceptionFailures(OperationResponse response,
Iterable<? extends TrackedData> inputs,
Throwable t)
Adds a failure for each of the given inputs as well as logs the given Throwable.
|
static void |
addFailure(OperationResponse response,
TrackedData input,
String statusCode)
Adds a single failure result with an empty payload for the given input to the given response.
|
static void |
addFailure(OperationResponse response,
TrackedData input,
String statusCode,
Payload payload)
Adds a single failure result for the given input to the given response.
|
static void |
addPartialFailure(OperationResponse response,
TrackedData input,
String statusCode,
Payload payload)
Adds one of the failure results for the given input to the given response.
|
static void |
addPartialFailures(OperationResponse response,
Iterable<? extends TrackedData> inputs,
String statusCode,
Payload payload)
Adds failure results for the given inputs to the given response.
|
static boolean |
addPartialResult(OperationResponse operation,
TrackedData input,
ConnectorResult result)
Utility method to add a partial
ConnectorResult to an OperationResponse for a specific
TrackedData instance. |
static void |
addPartialResultWithHttpStatus(OperationResponse response,
TrackedData input,
int httpStatusCode,
String statusMessage)
Adds a single partial result with no payload for the given input to the given response.
|
static void |
addPartialResultWithHttpStatus(OperationResponse response,
TrackedData input,
int httpStatusCode,
String statusMessage,
Payload payload)
Adds a single partial result for the given input to the given response.
|
static void |
addPartialSuccess(OperationResponse response,
TrackedData input,
String statusCode,
Payload payload)
Adds one of the successful results for the given input to the given response.
|
static void |
addPartialSuccesses(OperationResponse response,
Iterable<? extends TrackedData> inputs,
String statusCode,
Payload payload)
Adds successful results for the given inputs to the given response.
|
static void |
addResult(OperationResponse operation,
TrackedData input,
ConnectorResult result)
Utility method to add a partial
ConnectorResult to an OperationResponse for a specific
TrackedData instance. |
static void |
addResult(OperationResponse operation,
TrackedData input,
ConnectorStatus status)
Convenience method to add a result to an
OperationResponse using the provided ConnectorStatus and
a null payload. |
static void |
addResult(OperationResponse operation,
TrackedData input,
ConnectorStatus status,
Payload payload)
Convenience method to add a result to an
OperationResponse using the provided ConnectorStatus and
payload. |
static void |
addResultWithHttpStatus(OperationResponse response,
TrackedData input,
int httpStatusCode,
String statusMessage,
Payload payload)
Adds a single result for the given input to the given response.
|
static void |
addSplitFailure(OperationResponse response,
TrackedData input,
String statusCode,
Iterable<? extends Payload> payloads)
Adds all of the failure results for the given input to the given response.
|
static void |
addSplitResult(OperationResponse response,
TrackedData input,
OperationStatus status,
String statusCode,
String statusMessage,
Iterable<? extends Payload> payloads)
Adds all of the results for the given input to the given response.
|
static void |
addSplitSuccess(OperationResponse response,
TrackedData input,
String statusCode,
Iterable<? extends Payload> payloads)
Adds all of the successful results for the given input to the given response.
|
static void |
addSuccess(OperationResponse response,
TrackedData input,
String statusCode)
Adds a single successful result with an empty payload for the given input to the given response.
|
static void |
addSuccess(OperationResponse response,
TrackedData input,
String statusCode,
Payload payload)
Adds a single successful result for the given input to the given response.
|
static OperationStatus |
getOperationStatus(int httpStatusCode)
This method derives the appropriate
OperationStatus from the specified HTTP status code. |
static Payload |
toPayload(ByteArrayOutputStream bout)
Constructs a Payload around the given ByteArrayOutputStream.
|
static Payload |
toPayload(InputStream input)
Constructs a Payload around the given InputStream.
|
static Payload |
toPayload(JAXBContext jaxbContext,
Object obj)
Constructs a Payload around the given JAXB object.
|
static Payload |
toPayload(Node node)
Constructs a Payload around the given xml Node.
|
static Payload |
toPayload(Source source)
Constructs a Payload around the given xml Source.
|
static Payload |
toPayload(String input)
Constructs a Payload around the given String, to be encoded using the Atom default Charset.
|
static Payload |
toPayload(String input,
Charset charset)
Constructs a Payload around the given String, to be encoded using the given Charset.
|
public static Payload toPayload(InputStream input)
input
- input stream to be returned by the new Payloadpublic static Payload toPayload(JAXBContext jaxbContext, Object obj)
jaxbContext
- context which should be used to marshal the given objectobj
- JAXB object to be written by the new payloadpublic static Payload toPayload(Node node)
node
- xml to be written by the new payloadpublic static Payload toPayload(Source source)
source
- xml to be written by the new payloadpublic static Payload toPayload(String input)
Warning, the use of String output is generally discouraged as it can cause memory issues. Please avoid if at all
possible. See AtomContext.createTempOutputStream()
for the preferred alternative.
input
- input String to be encoded in the new Payloadpublic static Payload toPayload(String input, Charset charset)
Warning, the use of String output is generally discouraged as it can cause memory issues. Please avoid if at all
possible. See AtomContext.createTempOutputStream()
for the preferred alternative.
input
- input String to be encoded in the new Payloadcharset
- the charset to use when encoding the String, may be null
, in which case the Atom default
is usedpublic static Payload toPayload(ByteArrayOutputStream bout)
Warning, the use of ByteArrayOutputStream is generally discouraged as it can cause memory issues. Please avoid if
at all possible. See AtomContext.createTempOutputStream()
for the preferred alternative.
bout
- output stream containing the data to be writtenpublic static void addSuccess(OperationResponse response, TrackedData input, String statusCode)
Equivalent to:
response.addResult(input, OperationStatus.SUCCESS, statusCode, null, null);
response
- operation responseinput
- operation inputstatusCode
- optional success status codeOperationResponse.addResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addEmptySuccess(OperationResponse response, TrackedData input, String statusCode)
Equivalent to:
response.addEmptyResult(input, OperationStatus.SUCCESS, statusCode, null);
response
- operation responseinput
- operation inputstatusCode
- optional success status codeOperationResponse.addEmptyResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String)
public static void addSuccess(OperationResponse response, TrackedData input, String statusCode, Payload payload)
Equivalent to:
response.addResult(input, OperationStatus.SUCCESS, statusCode, null, payload);
response
- operation responseinput
- operation inputstatusCode
- optional success status codepayload
- optional success payloadOperationResponse.addResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addApplicationError(OperationResponse response, TrackedData input, String statusCode, Payload payload)
Equivalent to:
response.addResult(input, OperationStatus.APPLICATION_ERROR, statusCode, null, payload);
response
- operation responseinput
- operation inputstatusCode
- optional success status codepayload
- optional success payloadOperationResponse.addResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addCombinedSuccess(OperationResponse response, Iterable<? extends TrackedData> inputs, String statusCode)
Equivalent to:
response.addCombinedResult(inputs, OperationStatus.SUCCESS, statusCode, null, null);
response
- operation responseinputs
- operation inputsstatusCode
- optional success status codeOperationResponse.addCombinedResult(java.lang.Iterable<? extends com.boomi.connector.api.TrackedData>, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addCombinedSuccess(OperationResponse response, Iterable<? extends TrackedData> inputs, String statusCode, Payload payload)
Equivalent to:
response.addCombinedResult(inputs, OperationStatus.SUCCESS, statusCode, null, payload);
response
- operation responseinputs
- operation inputsstatusCode
- optional success status codepayload
- optional success payloadOperationResponse.addCombinedResult(java.lang.Iterable<? extends com.boomi.connector.api.TrackedData>, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addPartialSuccess(OperationResponse response, TrackedData input, String statusCode, Payload payload)
Equivalent to:
response.addPartialResult(input, OperationStatus.SUCCESS, statusCode, null, payload);
response
- operation responseinput
- operation inputstatusCode
- optional success status codepayload
- optional success payloadOperationResponse.addPartialResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addPartialSuccesses(OperationResponse response, Iterable<? extends TrackedData> inputs, String statusCode, Payload payload)
Equivalent to:
response.addPartialResult(inputs, OperationStatus.SUCCESS, statusCode, null, payload);
response
- operation responseinputs
- operation inputsstatusCode
- optional success status codepayload
- optional success payloadOperationResponse.addPartialResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addSplitSuccess(OperationResponse response, TrackedData input, String statusCode, Iterable<? extends Payload> payloads)
OperationResponse.addPartialResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
for each payload and then call
OperationResponse.finishPartialResult(com.boomi.connector.api.TrackedData)
for the given input.response
- operation responseinput
- operation inputstatusCode
- optional success status codepayloads
- optional success payloadspublic static void addEmptySuccesses(OperationResponse response, Iterable<? extends TrackedData> inputs, String statusCode)
Equivalent to:
for(TrackedData input : inputs) {
response.addEmptyResult(input, OperationStatus.SUCCESS, statusCode, null);
}
response
- operation responseinputs
- operation inputsstatusCode
- optional success status codeOperationResponse.addEmptyResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String)
public static void addFailure(OperationResponse response, TrackedData input, String statusCode)
Equivalent to:
response.addResult(input, OperationStatus.FAILURE, statusCode, null, null);
response
- operation responseinput
- operation inputstatusCode
- optional failure status codeOperationResponse.addResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addEmptyFailure(OperationResponse response, TrackedData input, String statusCode)
Equivalent to:
response.addEmptyResult(input, OperationStatus.FAILURE, statusCode, null);
response
- operation responseinput
- operation inputstatusCode
- optional failure status codeOperationResponse.addEmptyResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String)
public static void addFailure(OperationResponse response, TrackedData input, String statusCode, Payload payload)
Equivalent to:
response.addResult(input, OperationStatus.FAILURE, statusCode, null, null);
response
- operation responseinput
- operation inputstatusCode
- optional fail status codepayload
- optional fail payloadOperationResponse.addResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addCombinedFailure(OperationResponse response, Iterable<? extends TrackedData> inputs, String statusCode)
Equivalent to:
response.addCombinedResult(inputs, OperationStatus.FAILURE, statusCode, null, null);
response
- operation responseinputs
- operation inputsstatusCode
- optional failure status codeOperationResponse.addCombinedResult(java.lang.Iterable<? extends com.boomi.connector.api.TrackedData>, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addCombinedFailure(OperationResponse response, Iterable<? extends TrackedData> inputs, String statusCode, Payload payload)
Equivalent to:
response.addCombinedResult(inputs, OperationStatus.FAILURE, statusCode, null, payload);
response
- operation responseinputs
- operation inputsstatusCode
- optional failure status codepayload
- optional failure payloadOperationResponse.addCombinedResult(java.lang.Iterable<? extends com.boomi.connector.api.TrackedData>, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addPartialFailure(OperationResponse response, TrackedData input, String statusCode, Payload payload)
Equivalent to:
response.addPartialResult(input, OperationStatus.FAILURE, statusCode, null, payload);
response
- operation responseinput
- operation inputstatusCode
- optional failure status codepayload
- optional failure payloadOperationResponse.addPartialResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addPartialFailures(OperationResponse response, Iterable<? extends TrackedData> inputs, String statusCode, Payload payload)
Equivalent to:
response.addPartialResult(inputs, OperationStatus.FAILURE, statusCode, null, payload);
response
- operation responseinputs
- operation inputsstatusCode
- optional failure status codepayload
- optional failure payloadOperationResponse.addPartialResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
public static void addSplitFailure(OperationResponse response, TrackedData input, String statusCode, Iterable<? extends Payload> payloads)
OperationResponse.addPartialResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
for each payload and then call
OperationResponse.finishPartialResult(com.boomi.connector.api.TrackedData)
for the given input.response
- operation responseinput
- operation inputstatusCode
- optional failure status codepayloads
- optional failure payloadspublic static void addEmptyFailures(OperationResponse response, Iterable<? extends TrackedData> inputs, String statusCode)
Equivalent to:
for(TrackedData input : inputs) {
response.addEmptyResult(input, OperationStatus.FAILURE, statusCode, null);
}
response
- operation responseinputs
- operation inputsstatusCode
- optional success status codeOperationResponse.addEmptyResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String)
public static void addSplitResult(OperationResponse response, TrackedData input, OperationStatus status, String statusCode, String statusMessage, Iterable<? extends Payload> payloads)
OperationResponse.addPartialResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String, com.boomi.connector.api.Payload)
for each payload and then call
OperationResponse.finishPartialResult(com.boomi.connector.api.TrackedData)
for the given input.response
- operation responseinput
- operation inputstatus
- operation statusstatusCode
- optional status codestatusMessage
- optional status messagepayloads
- optional payloadspublic static void addEmptyResults(OperationResponse response, Iterable<? extends TrackedData> inputs, OperationStatus status, String statusCode, String statusMessage)
Equivalent to:
for(TrackedData input : inputs) {
response.addEmptyResult(input, status, statusCode, statusMessage);
}
response
- operation responseinputs
- operation inputsstatus
- operation statusstatusCode
- optional status codestatusMessage
- optional status messageOperationResponse.addEmptyResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String)
public static void addExceptionFailure(OperationResponse response, TrackedData input, Throwable t)
Equivalent to:
response.addErrorResult(input, OperationStatus.FAILURE, ConnectorException.getStatusCode(t), ConnectorException.getStatusMessage(t), t)
response
- current operation responseinput
- optional relevant input datat
- optional failureTrackedData.getLogger()
,
OperationResponse.addEmptyResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String)
public static void addExceptionFailures(OperationResponse response, Iterable<? extends TrackedData> inputs, Throwable t)
Equivalent to:
for(TrackedData input : inputs) {
addExceptionFailure(response, input, t);
}
response
- current operation responseinputs
- optional relevant input datat
- optional failureTrackedData.getLogger()
,
OperationResponse.addEmptyResult(com.boomi.connector.api.TrackedData, com.boomi.connector.api.OperationStatus, java.lang.String, java.lang.String)
public static void addEmptyResultWithHttpStatus(OperationResponse response, TrackedData input, int httpStatusCode, String statusMessage)
OperationStatus
will be derived from the specified HTTP status code. This method should only
be used for services that adhere to the HTTP status code standards.
Equivalent to:
response.addEmptyResult(input, operationStatus, httpStatusCode, statusMessage);
response
- operation responseinput
- operation inputhttpStatusCode
- http status codestatusMessage
- optional status messagepublic static void addResultWithHttpStatus(OperationResponse response, TrackedData input, int httpStatusCode, String statusMessage, Payload payload)
OperationStatus
will be
derived from the specified HTTP status code. This method should only be used for services that adhere to the HTTP
status code standards.
Equivalent to:
response.addResult(input, operationStatus, httpStatusCode, statusMessage, payload);
response
- operation responseinput
- operation inputhttpStatusCode
- http status codestatusMessage
- optional status messagepayload
- optional payloadpublic static void addPartialResultWithHttpStatus(OperationResponse response, TrackedData input, int httpStatusCode, String statusMessage)
OperationStatus
will be derived from the specified HTTP status code. This method should
only be used for services that adhere to the HTTP status code standards.
Equivalent to:
response.addPartialResult(input, operationStatus, httpStatusCode, statusMessage, null);
response
- the operation responseinput
- the operation inputhttpStatusCode
- the http status codestatusMessage
- the status messagepublic static void addPartialResultWithHttpStatus(OperationResponse response, TrackedData input, int httpStatusCode, String statusMessage, Payload payload)
OperationStatus
will be derived from the specified HTTP status code. This method should only be used for services that adhere to
the HTTP status code standards.
Equivalent to:
response.addPartialResult(input, operationStatus, httpStatusCode, statusMessage, payload);
response
- the operation responseinput
- the operation inputhttpStatusCode
- the http status codestatusMessage
- the status messagepayload
- the optional payloadpublic static OperationStatus getOperationStatus(int httpStatusCode)
OperationStatus
from the specified HTTP status code. This method
should only be used for services that adhere to the HTTP status code standards.httpStatusCode
- the HTTP status codepublic static boolean addPartialResult(OperationResponse operation, TrackedData input, ConnectorResult result)
ConnectorResult
to an OperationResponse
for a specific
TrackedData
instance. This method will NOT finish the partial results for the tracked data instance.
Callers are expected to call OperationResponse.finishPartialResult(TrackedData)
to finish the results
when ready.
A null result or a result where ConnectorResult.getPayloads()
returns an null or empty iterable will not
be added to the operation response.
For non-null results, the payloads returned by ConnectorResult.getPayloads()
will each be added as a
partial result using ConnectorResult.getStatus()
as the status if available,
ConnectorStatus.UNKNOWN
otherwise. The result and payloads will be closed after all payloads have been
added to the response.
If an exception is encountered while adding the results, an additional OperationStatus.APPLICATION_ERROR
partial result will be added. The status code and status message for the error result will be based on the
exception. Throwing a ConnectorException
when returning the payloads has the additional benefit of being
able to specify the status code and message for the error result.operation
- the operation responseinput
- the tracked data instanceresult
- the result to addpublic static void addResult(OperationResponse operation, TrackedData input, ConnectorResult result)
ConnectorResult
to an OperationResponse
for a specific
TrackedData
instance. This method generally adheres to the same contract as
addPartialResult(OperationResponse, TrackedData, ConnectorResult)
except this method will call
OperationResponse.finishPartialResult(TrackedData)
if partial results were added. If no partial results
were added, a "full" result will be added using ConnectorResult.getStatus()
if available,
ConnectorStatus.UNKNOWN
otherwise. No payload will be included in the full result.operation
- the operation response where the result will be addedinput
- the tracked data instanceresult
- the result to addpublic static void addResult(OperationResponse operation, TrackedData input, ConnectorStatus status)
OperationResponse
using the provided ConnectorStatus
and
a null payload. Effectively equivalent to calling OperationResponse.addResult(TrackedData,
OperationStatus, String, String, Payload)
. If a null status is provided, ConnectorStatus#UNKNOWN will be used
instead.operation
- the operation response where the result will be addedinput
- the tracked data instancestatus
- the status of the resultpublic static void addResult(OperationResponse operation, TrackedData input, ConnectorStatus status, Payload payload)
OperationResponse
using the provided ConnectorStatus
and
payload. Effectively equivalent to calling OperationResponse.addResult(TrackedData, OperationStatus,
String, String, Payload)
. If a null status is provided, ConnectorStatus#UNKNOWN will be used instead.operation
- the operation response where the result will be addedinput
- the tracked data intsancestatus
- the status of the resultpayload
- the payload for the result