I have confusing (lack of comprehension) trying to translate some part of my code to Optional
on Java 8.
First example mock Code
private void privateMethodOne(CustomRequesDto customRequesDto) {
// Some lines of code
ResponseEntity<CustomResponseDto> responseEntity;
try {
responseEntity = callWebClientRequestOne();
} catch (Exception e) {
RuntimeException ex = new CustomClientException(customRequesDto, e.getMessage());
log.error(ex.getMessage());
throw ex;
}
if (responseEntity.getBody() == null) {
throw new CustomResponseException("myMessage");
}
CustomResponseDto customResponseDto = responseEntity.getBody();
return Optional.ofNullable(customResponseDto).map(CustomResponseDto::getProperty).orElse(null);
}
In the First example mock Code, I would like to reduce this lines in a single line, using Optional
(if it is possible)
if (responseEntity.getBody() == null) {
throw new CustomResponseException("myMessage");
}
CustomResponseDto customResponseDto = responseEntity.getBody();
return Optional.ofNullable(customResponseDto).map(CustomResponseDto::getProperty).orElse(null);
How to do the same in a Single line?
Second example mock Code
private void privateMethodTwo(CustomRequesDto customRequesDto) {
// Some lines of code
ResponseEntity<byte[]> responseEntity = null;
try {
responseEntity = callWebClientRequestTwo();
} catch (Exception e) {
mapExceptions.put(customRequesDto, e.getMessage());
}
try {
if (responseEntity != null && responseEntity.getBody() == null) {
throw new CustomResponseException("myMessage");
}
} catch (Exception e) {
mapExceptions.put(someObject, e.getMessage());
}
// continue the executions
}
Second example mock Code, I would like to reduce this lines in a single line, using Optional
(if it is possible)
try {
if (responseEntity != null && responseEntity.getBody() == null) {
throw new CustomResponseException("myMessage");
}
} catch (Exception e) {
mapExceptions.put(someObject, e.getMessage());
}
How to perform the same in a Single line?