From 193982e9ad67882aa70d73117876ab4624ce65c8 Mon Sep 17 00:00:00 2001 From: Pedro Lopes Date: Mon, 2 Sep 2024 16:27:53 +0100 Subject: [PATCH 1/2] update parser --- src/main/java/com/checkmarx/ast/scan/Scan.java | 2 +- .../com/checkmarx/ast/wrapper/CxBaseObject.java | 10 ++++++++-- .../com/checkmarx/ast/wrapper/Execution.java | 17 +---------------- src/test/java/com/checkmarx/ast/BaseTest.java | 6 +++--- 4 files changed, 13 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/checkmarx/ast/scan/Scan.java b/src/main/java/com/checkmarx/ast/scan/Scan.java index 2f22f710..507610c4 100644 --- a/src/main/java/com/checkmarx/ast/scan/Scan.java +++ b/src/main/java/com/checkmarx/ast/scan/Scan.java @@ -29,7 +29,7 @@ public class Scan extends CxBaseObject { String branch; @JsonCreator - public Scan(@JsonProperty("ID") String id, @JsonProperty("ProjectID") String projectId, + public Scan(@JsonProperty(value = "ID", required = true) String id, @JsonProperty(value = "ProjectID", required = true) String projectId, @JsonProperty("Status") String status, @JsonProperty("CreatedAt") String createdAt, @JsonProperty("UpdatedAt") String updatedAt, @JsonProperty("Tags") Map tags, @JsonProperty("Initiator") String initiator, @JsonProperty("Origin") String origin, diff --git a/src/main/java/com/checkmarx/ast/wrapper/CxBaseObject.java b/src/main/java/com/checkmarx/ast/wrapper/CxBaseObject.java index f9911c14..c8ca10d8 100644 --- a/src/main/java/com/checkmarx/ast/wrapper/CxBaseObject.java +++ b/src/main/java/com/checkmarx/ast/wrapper/CxBaseObject.java @@ -6,8 +6,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.json.JsonMapper; import lombok.Data; import org.apache.commons.lang3.StringUtils; @@ -39,9 +42,12 @@ public static T parse(String line, JavaType type) { T result = null; if (!StringUtils.isBlank(line) && isValidJSON(line)) { try { - result = new ObjectMapper().readValue(line, type); + ObjectMapper mapper = JsonMapper.builder() + .configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true) + .build(); + result = mapper.readValue(line, type); } catch (JsonProcessingException e) { - e.printStackTrace(); + //e.printStackTrace(); } } return result; diff --git a/src/main/java/com/checkmarx/ast/wrapper/Execution.java b/src/main/java/com/checkmarx/ast/wrapper/Execution.java index 4ad8d782..08bab2be 100644 --- a/src/main/java/com/checkmarx/ast/wrapper/Execution.java +++ b/src/main/java/com/checkmarx/ast/wrapper/Execution.java @@ -49,9 +49,7 @@ static T executeCommand(List arguments, stringBuilder.append(line).append(LINE_SEPARATOR); T parsedLine = lineParser.apply(line); if (parsedLine != null) { - if (areAllFieldsNotNull(parsedLine)) { - executionResult = parsedLine; - } + executionResult = parsedLine; } } process.waitFor(); @@ -62,19 +60,6 @@ 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, diff --git a/src/test/java/com/checkmarx/ast/BaseTest.java b/src/test/java/com/checkmarx/ast/BaseTest.java index b2e43e41..f574e452 100644 --- a/src/test/java/com/checkmarx/ast/BaseTest.java +++ b/src/test/java/com/checkmarx/ast/BaseTest.java @@ -15,10 +15,10 @@ public abstract class BaseTest { private static final String CX_BASE_URI = getEnvOrNull("CX_BASE_URI"); private static final String CX_BASE_AUTH_URI = getEnvOrNull("CX_BASE_AUTH_URI"); private static final String CX_TENANT = getEnvOrNull("CX_TENANT"); - private static final String CX_APIKEY = getEnvOrNull("CX_APIKEY"); + private static final String CX_APIKEY = "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI0N2Y1NDZlNS02YjFlLTQ0NjgtOGM0Yi0zNjdmNDcwNzMxZTYifQ.eyJpYXQiOjE3MDA0NzU0NzksImp0aSI6IjhkMjE5MmUyLWYwZmMtNDJlMy1hN2JiLTJhMWQ2MDcxNmUxNiIsImlzcyI6Imh0dHBzOi8vZGV1LmlhbS5jaGVja21hcngubmV0L2F1dGgvcmVhbG1zL2N4X2FzdF9yZF9nYWxhdGljYV9jYW5hcnkiLCJhdWQiOiJodHRwczovL2RldS5pYW0uY2hlY2ttYXJ4Lm5ldC9hdXRoL3JlYWxtcy9jeF9hc3RfcmRfZ2FsYXRpY2FfY2FuYXJ5Iiwic3ViIjoiOWRiZWVjZTAtNTZlNy00NDlhLTk2M2YtZjQ5Yzk5Yzk1Y2NjIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6ImFzdC1hcHAiLCJzZXNzaW9uX3N0YXRlIjoiYmYxOGZmNDQtZTIyNC00ZTI0LTg0ZmMtZWIyMzRlMjVlYmRmIiwic2NvcGUiOiIgb2ZmbGluZV9hY2Nlc3MiLCJzaWQiOiJiZjE4ZmY0NC1lMjI0LTRlMjQtODRmYy1lYjIzNGUyNWViZGYifQ.LR9UX6PFXn5KH56IQUdcYukvnZTKUTQcYBKlWICJwpg"; private static final String CX_CLIENT_ID = getEnvOrNull("CX_CLIENT_ID"); private static final String CX_CLIENT_SECRET = getEnvOrNull("CX_CLIENT_SECRET"); - private static final String CX_ADDITIONAL_PARAMETERS = getEnvOrNull("CX_ADDITIONAL_PARAMETERS"); + private static final String CX_ADDITIONAL_PARAMETERS = "--debug"; private static final String PATH_TO_EXECUTABLE = getEnvOrNull("PATH_TO_EXECUTABLE"); private final Logger logger = LoggerFactory.getLogger(this.getClass()); protected CxWrapper wrapper; @@ -53,7 +53,7 @@ protected Logger getLogger() { protected Map commonParams() { Map params = new HashMap<>(); params.put(CxConstants.PROJECT_NAME, "cli-java-wrapper-tests"); - params.put(CxConstants.SOURCE, "."); + params.put(CxConstants.SOURCE, "./src/"); params.put(CxConstants.FILE_FILTER, "!test"); params.put(CxConstants.BRANCH, "main"); params.put(CxConstants.SAST_PRESET_NAME, "Checkmarx Default"); From 6e65b7733655b8678fa8bb48c2807fb38bf7df77 Mon Sep 17 00:00:00 2001 From: Pedro Lopes Date: Mon, 2 Sep 2024 16:31:19 +0100 Subject: [PATCH 2/2] update parser --- src/test/java/com/checkmarx/ast/BaseTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/checkmarx/ast/BaseTest.java b/src/test/java/com/checkmarx/ast/BaseTest.java index f574e452..b2e43e41 100644 --- a/src/test/java/com/checkmarx/ast/BaseTest.java +++ b/src/test/java/com/checkmarx/ast/BaseTest.java @@ -15,10 +15,10 @@ public abstract class BaseTest { private static final String CX_BASE_URI = getEnvOrNull("CX_BASE_URI"); private static final String CX_BASE_AUTH_URI = getEnvOrNull("CX_BASE_AUTH_URI"); private static final String CX_TENANT = getEnvOrNull("CX_TENANT"); - private static final String CX_APIKEY = "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI0N2Y1NDZlNS02YjFlLTQ0NjgtOGM0Yi0zNjdmNDcwNzMxZTYifQ.eyJpYXQiOjE3MDA0NzU0NzksImp0aSI6IjhkMjE5MmUyLWYwZmMtNDJlMy1hN2JiLTJhMWQ2MDcxNmUxNiIsImlzcyI6Imh0dHBzOi8vZGV1LmlhbS5jaGVja21hcngubmV0L2F1dGgvcmVhbG1zL2N4X2FzdF9yZF9nYWxhdGljYV9jYW5hcnkiLCJhdWQiOiJodHRwczovL2RldS5pYW0uY2hlY2ttYXJ4Lm5ldC9hdXRoL3JlYWxtcy9jeF9hc3RfcmRfZ2FsYXRpY2FfY2FuYXJ5Iiwic3ViIjoiOWRiZWVjZTAtNTZlNy00NDlhLTk2M2YtZjQ5Yzk5Yzk1Y2NjIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6ImFzdC1hcHAiLCJzZXNzaW9uX3N0YXRlIjoiYmYxOGZmNDQtZTIyNC00ZTI0LTg0ZmMtZWIyMzRlMjVlYmRmIiwic2NvcGUiOiIgb2ZmbGluZV9hY2Nlc3MiLCJzaWQiOiJiZjE4ZmY0NC1lMjI0LTRlMjQtODRmYy1lYjIzNGUyNWViZGYifQ.LR9UX6PFXn5KH56IQUdcYukvnZTKUTQcYBKlWICJwpg"; + private static final String CX_APIKEY = getEnvOrNull("CX_APIKEY"); private static final String CX_CLIENT_ID = getEnvOrNull("CX_CLIENT_ID"); private static final String CX_CLIENT_SECRET = getEnvOrNull("CX_CLIENT_SECRET"); - private static final String CX_ADDITIONAL_PARAMETERS = "--debug"; + private static final String CX_ADDITIONAL_PARAMETERS = getEnvOrNull("CX_ADDITIONAL_PARAMETERS"); private static final String PATH_TO_EXECUTABLE = getEnvOrNull("PATH_TO_EXECUTABLE"); private final Logger logger = LoggerFactory.getLogger(this.getClass()); protected CxWrapper wrapper; @@ -53,7 +53,7 @@ protected Logger getLogger() { protected Map commonParams() { Map params = new HashMap<>(); params.put(CxConstants.PROJECT_NAME, "cli-java-wrapper-tests"); - params.put(CxConstants.SOURCE, "./src/"); + params.put(CxConstants.SOURCE, "."); params.put(CxConstants.FILE_FILTER, "!test"); params.put(CxConstants.BRANCH, "main"); params.put(CxConstants.SAST_PRESET_NAME, "Checkmarx Default");