diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectProperty.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectProperty.java index 3cd094b15..bd3e9c169 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectProperty.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectProperty.java @@ -75,6 +75,8 @@ public class ObjectProperty extends Property implements Comparable thing from the old system causes sorting problems and ugliness; here is an inelegant way of dealing with it for now (Note s will disappear on update) if (p.getDomainSidePhasedOut() != null) { p.setDomainSidePhasedOut(stripItalics(p.getDomainSidePhasedOut())); @@ -364,8 +367,7 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp com.hp.hpl.jena.ontology.ObjectProperty p = ontModel.createObjectProperty(prop.getURI()); com.hp.hpl.jena.ontology.ObjectProperty inv = null; if (hasInverse(prop)) { - System.out.println(prop.getURIInverse()); - System.out.println("non-null inverse URI"); + log.debug("non-null inverse URI: " +prop.getURIInverse()); errMsgStr = getWebappDaoFactory().checkURI(prop.getURIInverse()); if (errMsgStr != null) { throw new InsertException("Unusable URI for inverse property: "+errMsgStr); @@ -603,6 +605,7 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp updatePropertyBooleanValue(p,PROPERTY_SELECTFROMEXISTINGANNOT,prop.getSelectFromExisting(),ontModel,JenaBaseDao.KEEP_ONLY_IF_FALSE); updatePropertyBooleanValue(p,PROPERTY_OFFERCREATENEWOPTIONANNOT,prop.getOfferCreateNewOption(),ontModel,JenaBaseDao.KEEP_ONLY_IF_TRUE); updatePropertyBooleanValue(p,PROPERTY_FORCESTUBDELETIONANNOT,prop.getForceStubObjectDeletion(),ontModel,JenaBaseDao.KEEP_ONLY_IF_TRUE); + updatePropertyBooleanValue(p,PROPERTY_COLLATEBYSUBCLASSANNOT,prop.getCollateBySubclass(),ontModel,JenaBaseDao.KEEP_ONLY_IF_TRUE); try { p.removeAll(PROPERTY_INPROPERTYGROUPANNOT); if (prop.getGroupURI() != null && prop.getGroupURI().length()>0) { diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJenaTest.java b/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJenaTest.java new file mode 100644 index 000000000..584a0409a --- /dev/null +++ b/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJenaTest.java @@ -0,0 +1,50 @@ +package edu.cornell.mannlib.vitro.webapp.dao.jena; + +import org.junit.Assert; +import org.junit.Test; + +import com.hp.hpl.jena.ontology.OntModel; +import com.hp.hpl.jena.rdf.model.ModelFactory; + +import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; +import edu.cornell.mannlib.vitro.webapp.dao.InsertException; +import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; + + +public class ObjectPropertyDaoJenaTest { + + @Test + public void testCollateBySubclass(){ + /* Check that we can save collateBySubclass */ + OntModel model = ModelFactory.createOntologyModel(); + WebappDaoFactory wdf = new WebappDaoFactoryJena(model); + + ObjectProperty op1 = new ObjectProperty(); + String propURI = "http://example.com/testObjectProp" ; + op1.setURI(propURI); + Assert.assertFalse(op1.getCollateBySubclass()); + try { + wdf.getObjectPropertyDao().insertObjectProperty(op1); + ObjectProperty op2 = wdf.getObjectPropertyDao().getObjectPropertyByURI(propURI); + Assert.assertNotNull(op2); + Assert.assertFalse(op2.getCollateBySubclass()); + + op2.setCollateBySubclass(true); + wdf.getObjectPropertyDao().updateObjectProperty(op2); + + ObjectProperty op3 = wdf.getObjectPropertyDao().getObjectPropertyByURI(propURI); + Assert.assertNotNull(op3); + Assert.assertTrue(op3.getCollateBySubclass()); + + op3.setCollateBySubclass(false); + wdf.getObjectPropertyDao().updateObjectProperty(op3); + + ObjectProperty op4 = wdf.getObjectPropertyDao().getObjectPropertyByURI(propURI); + Assert.assertNotNull(op4); + Assert.assertFalse(op4.getCollateBySubclass()); + + } catch (InsertException e) { + Assert.fail(e.getMessage()); + } + } +} diff --git a/webapp/web/templates/edit/specific/property_retry.jsp b/webapp/web/templates/edit/specific/property_retry.jsp index 6df6fbfd1..5a149aba9 100644 --- a/webapp/web/templates/edit/specific/property_retry.jsp +++ b/webapp/web/templates/edit/specific/property_retry.jsp @@ -151,6 +151,19 @@ + + + + + collate by subclass + + + collate by subclass + + + + +