- public TransactionCommitFailedException apply(final Exception e) {
- // If excetion is TransactionCommitFailedException
- // we reuse it directly.
- if (e instanceof TransactionCommitFailedException) {
- return (TransactionCommitFailedException) e;
- }
- // If error is ExecutionException which was caused by cause of
- // TransactionCommitFailedException
- // we reuse original cause
- if (e instanceof ExecutionException && e.getCause() instanceof TransactionCommitFailedException) {
- return (TransactionCommitFailedException) e.getCause();
- }
- if (e instanceof InterruptedException) {
- return new TransactionCommitFailedException(opName + " failed - DOMStore was interupted.", e);
- }
- // Otherwise we are using new exception, with original cause
- return new TransactionCommitFailedException(opName + " failed", e);
+ protected TransactionCommitFailedException newWithCause( final String message, final Throwable cause ) {
+ return new TransactionCommitFailedException( message, cause );