From: <jt...@hy...> - 2007-03-22 20:29:42
|
Author: jtravis Date: 2007-03-22 12:29:33 -0800 (Thu, 22 Mar 2007) New Revision: 3821 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=3821 Added: trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/ trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/BaseHelper.groovy trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/LiveDataHelper.groovy trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/ResourceHelper.groovy Log: Add helpers for dealing with the backend Added: trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/BaseHelper.groovy =================================================================== --- trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/BaseHelper.groovy (rev 0) +++ trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/BaseHelper.groovy 2007-03-22 20:29:33 UTC (rev 3821) @@ -0,0 +1,17 @@ +package org.hyperic.hq.ui.rendit.helpers + +import org.hyperic.hq.authz.shared.AuthzSubjectValue +import org.hyperic.hq.authz.server.session.AuthzSubject + +abstract class BaseHelper { + private user + private userVal + + BaseHelper(user) { + this.user = user + this.userVal = user.valueObject + } + + protected AuthzSubject getUser() { user } + protected AuthzSubjectValue getUserVal() { userVal } +} \ No newline at end of file Added: trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/LiveDataHelper.groovy =================================================================== --- trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/LiveDataHelper.groovy (rev 0) +++ trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/LiveDataHelper.groovy 2007-03-22 20:29:33 UTC (rev 3821) @@ -0,0 +1,23 @@ +package org.hyperic.hq.ui.rendit.helpers + +import org.hyperic.hq.livedata.server.session.LiveDataManagerEJBImpl +import org.json.JSONArray + +class LiveDataHelper + extends BaseHelper +{ + LiveDataHelper(user) { + super(user) + } + + private getDataMan() { LiveDataManagerEJBImpl.one } + + String[] getCommands(resource) { + dataMan.getCommands(resource.entityId) + } + + JSONArray getData(resource, command) { + new JSONArray(dataMan.getData(resource.entityId, command)) + } +} + Added: trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/ResourceHelper.groovy =================================================================== --- trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/ResourceHelper.groovy (rev 0) +++ trunk/src/org/hyperic/hq/ui/rendit/rendit_sys/org/hyperic/hq/ui/rendit/helpers/ResourceHelper.groovy 2007-03-22 20:29:33 UTC (rev 3821) @@ -0,0 +1,60 @@ +package org.hyperic.hq.ui.rendit.helpers + +import org.hyperic.hq.appdef.shared.AppdefResourceValue +import org.hyperic.hq.appdef.server.session.PlatformManagerEJBImpl + +class ResourceHelper + extends BaseHelper +{ + private final NAME_FINDERS = [ + platform: [ + str: {name -> platMan.getPlatformByName(userVal, name)}, + int: {id -> platMan.getPlatformValueById(userVal, id)}], + platformType: [ + str: {name -> platMan.findPlatformTypeByName(name)}, + int: {id -> platMan.findPlatformTypeValueById(id)}], + ] + + ResourceHelper(user) { + super(user) + } + + private getPlatMan() { PlatformManagerEJBImpl.one } + + /** + * Generic method to find resources. + * + * args: The arguments are a map of options. Currently the only + * options are to find a platform or platformType by name or id. + * + * Examples: + * + * To find a platform by name: + * > find platform:'My Platform' + * + * To find a platform by id: + * > find platform:44123 + */ + AppdefResourceValue find(args) { + def resourceType + for (i in args) { + if (NAME_FINDERS.containsKey(i.key)) { + if (resourceType != null) { + throw new IllegalArgumentException("""Cannot specify more + than one resource type [$resourceType] and + [$i.key]""") + } + resourceType = i.key + } + } + + if (resourceType == null) + throw new IllegalArgumentException(""""No resource type specified. + Must be one of + $NAME_FINDERS.keySet()""") + + def resourceVal = args[resourceType] + def argType = (resourceVal instanceof String) ? 'str' : 'int' + NAME_FINDERS[resourceType][argType].call(resourceVal) + } +} |