Author: clee Date: 2007-04-06 23:26:36 -0700 (Fri, 06 Apr 2007) New Revision: 4066 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=4066 Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/AppdefResource.java branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/AppdefResourceType.java branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Application.java branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ApplicationType.java branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Platform.java branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/PlatformType.java branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Server.java branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServerType.java branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Service.java branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServiceManagerEJBImpl.java branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServiceType.java branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIPlatform.java branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIServer.java branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIService.java branches/HQ_3_0/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java branches/HQ_3_0/src/org/hyperic/hq/bizapp/shared/uibeans/SingletonDisplaySummary.java branches/HQ_3_0/src/org/hyperic/hq/dao/ServiceDAO.java branches/HQ_3_0/src/org/hyperic/hq/ui/action/resource/platform/monitor/visibility/ListChildrenAction.java Log: Improve platforms indicator view performance by using POJOs in MeasurementBoss [merge from HEAD] Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/AppdefResource.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/AppdefResource.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/AppdefResource.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -27,7 +27,6 @@ import org.hyperic.hq.appdef.AppdefBean; import org.hyperic.hq.appdef.shared.AppdefEntityID; -import org.hyperic.hq.appdef.shared.AppdefEntityConstants; /** * abstract base class for all appdef resources @@ -115,10 +114,11 @@ } } - private AppdefEntityID appdefEntityId; /** * Get the appdefEntityId for this platform * legacy code from EJB entity bean */ public abstract AppdefEntityID getEntityId(); + + public abstract AppdefResourceType getAppdefResourceType(); } Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/AppdefResourceType.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/AppdefResourceType.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/AppdefResourceType.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -25,14 +25,9 @@ package org.hyperic.hq.appdef.server.session; -import java.io.Serializable; - import org.hyperic.hq.appdef.AppdefBean; -import org.hyperic.hq.appdef.shared.AppdefEntityConstants; +import org.hyperic.hq.appdef.shared.AppdefResourceTypeValue; -/** - * - */ public abstract class AppdefResourceType extends AppdefBean { protected String name; @@ -89,4 +84,9 @@ this.description = description; } + /** + * @deprecated use this object instead + * @return the type value object + */ + public abstract AppdefResourceTypeValue getAppdefResourceTypeValue(); } Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Application.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Application.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Application.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -207,4 +207,8 @@ { return (obj instanceof Application) && super.equals(obj); } + + public AppdefResourceType getAppdefResourceType() { + return _applicationType; + } } Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ApplicationType.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ApplicationType.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ApplicationType.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -25,6 +25,7 @@ package org.hyperic.hq.appdef.server.session; +import org.hyperic.hq.appdef.shared.AppdefResourceTypeValue; import org.hyperic.hq.appdef.shared.ApplicationTypeValue; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; @@ -95,4 +96,8 @@ public int getAppdefType() { return AppdefEntityConstants.APPDEF_TYPE_APPLICATION; } + + public AppdefResourceTypeValue getAppdefResourceTypeValue() { + return getApplicationTypeValue(); + } } Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Platform.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Platform.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Platform.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -296,4 +296,8 @@ public boolean equals(Object obj) { return (obj instanceof Platform) && super.equals(obj); } + + public AppdefResourceType getAppdefResourceType() { + return _platformType; + } } Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/PlatformType.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/PlatformType.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/PlatformType.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -36,6 +36,7 @@ import org.hyperic.hq.appdef.ConfigResponseDB; import org.hyperic.hq.appdef.Ip; import org.hyperic.hq.appdef.shared.AIPlatformValue; +import org.hyperic.hq.appdef.shared.AppdefResourceTypeValue; import org.hyperic.hq.appdef.shared.PlatformTypeValue; import org.hyperic.hq.appdef.shared.PlatformValue; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; @@ -232,4 +233,8 @@ public boolean equals(Object obj) { return (obj instanceof PlatformType) && super.equals(obj); } + + public AppdefResourceTypeValue getAppdefResourceTypeValue() { + return getPlatformTypeValue(); + } } Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Server.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Server.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Server.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -338,4 +338,8 @@ return result; } + + public AppdefResourceType getAppdefResourceType() { + return _serverType; + } } Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServerType.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServerType.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServerType.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -25,6 +25,7 @@ package org.hyperic.hq.appdef.server.session; +import org.hyperic.hq.appdef.shared.AppdefResourceTypeValue; import org.hyperic.hq.appdef.shared.ServerTypeValue; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; @@ -105,23 +106,6 @@ return AppdefEntityConstants.APPDEF_TYPE_SERVER; } - /** - * legacy EJB DTO (value object) pattern - * @deprecated use (this) ServerType object instead - */ - public ServerTypeValue getServerTypeValueObject() { - ServerTypeValue vo = new ServerTypeValue(); - vo.setName(getName()); - vo.setSortName(getSortName()); - vo.setDescription(getDescription()); - vo.setPlugin(getPlugin()); - vo.setId(getId()); - vo.setMTime(getMTime()); - vo.setCTime(getCTime()); - vo.setVirtual(isVirtual()); - return vo; - } - private ServerTypeValue _serverTypeValue = new ServerTypeValue(); /** * legacy EJB DTO (value object) pattern @@ -150,4 +134,8 @@ public boolean equals(Object obj) { return (obj instanceof ServerType) && super.equals(obj); } + + public AppdefResourceTypeValue getAppdefResourceTypeValue() { + return getServerTypeValue(); + } } Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Service.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Service.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/Service.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -327,4 +327,8 @@ return result; } + + public AppdefResourceType getAppdefResourceType() { + return _serviceType; + } } Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServiceManagerEJBImpl.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServiceManagerEJBImpl.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServiceManagerEJBImpl.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -895,7 +895,6 @@ /** * Get platform services (children of virtual servers) * @ejb:interface-method - * @ejb:transaction type="Required" */ public PageList getPlatformServices(AuthzSubjectValue subject, Integer platId, @@ -910,7 +909,6 @@ * Get platform services (children of virtual servers) * of a specified type * @ejb:interface-method - * @ejb:transaction type="Required" */ public PageList getPlatformServices(AuthzSubjectValue subject, Integer platId, @@ -920,11 +918,20 @@ ServiceNotFoundException { pc = PageControl.initDefaults(pc, SortAttribute.SERVICE_NAME); Collection allServices = getServiceDAO() - .findPlatformServices_orderName(platId,true,pc.isAscending()); + .findPlatformServices_orderName(platId, pc.isAscending()); return this.filterAndPage(allServices, subject, typeId, pc); } /** + * Get platform service POJOs (children of virtual servers) + * @ejb:interface-method + */ + public Collection getPlatformServices(AuthzSubjectValue subject, + Integer platId) { + return getServiceDAO().findPlatformServices_orderName(platId, true); + } + + /** * Get platform services (children of virtual servers), mapped by type id * of a specified type * @ejb:interface-method @@ -939,7 +946,7 @@ pc = PageControl.initDefaults(pc, SortAttribute.SERVICE_NAME); Collection allServices = getServiceDAO() - .findPlatformServices_orderName(platId,true,pc.isAscending()); + .findPlatformServices_orderName(platId, pc.isAscending()); HashMap retMap = new HashMap(); // Map all services by type ID Modified: branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServiceType.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServiceType.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/appdef/server/session/ServiceType.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -25,6 +25,7 @@ package org.hyperic.hq.appdef.server.session; +import org.hyperic.hq.appdef.shared.AppdefResourceTypeValue; import org.hyperic.hq.appdef.shared.ServiceTypeValue; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; @@ -149,4 +150,8 @@ public boolean equals(Object obj) { return (obj instanceof ServiceType) && super.equals(obj); } + + public AppdefResourceTypeValue getAppdefResourceTypeValue() { + return getServiceTypeValue(); + } } Modified: branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIPlatform.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIPlatform.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIPlatform.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -25,6 +25,7 @@ package org.hyperic.hq.autoinventory; +import org.hyperic.hq.appdef.server.session.AppdefResourceType; import org.hyperic.hq.appdef.server.session.PlatformBase; import org.hyperic.hq.appdef.shared.AIPlatformValue; @@ -346,4 +347,8 @@ { return (obj instanceof AIPlatform) && super.equals(obj); } + + public AppdefResourceType getAppdefResourceType() { + return null; + } } \ No newline at end of file Modified: branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIServer.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIServer.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIServer.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -26,11 +26,9 @@ package org.hyperic.hq.autoinventory; import org.hyperic.hq.appdef.ServerBase; +import org.hyperic.hq.appdef.server.session.AppdefResourceType; import org.hyperic.hq.appdef.shared.AIServerValue; -/** - * - */ public class AIServer extends ServerBase { private AIPlatform aIPlatform; @@ -260,4 +258,8 @@ return result; } + + public AppdefResourceType getAppdefResourceType() { + return null; + } } Modified: branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIService.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIService.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/autoinventory/AIService.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -26,14 +26,12 @@ package org.hyperic.hq.autoinventory; import org.hyperic.hq.appdef.server.session.AppdefResource; +import org.hyperic.hq.appdef.server.session.AppdefResourceType; import org.hyperic.hq.appdef.server.session.Server; import org.hyperic.hq.appdef.shared.AIServiceValue; import org.hyperic.hq.appdef.shared.AppdefEntityID; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; -/** - * Pojo for hibernate hbm mapping file - */ public class AIService extends AppdefResource { private String serviceTypeName; @@ -236,4 +234,8 @@ return result; } + + public AppdefResourceType getAppdefResourceType() { + return null; + } } Modified: branches/HQ_3_0/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -53,6 +53,9 @@ import org.hyperic.hq.agent.AgentConnectionException; import org.hyperic.hq.agent.AgentRemoteException; import org.hyperic.hq.appdef.server.session.AppdefGroupManagerEJBImpl; +import org.hyperic.hq.appdef.server.session.AppdefResource; +import org.hyperic.hq.appdef.server.session.AppdefResourceType; +import org.hyperic.hq.appdef.server.session.ServiceManagerEJBImpl; import org.hyperic.hq.appdef.shared.AgentConnectionUtil; import org.hyperic.hq.appdef.shared.AgentNotFoundException; import org.hyperic.hq.appdef.shared.AppServiceValue; @@ -63,7 +66,6 @@ import org.hyperic.hq.appdef.shared.AppdefEntityTypeID; import org.hyperic.hq.appdef.shared.AppdefEntityValue; import org.hyperic.hq.appdef.shared.AppdefGroupManagerLocal; -import org.hyperic.hq.appdef.shared.AppdefGroupManagerUtil; import org.hyperic.hq.appdef.shared.AppdefGroupValue; import org.hyperic.hq.appdef.shared.AppdefResourceTypeValue; import org.hyperic.hq.appdef.shared.AppdefResourceValue; @@ -73,6 +75,7 @@ import org.hyperic.hq.appdef.shared.InvalidAppdefTypeException; import org.hyperic.hq.appdef.shared.ServerValue; import org.hyperic.hq.appdef.shared.ServiceClusterValue; +import org.hyperic.hq.appdef.shared.ServiceManagerLocal; import org.hyperic.hq.appdef.shared.ServiceValue; import org.hyperic.hq.appdef.shared.VirtualManagerLocal; import org.hyperic.hq.appdef.shared.VirtualManagerUtil; @@ -110,8 +113,8 @@ import org.hyperic.hq.measurement.agent.client.MeasurementCommandsClient; import org.hyperic.hq.measurement.data.DataNotAvailableException; import org.hyperic.hq.measurement.monitor.LiveMeasurementException; +import org.hyperic.hq.measurement.server.session.DerivedMeasurement; import org.hyperic.hq.measurement.server.session.ResourcesWithoutDataHelper; -import org.hyperic.hq.measurement.server.session.DerivedMeasurement; import org.hyperic.hq.measurement.shared.BaselineValue; import org.hyperic.hq.measurement.shared.DerivedMeasurementValue; import org.hyperic.hq.measurement.shared.MeasurementArgValue; @@ -131,7 +134,6 @@ import org.hyperic.util.pager.PageControl; import org.hyperic.util.pager.PageList; import org.hyperic.util.pager.Pager; -import org.hyperic.util.pager.SortAttribute; import org.hyperic.util.timer.StopWatch; /** BizApp interface to the Measurement subsystem @@ -2472,6 +2474,7 @@ /** * @return a List of ResourceTypeDisplaySummary's + * @deprecated use POJO API instead */ private List getSummarizedResourceCurrentHealth(AuthzSubjectValue subject, @@ -2479,12 +2482,12 @@ throws SessionTimeoutException, SessionNotFoundException, AppdefEntityNotFoundException, PermissionException { - + List summaries = new ArrayList(); - + // Create Map of auto-group'd/singleton resources and a List of clusters // since their current health summarizations are not flattened - + // auto-group'd entities are kept track of in here where keys are the // type id's and the values are lists of resources HashMap resTypeMap = new HashMap(); @@ -2513,7 +2516,9 @@ PageControl.PAGE_ALL); AppdefEntityID[] ids = (AppdefEntityID[]) memberIds.toArray(new AppdefEntityID[0]); - setResourceTypeDisplaySummary(subject, cds, agval, ids); + setResourceTypeDisplaySummary(subject, cds, + agval.getAppdefResourceTypeValue(), + ids); summaries.add(cds); } catch (GroupNotCompatibleException e) { log.error("Group not compatible: " + aid); @@ -2556,14 +2561,86 @@ summary.setNumResources(new Integer(ids.length)); } else { // singleton - summary = new SingletonDisplaySummary(); - ((SingletonDisplaySummary)summary).setEntityId(aid); - ((SingletonDisplaySummary)summary).setEntityName(resource.getName()); + summary = new SingletonDisplaySummary(aid, resource.getName()); } - setResourceTypeDisplaySummary(subject, summary, resource, ids); + setResourceTypeDisplaySummary(subject, summary, + resource.getAppdefResourceTypeValue(), + ids); summaries.add(summary); } + + Collections.sort(summaries); + return summaries; + } + /** + * @return a List of ResourceTypeDisplaySummary's + */ + private List getSummarizedResourceCurrentHealth(AuthzSubjectValue subject, + Collection resources) + throws SessionTimeoutException, SessionNotFoundException, + AppdefEntityNotFoundException, PermissionException { + List summaries = new ArrayList(); + + // auto-group'd entities are kept track of in here where keys are the + // type id's and the values are lists of resources + HashMap resTypeMap = new HashMap(); + + // keys are type id's and the values are AppdefResources + for (Iterator it = resources.iterator(); it.hasNext(); ) { + AppdefResource resource = (AppdefResource) it.next(); + AppdefResourceType type = resource.getAppdefResourceType(); + Integer typeId = type.getId(); + List siblings = (List) resTypeMap.get(typeId); + if (siblings == null) { + siblings = new ArrayList(); + resTypeMap.put(typeId, siblings); + } + + // Add resource to list + siblings.add(resource); + } + + // first deal with the autogroubz and singletons (singletons + // are just the degenerative case of an autogroup, why it's + // its own type is... silly) + for (Iterator it = resTypeMap.entrySet().iterator(); it.hasNext();) { + Map.Entry entry = (Map.Entry) it.next(); + Collection siblings = (Collection) entry.getValue(); + // Make sure we have valid IDs + if (siblings == null || siblings.size() == 0) + continue; + + ResourceTypeDisplaySummary summary = null; + + AppdefResourceType type = null; + AppdefEntityID[] ids = new AppdefEntityID[siblings.size()]; + int i = 0; + for (Iterator sibIt = siblings.iterator(); sibIt.hasNext(); i++) { + AppdefResource res = (AppdefResource) sibIt.next(); + ids[i] = res.getEntityId(); + + if (type == null) { + type = res.getAppdefResourceType(); + + if (it.hasNext()) { + // autogroup + summary = new AutogroupDisplaySummary(); + summary.setNumResources(new Integer(siblings.size())); + } + else { + // singleton + summary = new SingletonDisplaySummary(ids[i], + res.getName()); + } + } + } + setResourceTypeDisplaySummary(subject, summary, + type.getAppdefResourceTypeValue(), + ids); + summaries.add(summary); + } + Collections.sort(summaries); return summaries; } @@ -2571,14 +2648,14 @@ private void setResourceTypeDisplaySummary(AuthzSubjectValue subject, ResourceTypeDisplaySummary summary, - AppdefResourceValue resource, + AppdefResourceTypeValue resType, AppdefEntityID[] ids) { // Now get each category of measurements long end = System.currentTimeMillis(); long begin = end - MeasurementConstants.HEALTH_WINDOW_MILLIS; - summary.setResourceType(resource.getAppdefResourceTypeValue()); + summary.setResourceType(resType); StopWatch watch = new StopWatch(end); @@ -2717,19 +2794,15 @@ * @return List a list of ResourceTypeDisplaySummary beans * @ejb:interface-method */ - public List findSummarizedServiceCurrentHealth(int sessionId, - AppdefEntityID entId, - boolean internal) + public List findSummarizedPlatformServiceCurrentHealth(int sessionId, + AppdefEntityID entId) throws SessionTimeoutException, SessionNotFoundException, PermissionException, AppdefEntityNotFoundException { AuthzSubjectValue subject = manager.getSubject(sessionId); - - // Get the associated services - AppdefEntityValue rv = new AppdefEntityValue(entId, subject); - List services= rv.getAssociatedServices(internal); - return getSummarizedResourceCurrentHealth(subject, - (AppdefResourceValue[]) services.toArray( - new AppdefResourceValue[services.size()])); + ServiceManagerLocal svcMgr = ServiceManagerEJBImpl.getOne(); + Collection services = svcMgr.getPlatformServices(subject, + entId.getId()); + return getSummarizedResourceCurrentHealth(subject, services); } /** @@ -2740,13 +2813,9 @@ throws SessionTimeoutException, SessionNotFoundException, PermissionException, AppdefEntityNotFoundException { AuthzSubjectValue subject = manager.getSubject(sessionId); - // Get the associated services AppdefEntityValue rv = new AppdefEntityValue(entId, subject); - PageControl pc = new PageControl(0, PageControl.SIZE_UNLIMITED, - PageControl.SORT_ASC, - SortAttribute.NAME); - List services= rv.getAssociatedServices(pc); + List services= rv.getAssociatedServices(PageControl.PAGE_ALL); return getSummarizedResourceCurrentHealth(subject, (AppdefResourceValue[]) services.toArray( new AppdefResourceValue[services.size()])); Modified: branches/HQ_3_0/src/org/hyperic/hq/bizapp/shared/uibeans/SingletonDisplaySummary.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/bizapp/shared/uibeans/SingletonDisplaySummary.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/bizapp/shared/uibeans/SingletonDisplaySummary.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -44,6 +44,12 @@ setNumResources(new Integer(1)); } + public SingletonDisplaySummary(AppdefEntityID eid, String name) { + this(); + entityId = eid; + entityName = name; + } + public int getSummaryType() { return UIConstants.SUMMARY_TYPE_SINGLETON; } Modified: branches/HQ_3_0/src/org/hyperic/hq/dao/ServiceDAO.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/dao/ServiceDAO.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/dao/ServiceDAO.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -259,30 +259,8 @@ .list(); } - /** - * legacy EJB finder - * @deprecated use finaPlatformServices_orderName(boolean) - * @return - */ - public Collection findPlatformServices_orderName(Integer platId, boolean b) - { - return findPlatformServices_orderName(platId, b, true); - } - - /** - * legacy EJB finder - * @deprecated use finaPlatformServices_orderName(boolean) - * @return - */ - public Collection findPlatformServices_orderName_desc(Integer platId, - boolean b) - { - return findPlatformServices_orderName(platId, b, false); - } - public Collection findPlatformServices_orderName(Integer platId, - boolean b, - boolean asc) + boolean asc) { String sql="select sv from Service sv " + " join fetch sv.server s " + @@ -294,7 +272,7 @@ (asc ? "asc" : "desc"); return getSession().createQuery(sql) .setInteger(0, platId.intValue()) - .setBoolean(1, b) + .setBoolean(1, true) .setCacheRegion("Service.findPlatformServices") .setCacheable(true) .list(); Modified: branches/HQ_3_0/src/org/hyperic/hq/ui/action/resource/platform/monitor/visibility/ListChildrenAction.java =================================================================== --- branches/HQ_3_0/src/org/hyperic/hq/ui/action/resource/platform/monitor/visibility/ListChildrenAction.java 2007-04-07 06:13:41 UTC (rev 4065) +++ branches/HQ_3_0/src/org/hyperic/hq/ui/action/resource/platform/monitor/visibility/ListChildrenAction.java 2007-04-07 06:26:36 UTC (rev 4066) @@ -122,8 +122,8 @@ if (isInternal) { // cheat and treat platform services as internal so as to not // disturb the whackadocious action class hierarchy - return boss.findSummarizedServiceCurrentHealth(sessionId, entityId, - false); + return boss.findSummarizedPlatformServiceCurrentHealth(sessionId, + entityId); } log.trace("getting deployed server healths for resource [" + |