Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add diffSide field to CodeTFChange
Browse files Browse the repository at this point in the history
drdavella committed Feb 2, 2024
1 parent 9aeb160 commit 6e89b1d
Showing 4 changed files with 22 additions and 1 deletion.
13 changes: 12 additions & 1 deletion src/main/java/io/codemodder/codetf/CodeTFChange.java
Original file line number Diff line number Diff line change
@@ -13,6 +13,7 @@ public final class CodeTFChange {
private final int lineNumber;

private final String description;
private final CodeTFDiffSide diffSide;

private final Map<String, String> properties;

@@ -25,6 +26,7 @@ public CodeTFChange(
@JsonProperty("lineNumber") final int lineNumber,
@JsonProperty("properties") final Map<String, String> properties,
@JsonProperty("description") final String description,
@JsonProperty("diffSide") final String diffSide,
@JsonProperty("packageActions") final List<CodeTFPackageAction> packageActions,
@JsonProperty("parameters") final List<CodeTFParameter> parameters) {

@@ -36,6 +38,7 @@ public CodeTFChange(
this.properties = CodeTFValidator.toImmutableCopyOrEmptyOnNull(properties);
this.packageActions = CodeTFValidator.toImmutableCopyOrEmptyOnNull(packageActions);
this.description = CodeTFValidator.optionalString(description);
this.diffSide = CodeTFDiffSide.valueOf(CodeTFValidator.requireNonBlank(diffSide).toUpperCase());
this.parameters = parameters;
}

@@ -51,6 +54,10 @@ public int getLineNumber() {
return lineNumber;
}

public CodeTFDiffSide getDiffSide() {
return diffSide;
}

public List<CodeTFPackageAction> getPackageActions() {
return packageActions;
}
@@ -67,7 +74,8 @@ public boolean equals(final Object o) {
return lineNumber == that.lineNumber
&& Objects.equals(description, that.description)
&& Objects.equals(properties, that.properties)
&& Objects.equals(parameters, that.parameters);
&& Objects.equals(parameters, that.parameters)
&& Objects.equals(diffSide, that.diffSide);
}

@Override
@@ -83,6 +91,8 @@ public String toString() {
+ ", description='"
+ description
+ '\''
+ ", diffSide="
+ diffSide
+ ", properties="
+ properties
+ ", parameters="
@@ -128,6 +138,7 @@ public CodeTFChange build() {
originalChange.getLineNumber(),
updatedProperties != null ? updatedProperties : originalChange.getProperties(),
updatedDescription != null ? updatedDescription : originalChange.getDescription(),
originalChange.getDiffSide().name(),
originalChange.getPackageActions(),
originalChange.getParameters());
}
6 changes: 6 additions & 0 deletions src/main/java/io/codemodder/codetf/CodeTFDiffSide.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package io.codemodder.codetf;

public enum CodeTFDiffSide {
LEFT,
RIGHT,
}
2 changes: 2 additions & 0 deletions src/test/java/io/codemodder/codetf/DeserializeReportTest.java
Original file line number Diff line number Diff line change
@@ -55,6 +55,7 @@ void it_deserializes_basic_report() throws IOException {
assertThat(
changeset.get(0).getPath(), equalTo("src/main/java/org/acme/MyDeserializerAction.java"));
assertThat(changeset.get(0).getDiff(), equalTo("... udiff text..."));
assertThat(changeset.get(0).getChanges().get(0).getDiffSide(), equalTo(CodeTFDiffSide.RIGHT));

assertThat(changeset.get(1).getPath(), equalTo("pom.xml"));
assertThat(changeset.get(1).getDiff(), equalTo("... pom udiff text..."));
@@ -63,6 +64,7 @@ void it_deserializes_basic_report() throws IOException {
assertThat(
changeset.get(1).getChanges().get(0).getDescription(),
equalTo("Added java-security-toolkit for MyDeserializationAction.java"));
assertThat(changeset.get(1).getChanges().get(0).getDiffSide(), equalTo(CodeTFDiffSide.LEFT));

assertThat(report.hasCodeChanges(), equalTo(true));
}
2 changes: 2 additions & 0 deletions src/test/resources/basic.codetf.json
Original file line number Diff line number Diff line change
@@ -37,6 +37,7 @@
{
"lineNumber" : "153",
"description" : "Added a call to ObjectInputStream#setObjectFilter() to prevent known malicious gadgets..",
"diffSide" : "right",
"properties" : { },
"packageActions" : [
{
@@ -54,6 +55,7 @@
"changes" : [
{
"lineNumber" : "155",
"diffSide" : "left",
"description" : "Added java-security-toolkit for MyDeserializationAction.java"
}
]

0 comments on commit 6e89b1d

Please sign in to comment.