package org.vfny.geoserver.control.internal; import org.geoserver.data.DefaultGeoServerCatalog; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.vfny.geoserver.control.IStatusChecker; import org.vfny.geoserver.control.IStatusReport; import org.vfny.geoserver.global.WMS; public class DataStatusChecker implements IStatusChecker, ApplicationContextAware { private static final String NAME = "Data"; private ApplicationContext applicationContext; public IStatusReport checkStatus() { int status = IStatusReport.OKAY; Exception message = null; DefaultGeoServerCatalog catalog = null; try { catalog = (DefaultGeoServerCatalog) applicationContext.getBean("catalog"); } catch (Exception e) { status = IStatusReport.ERROR; message = e; return new DefaultStatusReport(NAME, status, message); } if (catalog == null) { status = IStatusReport.ERROR; message = new Exception("Data failed to load. Please check server logs"); } //TODO: maybe look at catalog's status? return new DefaultStatusReport(NAME, status, message); } public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } }