From: <cl...@hy...> - 2008-03-31 21:30:35
|
Author: clee Date: 2008-03-31 14:30:30 -0700 (Mon, 31 Mar 2008) New Revision: 8609 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=8609 Modified: branches/HQ_3_2/ui_plugins/mass/app/AutodiscoveryController.groovy Log: Return list of auto-discovered resources in XML in the following format: <autodiscovery> <platforms> <platform name='The-Idea-Men' fqdn='The-Idea-Men' type='MacOSX'> <ips> <ip address='10.211.55.3' mac='00:1C:42:00:00:01' /> <ip address='127.0.0.1' mac='00:00:00:00:00:00' /> </ips> <servers> <server name='The-Idea-Men.local MacOSX NetworkServer' type='NetworkServer' /> <server name='The-Idea-Men.local PostgreSQL 8.2.5' type='PostgreSQL 8.2' /> <server name='The-Idea-Men.local HQ JBoss 4.x' type='JBoss 4.0' /> <server name='The-Idea-Men.local Tomcat 5.5' type='Tomcat 5.5' /> <server name='The-Idea-Men.local MacOSX FileServer' type='FileServer' /> <server name='The-Idea-Men Net Services' type='Net Services' /> <server name='The-Idea-Men.local HQ Agent 3.2.3-EE' type='HQ Agent' /> <server name='The-Idea-Men.local MacOSX ProcessServer' type='ProcessServer' /> </servers> </platform> </platforms> </autodiscovery> Modified: branches/HQ_3_2/ui_plugins/mass/app/AutodiscoveryController.groovy =================================================================== --- branches/HQ_3_2/ui_plugins/mass/app/AutodiscoveryController.groovy 2008-03-31 21:15:13 UTC (rev 8608) +++ branches/HQ_3_2/ui_plugins/mass/app/AutodiscoveryController.groovy 2008-03-31 21:30:30 UTC (rev 8609) @@ -1,8 +1,7 @@ import org.hyperic.hq.hqu.rendit.BaseController import org.hyperic.hq.appdef.shared.AIQueueManagerLocal -import org.hyperic.util.pager.PageList import org.hyperic.util.pager.PageControl -import org.hyperic.hq.appdef.server.session.AIQueueManagerEJBImpl +import org.hyperic.hq.appdef.server.session.AIQueueManagerEJBImpl as AIQMan import org.hyperic.hq.authz.shared.AuthzSubjectManagerLocal import org.hyperic.hq.authz.server.session.AuthzSubjectManagerEJBImpl import org.hyperic.hq.authz.shared.AuthzSubjectValue @@ -15,27 +14,44 @@ AutodiscoveryController() { onlyAllowSuperUsers() + + setXMLMethods(['list']) } - def list(params) { + def list(xmlResult, params) { String fqdn = params.getOne('fqdn') AuthzSubjectManagerLocal subMan = AuthzSubjectManagerEJBImpl.one; - AuthzSubjectValue overlord = subMan.overlord - AIQueueManagerLocal aiMan = AIQueueManagerEJBImpl.one - - PageList list = aiMan.getQueue(overlord, true, true, + def list = AIQMan.one.getQueue(subMan.overlord, true, true, PageControl.PAGE_ALL) List matching = getMatchingPlatforms(list, fqdn) - def res = new StringBuffer() - for (plat in matching) { - res.append(plat.fqdn).append("\n") + xmlResult.autodiscovery { + xmlResult.platforms { + matching.each { plat -> + xmlResult.platform(name: plat.name, + fqdn: plat.fqdn, + type: plat.platformTypeName) { + xmlResult.ips { + plat.aIIpValues.each { ip -> + xmlResult.ip(address: ip.address, + mac: ip.mACAddress) + } + } + xmlResult.servers { + plat.aIServerValues.each { server -> + xmlResult.server(name: server.name, + type: server.serverTypeName) + } + } + } + } + } } - render(inline : res.toString()) + xmlResult } def approve(params) { @@ -45,10 +61,9 @@ AuthzSubjectManagerLocal subMan = AuthzSubjectManagerEJBImpl.one; AuthzSubjectValue overlord = subMan.overlord - AIQueueManagerLocal aiMan = AIQueueManagerEJBImpl.one + AIQueueManagerLocal aiMan = AIQMan.one - PageList list = aiMan.getQueue(overlord, true, true, - PageControl.PAGE_ALL) + def list = aiMan.getQueue(overlord, true, true, PageControl.PAGE_ALL) List matching = getMatchingPlatforms(list, fqdn) |