From f38677d914bbfa2bf751e240995ea2f492c41b78 Mon Sep 17 00:00:00 2001 From: rjy7 Date: Thu, 6 Jan 2011 19:57:24 +0000 Subject: [PATCH] NIHVIVO-1510 Moved check for valid config for collated property to a separate method. --- .../CollatedObjectPropertyTemplateModel.java | 23 +++++++++++++------ .../ObjectPropertyTemplateModel.java | 2 +- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java index 4a5cd08c1..0a9315302 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java @@ -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> collate(String subjectUri, String propertyUri, List> statementData, VitroRequest vreq) { 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 dd7345cda..de3632268 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 @@ -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 {