package org.vfny.geoserver.control.internal; 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.WFS; public class WFSStatusChecker implements IStatusChecker, ApplicationContextAware { private static final String NAME = "WFS"; private ApplicationContext applicationContext; public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } public IStatusReport checkStatus() { int status = IStatusReport.OKAY; Exception message = null; WFS wfs = null; try { wfs = (WFS) applicationContext.getBean("wfs"); } catch (Exception e) { status = IStatusReport.ERROR; message = e; return new DefaultStatusReport(NAME, status, message); } if (wfs == null) { status = IStatusReport.ERROR; message = new Exception("WFS failed to load. Please check server logs"); } else if (!wfs.isEnabled()) { status = IStatusReport.ERROR; message = new Exception("WFS service is currently disabled"); } return new DefaultStatusReport(NAME, status, message); } }