org.rhq.enterprise.server.cloud
Class AffinityGroupManagerBean

java.lang.Object
  extended by org.rhq.enterprise.server.cloud.AffinityGroupManagerBean
All Implemented Interfaces:
AffinityGroupManagerLocal

public class AffinityGroupManagerBean
extends Object
implements AffinityGroupManagerLocal

Manages CRUD operations for AffinityGroups

Author:
Joseph Marques

Constructor Summary
AffinityGroupManagerBean()
           
 
Method Summary
 void addAgentsToGroup(org.rhq.core.domain.auth.Subject subject, int affinityGroupId, Integer[] agentIds)
           
 void addServersToGroup(org.rhq.core.domain.auth.Subject subject, int affinityGroupId, Integer[] serverIds)
           
 int create(org.rhq.core.domain.auth.Subject subject, org.rhq.core.domain.cloud.AffinityGroup affinityGroup)
           
 int delete(org.rhq.core.domain.auth.Subject subject, Integer[] affinityGroupIds)
           
 int getAffinityGroupCount()
           
 org.rhq.core.domain.util.PageList<org.rhq.core.domain.resource.Agent> getAgentMembers(org.rhq.core.domain.auth.Subject subject, int affinityGroupId, org.rhq.core.domain.util.PageControl pageControl)
           
 org.rhq.core.domain.util.PageList<org.rhq.core.domain.resource.Agent> getAgentNonMembers(org.rhq.core.domain.auth.Subject subject, int affinityGroupId, org.rhq.core.domain.util.PageControl pageControl)
           
 org.rhq.core.domain.cloud.AffinityGroup getById(org.rhq.core.domain.auth.Subject subject, int affinityGroupId)
           
 org.rhq.core.domain.util.PageList<org.rhq.core.domain.cloud.composite.AffinityGroupCountComposite> getComposites(org.rhq.core.domain.auth.Subject subject, org.rhq.core.domain.util.PageControl pageControl)
           
 org.rhq.core.domain.util.PageList<org.rhq.core.domain.cloud.Server> getServerMembers(org.rhq.core.domain.auth.Subject subject, int affinityGroupId, org.rhq.core.domain.util.PageControl pageControl)
           
 org.rhq.core.domain.util.PageList<org.rhq.core.domain.cloud.Server> getServerNonMembers(org.rhq.core.domain.auth.Subject subject, int affinityGroupId, org.rhq.core.domain.util.PageControl pageControl)
           
 void removeAgentsFromGroup(org.rhq.core.domain.auth.Subject subject, Integer[] agentIds)
          This should only be called if the agent is currently assigned to an affinity group and that group is being removed, setting the agent to no affinity.
 void removeServersFromGroup(org.rhq.core.domain.auth.Subject subject, Integer[] serverIds)
          This should only be called if the server is currently assigned to an affinity group and that group is being removed, setting the server to no affinity.
 org.rhq.core.domain.cloud.AffinityGroup update(org.rhq.core.domain.auth.Subject subject, org.rhq.core.domain.cloud.AffinityGroup affinityGroup)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AffinityGroupManagerBean

public AffinityGroupManagerBean()
Method Detail

getById

public org.rhq.core.domain.cloud.AffinityGroup getById(org.rhq.core.domain.auth.Subject subject,
                                                       int affinityGroupId)
Specified by:
getById in interface AffinityGroupManagerLocal

getAgentMembers

public org.rhq.core.domain.util.PageList<org.rhq.core.domain.resource.Agent> getAgentMembers(org.rhq.core.domain.auth.Subject subject,
                                                                                             int affinityGroupId,
                                                                                             org.rhq.core.domain.util.PageControl pageControl)
Specified by:
getAgentMembers in interface AffinityGroupManagerLocal

getAgentNonMembers

public org.rhq.core.domain.util.PageList<org.rhq.core.domain.resource.Agent> getAgentNonMembers(org.rhq.core.domain.auth.Subject subject,
                                                                                                int affinityGroupId,
                                                                                                org.rhq.core.domain.util.PageControl pageControl)
Specified by:
getAgentNonMembers in interface AffinityGroupManagerLocal

getServerMembers

public org.rhq.core.domain.util.PageList<org.rhq.core.domain.cloud.Server> getServerMembers(org.rhq.core.domain.auth.Subject subject,
                                                                                            int affinityGroupId,
                                                                                            org.rhq.core.domain.util.PageControl pageControl)
Specified by:
getServerMembers in interface AffinityGroupManagerLocal

getServerNonMembers

public org.rhq.core.domain.util.PageList<org.rhq.core.domain.cloud.Server> getServerNonMembers(org.rhq.core.domain.auth.Subject subject,
                                                                                               int affinityGroupId,
                                                                                               org.rhq.core.domain.util.PageControl pageControl)
Specified by:
getServerNonMembers in interface AffinityGroupManagerLocal

update

public org.rhq.core.domain.cloud.AffinityGroup update(org.rhq.core.domain.auth.Subject subject,
                                                      org.rhq.core.domain.cloud.AffinityGroup affinityGroup)
                                               throws AffinityGroupException
Specified by:
update in interface AffinityGroupManagerLocal
Throws:
AffinityGroupException

getComposites

public org.rhq.core.domain.util.PageList<org.rhq.core.domain.cloud.composite.AffinityGroupCountComposite> getComposites(org.rhq.core.domain.auth.Subject subject,
                                                                                                                        org.rhq.core.domain.util.PageControl pageControl)
Specified by:
getComposites in interface AffinityGroupManagerLocal

getAffinityGroupCount

public int getAffinityGroupCount()
Specified by:
getAffinityGroupCount in interface AffinityGroupManagerLocal

create

public int create(org.rhq.core.domain.auth.Subject subject,
                  org.rhq.core.domain.cloud.AffinityGroup affinityGroup)
           throws AffinityGroupException
Specified by:
create in interface AffinityGroupManagerLocal
Throws:
AffinityGroupException

delete

public int delete(org.rhq.core.domain.auth.Subject subject,
                  Integer[] affinityGroupIds)
Specified by:
delete in interface AffinityGroupManagerLocal

addAgentsToGroup

public void addAgentsToGroup(org.rhq.core.domain.auth.Subject subject,
                             int affinityGroupId,
                             Integer[] agentIds)
Specified by:
addAgentsToGroup in interface AffinityGroupManagerLocal

removeAgentsFromGroup

public void removeAgentsFromGroup(org.rhq.core.domain.auth.Subject subject,
                                  Integer[] agentIds)
Description copied from interface: AffinityGroupManagerLocal
This should only be called if the agent is currently assigned to an affinity group and that group is being removed, setting the agent to no affinity. Otherwise, unnecessary partition events can be generated.

Specified by:
removeAgentsFromGroup in interface AffinityGroupManagerLocal

addServersToGroup

public void addServersToGroup(org.rhq.core.domain.auth.Subject subject,
                              int affinityGroupId,
                              Integer[] serverIds)
Specified by:
addServersToGroup in interface AffinityGroupManagerLocal

removeServersFromGroup

public void removeServersFromGroup(org.rhq.core.domain.auth.Subject subject,
                                   Integer[] serverIds)
Description copied from interface: AffinityGroupManagerLocal
This should only be called if the server is currently assigned to an affinity group and that group is being removed, setting the server to no affinity. Otherwise, unnecessary partition events can be generated.

Specified by:
removeServersFromGroup in interface AffinityGroupManagerLocal


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