NIHVIVO-1510 Moved check for valid config for collated property to a separate method.
This commit is contained in:
parent
8340088969
commit
f38677d914
2 changed files with 17 additions and 8 deletions
|
@ -36,13 +36,9 @@ public class CollatedObjectPropertyTemplateModel extends ObjectPropertyTemplateM
|
|||
|
||||
super(op, subject, vreq);
|
||||
|
||||
/* Make sure the query contains a subclass variable. If not, throw an exception so the caller will create
|
||||
* an UncollatedObjectPropertyTemplateModel instead.
|
||||
*/
|
||||
String queryString = getQueryString();
|
||||
Matcher m = QUERY_PATTERN.matcher(queryString);
|
||||
if ( ! m.find()) {
|
||||
throw new InvalidConfigurationException("Invalid configuration: Query does not select a subclass variable.");
|
||||
if ( ! validConfigurationForCollatedProperty() ) {
|
||||
throw new InvalidConfigurationException("Invalid configuration for property " + op.getURI() +
|
||||
": Query does not select a subclass variable.");
|
||||
}
|
||||
|
||||
/* Get the data */
|
||||
|
@ -70,6 +66,19 @@ public class CollatedObjectPropertyTemplateModel extends ObjectPropertyTemplateM
|
|||
subclasses.putAll(unsortedSubclasses);
|
||||
}
|
||||
|
||||
private boolean validConfigurationForCollatedProperty() {
|
||||
boolean validConfig = true;
|
||||
|
||||
// Make sure the query selects a ?subclass variable.
|
||||
String queryString = getQueryString();
|
||||
Matcher m = QUERY_PATTERN.matcher(queryString);
|
||||
if ( ! m.find() ) {
|
||||
validConfig = false;
|
||||
}
|
||||
|
||||
return validConfig;
|
||||
}
|
||||
|
||||
private Map<String, List<ObjectPropertyStatementTemplateModel>> collate(String subjectUri,
|
||||
String propertyUri, List<Map<String, String>> statementData, VitroRequest vreq) {
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel
|
|||
try {
|
||||
return new CollatedObjectPropertyTemplateModel(op, subject, vreq);
|
||||
} catch (InvalidConfigurationException e) {
|
||||
log.error(e, e);
|
||||
log.error(e);
|
||||
return new UncollatedObjectPropertyTemplateModel(op, subject, vreq);
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Add table
Reference in a new issue