From 63caef9d23e8b69b070c636ed25a78b7dfd33842 Mon Sep 17 00:00:00 2001 From: tiagobcx Date: Tue, 27 Aug 2024 17:20:48 +0100 Subject: [PATCH 1/2] changing the parser to only include fully filled objects --- .../com/checkmarx/ast/wrapper/Execution.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/checkmarx/ast/wrapper/Execution.java b/src/main/java/com/checkmarx/ast/wrapper/Execution.java index abbd7a5b..2c5d33c9 100644 --- a/src/main/java/com/checkmarx/ast/wrapper/Execution.java +++ b/src/main/java/com/checkmarx/ast/wrapper/Execution.java @@ -2,6 +2,7 @@ import org.slf4j.Logger; import java.io.*; +import java.lang.reflect.Field; import java.net.URL; import java.nio.charset.StandardCharsets; import java.nio.file.Files; @@ -48,7 +49,11 @@ static T executeCommand(List arguments, stringBuilder.append(line).append(LINE_SEPARATOR); T parsedLine = lineParser.apply(line); if (parsedLine != null) { - executionResult = parsedLine; + if (areAllFieldsNotNull(parsedLine)) { + executionResult = parsedLine; + }else{ + logger.error("Some fields are null"); + } } } process.waitFor(); @@ -59,6 +64,19 @@ static T executeCommand(List arguments, } } + private static boolean areAllFieldsNotNull(Object obj) { + for (Field field : obj.getClass().getDeclaredFields()) { + field.setAccessible(true); + try { + if (field.get(obj) == null) { + return false; + } + } catch (IllegalAccessException e) { + return false; + } + } + return true; + } static String executeCommand(List arguments, Logger logger, String directory, From 31b710171b4ba037ca5f1283a978e59467fdf18c Mon Sep 17 00:00:00 2001 From: tiagobcx Date: Tue, 27 Aug 2024 17:21:23 +0100 Subject: [PATCH 2/2] changing the parser to only include fully filled objects --- src/main/java/com/checkmarx/ast/wrapper/Execution.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/checkmarx/ast/wrapper/Execution.java b/src/main/java/com/checkmarx/ast/wrapper/Execution.java index 2c5d33c9..4ad8d782 100644 --- a/src/main/java/com/checkmarx/ast/wrapper/Execution.java +++ b/src/main/java/com/checkmarx/ast/wrapper/Execution.java @@ -51,8 +51,6 @@ static T executeCommand(List arguments, if (parsedLine != null) { if (areAllFieldsNotNull(parsedLine)) { executionResult = parsedLine; - }else{ - logger.error("Some fields are null"); } } }