From 0d93be55d4dd4b63686a0b99558e500e9a200752 Mon Sep 17 00:00:00 2001 From: bjl23 Date: Thu, 16 Sep 2010 21:22:16 +0000 Subject: [PATCH] merging avoidance of entity counts to trunk --- .../webapp/controller/BrowseController.java | 3 ++- .../freemarker/BrowseController.java | 3 ++- .../filtering/VClassGroupDaoFiltering.java | 2 +- .../vitro/webapp/dao/jena/VClassDaoJena.java | 20 ++++++++++--------- .../webapp/dao/jena/VClassGroupDaoJena.java | 2 +- 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseController.java index 77e8c02f7..b9e1cb572 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseController.java @@ -120,7 +120,7 @@ public class BrowseController extends VitroHttpServlet { if( grp == null ){ log.debug("needed to build vclassGroups for portal " + portalId); // Get all classgroups, each populated with a list of their member vclasses - List groups = vcgDao.getPublicGroupsWithVClasses(ORDER_BY_DISPLAYRANK, !INCLUDE_UNINSTANTIATED); + List groups = vcgDao.getPublicGroupsWithVClasses(ORDER_BY_DISPLAYRANK, !INCLUDE_UNINSTANTIATED, INCLUDE_ENTITY_COUNT); // now cull out the groups with no populated classes //removeUnpopulatedClasses( groups); @@ -135,6 +135,7 @@ public class BrowseController extends VitroHttpServlet { private static boolean ORDER_BY_DISPLAYRANK = true; private static boolean INCLUDE_UNINSTANTIATED = true; + private static boolean INCLUDE_ENTITY_COUNT = true; // private void removeUnpopulatedClasses( List groups){ // if( groups == null || groups.size() == 0 ) return; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java index 97efae5d8..492ee8c3b 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java @@ -119,7 +119,7 @@ public class BrowseController extends FreemarkerHttpServlet { if( grp == null ){ log.debug("needed to build vclassGroups for portal " + portalId); // Get all classgroups, each populated with a list of their member vclasses - List groups = vcgDao.getPublicGroupsWithVClasses(ORDER_BY_DISPLAYRANK, !INCLUDE_UNINSTANTIATED); + List groups = vcgDao.getPublicGroupsWithVClasses(ORDER_BY_DISPLAYRANK, !INCLUDE_UNINSTANTIATED, INCLUDE_INDIVIDUAL_COUNT); // remove classes that have been configured to be hidden // from search results @@ -156,6 +156,7 @@ public class BrowseController extends FreemarkerHttpServlet { private static boolean ORDER_BY_DISPLAYRANK = true; private static boolean INCLUDE_UNINSTANTIATED = true; + private static boolean INCLUDE_INDIVIDUAL_COUNT = true; // private void removeUnpopulatedClasses( List groups){ // if( groups == null || groups.size() == 0 ) return; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassGroupDaoFiltering.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassGroupDaoFiltering.java index e271b4eb3..c25f5c727 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassGroupDaoFiltering.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassGroupDaoFiltering.java @@ -59,7 +59,7 @@ public class VClassGroupDaoFiltering extends BaseFiltering implements VClassGrou return this.getPublicGroupsWithVClasses(displayOrder,true); } public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses) { - return this.getPublicGroupsWithVClasses(displayOrder,includeUninstantiatedClasses,true); + return this.getPublicGroupsWithVClasses(displayOrder,includeUninstantiatedClasses,false); } /** filter both vclassgroups and their vclasses */ public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses, diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java index 4695321ea..204ea6082 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java @@ -788,15 +788,17 @@ public class VClassDaoJena extends JenaBaseDao implements VClassDao { VClass vcw = (VClass) getVClassByURI(cls.getURI()); if (vcw != null) { boolean classIsInstantiated = false; - // Note: to support SDB models, may want to do this with - // SPARQL and LIMIT 1 if SDB can take advantage of it - ClosableIterator countIt = getOntModel().listStatements(null,RDF.type,cls); - try { - if (countIt.hasNext()) { - classIsInstantiated = true; - } - } finally { - countIt.close(); + if (includeUninstantiatedClasses == false) { + // Note: to support SDB models, may want to do this with + // SPARQL and LIMIT 1 if SDB can take advantage of it + ClosableIterator countIt = getOntModel().listStatements(null,RDF.type,cls); + try { + if (countIt.hasNext()) { + classIsInstantiated = true; + } + } finally { + countIt.close(); + } } //vcw.setEntityCount(count); if (includeUninstantiatedClasses || classIsInstantiated) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupDaoJena.java index 94c53ecfb..4d6533e0b 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupDaoJena.java @@ -112,7 +112,7 @@ public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao { } public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses) { - return getPublicGroupsWithVClasses(displayOrder, includeUninstantiatedClasses, true); + return getPublicGroupsWithVClasses(displayOrder, includeUninstantiatedClasses, false); } public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses,