From cb230a10c3d5684dc4d96283f41ae1f8203f4d4b Mon Sep 17 00:00:00 2001 From: rjy7 Date: Mon, 6 Dec 2010 22:55:17 +0000 Subject: [PATCH] NIHVIVO-1333 Make ObjectPropertyTemplateModel a non-abstract class to represent uncollated object properties, so UncollatedObjectPropertyTemplateModel is not needed. Some test code in the template to distinguish collated and uncollated object properties. --- ... CollatedObjectPropertyTemplateModel.java} | 13 ++++++----- .../ObjectPropertyTemplateModel.java | 22 +++++++++++++++++-- .../PropertyGroupTemplateModel.java | 6 +---- ...ncollatedObjectPropertyTemplateModel.java} | 8 ++++--- .../body/individual/individual-properties.ftl | 2 +- 5 files changed, 34 insertions(+), 17 deletions(-) rename webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/{CollatedObjectProperty.java => CollatedObjectPropertyTemplateModel.java} (65%) rename webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/{UncollatedObjectProperty.java => UncollatedObjectPropertyTemplateModel.java} (75%) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectProperty.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java similarity index 65% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectProperty.java rename to webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java index 997487c3d..51b05e905 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectProperty.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java @@ -7,11 +7,11 @@ import java.util.List; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; -public class CollatedObjectProperty extends ObjectPropertyTemplateModel { +public class CollatedObjectPropertyTemplateModel extends ObjectPropertyTemplateModel { private List subclassList; - CollatedObjectProperty(ObjectProperty property) { + CollatedObjectPropertyTemplateModel(ObjectProperty property) { super(property); subclassList = new ArrayList(); } @@ -20,13 +20,14 @@ public class CollatedObjectProperty extends ObjectPropertyTemplateModel { return subclassList; } - public List getStatements() { - return subclassList; - } +// public List getStatements() { +// return subclassList; +// } /* Access methods for templates */ - public boolean getIsCollatedBySubtype() { + @Override + public boolean isCollatedBySubclass() { return true; } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java index 8a6d3d175..0ee68edae 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java @@ -2,16 +2,27 @@ package edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual; +import java.util.ArrayList; +import java.util.List; + import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; -public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel { +public class ObjectPropertyTemplateModel extends PropertyTemplateModel { private static final String TYPE = "object"; + private List statements; ObjectPropertyTemplateModel(ObjectProperty property) { super(property); + statements = new ArrayList(); + + // get the statements from the db via sparql query } + protected static ObjectPropertyTemplateModel getObjectPropertyTemplateModel(ObjectProperty op) { + return op.getCollateBySubclass() ? new CollatedObjectPropertyTemplateModel(op) + : new ObjectPropertyTemplateModel(op); + } /* Access methods for templates */ @@ -19,7 +30,9 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel return TYPE; } - public abstract boolean getIsCollatedBySubtype(); + public boolean isCollatedBySubclass() { + return false; + } @Override public String getAddLink() { @@ -40,4 +53,9 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel // TODO Auto-generated method stub return null; } + + public List getStatements() { + // TODO Auto-generated method stub + return null; + } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java index 2d2b77785..381dfd14b 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java @@ -26,11 +26,7 @@ public class PropertyGroupTemplateModel extends BaseTemplateModel { for (Property p : propertyList) { if (p instanceof ObjectProperty) { ObjectProperty op = (ObjectProperty)p; - if (op.getCollateBySubclass()) { - properties.add(new CollatedObjectProperty(op)); - } else { - properties.add(new UncollatedObjectProperty(op)); - } + properties.add(ObjectPropertyTemplateModel.getObjectPropertyTemplateModel(op)); } else { properties.add(new DataPropertyTemplateModel((DataProperty)p, subject, wdf)); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectProperty.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java similarity index 75% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectProperty.java rename to webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java index 7ac1aad5b..e4a5516be 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectProperty.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java @@ -7,17 +7,18 @@ import java.util.List; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; -public class UncollatedObjectProperty extends ObjectPropertyTemplateModel { +public class UncollatedObjectPropertyTemplateModel extends ObjectPropertyTemplateModel { private List statements; - UncollatedObjectProperty(ObjectProperty property) { + UncollatedObjectPropertyTemplateModel(ObjectProperty property) { super(property); statements = new ArrayList(); // get the statements from the db via sparql query } + @Override public List getStatements() { return statements; } @@ -25,7 +26,8 @@ public class UncollatedObjectProperty extends ObjectPropertyTemplateModel { /* Access methods for templates */ - public boolean getIsCollatedBySubtype() { + @Override + public boolean isCollatedBySubclass() { return false; } } diff --git a/webapp/web/templates/freemarker/body/individual/individual-properties.ftl b/webapp/web/templates/freemarker/body/individual/individual-properties.ftl index 75cd5003f..894f4d8a7 100644 --- a/webapp/web/templates/freemarker/body/individual/individual-properties.ftl +++ b/webapp/web/templates/freemarker/body/individual/individual-properties.ftl @@ -42,7 +42,7 @@ <#else> <#-- object property --> - +

Collated? ${property.collatedBySubclass?string("yes", "no")}