Skip to content

Commit

Permalink
fix for showing multivalue item delta in delta panel (MID-7268)
Browse files Browse the repository at this point in the history
  • Loading branch information
skublik committed Oct 5, 2021
1 parent 43a173b commit 116a6f6
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,15 @@ public String getNewValue() {

public List<SceneItemLineDto> computeLines() {
List<SceneItemLineDto> rv = new ArrayList<>();
int index = 0;
Collator collator = WebComponentUtil.getCollator();
if (!isDelta()) {
for (SceneItemValue itemValue : sceneItem.getNewValues()) {
rv.add(new SceneItemLineDto(this, null, itemValue, index++, false));
rv.add(new SceneItemLineDto(this, null, itemValue, false));
}
} else {
SceneDeltaItem deltaItem = (SceneDeltaItem) sceneItem;
for (SceneItemValue itemValue : deltaItem.getUnchangedValues()) {
rv.add(new SceneItemLineDto(this, null, itemValue, index++, false));
rv.add(new SceneItemLineDto(this, null, itemValue, false));
}
List<? extends SceneItemValue> deletedValues = deltaItem.getDeletedValues();
List<? extends SceneItemValue> addedValues = deltaItem.getAddedValues();
Expand All @@ -91,7 +90,7 @@ public List<SceneItemLineDto> computeLines() {
while (deletedValuesIter.hasNext() || addedValuesIter.hasNext()) {
SceneItemValue deletedValue = deletedValuesIter.hasNext() ? deletedValuesIter.next() : null;
SceneItemValue addedValue = addedValuesIter.hasNext() ? addedValuesIter.next() : null;
rv.add(new SceneItemLineDto(this, deletedValue, addedValue, index++, true));
rv.add(new SceneItemLineDto(this, deletedValue, addedValue, true));
}
}
Comparator<? super SceneItemLineDto> comparator =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,12 @@ public class SceneItemLineDto implements Serializable {
private final SceneItemDto sceneItemDto;
private final SceneItemValue sceneItemOldValue;
private final SceneItemValue sceneItemNewValue;
private final int index;
private final boolean isDelta;

public SceneItemLineDto(SceneItemDto sceneItemDto, SceneItemValue sceneItemOldValue, SceneItemValue sceneItemNewValue, int index, boolean isDelta) {
public SceneItemLineDto(SceneItemDto sceneItemDto, SceneItemValue sceneItemOldValue, SceneItemValue sceneItemNewValue, boolean isDelta) {
this.sceneItemDto = sceneItemDto;
this.sceneItemOldValue = sceneItemOldValue;
this.sceneItemNewValue = sceneItemNewValue;
this.index = index;
this.isDelta = isDelta;
}

Expand All @@ -52,7 +50,7 @@ public Integer getNumberOfLines() {
}

public boolean isFirst() {
return index == 0;
return sceneItemDto.getLines().indexOf(this) == 0;
}

public boolean isDelta() {
Expand Down Expand Up @@ -91,7 +89,6 @@ public boolean equals(Object o) {

SceneItemLineDto that = (SceneItemLineDto) o;

if (index != that.index) return false;
if (isDelta != that.isDelta) return false;
if (sceneItemOldValue != null ? !sceneItemOldValue.equals(that.sceneItemOldValue) : that.sceneItemOldValue != null)
return false;
Expand All @@ -104,7 +101,6 @@ public int hashCode() {
int result = 1;
result = 31 * result + (sceneItemOldValue != null ? sceneItemOldValue.hashCode() : 0);
result = 31 * result + (sceneItemNewValue != null ? sceneItemNewValue.hashCode() : 0);
result = 31 * result + index;
result = 31 * result + (isDelta ? 1 : 0);
return result;
}
Expand Down

0 comments on commit 116a6f6

Please sign in to comment.