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 dbbbb9b38..e96a61b0b 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 @@ -106,4 +106,10 @@ public class VClassGroupDaoFiltering extends BaseFiltering implements VClassGrou } + @Override + public void removeClassesHiddenFromSearch(List groups) { + innerDao.removeClassesHiddenFromSearch(groups); + } + + } \ No newline at end of file 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 f13bba814..8edeb4d25 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 @@ -27,6 +27,8 @@ import edu.cornell.mannlib.vitro.webapp.dao.InsertException; import edu.cornell.mannlib.vitro.webapp.dao.VClassDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch; +import edu.cornell.mannlib.vitro.webapp.web.DisplayVocabulary; public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao { @@ -286,4 +288,20 @@ public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao { } } + @Override + public void removeClassesHiddenFromSearch(List groups) { + OntModel displayOntModel = getOntModelSelector().getDisplayModel(); + ProhibitedFromSearch pfs = new ProhibitedFromSearch( + DisplayVocabulary.PRIMARY_LUCENE_INDEX_URI, displayOntModel); + for (VClassGroup group : groups) { + List classList = new ArrayList(); + for (VClass vclass : group.getVitroClassList()) { + if (!pfs.isClassProhibited(vclass.getURI())) { + classList.add(vclass); + } + } + group.setVitroClassList(classList); + } + } + }