From 13cfc80bc2d311d530d7d6d57c40990dedb6f6b4 Mon Sep 17 00:00:00 2001 From: rjy7 Date: Fri, 14 Jan 2011 20:32:50 +0000 Subject: [PATCH] A few minor refactorings, adding debugging output, etc. --- .../vitro/webapp/dao/ObjectPropertyDao.java | 2 +- .../filtering/ObjectPropertyDaoFiltering.java | 4 +-- .../webapp/dao/jena/DataPropertyDaoJena.java | 8 +++--- .../dao/jena/ObjectPropertyDaoJena.java | 27 +++++-------------- .../webapp/dao/jena/PropertyDaoJena.java | 2 +- .../individual/GroupedPropertyList.java | 12 +++------ .../ObjectPropertyTemplateModel.java | 2 +- 7 files changed, 19 insertions(+), 38 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java index bee2cdbb9..6570984ee 100755 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java @@ -56,5 +56,5 @@ public interface ObjectPropertyDao extends PropertyDao { public List getObjectPropertyList(String subjectUri); - public String getCustomListConfigFileName(ObjectProperty objectProperty); + public String getCustomListViewConfigFileName(ObjectProperty objectProperty); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java index 2b88f6e58..f12c64858 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java @@ -216,7 +216,7 @@ class ObjectPropertyDaoFiltering extends BaseFiltering implements ObjectProperty } @Override - public String getCustomListConfigFileName(ObjectProperty objectProperty) { - return innerObjectPropertyDao.getCustomListConfigFileName(objectProperty); + public String getCustomListViewConfigFileName(ObjectProperty objectProperty) { + return innerObjectPropertyDao.getCustomListViewConfigFileName(objectProperty); } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java index 822559685..4c38e9625 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java @@ -82,15 +82,15 @@ public class DataPropertyDaoJena extends PropertyDaoJena implements static { List namespaceFilters = new ArrayList(); for (String s : EXCLUDED_NAMESPACES) { - namespaceFilters.add("afn:namespace(?property) != \"" + s + "\""); + namespaceFilters.add("(afn:namespace(?property) != \"" + s + "\")"); } - propertyFilters = "FILTER (" + StringUtils.join(namespaceFilters, " && \n") + ")\n"; + propertyFilters = "FILTER (" + StringUtils.join(namespaceFilters, " && ") + ")\n"; } protected static final String dataPropertyQueryString = PREFIXES + "\n" + "SELECT DISTINCT ?property WHERE { \n" + - " GRAPH ?g { ?subject ?property ?object } \n" + - " GRAPH ?h { ?property rdf:type owl:DatatypeProperty } \n" + + " GRAPH ?g1 { ?subject ?property ?object } \n" + + " GRAPH ?g2 { ?property rdf:type owl:DatatypeProperty } \n" + propertyFilters + "}"; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java index 893181950..1381837ce 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java @@ -72,20 +72,20 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp static { List namespaceFilters = new ArrayList(); for (String s : EXCLUDED_NAMESPACES) { - namespaceFilters.add("afn:namespace(?property) != \"" + s + "\""); + namespaceFilters.add("(afn:namespace(?property) != \"" + s + "\")"); } // A hack to include the vitro:primaryLink and vitro:additionalLink properties in the list namespaceFilters.add("( ?property = ||" + "?property = ||" + "afn:namespace(?property) != \"http://vitro.mannlib.cornell.edu/ns/vitro/0.7#\" )"); - propertyFilters = "FILTER (" + StringUtils.join(namespaceFilters, " && \n") + ")\n"; + propertyFilters = "FILTER (" + StringUtils.join(namespaceFilters, " && ") + ")\n"; } protected static final String objectPropertyQueryString = PREFIXES + "\n" + "SELECT DISTINCT ?property WHERE { \n" + - " GRAPH ?g { ?subject ?property ?object } \n" + - " GRAPH ?h { ?property rdf:type owl:ObjectProperty } \n" + + " GRAPH ?g1 { ?subject ?property ?object } \n" + + " GRAPH ?g2 { ?property rdf:type owl:ObjectProperty } \n" + propertyFilters + "}"; @@ -896,6 +896,7 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp QuerySolution soln = results.next(); Resource resource = soln.getResource("property"); String uri = resource.getURI(); + log.debug("Found populated object property " + uri + " for individual " + subjectUri); ObjectProperty property = getObjectPropertyByURI(uri); properties.add(property); } @@ -903,26 +904,10 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp } @Override - public String getCustomListConfigFileName(ObjectProperty op) { + public String getCustomListViewConfigFileName(ObjectProperty op) { if (customListViewConfigFileMap == null) { customListViewConfigFileMap = new HashMap(); OntModel displayModel = getOntModelSelector().getDisplayModel(); - -// Property listViewConfigProp = displayModel.getProperty(VitroVocabulary.DISPLAY + "customListViewConfigurationFile"); -// ResIterator resources = displayModel.listResourcesWithProperty(listViewConfigProp); -// while (resources.hasNext()) { -// Resource resource = resources.next(); -// ObjectProperty prop = getObjectPropertyByURI(resource.getURI()); -// NodeIterator nodes = displayModel.listObjectsOfProperty(resource, listViewConfigProp); -// if (nodes.hasNext()) { -// RDFNode node = nodes.next(); // there should be at most one value; just get the first one -// if (node.isLiteral()) { -// String configFileName = ((Literal)node).getLexicalForm(); -// customListViewConfigFiles.put(prop, configFileName); -// } -// } -// } - QueryExecution qexec = QueryExecutionFactory.create(listViewConfigFileQuery, displayModel); ResultSet results = qexec.execSelect(); while (results.hasNext()) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java index 0d34af086..8c78ce6cd 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java @@ -44,7 +44,7 @@ public class PropertyDaoJena extends JenaBaseDao implements PropertyDao { protected static final String PREFIXES = "PREFIX rdf: \n" + - "PREFIX vitro: \n" + + //"PREFIX vitro: \n" + "PREFIX owl: \n" + "PREFIX afn: "; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java index 6883648db..c9b28f451 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java @@ -70,9 +70,7 @@ public class GroupedPropertyList extends BaseTemplateModel { // This may include properties that are not defined as "possible properties" for a subject of this class, // so we cannot just rely on getting that list. List objectPropertyList = subject.getPopulatedObjectPropertyList(); - for (ObjectProperty op : objectPropertyList) { - propertyList.add(op); - } + propertyList.addAll(objectPropertyList); // If editing this page, merge in object properties applicable to the individual that are currently // unpopulated, so the properties are displayed to allow statements to be added to these properties. @@ -88,9 +86,7 @@ public class GroupedPropertyList extends BaseTemplateModel { // can be customized and thus differ from property to property. So it's easier for now to keep the // two working in parallel. List dataPropertyList = subject.getPopulatedDataPropertyList(); - for (DataProperty dp : dataPropertyList) { - propertyList.add(dp); - } + propertyList.addAll(dataPropertyList); if (policyHelper != null) { mergeAllPossibleDataProperties(propertyList); @@ -279,10 +275,10 @@ public class GroupedPropertyList extends BaseTemplateModel { // If the property is not assigned to any group, add it to the group for unassigned properties } else if (p.getGroupURI()==null) { if (groupForUnassignedProperties!=null) { - // RY How could it happen that it's already in the group? Maybe we can remove this case. + // RY How could it happen that it's already in the group? Maybe we can remove this test. if (!alreadyOnPropertyList(groupForUnassignedProperties.getPropertyList(),p)) { groupForUnassignedProperties.getPropertyList().add(p); - log.debug("adding property "+p.getLabel()+" to group for unassigned propertiues"); + log.debug("adding property "+p.getLabel()+" to group for unassigned properties"); } } // Otherwise, if the property is assigned to this group, add it to the group if it's not already there 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 498af95da..aef940eee 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 @@ -238,7 +238,7 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel // Get the custom config filename WebappDaoFactory wdf = vreq.getWebappDaoFactory(); ObjectPropertyDao opDao = wdf.getObjectPropertyDao(); - String configFileName = opDao.getCustomListConfigFileName(op); + String configFileName = opDao.getCustomListViewConfigFileName(op); if (configFileName == null) { // no custom config; use default config configFileName = getDefaultConfigFileName(); }