diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java index 086d16f30..3c2343fd1 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java @@ -564,26 +564,36 @@ public class PropertyDaoJena extends JenaBaseDao implements PropertyDao { } - /* + /* Removed: see VIVO-766. * sorts VClasses so that subclasses come before superclasses + * + * 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();