diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java index 3749035ad..bcb3ee556 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java @@ -138,7 +138,7 @@ public class DatapropEditController extends BaseEditController { ? getAssertionsWebappDaoFactory().getDataPropertyDao() : getWebappDaoFactory().getDataPropertyDao(); - List superURIs = assertionsDpDao.getSuperPropertyURIs(dp.getURI()); + List superURIs = assertionsDpDao.getSuperPropertyURIs(dp.getURI(),false); List superProperties = new ArrayList(); Iterator superURIit = superURIs.iterator(); while (superURIit.hasNext()) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java index 8353fa8fe..6eac0edf3 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java @@ -171,7 +171,7 @@ public class PropertyEditController extends BaseEditController { } else { opDao = getWebappDaoFactory().getObjectPropertyDao(); } - List superURIs = opDao.getSuperPropertyURIs(p.getURI()); + List superURIs = opDao.getSuperPropertyURIs(p.getURI(),false); List superProperties = new ArrayList(); Iterator superURIit = superURIs.iterator(); while (superURIit.hasNext()) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassEditController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassEditController.java index 1877a2853..4c783071a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassEditController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassEditController.java @@ -150,7 +150,7 @@ public class VclassEditController extends BaseEditController { } else { vcDao = getWebappDaoFactory().getVClassDao(); } - List superURIs = vcDao.getSuperClassURIs(vcl.getURI()); + List superURIs = vcDao.getSuperClassURIs(vcl.getURI(),false); List superVClasses = new ArrayList(); Iterator superURIit = superURIs.iterator(); while (superURIit.hasNext()) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java index 0b4250294..0cb323977 100755 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java @@ -17,7 +17,7 @@ public interface ObjectPropertyDao extends PropertyDao { public List getObjectPropertiesForObjectPropertyStatements(List /*of ObjectPropertyStatement */ objectPropertyStatements); - public List getSuperPropertyURIs(String objectPropertyURI); + public List getSuperPropertyURIs(String objectPropertyURI, boolean direct); public List getSubPropertyURIs(String objectPropertyURI); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PropertyDao.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PropertyDao.java index 7274a413b..4b05657e9 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PropertyDao.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PropertyDao.java @@ -37,7 +37,7 @@ public interface PropertyDao { List getAllSubPropertyURIs(String propertyURI); - List getSuperPropertyURIs(String propertyURI); + List getSuperPropertyURIs(String propertyURI, boolean direct); List getAllSuperPropertyURIs(String propertyURI); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VClassDao.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VClassDao.java index 493904700..7c9ce1e02 100755 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VClassDao.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VClassDao.java @@ -48,7 +48,7 @@ public interface VClassDao { List getAllSubClassURIs(String classURI); - List getSuperClassURIs(String classURI); + List getSuperClassURIs(String classURI, boolean direct); List getAllSuperClassURIs(String classURI); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyDaoFiltering.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyDaoFiltering.java index 22f360a6d..19aad491e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyDaoFiltering.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyDaoFiltering.java @@ -133,8 +133,8 @@ class DataPropertyDaoFiltering extends BaseFiltering implements DataPropertyDao{ return innerDataPropertyDao.getAllSubPropertyURIs(propertyURI); } - public List getSuperPropertyURIs(String propertyURI) { - return innerDataPropertyDao.getSuperPropertyURIs(propertyURI); + public List getSuperPropertyURIs(String propertyURI, boolean direct) { + return innerDataPropertyDao.getSuperPropertyURIs(propertyURI, direct); } public List getAllSuperPropertyURIs(String propertyURI) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java index d6b7fe134..9d1ba0b43 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java @@ -120,8 +120,8 @@ class ObjectPropertyDaoFiltering extends BaseFiltering implements ObjectProperty return innerObjectPropertyDao.getAllSubPropertyURIs(propertyURI); } - public List getSuperPropertyURIs(String propertyURI) { - return innerObjectPropertyDao.getSuperPropertyURIs(propertyURI); + public List getSuperPropertyURIs(String propertyURI, boolean direct) { + return innerObjectPropertyDao.getSuperPropertyURIs(propertyURI, direct); } public List getAllSuperPropertyURIs(String propertyURI) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassDaoFiltering.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassDaoFiltering.java index 2357d9d04..46fa600d0 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassDaoFiltering.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassDaoFiltering.java @@ -132,8 +132,8 @@ public class VClassDaoFiltering extends BaseFiltering implements VClassDao{ return innerVClassDao.getSubClassURIs(classURI); } - public List getSuperClassURIs(String classURI) { - return innerVClassDao.getSuperClassURIs(classURI); + public List getSuperClassURIs(String classURI, boolean direct) { + return innerVClassDao.getSuperClassURIs(classURI, direct); } public VClass getVClassByURI(String URI) { 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 440957907..765659d4a 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 @@ -127,11 +127,11 @@ public class PropertyDaoJena extends JenaBaseDao implements PropertyDao { return outputList; } - public List getSuperPropertyURIs(String propertyURI) { + public List getSuperPropertyURIs(String propertyURI, boolean direct) { List supURIs = new LinkedList(); getOntModel().enterCriticalSection(Lock.READ); try { - Iterator supIt = getOntModel().getOntProperty(propertyURI).listSuperProperties(true); + Iterator supIt = getOntModel().getOntProperty(propertyURI).listSuperProperties(direct); while (supIt.hasNext()) { try { OntProperty prop = (OntProperty) supIt.next(); @@ -147,7 +147,7 @@ public class PropertyDaoJena extends JenaBaseDao implements PropertyDao { } private void getAllSuperPropertyURIs(String propertyURI, HashSet subtree){ - List directSuperproperties = getSuperPropertyURIs(propertyURI); + List directSuperproperties = getSuperPropertyURIs(propertyURI,true); Iterator it=directSuperproperties.iterator(); while(it.hasNext()){ String uri = (String)it.next(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java index e09f690fe..b196f4c64 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java @@ -417,7 +417,7 @@ public class VClassDaoJena extends JenaBaseDao implements VClassDao { } public void getAllSuperClassURIs(String classURI, HashSet subtree){ - List directSuperclasses = getSuperClassURIs(classURI); + List directSuperclasses = getSuperClassURIs(classURI, true); Iterator it=directSuperclasses.iterator(); while(it.hasNext()){ String uri = (String)it.next(); @@ -607,16 +607,17 @@ public class VClassDaoJena extends JenaBaseDao implements VClassDao { return subURIs; } - public List getSuperClassURIs(String classURI) { + public List getSuperClassURIs(String classURI, boolean direct) { List supURIs = new ArrayList(); OntClass subClass = getOntClass(getOntModel(), classURI); try { - Iterator supIt = subClass.listSuperClasses(true); + Iterator supIt = subClass.listSuperClasses(direct); while (supIt.hasNext()) { OntClass cls = (OntClass) supIt.next(); supURIs.add(getClassURIStr(cls)); } } catch (Exception e) { + //TODO make this attempt respect the direct argument // we'll try this again using a different method that doesn't try to convert to OntClass List supList = this.listDirectObjectPropertyValues(getOntModel().getResource(classURI), RDFS.subClassOf); for (Resource res : supList) { @@ -691,7 +692,7 @@ public class VClassDaoJena extends JenaBaseDao implements VClassDao { OntResource superclass = null; if (vclassURI != null) { // TODO need a getAllSuperPropertyURIs method in ObjectPropertyDao - List superproperties = getWebappDaoFactory().getObjectPropertyDao().getSuperPropertyURIs(propertyURI); + List superproperties = getWebappDaoFactory().getObjectPropertyDao().getSuperPropertyURIs(propertyURI,false); superproperties.add(propertyURI); HashSet subjSuperclasses = new HashSet(getAllSuperClassURIs(vclassURI)); subjSuperclasses.add(vclassURI);