From bd14aff290b16a1fc89b4b9b5187796037089a92 Mon Sep 17 00:00:00 2001 From: Sidhant Aggarwal <10743214+sidhant92@users.noreply.github.com> Date: Mon, 1 Jul 2024 15:38:30 +0530 Subject: [PATCH] bug fix --- .../application/ArithmeticExpressionEvaluator.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/sidhant92/boolparser/application/ArithmeticExpressionEvaluator.java b/src/main/java/com/github/sidhant92/boolparser/application/ArithmeticExpressionEvaluator.java index 5da6ef0..56f4e71 100644 --- a/src/main/java/com/github/sidhant92/boolparser/application/ArithmeticExpressionEvaluator.java +++ b/src/main/java/com/github/sidhant92/boolparser/application/ArithmeticExpressionEvaluator.java @@ -2,6 +2,7 @@ import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import com.github.sidhant92.boolparser.constant.ContainerDataType; import com.github.sidhant92.boolparser.constant.DataType; @@ -62,10 +63,11 @@ private Object evaluateToken(final Node node, final Map data) { } private Object evaluateFieldToken(final FieldNode fieldNode, final Map data) { - if (!data.containsKey(fieldNode.getField())) { + final Optional value = ValueUtils.getValueFromMap(fieldNode.getField(), data); + if (!value.isPresent()) { throw new DataNotFoundException(fieldNode.getField()); } - return data.get(fieldNode.getField()); + return value.get(); } private Object evaluateUnaryToken(final UnaryNode unaryNode, final Map data) {