diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/MenuManagementDataUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/VIVOMenuManagementDataUtils.java similarity index 78% rename from api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/MenuManagementDataUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/VIVOMenuManagementDataUtils.java index f596b64d..f01794b4 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/MenuManagementDataUtils.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/VIVOMenuManagementDataUtils.java @@ -23,18 +23,17 @@ import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess; * This class includes methods that help in selecting a data getter based on * parameters, and VIVO will have its own version or extend this */ -public class MenuManagementDataUtils { - private static final Log log = LogFactory.getLog(MenuManagementDataUtils.class); +public class VIVOMenuManagementDataUtils implements MenuManagementDataUtils.IMenuManagementDataUtils { + private static final Log log = LogFactory.getLog(VIVOMenuManagementDataUtils.class); //Data that is to be returned to template that does not involve data getters //e.g. what are the current class groups, etc. - public static void includeRequiredSystemData(ServletContext context, Map templateData) { - + public void includeRequiredSystemData(ServletContext context, Map templateData) { checkInstitutionalInternalClass(context, templateData); } //Check whether any classes exist with internal class restrictions - private static void checkInstitutionalInternalClass(ServletContext context, Map templateData) { + private void checkInstitutionalInternalClass(ServletContext context, Map templateData) { //TODO: replace with more generic ModelContext retrieval method String internalClass = retrieveInternalClass(context); if(internalClass != null) { @@ -47,7 +46,7 @@ public class MenuManagementDataUtils { } - private static String retrieveInternalClass(ServletContext context) { + private String retrieveInternalClass(ServletContext context) { OntModel mainModel = ModelAccess.on(context).getOntModel(TBOX_ASSERTIONS); StmtIterator internalIt = mainModel.listStatements(null, ResourceFactory.createProperty(VitroVocabulary.IS_INTERNAL_CLASSANNOT), (RDFNode) null); if(internalIt.hasNext()) { diff --git a/api/src/main/java/org/vivoweb/webapp/startup/MenuManagementSetup.java b/api/src/main/java/org/vivoweb/webapp/startup/MenuManagementSetup.java new file mode 100644 index 00000000..719a7ca6 --- /dev/null +++ b/api/src/main/java/org/vivoweb/webapp/startup/MenuManagementSetup.java @@ -0,0 +1,19 @@ +package org.vivoweb.webapp.startup; + +import edu.cornell.mannlib.vitro.webapp.utils.menuManagement.MenuManagementDataUtils; +import edu.cornell.mannlib.vitro.webapp.utils.menuManagement.VIVOMenuManagementDataUtils; + +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +public class MenuManagementSetup implements ServletContextListener { + @Override + public void contextInitialized(ServletContextEvent servletContextEvent) { + MenuManagementDataUtils.setImplementation(new VIVOMenuManagementDataUtils()); + } + + @Override + public void contextDestroyed(ServletContextEvent servletContextEvent) { + + } +} diff --git a/webapp/src/main/webapp/WEB-INF/resources/startup_listeners.txt b/webapp/src/main/webapp/WEB-INF/resources/startup_listeners.txt index 7ce8f93a..54155694 100644 --- a/webapp/src/main/webapp/WEB-INF/resources/startup_listeners.txt +++ b/webapp/src/main/webapp/WEB-INF/resources/startup_listeners.txt @@ -59,6 +59,7 @@ edu.cornell.mannlib.vitro.webapp.visualization.setup.VisualizationSetup org.vivoweb.webapp.startup.DataGetterN3Setup org.vivoweb.webapp.startup.GeneratorSetup +org.vivoweb.webapp.startup.MenuManagementSetup org.vivoweb.webapp.startup.SearchResultTemplateModelSetup edu.ucsf.vitro.opensocial.OpenSocialSmokeTests