NIHVIVO-2964 unfiltered dao method on VitroRequest
This commit is contained in:
parent
2fb3cc200f
commit
fbf484b537
4 changed files with 21 additions and 2 deletions
|
@ -58,6 +58,18 @@ public class VitroRequest extends HttpServletRequestWrapper {
|
|||
return (WebappDaoFactory) getAttribute("webappDaoFactory");
|
||||
}
|
||||
|
||||
public void setUnfilteredWebappDaoFactory(WebappDaoFactory wdf) {
|
||||
setAttribute("unfilteredWebappDaoFactory", wdf);
|
||||
}
|
||||
|
||||
/** Gets a WebappDaoFactory with request-specific dataset but no filtering.
|
||||
* Use this for any servlets that need to bypass filtering.
|
||||
* @return
|
||||
*/
|
||||
public WebappDaoFactory getUnfilteredWebappDaoFactory() {
|
||||
return (WebappDaoFactory) getAttribute("unfilteredWebappDaoFactory");
|
||||
}
|
||||
|
||||
public void setFullWebappDaoFactory(WebappDaoFactory wdf) {
|
||||
setAttribute("fullWebappDaoFactory", wdf);
|
||||
}
|
||||
|
|
|
@ -47,7 +47,9 @@ import edu.cornell.mannlib.vitro.webapp.dao.filtering.WebappDaoFactoryFiltering;
|
|||
import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.FilterFactory;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.HideFromDisplayByPolicyFilter;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.VitroFilters;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.WebappDaoFactoryJena;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.WebappDaoFactorySDB;
|
||||
import edu.cornell.mannlib.vitro.webapp.servlet.setup.JenaDataSourceSetupBase;
|
||||
|
||||
/**
|
||||
|
@ -165,6 +167,11 @@ public class VitroRequestPrep implements Filter {
|
|||
vreq.setDataset(dataset);
|
||||
}
|
||||
|
||||
vreq.setUnfilteredWebappDaoFactory(new WebappDaoFactorySDB(
|
||||
ModelContext.getUnionOntModelSelector(
|
||||
vreq.getSession().getServletContext()),
|
||||
vreq.getDataset()));
|
||||
|
||||
req.setAttribute("VitroRequestPrep.setup", new Integer(1));
|
||||
chain.doFilter(req, response);
|
||||
}
|
||||
|
|
|
@ -172,7 +172,7 @@ public abstract class BaseIndividualTemplateModel extends BaseTemplateModel {
|
|||
if (! StringUtils.isBlank(idMatchingProperty)) {
|
||||
// Use assertions model to side-step filtering. We need to get the value regardless of whether the property
|
||||
// is visible to the current user.
|
||||
WebappDaoFactory wdf = vreq.getAssertionsWebappDaoFactory();
|
||||
WebappDaoFactory wdf = vreq.getUnfilteredWebappDaoFactory();
|
||||
Collection<DataPropertyStatement> ids =
|
||||
wdf.getDataPropertyStatementDao().getDataPropertyStatementsForIndividualByDataPropertyURI(individual, idMatchingProperty);
|
||||
if (ids.size() > 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue