Author: jtravis Date: 2007-05-31 15:16:04 -0700 (Thu, 31 May 2007) New Revision: 4598 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=4598 Added: trunk/src/org/hyperic/hq/hqu/server/session/UIPluginViewDAO.java Modified: trunk/src/org/hyperic/hq/hqu/server/session/UIPluginManagerEJBImpl.java trunk/ui_plugins/plugin_mon/app/ManageController.groovy trunk/ui_plugins/plugin_mon/views/manage/showPlugin.gsp trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/BaseController.groovy trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/html/FormGenerator.groovy trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/html/HtmlUtil.groovy Log: Add buttonTo, redirectTo, consistify naming Modified: trunk/src/org/hyperic/hq/hqu/server/session/UIPluginManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/hqu/server/session/UIPluginManagerEJBImpl.java 2007-05-31 21:08:25 UTC (rev 4597) +++ trunk/src/org/hyperic/hq/hqu/server/session/UIPluginManagerEJBImpl.java 2007-05-31 22:16:04 UTC (rev 4598) @@ -28,6 +28,7 @@ import org.hyperic.hq.common.SystemException; import org.hyperic.hq.hqu.UIPluginDescriptor; import org.hyperic.hq.hqu.server.session.UIPlugin; +import org.hyperic.hq.hqu.server.session.UIPluginView; import org.hyperic.hq.hqu.shared.UIPluginManagerLocal; import org.hyperic.hq.hqu.shared.UIPluginManagerUtil; import java.util.Collection; @@ -53,10 +54,13 @@ { private final Log _log = LogFactory.getLog(UIPluginManagerEJBImpl.class); - private UIPluginDAO _pluginDAO; + private UIPluginDAO _pluginDAO; + private UIPluginViewDAO _viewDAO; public UIPluginManagerEJBImpl() { - _pluginDAO = new UIPluginDAO(DAOFactory.getDAOFactory()); + DAOFactory fact = DAOFactory.getDAOFactory(); + _pluginDAO = new UIPluginDAO(fact); + _viewDAO = new UIPluginViewDAO(fact); } /** @@ -94,6 +98,13 @@ } /** + * @ejb:interface-method + */ + public UIPluginView findViewById(Integer id) { + return _viewDAO.findById(id); + } + + /** * Remove a plugin, all its views, and attach points from the system. * @ejb:interface-method */ Added: trunk/src/org/hyperic/hq/hqu/server/session/UIPluginViewDAO.java =================================================================== --- trunk/src/org/hyperic/hq/hqu/server/session/UIPluginViewDAO.java (rev 0) +++ trunk/src/org/hyperic/hq/hqu/server/session/UIPluginViewDAO.java 2007-05-31 22:16:04 UTC (rev 4598) @@ -0,0 +1,41 @@ +/* + * NOTE: This copyright does *not* cover user programs that use HQ + * program services by normal system calls through the application + * program interfaces provided as part of the Hyperic Plug-in Development + * Kit or the Hyperic Client Development Kit - this is merely considered + * normal use of the program, and does *not* fall under the heading of + * "derived work". + * + * Copyright (C) [2004, 2005, 2006], Hyperic, Inc. + * This file is part of HQ. + * + * HQ is free software; you can redistribute it and/or modify + * it under the terms version 2 of the GNU General Public License as + * published by the Free Software Foundation. This program is distributed + * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +package org.hyperic.hq.hqu.server.session; + +import org.hyperic.dao.DAOFactory; +import org.hyperic.hq.dao.HibernateDAO; + +class UIPluginViewDAO + extends HibernateDAO +{ + UIPluginViewDAO(DAOFactory f) { + super(UIPluginView.class, f); + } + + UIPluginView findById(Integer id) { + return (UIPluginView)super.findById(id); + } +} Modified: trunk/ui_plugins/plugin_mon/app/ManageController.groovy =================================================================== --- trunk/ui_plugins/plugin_mon/app/ManageController.groovy 2007-05-31 21:08:25 UTC (rev 4597) +++ trunk/ui_plugins/plugin_mon/app/ManageController.groovy 2007-05-31 22:16:04 UTC (rev 4598) @@ -18,4 +18,10 @@ def plugin = UIPluginManagerEJBImpl.one.findPluginById(pluginId) render(locals:[plugin : plugin]) } + + def attach = { params -> + def viewId = new Integer(params.getOne('id')) + def view = UIPluginManagerEJBImpl.one.findViewById(viewId) + redirectTo(action : 'showPlugin', id : view.plugin) + } } Modified: trunk/ui_plugins/plugin_mon/views/manage/showPlugin.gsp =================================================================== --- trunk/ui_plugins/plugin_mon/views/manage/showPlugin.gsp 2007-05-31 21:08:25 UTC (rev 4597) +++ trunk/ui_plugins/plugin_mon/views/manage/showPlugin.gsp 2007-05-31 22:16:04 UTC (rev 4598) @@ -20,6 +20,7 @@ <td><%= h v.path %></td> <td><%= h v.attachType.description %></td> <td><%= h v.attachable %></td> + <td><%= button_to "Attach", [action : 'attach', id : v] %></td> </tr> <% } %> </tbody> Modified: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/BaseController.groovy =================================================================== --- trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/BaseController.groovy 2007-05-31 21:08:25 UTC (rev 4597) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/BaseController.groovy 2007-05-31 22:16:04 UTC (rev 4598) @@ -88,11 +88,20 @@ * from this base method) */ def getAddIns() { - [url_for : HtmlUtil.&url_for, - h : HtmlUtil.&escapeHtml, - link_to : HtmlUtil.&link_to] + [url_for : HtmlUtil.&urlFor, + h : HtmlUtil.&escapeHtml, + link_to : HtmlUtil.&linkTo, + button_to : HtmlUtil.&buttonTo] } + protected void redirectTo(opts) { + def response = invokeArgs.response + + rendered = true + def targetUrl = response.encodeRedirectURL(HtmlUtil.urlFor(opts)) + response.sendRedirect(targetUrl) + } + protected void render(opts) { opts = (opts == null) ? [:] : opts Modified: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/html/FormGenerator.groovy =================================================================== --- trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/html/FormGenerator.groovy 2007-05-31 21:08:25 UTC (rev 4597) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/html/FormGenerator.groovy 2007-05-31 22:16:04 UTC (rev 4598) @@ -17,7 +17,7 @@ } void write(output, form_closure) { - output.write("<form action='${HtmlUtil.url_for(formOpts)}' method='post'>") + output.write("<form action='${HtmlUtil.urlFor(formOpts)}' method='post'>") form_closure(this) output.write("</form>") output.flush() Modified: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/html/HtmlUtil.groovy =================================================================== --- trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/html/HtmlUtil.groovy 2007-05-31 21:08:25 UTC (rev 4597) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/html/HtmlUtil.groovy 2007-05-31 22:16:04 UTC (rev 4598) @@ -16,7 +16,7 @@ * * TODO: Add support for arbitrary URL query params */ - static String url_for(opts) { + static String urlFor(opts) { def res = '' if (opts['action']) { res += opts['action'] + '.hqu' @@ -35,9 +35,17 @@ * Create a text link. * * text: The text for the link, which will be HTML escaped - * opts: Options for the link (see url_for) + * opts: Options for the link (see urlFor) */ - static def link_to(text, opts) { - "<a href='${url_for(opts)}'>${escapeHtml(text)}</a>" + static def linkTo(text, opts) { + "<a href='${urlFor(opts)}'>${escapeHtml(text)}</a>" } + + static def buttonTo(text, opts) { + "<form method='post' action='${urlFor(opts)}'>" + + " <div>" + + " <input value='${escapeHtml(text)}' type='submit'/>" + + " </div>" + + "</form>" + } } |