- class PhylogenyNodeSortTaxonomyPriority implements Comparator<PhylogenyNode> {\r
-\r
- @Override\r
- public int compare( final PhylogenyNode n1, final PhylogenyNode n2 ) {\r
- if ( n1.getNodeData().isHasTaxonomy() && n2.getNodeData().isHasTaxonomy() ) {\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getTaxonomy().getScientificName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getTaxonomy().getScientificName() ) ) ) {\r
- return n1.getNodeData().getTaxonomy().getScientificName().toLowerCase()\r
- .compareTo( n2.getNodeData().getTaxonomy().getScientificName().toLowerCase() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getTaxonomy().getTaxonomyCode() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getTaxonomy().getTaxonomyCode() ) ) ) {\r
- return n1.getNodeData().getTaxonomy().getTaxonomyCode()\r
- .compareTo( n2.getNodeData().getTaxonomy().getTaxonomyCode() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getTaxonomy().getCommonName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getTaxonomy().getCommonName() ) ) ) {\r
- return n1.getNodeData().getTaxonomy().getCommonName().toLowerCase()\r
- .compareTo( n2.getNodeData().getTaxonomy().getCommonName().toLowerCase() );\r
- }\r
- }\r
- if ( n1.getNodeData().isHasSequence() && n2.getNodeData().isHasSequence() ) {\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getName() ) ) ) {\r
- return n1.getNodeData().getSequence().getName().toLowerCase()\r
- .compareTo( n2.getNodeData().getSequence().getName().toLowerCase() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getSymbol() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getSymbol() ) ) ) {\r
- return n1.getNodeData().getSequence().getSymbol()\r
- .compareTo( n2.getNodeData().getSequence().getSymbol() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getGeneName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getGeneName() ) ) ) {\r
- return n1.getNodeData().getSequence().getGeneName()\r
- .compareTo( n2.getNodeData().getSequence().getGeneName() );\r
- }\r
- if ( ( n1.getNodeData().getSequence().getAccession() != null )\r
- && ( n2.getNodeData().getSequence().getAccession() != null )\r
- && !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getAccession().getValue() )\r
- && !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getAccession().getValue() ) ) {\r
- return n1.getNodeData().getSequence().getAccession().getValue()\r
- .compareTo( n2.getNodeData().getSequence().getAccession().getValue() );\r
- }\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getName() ) ) && ( !ForesterUtil.isEmpty( n2.getName() ) ) ) {\r
- return n1.getName().toLowerCase().compareTo( n2.getName().toLowerCase() );\r
- }\r
- return 0;\r
- }\r
- }\r
- class PhylogenyNodeSortSequencePriority implements Comparator<PhylogenyNode> {\r
-\r
- @Override\r
- public int compare( final PhylogenyNode n1, final PhylogenyNode n2 ) {\r
- if ( n1.getNodeData().isHasSequence() && n2.getNodeData().isHasSequence() ) {\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getName() ) ) ) {\r
- return n1.getNodeData().getSequence().getName().toLowerCase()\r
- .compareTo( n2.getNodeData().getSequence().getName().toLowerCase() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getSymbol() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getSymbol() ) ) ) {\r
- return n1.getNodeData().getSequence().getSymbol()\r
- .compareTo( n2.getNodeData().getSequence().getSymbol() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getGeneName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getGeneName() ) ) ) {\r
- return n1.getNodeData().getSequence().getGeneName()\r
- .compareTo( n2.getNodeData().getSequence().getGeneName() );\r
- }\r
- if ( ( n1.getNodeData().getSequence().getAccession() != null )\r
- && ( n2.getNodeData().getSequence().getAccession() != null )\r
- && !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getAccession().getValue() )\r
- && !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getAccession().getValue() ) ) {\r
- return n1.getNodeData().getSequence().getAccession().getValue()\r
- .compareTo( n2.getNodeData().getSequence().getAccession().getValue() );\r
- }\r
- }\r
- if ( n1.getNodeData().isHasTaxonomy() && n2.getNodeData().isHasTaxonomy() ) {\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getTaxonomy().getScientificName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getTaxonomy().getScientificName() ) ) ) {\r
- return n1.getNodeData().getTaxonomy().getScientificName().toLowerCase()\r
- .compareTo( n2.getNodeData().getTaxonomy().getScientificName().toLowerCase() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getTaxonomy().getTaxonomyCode() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getTaxonomy().getTaxonomyCode() ) ) ) {\r
- return n1.getNodeData().getTaxonomy().getTaxonomyCode()\r
- .compareTo( n2.getNodeData().getTaxonomy().getTaxonomyCode() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getTaxonomy().getCommonName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getTaxonomy().getCommonName() ) ) ) {\r
- return n1.getNodeData().getTaxonomy().getCommonName().toLowerCase()\r
- .compareTo( n2.getNodeData().getTaxonomy().getCommonName().toLowerCase() );\r
- }\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getName() ) ) && ( !ForesterUtil.isEmpty( n2.getName() ) ) ) {\r
- return n1.getName().toLowerCase().compareTo( n2.getName().toLowerCase() );\r
- }\r
- return 0;\r
- }\r
- }\r
- class PhylogenyNodeSortNodeNamePriority implements Comparator<PhylogenyNode> {\r
-\r
- @Override\r
- public int compare( final PhylogenyNode n1, final PhylogenyNode n2 ) {\r
- if ( ( !ForesterUtil.isEmpty( n1.getName() ) ) && ( !ForesterUtil.isEmpty( n2.getName() ) ) ) {\r
- return n1.getName().toLowerCase().compareTo( n2.getName().toLowerCase() );\r
- }\r
- if ( n1.getNodeData().isHasTaxonomy() && n2.getNodeData().isHasTaxonomy() ) {\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getTaxonomy().getScientificName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getTaxonomy().getScientificName() ) ) ) {\r
- return n1.getNodeData().getTaxonomy().getScientificName().toLowerCase()\r
- .compareTo( n2.getNodeData().getTaxonomy().getScientificName().toLowerCase() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getTaxonomy().getTaxonomyCode() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getTaxonomy().getTaxonomyCode() ) ) ) {\r
- return n1.getNodeData().getTaxonomy().getTaxonomyCode()\r
- .compareTo( n2.getNodeData().getTaxonomy().getTaxonomyCode() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getTaxonomy().getCommonName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getTaxonomy().getCommonName() ) ) ) {\r
- return n1.getNodeData().getTaxonomy().getCommonName().toLowerCase()\r
- .compareTo( n2.getNodeData().getTaxonomy().getCommonName().toLowerCase() );\r
- }\r
- }\r
- if ( n1.getNodeData().isHasSequence() && n2.getNodeData().isHasSequence() ) {\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getName() ) ) ) {\r
- return n1.getNodeData().getSequence().getName().toLowerCase()\r
- .compareTo( n2.getNodeData().getSequence().getName().toLowerCase() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getSymbol() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getSymbol() ) ) ) {\r
- return n1.getNodeData().getSequence().getSymbol()\r
- .compareTo( n2.getNodeData().getSequence().getSymbol() );\r
- }\r
- if ( ( !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getGeneName() ) )\r
- && ( !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getGeneName() ) ) ) {\r
- return n1.getNodeData().getSequence().getGeneName()\r
- .compareTo( n2.getNodeData().getSequence().getGeneName() );\r
- }\r
- if ( ( n1.getNodeData().getSequence().getAccession() != null )\r
- && ( n2.getNodeData().getSequence().getAccession() != null )\r
- && !ForesterUtil.isEmpty( n1.getNodeData().getSequence().getAccession().getValue() )\r
- && !ForesterUtil.isEmpty( n2.getNodeData().getSequence().getAccession().getValue() ) ) {\r
- return n1.getNodeData().getSequence().getAccession().getValue()\r
- .compareTo( n2.getNodeData().getSequence().getAccession().getValue() );\r
- }\r
- }\r
- return 0;\r
- }\r
- }\r