Author: jtravis Date: 2007-05-09 11:19:32 -0700 (Wed, 09 May 2007) New Revision: 4390 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=4390 Added: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/MapCategory.groovy Removed: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefAppdefCategory.groovy trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefLiveDataCategory.groovy trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefMetricCategory.groovy trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/CategoryInfo.groovy trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/MetricMetricCategory.groovy Modified: trunk/ui_plugins/gconsole/app/ConsoleController.groovy trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/BaseController.groovy trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/dispatcher.groovy trunk/ui_plugins/scaffold/views/sample/index.gsp Log: Remove old rendit categories, start adding new ones. More cleanup Modified: trunk/ui_plugins/gconsole/app/ConsoleController.groovy =================================================================== --- trunk/ui_plugins/gconsole/app/ConsoleController.groovy 2007-05-09 17:39:05 UTC (rev 4389) +++ trunk/ui_plugins/gconsole/app/ConsoleController.groovy 2007-05-09 18:19:32 UTC (rev 4390) @@ -4,12 +4,12 @@ def index = { params -> def r = [:] - if (params['code_input'] && params['code_input'].size() == 1) { - r['last_code'] = params['code_input'][0] + if (params.hasOne('code_input')) { + r['last_code'] = params.getOne('code_input') r['last_result'] = executeCode(r['last_code']) } else { - r['last_code'] = 'nada' - r['last_result'] = 'nada' + r['last_code'] = '1 + 2' + r['last_result'] = '3' } render(locals:[r:r]) 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-09 17:39:05 UTC (rev 4389) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/BaseController.groovy 2007-05-09 18:19:32 UTC (rev 4390) @@ -58,10 +58,10 @@ rendered = false try { - runner(params) - - if (!rendered) + runner(params) + if (!rendered) { render([action : action]) + } } finally { log.info "Executed $controllerName:$action in " + "${System.currentTimeMillis() - start} ms" @@ -116,8 +116,8 @@ rendered = true def outStream = invokeArgs.response.outputStream def outWriter = new OutputStreamWriter(outStream) - - invokeArgs.response.contentType = args.get('type', 'text/html') + + invokeArgs.response.setContentType(args.get('type', 'text/html')) if (args['inline']) { return render_inline(args['inline'], outWriter) } @@ -130,17 +130,19 @@ locals.putAll(addIns) try { new File(subViewDir, actionArg + '.gsp').withReader { reader -> - output = outWriter + setOutput(outWriter) def eng = new SimpleTemplateEngine(pluginInfo.dumpScripts) def template = eng.createTemplate(reader) template.make(locals).writeTo(outWriter) outWriter.flush() } } catch(Exception e) { - def pw = new PrintWriter(output) - e.printStackTrace(pw) - pw.flush() - output.flush() + if (output) { + def pw = new PrintWriter(output) + e.printStackTrace(pw) + pw.flush() + output.flush() + } throw e } finally { output = null Modified: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/dispatcher.groovy =================================================================== --- trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/dispatcher.groovy 2007-05-09 17:39:05 UTC (rev 4389) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/dispatcher.groovy 2007-05-09 18:19:32 UTC (rev 4390) @@ -3,6 +3,7 @@ import org.hyperic.hq.ui.rendit.InvocationBindings import org.hyperic.hq.ui.rendit.PluginLoadException import org.hyperic.hq.ui.rendit.PluginLoadInfo +import org.hyperic.hq.ui.rendit.metaclass.MapCategory import org.apache.commons.logging.Log import org.apache.commons.logging.LogFactory @@ -63,7 +64,9 @@ def dispatcher = new DefaultControllerDispatcher() def pluginInfo = loadPlugin() - return dispatcher.invoke(pluginInfo, invokeArgs) + use (MapCategory){ + return dispatcher.invoke(pluginInfo, invokeArgs) + } } } Deleted: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefAppdefCategory.groovy =================================================================== --- trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefAppdefCategory.groovy 2007-05-09 17:39:05 UTC (rev 4389) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefAppdefCategory.groovy 2007-05-09 18:19:32 UTC (rev 4390) @@ -1,41 +0,0 @@ -package org.hyperic.hq.ui.rendit.metaclass - -import org.hyperic.util.pager.PageControl -import org.hyperic.hq.appdef.shared.AppdefEntityValue -import org.hyperic.hq.appdef.shared.AppdefResourceValue -import org.hyperic.hq.ui.rendit.helpers.ResourceHelper -import org.hyperic.hq.appdef.shared.AppdefEntityID - -/** - * This category enhances the general appdef types by giving them additional - * methods - */ -class AppdefAppdefCategory { - /** - * Get a resource from an appdef entity ID. - */ - static AppdefResourceValue getResource(AppdefEntityID entId) { - (new ResourceHelper(CategoryInfo.user)).find(resource:entId) - } - - /** - * Get the children of a resource. - * - * Returns: A collection of AppdefResourceValues - */ - static Collection getChildren(AppdefEntityID entId) { - def ent = new AppdefEntityValue(entId, CategoryInfo.user.valueObject) - - if (entId.isPlatform()) - return ent.getAssociatedServers(PageControl.PAGE_ALL) - else if (entId.isServer()) - return ent.getAssociatedServices(PageControl.PAGE_ALL) - else - throw new IllegalArgumentException("Unknown resource type") - } - - static Collection getChildren(AppdefResourceValue ent) { - getChildren(ent.entityId) - } - -} Deleted: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefLiveDataCategory.groovy =================================================================== --- trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefLiveDataCategory.groovy 2007-05-09 17:39:05 UTC (rev 4389) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefLiveDataCategory.groovy 2007-05-09 18:19:32 UTC (rev 4390) @@ -1,60 +0,0 @@ -package org.hyperic.hq.ui.rendit.metaclass - -import org.hyperic.hq.appdef.shared.PlatformValue -import org.hyperic.hq.appdef.shared.AppdefResourceValue -import org.hyperic.hq.livedata.shared.LiveDataResult -import org.hyperic.hq.ui.rendit.helpers.LiveDataHelper -import org.hyperic.hq.appdef.shared.AppdefEntityID - -import groovy.lang.DelegatingMetaClass - -/** - * This category adds utility methods to appdef types, to interface with - * LiveData. - */ -class AppdefLiveDataCategory { - /** - * AppdefEntityID.liveDataCommands - * See also: LiveDataHelper.getCommands - */ - static String[] getLiveDataCommands(AppdefEntityID ent) { - def ldh = new LiveDataHelper(CategoryInfo.user) - ldh.getCommands(ent) - } - - static String[] getLiveDataCommands(AppdefResourceValue ent) { - getLiveDataCommands(ent.entityId) - } - - /** - * AppdefEntityID.getLiveData(command, ?optionalConfigMap?) - * See also: LiveDataHelper.getData - * - * The optional config map is .. optional, but if specified, must be a - * map of string keys and string values, specifying the configuration to - * pass to the command - */ - static LiveDataResult getLiveData(AppdefEntityID ent, String command, - Object[] args) - { - def ldh = new LiveDataHelper(CategoryInfo.user) - def config - - if (args.length == 0) { - config = [:] - } else if (args.length == 1) { - config = args[0] - } else { - throw new IllegalArgumentException("Too many arguments to " + - "getLiveData()") - } - - ldh.getData(ent, command, config) - } - - static LiveDataResult getLiveData(AppdefResourceValue ent, String command, - Object[] args) - { - getLiveData(ent.entityId, command, args) - } -} Deleted: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefMetricCategory.groovy =================================================================== --- trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefMetricCategory.groovy 2007-05-09 17:39:05 UTC (rev 4389) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/AppdefMetricCategory.groovy 2007-05-09 18:19:32 UTC (rev 4390) @@ -1,22 +0,0 @@ -package org.hyperic.hq.ui.rendit.metaclass - -import org.hyperic.hq.appdef.shared.AppdefResourceValue -import org.hyperic.hq.ui.rendit.helpers.MetricHelper -import org.hyperic.hq.appdef.shared.AppdefEntityID - -/** - * This category adds measurement methods to appdef types - */ -class AppdefMetricCategory { - /** - * AppdefEntityID.enabledMetrics - * See also: MetricHelper.enabledMetrics - */ - static Map getEnabledMetrics(AppdefEntityID id) { - (new MetricHelper(CategoryInfo.user)).getEnabledMetrics(id) - } - - static Map getEnabledMetrics(AppdefResourceValue resource) { - getEnabledMetrics(resource.entityId) - } -} Deleted: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/CategoryInfo.groovy =================================================================== --- trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/CategoryInfo.groovy 2007-05-09 17:39:05 UTC (rev 4389) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/CategoryInfo.groovy 2007-05-09 18:19:32 UTC (rev 4390) @@ -1,16 +0,0 @@ -package org.hyperic.hq.ui.rendit.metaclass - -/** - * This class holds onto data that is used by the categories - */ -class CategoryInfo { - private static final ThreadLocal USER = new ThreadLocal() - - static void setUser(user) { - USER.set(user) - } - - static getUser() { - USER.get() - } -} Added: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/MapCategory.groovy =================================================================== --- trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/MapCategory.groovy (rev 0) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/MapCategory.groovy 2007-05-09 18:19:32 UTC (rev 4390) @@ -0,0 +1,24 @@ +package org.hyperic.hq.ui.rendit.metaclass + +class MapCategory { + /** + * Checks if the value of a key is non-null and an array of size 1 + * + * Useful for dealing with parameter checking in controllers + */ + static boolean hasOne(Map m, String key) { + m.get(key) != null && m.get(key).size() == 1 + } + + /** + * Gets the first element in an array of the value of a key, if it exists. + * + * I.e.: [foo:[1, 2, 3]].getOne('foo') -> 1 + */ + static Object getOne(Map m, String key) { + def res = m.get(key) + if (res != null && res.size() > 0) + return res[0] + return null + } +} Deleted: trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/MetricMetricCategory.groovy =================================================================== --- trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/MetricMetricCategory.groovy 2007-05-09 17:39:05 UTC (rev 4389) +++ trunk/ui_plugins/rendit_sys/org/hyperic/hq/ui/rendit/metaclass/MetricMetricCategory.groovy 2007-05-09 18:19:32 UTC (rev 4390) @@ -1,11 +0,0 @@ -package org.hyperic.hq.ui.rendit.metaclass - -import org.hyperic.hq.product.MetricValue -import org.hyperic.hq.measurement.shared.DerivedMeasurementValue -import org.hyperic.hq.ui.rendit.helpers.MetricHelper - -class MetricMetricCategory { - static MetricValue getLastDataPoint(DerivedMeasurementValue metric) { - (new MetricHelper(CategoryInfo.user)).getLastDataPoint(metric) - } -} Modified: trunk/ui_plugins/scaffold/views/sample/index.gsp =================================================================== --- trunk/ui_plugins/scaffold/views/sample/index.gsp 2007-05-09 17:39:05 UTC (rev 4389) +++ trunk/ui_plugins/scaffold/views/sample/index.gsp 2007-05-09 18:19:32 UTC (rev 4390) @@ -21,4 +21,4 @@ <i><%= pluginInfo.description %></i>) </p> </body> -</html> \ No newline at end of file +</html> |