99import org .apache .logging .log4j .LogManager ;
1010import org .apache .logging .log4j .Logger ;
1111import org .jetbrains .annotations .Nullable ;
12+ import org .labkey .api .collections .CaseInsensitiveHashSet ;
1213import org .labkey .api .data .CompareType ;
1314import org .labkey .api .data .Container ;
1415import org .labkey .api .data .ContainerManager ;
@@ -376,7 +377,7 @@ public List<PedigreeRecord> generatePedigree(Collection<String> sampleNames, Con
376377 });
377378
378379 //insert record for any missing parents:
379- Set <String > distinctSubjects = new HashSet <> ();
380+ Set <String > distinctSubjects = new CaseInsensitiveHashSet ();
380381 for (PedigreeRecord p : pedigreeRecords )
381382 {
382383 distinctSubjects .add (p .getSubjectName ());
@@ -421,8 +422,8 @@ else if (!StringUtils.isEmpty(pd.getFather()) && StringUtils.isEmpty(pd.getMothe
421422
422423 pedigreeRecords .sort ((o1 , o2 ) ->
423424 {
424- boolean o1ParentOfO2 = o1 .getSubjectName ().equals (o2 .getFather ()) || o1 .getSubjectName ().equals (o2 .getMother ());
425- boolean o2ParentOfO1 = o2 .getSubjectName ().equals (o1 .getFather ()) || o2 .getSubjectName ().equals (o1 .getMother ());
425+ boolean o1ParentOfO2 = o1 .getSubjectName ().equalsIgnoreCase (o2 .getFather ()) || o1 .getSubjectName ().equalsIgnoreCase (o2 .getMother ());
426+ boolean o2ParentOfO1 = o2 .getSubjectName ().equalsIgnoreCase (o1 .getFather ()) || o2 .getSubjectName ().equalsIgnoreCase (o1 .getMother ());
426427
427428 if (o1ParentOfO2 && o2ParentOfO1 )
428429 {
@@ -435,12 +436,8 @@ else if (!StringUtils.isEmpty(pd.getFather()) && StringUtils.isEmpty(pd.getMothe
435436 return -1 ;
436437 else if (o2ParentOfO1 )
437438 return 1 ;
438- else if ((o1 .getTotalParents (true ) == 0 && o2 .getTotalParents (true ) != 0 ))
439- return -1 ;
440- else if ((o1 .getTotalParents (true ) != 0 && o2 .getTotalParents (true ) == 0 ))
441- return 1 ;
442439
443- return o1 .getSubjectName ().compareTo (o2 .getSubjectName ());
440+ return o1 .getSubjectName ().toLowerCase (). compareTo (o2 .getSubjectName (). toLowerCase ());
444441 });
445442
446443 return pedigreeRecords ;
0 commit comments