@Override public WriteConcernResult execute(final WriteBinding binding) { try { BulkWriteResult result = getMixedBulkOperation().execute(binding); if (result.wasAcknowledged()) { return translateBulkWriteResult(result); } else { return WriteConcernResult.unacknowledged(); } } catch (MongoBulkWriteException e) { throw convertBulkWriteException(e); } }
@SuppressWarnings("deprecation") private MongoException convertBulkWriteException(final MongoBulkWriteException e) { BulkWriteError lastError = getLastError(e); if (lastError != null) { if (ErrorCategory.fromErrorCode(lastError.getCode()) == ErrorCategory.DUPLICATE_KEY) { return new DuplicateKeyException(manufactureGetLastErrorResponse(e), e.getServerAddress(), translateBulkWriteResult(e.getWriteResult())); } else { return new WriteConcernException(manufactureGetLastErrorResponse(e), e.getServerAddress(), translateBulkWriteResult(e.getWriteResult())); } } else { return new WriteConcernException(manufactureGetLastErrorResponse(e), e.getServerAddress(), translateBulkWriteResult(e.getWriteResult())); } }
@Override public WriteConcernResult execute(final WriteBinding binding) { try { BulkWriteResult result = getMixedBulkOperation().execute(binding); if (result.wasAcknowledged()) { return translateBulkWriteResult(result); } else { return WriteConcernResult.unacknowledged(); } } catch (MongoBulkWriteException e) { throw convertBulkWriteException(e); } }
@SuppressWarnings("deprecation") private MongoException convertBulkWriteException(final MongoBulkWriteException e) { BulkWriteError lastError = getLastError(e); if (lastError != null) { if (ErrorCategory.fromErrorCode(lastError.getCode()) == ErrorCategory.DUPLICATE_KEY) { return new DuplicateKeyException(manufactureGetLastErrorResponse(e), e.getServerAddress(), translateBulkWriteResult(e.getWriteResult())); } else { return new WriteConcernException(manufactureGetLastErrorResponse(e), e.getServerAddress(), translateBulkWriteResult(e.getWriteResult())); } } else { return new WriteConcernException(manufactureGetLastErrorResponse(e), e.getServerAddress(), translateBulkWriteResult(e.getWriteResult())); } }