use of org.openforis.idm.model.Node in project collect by openforis.
the class CollectRecord method updateEntityCounts.
private void updateEntityCounts() {
List<Integer> counts = new ArrayList<Integer>();
List<EntityDefinition> countableDefns = getSurvey().getSchema().getCountableEntitiesInRecordList(getRootEntity().getDefinition());
for (EntityDefinition defn : countableDefns) {
List<Node<?>> nodes = findNodesByPath(defn.getPath());
counts.add(nodes.size());
}
this.entityCounts = counts;
}
use of org.openforis.idm.model.Node in project collect by openforis.
the class AbsoluteModelPathExpression method iterate.
public List<Node<?>> iterate(Record record) throws InvalidExpressionException {
Entity contextNode = record.getRootEntity();
if (contextNode.getName().equals(root)) {
if (modelPathExpression == null) {
List<Node<?>> list = new ArrayList<Node<?>>();
list.add(contextNode);
return list;
} else {
List<Node<?>> list = modelPathExpression.evaluateMultiple(contextNode, contextNode);
return list;
}
} else {
throw new InvalidExpressionException(root + " is not a valid root");
}
}
Aggregations