From 156c193514f071ddee52d08e77941f7ba2b32b57 Mon Sep 17 00:00:00 2001 From: Philippe Guillebert Date: Thu, 24 Feb 2011 14:39:29 +0100 Subject: [PATCH 75/76] Webapp: added preliminary support for a daemon manager page --- .../web/controller/DaemonStatusController.java | 102 ++++++++++++-------- .../web/svclayer/applicationContext-svclayer.xml | 2 - .../src/main/webapp/WEB-INF/dispatcher-servlet.xml | 10 +-- .../src/main/webapp/WEB-INF/jsp/daemonstatus.jsp | 24 ++--- 4 files changed, 74 insertions(+), 64 deletions(-) diff --git a/opennms-webapp/src/main/java/org/opennms/web/controller/DaemonStatusController.java b/opennms-webapp/src/main/java/org/opennms/web/controller/DaemonStatusController.java index dc0575f..180e48f 100644 --- a/opennms-webapp/src/main/java/org/opennms/web/controller/DaemonStatusController.java +++ b/opennms-webapp/src/main/java/org/opennms/web/controller/DaemonStatusController.java @@ -45,9 +45,10 @@ import javax.servlet.http.HttpServletResponse; import org.opennms.netmgt.dao.ServiceInfo; import org.opennms.web.svclayer.daemonstatus.DaemonStatusService; -import org.springframework.validation.BindException; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.util.Assert; import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.mvc.SimpleFormController; +import org.springframework.web.servlet.mvc.AbstractController; /** *

DaemonStatusController class.

@@ -57,46 +58,65 @@ import org.springframework.web.servlet.mvc.SimpleFormController; * @version $Id: $ * @since 1.8.1 */ -public class DaemonStatusController extends SimpleFormController { - private DaemonStatusService daemonStatusService; +public class DaemonStatusController extends AbstractController implements InitializingBean { - /** - *

Setter for the field daemonStatusService.

- * - * @param daemonStatusService a {@link org.opennms.web.svclayer.daemonstatus.DaemonStatusService} object. - */ - public void setDaemonStatusService(DaemonStatusService daemonStatusService) { - this.daemonStatusService = daemonStatusService; - } + private String successView; + private DaemonStatusService daemonStatusService; - /** {@inheritDoc} */ - @Override - protected Map> referenceData(HttpServletRequest arg0) throws Exception { - // TODO Auto-generated method stub - Map> referenceData = new HashMap>(); - Collection daemons = daemonStatusService.getCurrentDaemonStatusColl(); - logger.debug("number of daemons:" + daemons.size()); - referenceData.put("daemons", daemons); - return referenceData; - } + protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { + // Map daemons = + // m_daemonStatusService.performOperationOnDaemons(request.getParameter("operation"), + // request.getParameterValues("values")); - /** {@inheritDoc} */ - @Override - protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse arg1, Object arg2, BindException arg3) throws Exception { - // TODO Auto-generated method stub - // FIXME: This isn't used -// Map daemons = -// daemonStatusService.performOperationOnDaemons(ServletRequestUtils.getStringParameter(request, "operation"), -// ServletRequestUtils.getStringParameters(request, "values")); - ModelAndView modelAndView = super.onSubmit(request, arg1, arg2, arg3); - modelAndView.addAllObjects(referenceData(request)); - return modelAndView; - } - - /** {@inheritDoc} */ - @Override - protected Object formBackingObject(HttpServletRequest arg0) throws Exception { - // TODO Auto-generated method stub - return super.formBackingObject(arg0); - } + Map> referenceData = new HashMap>(); + Collection daemons = daemonStatusService.getCurrentDaemonStatusColl(); + logger.debug("number of daemons:" + daemons.size()); + referenceData.put("daemons", daemons); + return new ModelAndView(getSuccessView(), referenceData); + } + + /** + *

setSuccessView

+ * + * @param successView a {@link java.lang.String} object. + */ + public void setSuccessView(String successView) { + this.successView = successView; + } + + /** + *

getSuccessView

+ * + * @return a {@link java.lang.String} object. + */ + public String getSuccessView() { + return successView; + } + + + /** + *

Getter for the field daemonStatusService.

+ */ + public DaemonStatusService getDaemonStatusService() { + return this.daemonStatusService; + } + + /** + *

Setter for the field daemonStatusService.

+ * + * @param daemonStatusService a {@link org.opennms.web.svclayer.daemonstatus.DaemonStatusService} object. + */ + public void setDaemonStatusService(DaemonStatusService daemonStatusService) { + this.daemonStatusService = daemonStatusService; + } + + /** + *

afterPropertiesSet

+ * + * @throws java.lang.Exception if any. + */ + public void afterPropertiesSet() throws Exception { + Assert.notNull(successView, "successview property must be set"); + Assert.notNull(daemonStatusService, "daemonStatusService property must be set"); + } } diff --git a/opennms-webapp/src/main/resources/org/opennms/web/svclayer/applicationContext-svclayer.xml b/opennms-webapp/src/main/resources/org/opennms/web/svclayer/applicationContext-svclayer.xml index eccb268..2b3a1b5 100644 --- a/opennms-webapp/src/main/resources/org/opennms/web/svclayer/applicationContext-svclayer.xml +++ b/opennms-webapp/src/main/resources/org/opennms/web/svclayer/applicationContext-svclayer.xml @@ -69,7 +69,6 @@ - diff --git a/opennms-webapp/src/main/webapp/WEB-INF/dispatcher-servlet.xml b/opennms-webapp/src/main/webapp/WEB-INF/dispatcher-servlet.xml index fda9629..3249763 100644 --- a/opennms-webapp/src/main/webapp/WEB-INF/dispatcher-servlet.xml +++ b/opennms-webapp/src/main/webapp/WEB-INF/dispatcher-servlet.xml @@ -142,14 +142,10 @@ ref="categoryStatusService" /> - + diff --git a/opennms-webapp/src/main/webapp/WEB-INF/jsp/daemonstatus.jsp b/opennms-webapp/src/main/webapp/WEB-INF/jsp/daemonstatus.jsp index 6f39dcb..939a13a 100644 --- a/opennms-webapp/src/main/webapp/WEB-INF/jsp/daemonstatus.jsp +++ b/opennms-webapp/src/main/webapp/WEB-INF/jsp/daemonstatus.jsp @@ -5,32 +5,28 @@ - + - + + + + - - - - - - - + + + +
Service Name StatusStartStopRestartRefresh
- - - - +
-
-- 1.7.0.4