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.

This commit is contained in:
rjy7 2010-12-06 22:55:17 +00:00
parent 96b10bed71
commit cb230a10c3
5 changed files with 34 additions and 17 deletions

View file

@ -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> subclassList;
CollatedObjectProperty(ObjectProperty property) {
CollatedObjectPropertyTemplateModel(ObjectProperty property) {
super(property);
subclassList = new ArrayList<SubclassList>();
}
@ -20,13 +20,14 @@ public class CollatedObjectProperty extends ObjectPropertyTemplateModel {
return subclassList;
}
public List<SubclassList> getStatements() {
return subclassList;
}
// public List<SubclassList> getStatements() {
// return subclassList;
// }
/* Access methods for templates */
public boolean getIsCollatedBySubtype() {
@Override
public boolean isCollatedBySubclass() {
return true;
}
}

View file

@ -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<ObjectPropertyStatementTemplateModel> statements;
ObjectPropertyTemplateModel(ObjectProperty property) {
super(property);
statements = new ArrayList<ObjectPropertyStatementTemplateModel>();
// 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<ObjectPropertyStatementTemplateModel> getStatements() {
// TODO Auto-generated method stub
return null;
}
}

View file

@ -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));
}

View file

@ -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<ObjectPropertyStatementTemplateModel> statements;
UncollatedObjectProperty(ObjectProperty property) {
UncollatedObjectPropertyTemplateModel(ObjectProperty property) {
super(property);
statements = new ArrayList<ObjectPropertyStatementTemplateModel>();
// get the statements from the db via sparql query
}
@Override
public List<ObjectPropertyStatementTemplateModel> 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;
}
}

View file

@ -42,7 +42,7 @@
</#list>
<#else> <#-- object property -->
<p>Collated? ${property.collatedBySubclass?string("yes", "no")}</p>
</#if>
</div> <!-- end property -->
</#list>