Hyperic HQ Plugin API v. 4.4.0.2

org.hyperic.hq.control.server.session
Class ControlManagerEJBImpl

java.lang.Object
  extended by org.hyperic.hq.control.server.session.ControlManagerEJBImpl
All Implemented Interfaces:
java.io.Serializable, javax.ejb.EnterpriseBean, javax.ejb.SessionBean

public class ControlManagerEJBImpl
extends java.lang.Object
implements javax.ejb.SessionBean

The server-side control system.

See Also:
Serialized Form

Constructor Summary
ControlManagerEJBImpl()
           
 
Method Summary
 java.util.List batchCheckControlPermissions(AuthzSubject caller, AppdefEntityID[] entities)
          Accept an array of appdef entity Ids and verify control permission on each entity for specified subject.
 void checkControlEnabled(AuthzSubject subject, AppdefEntityID id)
          Check if an entity has been enabled for control
protected  void checkControlPermission(AuthzSubject caller, AppdefEntityID id)
          Check control permission for an appdef entity
protected  void checkModifyPermission(AuthzSubject caller, AppdefEntityID id)
          Check control modify permission for an appdef entity Control Modify ops are treated as regular modify operations
 void configureControlPlugin(AuthzSubject subject, AppdefEntityID id)
          Enable an entity for control
 void doAction(AuthzSubject subject, AppdefEntityID id, java.lang.String action)
          Execute a single control action on a given entity.
 void doAction(AuthzSubject subject, AppdefEntityID id, java.lang.String action, ScheduleValue schedule)
          Schedule a new control action.
 void doAction(AuthzSubject subject, AppdefEntityID id, java.lang.String action, java.lang.String args)
          Execute a single control action on a given entity.
protected  java.util.List doBatchCheckControlPermissions(AuthzSubject caller, AppdefEntityID[] entities)
           
 void doGroupAction(AuthzSubject subject, AppdefEntityID id, java.lang.String action, int[] order, ScheduleValue schedule)
          Schedule a single control action for a group of given entities.
 void doGroupAction(AuthzSubject subject, AppdefEntityID id, java.lang.String action, java.lang.String args, int[] order)
          Single control action for a group of given entities.
 void ejbActivate()
           
 void ejbCreate()
           
 void ejbPassivate()
           
 void ejbPostCreate()
           
 void ejbRemove()
           
 java.util.List getActions(AuthzSubject subject, AppdefEntityID id)
          Get the supported actions for an appdef entity from the local ControlPluginManager
 java.util.List getActions(AuthzSubject subject, AppdefEntityTypeID aetid)
          Get the supported actions for an appdef entity from the local ControlPluginManager
 ConfigResponse getConfigResponse(AuthzSubject subject, AppdefEntityID id)
          Get the control config response
static org.hyperic.hq.control.shared.ControlManagerLocal getOne()
           
 byte[] getPluginConfiguration(java.lang.String pluginName, boolean merge)
          Send an agent a plugin configuration.
 boolean isControlEnabled(AuthzSubject subject, AppdefEntityID id)
          Check if a an entity has been enabled for control.
 boolean isControlSupported(AuthzSubject subject, AppdefEntityID id, java.lang.String resType)
          Checks with the plugin manager to find out if an entity's resource provides support for control.
 boolean isControlSupported(AuthzSubject subject, java.lang.String resType)
          Checks with the plugin manager to find out if an entity's resource provides support for control.
 boolean isGroupControlEnabled(AuthzSubject subject, AppdefEntityID id)
          Check if a compatible group's members have been enabled for control.
 void sendCommandResult(int id, int result, long startTime, long endTime, java.lang.String message)
          Receive status information about a previous control action
 void setSessionContext(javax.ejb.SessionContext ctx)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ControlManagerEJBImpl

public ControlManagerEJBImpl()
Method Detail

ejbCreate

public void ejbCreate()

ejbPostCreate

public void ejbPostCreate()

ejbActivate

public void ejbActivate()
Specified by:
ejbActivate in interface javax.ejb.SessionBean

ejbPassivate

public void ejbPassivate()
Specified by:
ejbPassivate in interface javax.ejb.SessionBean

ejbRemove

public void ejbRemove()
Specified by:
ejbRemove in interface javax.ejb.SessionBean

setSessionContext

public void setSessionContext(javax.ejb.SessionContext ctx)
Specified by:
setSessionContext in interface javax.ejb.SessionBean

configureControlPlugin

public void configureControlPlugin(AuthzSubject subject,
                                   AppdefEntityID id)
                            throws PermissionException,
                                   PluginException,
                                   ConfigFetchException,
                                   AppdefEntityNotFoundException,
                                   AgentNotFoundException
Enable an entity for control

Throws:
PermissionException
PluginException
ConfigFetchException
AppdefEntityNotFoundException
AgentNotFoundException

doAction

public void doAction(AuthzSubject subject,
                     AppdefEntityID id,
                     java.lang.String action,
                     java.lang.String args)
              throws PluginException,
                     PermissionException
Execute a single control action on a given entity.

Throws:
PluginException
PermissionException

doAction

public void doAction(AuthzSubject subject,
                     AppdefEntityID id,
                     java.lang.String action)
              throws PluginException,
                     PermissionException
Execute a single control action on a given entity.

Throws:
PluginException
PermissionException

doAction

public void doAction(AuthzSubject subject,
                     AppdefEntityID id,
                     java.lang.String action,
                     ScheduleValue schedule)
              throws PluginException,
                     PermissionException,
                     org.quartz.SchedulerException
Schedule a new control action.

Throws:
PluginException
PermissionException
org.quartz.SchedulerException

doGroupAction

public void doGroupAction(AuthzSubject subject,
                          AppdefEntityID id,
                          java.lang.String action,
                          java.lang.String args,
                          int[] order)
                   throws PluginException,
                          PermissionException,
                          AppdefEntityNotFoundException,
                          GroupNotCompatibleException
Single control action for a group of given entities.

Throws:
PluginException
PermissionException
AppdefEntityNotFoundException
GroupNotCompatibleException

doGroupAction

public void doGroupAction(AuthzSubject subject,
                          AppdefEntityID id,
                          java.lang.String action,
                          int[] order,
                          ScheduleValue schedule)
                   throws PluginException,
                          PermissionException,
                          org.quartz.SchedulerException,
                          GroupNotCompatibleException,
                          AppdefEntityNotFoundException
Schedule a single control action for a group of given entities.

Throws:
org.quartz.SchedulerException
PluginException
PermissionException
GroupNotCompatibleException
AppdefEntityNotFoundException

getActions

public java.util.List getActions(AuthzSubject subject,
                                 AppdefEntityID id)
                          throws PermissionException,
                                 PluginNotFoundException,
                                 AppdefEntityNotFoundException,
                                 GroupNotCompatibleException
Get the supported actions for an appdef entity from the local ControlPluginManager

Throws:
PermissionException
PluginNotFoundException
AppdefEntityNotFoundException
GroupNotCompatibleException

getActions

public java.util.List getActions(AuthzSubject subject,
                                 AppdefEntityTypeID aetid)
                          throws PluginNotFoundException
Get the supported actions for an appdef entity from the local ControlPluginManager

Throws:
PluginNotFoundException

isGroupControlEnabled

public boolean isGroupControlEnabled(AuthzSubject subject,
                                     AppdefEntityID id)
                              throws AppdefEntityNotFoundException,
                                     PermissionException
Check if a compatible group's members have been enabled for control. A group is enabled for control if and only if all of its members have been enabled for control.

Returns:
flag - true if group is enabled
Throws:
AppdefEntityNotFoundException
PermissionException

isControlSupported

public boolean isControlSupported(AuthzSubject subject,
                                  java.lang.String resType)
Checks with the plugin manager to find out if an entity's resource provides support for control.

Parameters:
resType - - appdef entity (of all kinds inc. groups)
Returns:
flag - true if supported

isControlSupported

public boolean isControlSupported(AuthzSubject subject,
                                  AppdefEntityID id,
                                  java.lang.String resType)
Checks with the plugin manager to find out if an entity's resource provides support for control.

Parameters:
resType - - appdef entity (of all kinds inc. groups)
Returns:
flag - true if supported

isControlEnabled

public boolean isControlEnabled(AuthzSubject subject,
                                AppdefEntityID id)
Check if a an entity has been enabled for control.

Returns:
flag - true if enabled

checkControlEnabled

public void checkControlEnabled(AuthzSubject subject,
                                AppdefEntityID id)
                         throws PluginException
Check if an entity has been enabled for control

Throws:
PluginException

getConfigResponse

public ConfigResponse getConfigResponse(AuthzSubject subject,
                                        AppdefEntityID id)
                                 throws PluginException
Get the control config response

Throws:
PluginException

getPluginConfiguration

public byte[] getPluginConfiguration(java.lang.String pluginName,
                                     boolean merge)
                              throws PluginException
Send an agent a plugin configuration. This is needed when agents restart, since they do not persist control plugin configuration.

Parameters:
pluginName - Name of the plugin to get the config for
merge - If true, merge the product and control config data
Throws:
PluginException

sendCommandResult

public void sendCommandResult(int id,
                              int result,
                              long startTime,
                              long endTime,
                              java.lang.String message)
Receive status information about a previous control action


batchCheckControlPermissions

public java.util.List batchCheckControlPermissions(AuthzSubject caller,
                                                   AppdefEntityID[] entities)
                                            throws AppdefEntityNotFoundException,
                                                   PermissionException
Accept an array of appdef entity Ids and verify control permission on each entity for specified subject. Return only the set of entities that have authorization.

Returns:
List of entities subject is authz to control NOTE: Returns an empty list when no resources are found.
Throws:
AppdefEntityNotFoundException
PermissionException

doBatchCheckControlPermissions

protected java.util.List doBatchCheckControlPermissions(AuthzSubject caller,
                                                        AppdefEntityID[] entities)
                                                 throws AppdefEntityNotFoundException,
                                                        PermissionException
Throws:
AppdefEntityNotFoundException
PermissionException

checkModifyPermission

protected void checkModifyPermission(AuthzSubject caller,
                                     AppdefEntityID id)
                              throws PermissionException
Check control modify permission for an appdef entity Control Modify ops are treated as regular modify operations

Throws:
PermissionException

checkControlPermission

protected void checkControlPermission(AuthzSubject caller,
                                      AppdefEntityID id)
                               throws PermissionException
Check control permission for an appdef entity

Throws:
PermissionException

getOne

public static org.hyperic.hq.control.shared.ControlManagerLocal getOne()

Hyperic HQ Plugin API v. 4.4.0.2

Copyright © 2004-2006 Hyperic, Inc. support@hyperic.net, All Rights Reserved.