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 730285da4..892e01933 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 @@ -49,6 +49,13 @@ public class BrowseController extends FreemarkerHttpServlet { String message = null; String templateName = TEMPLATE_DEFAULT; + if ( vreq.getParameter("clearcache") != null ) { + //mainly for debugging + if( PolicyHelper.isAuthorizedForActions(vreq, new RebuildVClassGroupCache()) ){ + clearGroupCache(); + } + } + List groups = null; VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(getServletContext()); if ( vcgc == null ) { @@ -68,17 +75,12 @@ public class BrowseController extends FreemarkerHttpServlet { templateName = Template.TITLED_MESSAGE.toString(); } - if ( vreq.getParameter("clearcache") != null ) { - //mainly for debugging - if( PolicyHelper.isAuthorizedForActions(vreq, new RebuildVClassGroupCache()) ){ - clearGroupCache(); - } - } + return new TemplateResponseValues(templateName, body); } protected void clearGroupCache(){ - VClassGroupCache.getVClassGroupCache(getServletContext()).requestCacheUpdate(); + VClassGroupCache.getVClassGroupCache(getServletContext()).doSynchronousRebuild(); } } \ No newline at end of file diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java index f5a039ce5..4f9857bbc 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java @@ -178,7 +178,7 @@ public class VClassGroupCache implements IndexingEventListener { return wdf.getVClassGroupDao(); } - protected void doSynchronousRebuild(){ + public void doSynchronousRebuild(){ //try to rebuild a couple times since the Solr server may not yet be up. int attempts = 0;