@@ -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