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:
parent
96b10bed71
commit
cb230a10c3
5 changed files with 34 additions and 17 deletions
|
@ -7,11 +7,11 @@ import java.util.List;
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
|
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
|
||||||
|
|
||||||
public class CollatedObjectProperty extends ObjectPropertyTemplateModel {
|
public class CollatedObjectPropertyTemplateModel extends ObjectPropertyTemplateModel {
|
||||||
|
|
||||||
private List<SubclassList> subclassList;
|
private List<SubclassList> subclassList;
|
||||||
|
|
||||||
CollatedObjectProperty(ObjectProperty property) {
|
CollatedObjectPropertyTemplateModel(ObjectProperty property) {
|
||||||
super(property);
|
super(property);
|
||||||
subclassList = new ArrayList<SubclassList>();
|
subclassList = new ArrayList<SubclassList>();
|
||||||
}
|
}
|
||||||
|
@ -20,13 +20,14 @@ public class CollatedObjectProperty extends ObjectPropertyTemplateModel {
|
||||||
return subclassList;
|
return subclassList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<SubclassList> getStatements() {
|
// public List<SubclassList> getStatements() {
|
||||||
return subclassList;
|
// return subclassList;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/* Access methods for templates */
|
/* Access methods for templates */
|
||||||
|
|
||||||
public boolean getIsCollatedBySubtype() {
|
@Override
|
||||||
|
public boolean isCollatedBySubclass() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,16 +2,27 @@
|
||||||
|
|
||||||
package edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual;
|
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;
|
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 static final String TYPE = "object";
|
||||||
|
private List<ObjectPropertyStatementTemplateModel> statements;
|
||||||
|
|
||||||
ObjectPropertyTemplateModel(ObjectProperty property) {
|
ObjectPropertyTemplateModel(ObjectProperty property) {
|
||||||
super(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 */
|
/* Access methods for templates */
|
||||||
|
|
||||||
|
@ -19,7 +30,9 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel
|
||||||
return TYPE;
|
return TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract boolean getIsCollatedBySubtype();
|
public boolean isCollatedBySubclass() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getAddLink() {
|
public String getAddLink() {
|
||||||
|
@ -40,4 +53,9 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<ObjectPropertyStatementTemplateModel> getStatements() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,11 +26,7 @@ public class PropertyGroupTemplateModel extends BaseTemplateModel {
|
||||||
for (Property p : propertyList) {
|
for (Property p : propertyList) {
|
||||||
if (p instanceof ObjectProperty) {
|
if (p instanceof ObjectProperty) {
|
||||||
ObjectProperty op = (ObjectProperty)p;
|
ObjectProperty op = (ObjectProperty)p;
|
||||||
if (op.getCollateBySubclass()) {
|
properties.add(ObjectPropertyTemplateModel.getObjectPropertyTemplateModel(op));
|
||||||
properties.add(new CollatedObjectProperty(op));
|
|
||||||
} else {
|
|
||||||
properties.add(new UncollatedObjectProperty(op));
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
properties.add(new DataPropertyTemplateModel((DataProperty)p, subject, wdf));
|
properties.add(new DataPropertyTemplateModel((DataProperty)p, subject, wdf));
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,17 +7,18 @@ import java.util.List;
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
|
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
|
||||||
|
|
||||||
public class UncollatedObjectProperty extends ObjectPropertyTemplateModel {
|
public class UncollatedObjectPropertyTemplateModel extends ObjectPropertyTemplateModel {
|
||||||
|
|
||||||
private List<ObjectPropertyStatementTemplateModel> statements;
|
private List<ObjectPropertyStatementTemplateModel> statements;
|
||||||
|
|
||||||
UncollatedObjectProperty(ObjectProperty property) {
|
UncollatedObjectPropertyTemplateModel(ObjectProperty property) {
|
||||||
super(property);
|
super(property);
|
||||||
statements = new ArrayList<ObjectPropertyStatementTemplateModel>();
|
statements = new ArrayList<ObjectPropertyStatementTemplateModel>();
|
||||||
|
|
||||||
// get the statements from the db via sparql query
|
// get the statements from the db via sparql query
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public List<ObjectPropertyStatementTemplateModel> getStatements() {
|
public List<ObjectPropertyStatementTemplateModel> getStatements() {
|
||||||
return statements;
|
return statements;
|
||||||
}
|
}
|
||||||
|
@ -25,7 +26,8 @@ public class UncollatedObjectProperty extends ObjectPropertyTemplateModel {
|
||||||
|
|
||||||
/* Access methods for templates */
|
/* Access methods for templates */
|
||||||
|
|
||||||
public boolean getIsCollatedBySubtype() {
|
@Override
|
||||||
|
public boolean isCollatedBySubclass() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
</#list>
|
</#list>
|
||||||
|
|
||||||
<#else> <#-- object property -->
|
<#else> <#-- object property -->
|
||||||
|
<p>Collated? ${property.collatedBySubclass?string("yes", "no")}</p>
|
||||||
</#if>
|
</#if>
|
||||||
</div> <!-- end property -->
|
</div> <!-- end property -->
|
||||||
</#list>
|
</#list>
|
||||||
|
|
Loading…
Add table
Reference in a new issue