fix for NIHVIVO-794

This commit is contained in:
bjl23 2010-07-14 16:19:17 +00:00
parent d0a42181bf
commit f5e9df1a08

View file

@ -10,6 +10,7 @@ import com.hp.hpl.jena.vocabulary.RDF;
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean; import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
import edu.cornell.mannlib.vitro.webapp.beans.Portal; import edu.cornell.mannlib.vitro.webapp.beans.Portal;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
@ -204,14 +205,21 @@ public class BrowseController extends FreeMarkerHttpServlet {
protected synchronized void rebuildCacheForPortal(Portal portal, ApplicationBean appBean, WebappDaoFactory wdFactory){ protected synchronized void rebuildCacheForPortal(Portal portal, ApplicationBean appBean, WebappDaoFactory wdFactory){
VitroFilters vFilters = null; VitroFilters vFilters = null;
if( portal.isFlag1Filtering() ){ boolean singlePortalApplication = wdFactory.getPortalDao().getAllPortals().size() == 1;
if ( singlePortalApplication ) {
if ( vFilters == null )
vFilters = VitroFilterUtils.getDisplayFilterByRoleLevel(RoleLevel.PUBLIC, wdFactory);
} else if ( portal.isFlag1Filtering() ){
PortalFlag pflag = new PortalFlag(portal.getPortalId()); PortalFlag pflag = new PortalFlag(portal.getPortalId());
if( vFilters == null) if( vFilters == null)
vFilters = VitroFilterUtils.getFilterFromPortalFlag(pflag); vFilters = VitroFilterUtils.getFilterFromPortalFlag(pflag);
else else
vFilters = vFilters.and( VitroFilterUtils.getFilterFromPortalFlag(pflag)); vFilters = vFilters.and( VitroFilterUtils.getFilterFromPortalFlag(pflag));
} }
WebappDaoFactory filteringDaoFactory ; WebappDaoFactory filteringDaoFactory ;
if( vFilters !=null ){ if( vFilters !=null ){
filteringDaoFactory = new WebappDaoFactoryFiltering(wdFactory,vFilters); filteringDaoFactory = new WebappDaoFactoryFiltering(wdFactory,vFilters);
}else{ }else{