org.rhq.enterprise.server.resource.group
Class ResourceGroupManagerBean

java.lang.Object
  extended by org.rhq.enterprise.server.resource.group.ResourceGroupManagerBean
All Implemented Interfaces:
ResourceGroupManagerLocal, ResourceGroupManagerRemote

public class ResourceGroupManagerBean
extends java.lang.Object
implements ResourceGroupManagerLocal, ResourceGroupManagerRemote

A manager that provides methods for creating, updating, deleting, and querying ResourceGroups.

Author:
Ian Springer, Joseph Marques

Constructor Summary
ResourceGroupManagerBean()
           
 
Method Summary
 void addResourcesToGroup(Subject subject, int groupId, int[] resourceIds)
           
 ResourceGroup createResourceGroup(Subject user, ResourceGroup group)
           
 void deleteResourceGroup(Subject subject, int groupId)
           
 void enableRecursivityForGroup(Subject subject, int groupId)
           
 void ensureMembershipMatches(Subject subject, int groupId, int[] resourceIds)
           
 PageList<ResourceGroup> findAvailableResourceGroupsForRole(Subject subject, int roleId, int[] excludeIds, PageControl pageControl)
           
 int[] findDefinitionsForAutoGroup(Subject subject, int autoGroupParentResourceId, int autoGroupChildResourceTypeId, boolean displayTypeSummaryOnly)
          Get the MeasurementDefinitions for the passed autogroup
 int[] findDefinitionsForCompatibleGroup(Subject subject, int groupId, boolean displayTypeSummaryOnly)
          Return the MeasurementDefinitions for the passed comatible group
 java.util.List<java.lang.Integer> findDeletedResourceGroupIds(int[] possibleGroupIds)
           
 PageList<ResourceGroup> findResourceGroupByIds(Subject subject, int[] resourceGroupIds, PageControl pageControl)
           
 PageList<ResourceGroupComposite> findResourceGroupComposites(Subject subject, GroupCategory groupCategory, ResourceCategory resourceCategory, java.lang.String resourceTypeName, java.lang.String pluginName, java.lang.String nameFilter, java.lang.Integer resourceId, java.lang.Integer groupId, PageControl pc)
           
 PageList<ResourceGroup> findResourceGroupsByCriteria(Subject subject, ResourceGroupCriteria criteria)
           
 PageList<ResourceGroup> findResourceGroupsForRole(Subject subject, int roleId, PageControl pc)
           
 java.util.List<Resource> findResourcesForAutoGroup(Subject subject, int autoGroupParentResourceId, int autoGroupChildResourceTypeId)
           
 java.util.List<Resource> findResourcesForResourceGroup(Subject subject, int groupId, GroupCategory category)
           
 ResourceGroup getByGroupDefinitionAndGroupByClause(int groupDefinitionId, java.lang.String groupByClause)
           
 int getImplicitGroupMemberCount(int resourceGroupId)
           
 ResourceGroup getResourceGroup(Subject subject, int groupId)
           
 ResourceGroup getResourceGroupById(Subject user, int id, GroupCategory category)
           
 ResourceGroupComposite getResourceGroupComposite(Subject subject, int groupId)
           
 int getResourceGroupCountByCategory(Subject subject, GroupCategory category)
           
 void init()
           
 void removeAllResourcesFromGroup(Subject subject, int groupId)
           
 void removeResourcesFromGroup(Subject subject, int groupId, int[] resourceIds)
           
 void setRecursive(Subject subject, int groupId, boolean isRecursive)
           
 void setResourceType(int resourceGroupId)
           
 void updateImplicitGroupMembership(Subject subject, Resource resource)
           
 ResourceGroup updateResourceGroup(Subject subject, ResourceGroup group)
           
 ResourceGroup updateResourceGroup(Subject user, ResourceGroup group, RecursivityChangeType changeType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResourceGroupManagerBean

public ResourceGroupManagerBean()
Method Detail

init

@PostConstruct
public void init()

createResourceGroup

public ResourceGroup createResourceGroup(Subject user,
                                         ResourceGroup group)
Specified by:
createResourceGroup in interface ResourceGroupManagerLocal
Specified by:
createResourceGroup in interface ResourceGroupManagerRemote

updateResourceGroup

public ResourceGroup updateResourceGroup(Subject user,
                                         ResourceGroup group,
                                         RecursivityChangeType changeType)
                                  throws ResourceGroupUpdateException
Specified by:
updateResourceGroup in interface ResourceGroupManagerLocal
Throws:
ResourceGroupUpdateException

deleteResourceGroup

public void deleteResourceGroup(Subject subject,
                                int groupId)
                         throws ResourceGroupNotFoundException,
                                ResourceGroupDeleteException
Specified by:
deleteResourceGroup in interface ResourceGroupManagerLocal
Specified by:
deleteResourceGroup in interface ResourceGroupManagerRemote
Throws:
ResourceGroupNotFoundException
ResourceGroupDeleteException

getResourceGroupById

public ResourceGroup getResourceGroupById(Subject user,
                                          int id,
                                          GroupCategory category)
                                   throws ResourceGroupNotFoundException
Specified by:
getResourceGroupById in interface ResourceGroupManagerLocal
Throws:
ResourceGroupNotFoundException

getResourceGroupCountByCategory

public int getResourceGroupCountByCategory(Subject subject,
                                           GroupCategory category)
Specified by:
getResourceGroupCountByCategory in interface ResourceGroupManagerLocal

enableRecursivityForGroup

public void enableRecursivityForGroup(Subject subject,
                                      int groupId)
                               throws ResourceGroupNotFoundException,
                                      ResourceGroupUpdateException
Specified by:
enableRecursivityForGroup in interface ResourceGroupManagerLocal
Throws:
ResourceGroupNotFoundException
ResourceGroupUpdateException

addResourcesToGroup

public void addResourcesToGroup(Subject subject,
                                int groupId,
                                int[] resourceIds)
Specified by:
addResourcesToGroup in interface ResourceGroupManagerLocal
Specified by:
addResourcesToGroup in interface ResourceGroupManagerRemote

removeResourcesFromGroup

public void removeResourcesFromGroup(Subject subject,
                                     int groupId,
                                     int[] resourceIds)
Specified by:
removeResourcesFromGroup in interface ResourceGroupManagerLocal
Specified by:
removeResourcesFromGroup in interface ResourceGroupManagerRemote

removeAllResourcesFromGroup

public void removeAllResourcesFromGroup(Subject subject,
                                        int groupId)
                                 throws ResourceGroupDeleteException
Specified by:
removeAllResourcesFromGroup in interface ResourceGroupManagerLocal
Throws:
ResourceGroupDeleteException

findAvailableResourceGroupsForRole

public PageList<ResourceGroup> findAvailableResourceGroupsForRole(Subject subject,
                                                                  int roleId,
                                                                  int[] excludeIds,
                                                                  PageControl pageControl)
Specified by:
findAvailableResourceGroupsForRole in interface ResourceGroupManagerLocal

findResourceGroupByIds

public PageList<ResourceGroup> findResourceGroupByIds(Subject subject,
                                                      int[] resourceGroupIds,
                                                      PageControl pageControl)
Specified by:
findResourceGroupByIds in interface ResourceGroupManagerLocal

updateImplicitGroupMembership

public void updateImplicitGroupMembership(Subject subject,
                                          Resource resource)
Specified by:
updateImplicitGroupMembership in interface ResourceGroupManagerLocal

findResourcesForAutoGroup

public java.util.List<Resource> findResourcesForAutoGroup(Subject subject,
                                                          int autoGroupParentResourceId,
                                                          int autoGroupChildResourceTypeId)
Specified by:
findResourcesForAutoGroup in interface ResourceGroupManagerLocal

findResourcesForResourceGroup

public java.util.List<Resource> findResourcesForResourceGroup(Subject subject,
                                                              int groupId,
                                                              GroupCategory category)
Specified by:
findResourcesForResourceGroup in interface ResourceGroupManagerLocal

findDefinitionsForAutoGroup

public int[] findDefinitionsForAutoGroup(Subject subject,
                                         int autoGroupParentResourceId,
                                         int autoGroupChildResourceTypeId,
                                         boolean displayTypeSummaryOnly)
Description copied from interface: ResourceGroupManagerLocal
Get the MeasurementDefinitions for the passed autogroup

Specified by:
findDefinitionsForAutoGroup in interface ResourceGroupManagerLocal
Parameters:
subject - Subject of the calling user
autoGroupParentResourceId - id of the parent resource
autoGroupChildResourceTypeId - Id of the ResourceType of the children
displayTypeSummaryOnly - TODO
Returns:
a set of Definitions which is empty for an invalid autoGroupChildResourceType

findDefinitionsForCompatibleGroup

public int[] findDefinitionsForCompatibleGroup(Subject subject,
                                               int groupId,
                                               boolean displayTypeSummaryOnly)
Description copied from interface: ResourceGroupManagerLocal
Return the MeasurementDefinitions for the passed comatible group

Specified by:
findDefinitionsForCompatibleGroup in interface ResourceGroupManagerLocal
Parameters:
subject - Subject of the calling user
groupId - id of the group
displayTypeSummaryOnly - TODO
Returns:
a set of Definitions, which is empty for an invalid groupId

getByGroupDefinitionAndGroupByClause

public ResourceGroup getByGroupDefinitionAndGroupByClause(int groupDefinitionId,
                                                          java.lang.String groupByClause)
Specified by:
getByGroupDefinitionAndGroupByClause in interface ResourceGroupManagerLocal

setResourceType

public void setResourceType(int resourceGroupId)
Specified by:
setResourceType in interface ResourceGroupManagerLocal

getImplicitGroupMemberCount

public int getImplicitGroupMemberCount(int resourceGroupId)
Specified by:
getImplicitGroupMemberCount in interface ResourceGroupManagerLocal

findResourceGroupComposites

public PageList<ResourceGroupComposite> findResourceGroupComposites(Subject subject,
                                                                    GroupCategory groupCategory,
                                                                    ResourceCategory resourceCategory,
                                                                    java.lang.String resourceTypeName,
                                                                    java.lang.String pluginName,
                                                                    java.lang.String nameFilter,
                                                                    java.lang.Integer resourceId,
                                                                    java.lang.Integer groupId,
                                                                    PageControl pc)
Specified by:
findResourceGroupComposites in interface ResourceGroupManagerLocal

findDeletedResourceGroupIds

public java.util.List<java.lang.Integer> findDeletedResourceGroupIds(int[] possibleGroupIds)
Specified by:
findDeletedResourceGroupIds in interface ResourceGroupManagerLocal

ensureMembershipMatches

public void ensureMembershipMatches(Subject subject,
                                    int groupId,
                                    int[] resourceIds)
Specified by:
ensureMembershipMatches in interface ResourceGroupManagerLocal

getResourceGroup

public ResourceGroup getResourceGroup(Subject subject,
                                      int groupId)
Specified by:
getResourceGroup in interface ResourceGroupManagerLocal
Specified by:
getResourceGroup in interface ResourceGroupManagerRemote

getResourceGroupComposite

public ResourceGroupComposite getResourceGroupComposite(Subject subject,
                                                        int groupId)
Specified by:
getResourceGroupComposite in interface ResourceGroupManagerLocal
Specified by:
getResourceGroupComposite in interface ResourceGroupManagerRemote

findResourceGroupsForRole

public PageList<ResourceGroup> findResourceGroupsForRole(Subject subject,
                                                         int roleId,
                                                         PageControl pc)
Specified by:
findResourceGroupsForRole in interface ResourceGroupManagerLocal
Specified by:
findResourceGroupsForRole in interface ResourceGroupManagerRemote

setRecursive

public void setRecursive(Subject subject,
                         int groupId,
                         boolean isRecursive)
Specified by:
setRecursive in interface ResourceGroupManagerLocal
Specified by:
setRecursive in interface ResourceGroupManagerRemote

updateResourceGroup

public ResourceGroup updateResourceGroup(Subject subject,
                                         ResourceGroup group)
                                  throws ResourceGroupUpdateException
Specified by:
updateResourceGroup in interface ResourceGroupManagerLocal
Specified by:
updateResourceGroup in interface ResourceGroupManagerRemote
Throws:
ResourceGroupUpdateException

findResourceGroupsByCriteria

public PageList<ResourceGroup> findResourceGroupsByCriteria(Subject subject,
                                                            ResourceGroupCriteria criteria)
Specified by:
findResourceGroupsByCriteria in interface ResourceGroupManagerLocal
Specified by:
findResourceGroupsByCriteria in interface ResourceGroupManagerRemote


Copyright © 2008-2009 Red Hat, Inc.. All Rights Reserved.