Skip to content

Commit e208eed

Browse files
authored
Merge pull request #10969 from Recherche-Data-Gouv/10968-order-subfields-version-difference
Ordering subfields while displaying dataset version differences
2 parents 5d392b6 + b3147a0 commit e208eed

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Bug Fix:
2+
In order to facilitate the comparison between the draft version and the published version of a dataset, a sort on subfields has been added (#10969)

src/main/java/edu/harvard/iq/dataverse/DatasetVersionDifference.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,7 @@ public DatasetVersionDifference(DatasetVersion newVersion, DatasetVersion origin
152152
getReplacedFiles();
153153
initDatasetFilesDifferencesList();
154154

155-
//Sort within blocks by datasetfieldtype dispaly order then....
156-
//sort via metadatablock order - citation first...
155+
//Sort within blocks by datasetfieldtype display order
157156
for (List<DatasetField[]> blockList : detailDataByBlock) {
158157
Collections.sort(blockList, (DatasetField[] l1, DatasetField[] l2) -> {
159158
DatasetField dsfa = l1[0]; //(DatasetField[]) l1.get(0);
@@ -163,6 +162,17 @@ public DatasetVersionDifference(DatasetVersion newVersion, DatasetVersion origin
163162
return Integer.valueOf(a).compareTo(b);
164163
});
165164
}
165+
//Sort existing compoundValues by datasetfieldtype display order
166+
for (List<DatasetField[]> blockList : detailDataByBlock) {
167+
for (DatasetField[] dfarr : blockList) {
168+
for (DatasetField df : dfarr) {
169+
for (DatasetFieldCompoundValue dfcv : df.getDatasetFieldCompoundValues()) {
170+
Collections.sort(dfcv.getChildDatasetFields(), DatasetField.DisplayOrder);
171+
}
172+
}
173+
}
174+
}
175+
//Sort via metadatablock order
166176
Collections.sort(detailDataByBlock, (List l1, List l2) -> {
167177
DatasetField dsfa[] = (DatasetField[]) l1.get(0);
168178
DatasetField dsfb[] = (DatasetField[]) l2.get(0);

0 commit comments

Comments
 (0)