Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 2 additions & 8 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,7 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.4</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.6</version>
<scope>test</scope>
<version>2.13.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
Expand Down Expand Up @@ -74,7 +68,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<version>3.0.0</version>
<executions>
<execution>
<goals>
Expand Down
66 changes: 31 additions & 35 deletions src/main/java/com/checkmarx/ast/predicate/Predicate.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
Expand All @@ -22,31 +20,31 @@
@JsonIgnoreProperties(ignoreUnknown = true)
public class Predicate {

String ID;
String SimilarityID;
String ProjectID;
String State;
String Severity;
String Comment;
String CreatedBy;
String CreatedAt;
String UpdatedAt;
String id;
String similarityId;
String projectId;
String state;
String severity;
String comment;
String createdBy;
String createdAt;
String updatedAt;

@JsonCreator
public Predicate(@JsonProperty("ID") String id, @JsonProperty("SimilarityID") String similarityID,
@JsonProperty("ProjectID") String projectID, @JsonProperty("State") String state,
public Predicate(@JsonProperty("ID") String id, @JsonProperty("SimilarityID") String similarityId,
@JsonProperty("ProjectID") String projectId, @JsonProperty("State") String state,
@JsonProperty("Severity") String severity, @JsonProperty("Comment") String comment,
@JsonProperty("CreatedBy") String createdBy, @JsonProperty("CreatedAt") String CreatedAt,
@JsonProperty("UpdatedAt") String UpdatedAt) {
this.ID = id;
this.SimilarityID = similarityID;
this.ProjectID = projectID;
this.State = state;
this.Severity = severity;
this.Comment = comment;
this.CreatedBy = createdBy;
this.CreatedAt = CreatedAt;
this.UpdatedAt = UpdatedAt;
@JsonProperty("CreatedBy") String createdBy, @JsonProperty("CreatedAt") String createdAt,
@JsonProperty("UpdatedAt") String updatedAt) {
this.id = id;
this.similarityId = similarityId;
this.projectId = projectId;
this.state = state;
this.severity = severity;
this.comment = comment;
this.createdBy = createdBy;
this.createdAt = createdAt;
this.updatedAt = updatedAt;
}

public static <T> T fromLine(String line) {
Expand All @@ -59,27 +57,25 @@ public static <T> List<T> listFromLine(String line) {

protected static <T> T parse(String line, JavaType type) {
T result = null;
if (!StringUtils.isBlank(line) && isValidJSON(line)) {
try {
try {
if (!StringUtils.isBlank(line) && isValidJSON(line)) {
result = new ObjectMapper().readValue(line, type);
} catch (JsonProcessingException ignored) {

}
} catch (IOException e) {
e.printStackTrace();
}
return result;
}

private static boolean isValidJSON(final String json) {
boolean valid = false;
try {
final JsonParser parser = new ObjectMapper().createParser(json);
//noinspection StatementWithEmptyBody
while (parser.nextToken() != null) {
}
valid = true;
} catch (IOException ignored) {
final ObjectMapper mapper = new ObjectMapper();
mapper.readTree(json);
return true;
} catch (IOException e) {
return false;
}
return valid;
}

}
22 changes: 11 additions & 11 deletions src/main/java/com/checkmarx/ast/project/Project.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,19 @@
@JsonIgnoreProperties(ignoreUnknown = true)
public class Project extends CxBaseObject {

String Name;
List<String> Groups;
String name;
List<String> groups;

@JsonCreator
public Project(@JsonProperty("ID") String ID,
@JsonProperty("Name") String Name,
@JsonProperty("CreatedAt") String CreatedAt,
@JsonProperty("UpdatedAt") String UpdatedAt,
@JsonProperty("Tags") Map<String, String> Tags,
@JsonProperty("Groups") List<String> Groups) {
super(ID, CreatedAt, UpdatedAt, Tags);
this.Name = Name;
this.Groups = Groups;
public Project(@JsonProperty("ID") String id,
@JsonProperty("Name") String name,
@JsonProperty("CreatedAt") String createdAt,
@JsonProperty("UpdatedAt") String updatedAt,
@JsonProperty("Tags") Map<String, String> tags,
@JsonProperty("Groups") List<String> groups) {
super(id, createdAt, updatedAt, tags);
this.name = name;
this.groups = groups;
}

public static <T> T fromLine(String line) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.*;
import lombok.Value;

@Value
@JsonDeserialize()
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/checkmarx/ast/results/result/Data.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.*;
import lombok.Value;

import java.util.List;

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/checkmarx/ast/results/result/Node.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.*;
import lombok.Value;

@Value
@JsonDeserialize()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.*;
import lombok.Value;

@Value
@JsonDeserialize()
Expand Down
32 changes: 16 additions & 16 deletions src/main/java/com/checkmarx/ast/scan/Scan.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,24 @@
@JsonIgnoreProperties(ignoreUnknown = true)
public class Scan extends CxBaseObject {

String ProjectID;
String Status;
String Initiator;
String Origin;
String Branch;
String projectId;
String status;
String initiator;
String origin;
String branch;

@JsonCreator
public Scan(@JsonProperty("ID") String ID, @JsonProperty("ProjectID") String ProjectID,
@JsonProperty("Status") String Status, @JsonProperty("CreatedAt") String CreatedAt,
@JsonProperty("UpdatedAt") String UpdatedAt, @JsonProperty("Tags") Map<String, String> Tags,
@JsonProperty("Initiator") String Initiator, @JsonProperty("Origin") String Origin,
@JsonProperty("Branch") String Branch) {
super(ID, CreatedAt, UpdatedAt, Tags);
this.ProjectID = ProjectID;
this.Status = Status;
this.Initiator = Initiator;
this.Origin = Origin;
this.Branch = Branch;
public Scan(@JsonProperty("ID") String id, @JsonProperty("ProjectID") String projectId,
@JsonProperty("Status") String status, @JsonProperty("CreatedAt") String createdAt,
@JsonProperty("UpdatedAt") String updatedAt, @JsonProperty("Tags") Map<String, String> tags,
@JsonProperty("Initiator") String initiator, @JsonProperty("Origin") String origin,
@JsonProperty("Branch") String branch) {
super(id, createdAt, updatedAt, tags);
this.projectId = projectId;
this.status = status;
this.initiator = initiator;
this.origin = origin;
this.branch = branch;
}

public static <T> T fromLine(String line) {
Expand Down
42 changes: 19 additions & 23 deletions src/main/java/com/checkmarx/ast/wrapper/CxBaseObject.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
Expand All @@ -20,44 +19,41 @@
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public abstract class CxBaseObject {
String ID;
String CreatedAt;
String UpdatedAt;
Map<String, String> Tags;
String id;
String createdAt;
String updatedAt;
Map<String, String> tags;

@JsonCreator
public CxBaseObject(@JsonProperty("ID") String ID,
@JsonProperty("CreatedAt") String createdAt,
@JsonProperty("UpdatedAt") String updatedAt,
@JsonProperty("Tags") Map<String, String> tags) {
this.ID = ID;
this.CreatedAt = createdAt;
this.UpdatedAt = updatedAt;
this.Tags = tags;
protected CxBaseObject(@JsonProperty("ID") String id,
@JsonProperty("CreatedAt") String createdAt,
@JsonProperty("UpdatedAt") String updatedAt,
@JsonProperty("Tags") Map<String, String> tags) {
this.id = id;
this.createdAt = createdAt;
this.updatedAt = updatedAt;
this.tags = tags;
}

protected static <T> T parse(String line, JavaType type) {
T result = null;
if (!StringUtils.isBlank(line) && isValidJSON(line)) {
try {
result = new ObjectMapper().readValue(line, type);
} catch (JsonProcessingException ignored) {

} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
return result;
}

private static boolean isValidJSON(final String json) {
boolean valid = false;
try {
final JsonParser parser = new ObjectMapper().createParser(json);
//noinspection StatementWithEmptyBody
while (parser.nextToken() != null) {
}
valid = true;
} catch (IOException ignored) {
final ObjectMapper mapper = new ObjectMapper();
mapper.readTree(json);
return true;
} catch (IOException e) {
return false;
}
return valid;
}
}
1 change: 0 additions & 1 deletion src/main/java/com/checkmarx/ast/wrapper/CxConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ public InvalidCLIConfigException(String message) {

@SuppressWarnings("ALL")
public static class CxConfigBuilder {
private List<String> additionalParameters;

public CxConfigBuilder additionalParameters(String additionalParameters) {
this.additionalParameters = parseAdditionalParameters(additionalParameters);
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/checkmarx/ast/wrapper/CxThinWrapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ public CxThinWrapper() throws IOException {
public CxThinWrapper(@NonNull Logger logger) throws IOException {
this.logger = logger;
this.executable = Execution.getTempBinary();
this.logger.info("Executable path: " + executable);
this.logger.info("Executable path: {} ", executable);
}

public String run(@NonNull String arguments) throws CxException, IOException, InterruptedException {
this.logger.info("Executing commands with thin wrapper.");
List<String> argv = new ArrayList<>();
argv.add(executable);
argv.addAll(Arrays.asList(arguments.split(" ")));
return Execution.executeCommand(argv, logger, (line) -> line);
return Execution.executeCommand(argv, logger, line -> line);
}
}
Loading