From d1b07bcffc655b86240d7e27ef599ffaf1209898 Mon Sep 17 00:00:00 2001 From: Jim Blake Date: Mon, 8 Dec 2014 15:31:10 -0500 Subject: [PATCH] VIVO-766 This comparator is invalid under Java 8. Because subclass/superclass is only a partial ordering, this breaks the contract for Comparator, and throws an IllegalArgumentException under Java 8. In particular, for classes sub, super and other, we have sub=other, sub { - private VClassDao vcDao; - public VClassHierarchyRanker(VClassDao vcDao) { - this.vcDao = vcDao; - } - @Override - public int compare(VClass vc1, VClass vc2) { - if (vcDao.isSubClassOf(vc1, vc2)) { - return -1; - } else if (vcDao.isSubClassOf(vc2, vc1)) { - return 1; - } else { - return 0; - } - } - } - +// private class VClassHierarchyRanker implements Comparator { +// private VClassDao vcDao; +// public VClassHierarchyRanker(VClassDao vcDao) { +// this.vcDao = vcDao; +// } +// @Override +// public int compare(VClass vc1, VClass vc2) { +// if (vcDao.isSubClassOf(vc1, vc2)) { +// return -1; +// } else if (vcDao.isSubClassOf(vc2, vc1)) { +// return 1; +// } else { +// return 0; +// } +// } +// } +// public List getAllPropInstByVClass(String classURI) { if (classURI==null || classURI.length()<1) { @@ -708,7 +718,8 @@ public class PropertyDaoJena extends JenaBaseDao implements PropertyDao { return propInsts; } - Collections.sort(vclasses, new VClassHierarchyRanker(this.getWebappDaoFactory().getVClassDao())); + // Removed: see VIVO-766. + // Collections.sort(vclasses, new VClassHierarchyRanker(this.getWebappDaoFactory().getVClassDao())); OntModel ontModel = getOntModelSelector().getTBoxModel();