Hyperic HQ Plugin API v. 4.4.0.2

org.hyperic.hq.appdef.server.session
Class ConfigManagerEJBImpl

java.lang.Object
  extended by org.hyperic.hq.appdef.server.session.AppdefSessionUtil
      extended by org.hyperic.hq.appdef.server.session.AppdefSessionEJB
          extended by org.hyperic.hq.appdef.server.session.ConfigManagerEJBImpl
All Implemented Interfaces:
java.io.Serializable, javax.ejb.EnterpriseBean, javax.ejb.SessionBean

public class ConfigManagerEJBImpl
extends AppdefSessionEJB
implements javax.ejb.SessionBean

See Also:
Serialized Form

Field Summary
protected  org.apache.commons.logging.Log log
           
 
Fields inherited from class org.hyperic.hq.appdef.server.session.AppdefSessionEJB
_ctx, _ic
 
Constructor Summary
ConfigManagerEJBImpl()
           
 
Method Summary
 void clearValidationError(AuthzSubject subject, AppdefEntityID id)
          Clear the validation error string for a config response, indicating that the current config is valid
 boolean configureResponse(AuthzSubject subject, ConfigResponseDB existingConfig, AppdefEntityID appdefID, byte[] productConfig, byte[] measurementConfig, byte[] controlConfig, byte[] rtConfig, java.lang.Boolean userManaged, boolean force)
           
 ConfigResponseDB createConfigResponse(byte[] productResponse, byte[] measResponse, byte[] controlResponse, byte[] rtResponse)
           
 void ejbActivate()
           
 void ejbCreate()
           
 void ejbPassivate()
           
 void ejbRemove()
           
 ConfigResponseDB getConfigResponse(AppdefEntityID id)
          Get the ConfigResponse for the given ID, creating it if it does not already exist.
 ConfigResponse getMergedConfigResponse(AuthzSubject subject, java.lang.String productType, AppdefEntityID id, boolean required)
          Get a config response object merged through the hierarchy.
static org.hyperic.hq.appdef.shared.ConfigManagerLocal getOne()
           
 java.lang.String getPluginName(AppdefEntityID id)
           
 AppdefEntityID setConfigResponse(AuthzSubject subject, AppdefEntityID id, ConfigResponse response, java.lang.String type, boolean sendConfigEvent)
          Set the config response for an entity/type combination.
 void setValidationError(AuthzSubject subject, AppdefEntityID id, java.lang.String validationError)
          Update the validation error string for a config response
 void updateAppdefEntities(java.lang.String pluginName, TypeInfo[] entities)
          Update the appdef entities based on TypeInfo
 
Methods inherited from class org.hyperic.hq.appdef.server.session.AppdefSessionEJB
changeOwner, checkAIScanPermission, checkAlertingPermission, checkAlertingScope, checkControlPermission, checkCreateChildPermission, checkCreatePlatformPermission, checkModifyPermission, checkMonitorPermission, checkPermission, checkPermission, checkRemovePermission, checkViewPermission, createAuthzResource, createAuthzResource, deleteCustomProperties, filterResourceTypes, filterViewableServers, getApplicationPrototypeResourceType, getApplicationResourceType, getAuthzResourceType, getGroupResourceType, getInitialContext, getOperationByName, getOverlord, getPlatformPrototypeResourceType, getPlatformResourceType, getResourcePermissions, getResourceType, getRootResourceType, getServerPrototypeResourceType, getServerResourceType, getServiceCluster, getServicePrototypeResourceType, getServiceResourceType, getSessionContext, getViewableApplications, getViewableGroups, getViewablePlatformPKs, getViewablePlatforms, getViewableServers, getViewableServiceInventory, getViewableServices, removeAuthzResource, rollback, setSessionContext
 
Methods inherited from class org.hyperic.hq.appdef.server.session.AppdefSessionUtil
findResourceType, findResourceType, getAgentDAO, getAIQManagerLocal, getApplicationDAO, getApplicationManager, getConfigManager, getConfigResponseDAO, getCPropManager, getPlatformDAO, getPlatformManager, getPlatformTypeDAO, getResourceManager, getServerDAO, getServerManager, getServerTypeDAO, getServiceDAO, getServiceManager, getServiceTypeDAO
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.ejb.SessionBean
setSessionContext
 

Field Detail

log

protected org.apache.commons.logging.Log log
Constructor Detail

ConfigManagerEJBImpl

public ConfigManagerEJBImpl()
Method Detail

createConfigResponse

public ConfigResponseDB createConfigResponse(byte[] productResponse,
                                             byte[] measResponse,
                                             byte[] controlResponse,
                                             byte[] rtResponse)

getConfigResponse

public ConfigResponseDB getConfigResponse(AppdefEntityID id)
Get the ConfigResponse for the given ID, creating it if it does not already exist.


getPluginName

public java.lang.String getPluginName(AppdefEntityID id)
                               throws AppdefEntityNotFoundException
Throws:
AppdefEntityNotFoundException

getMergedConfigResponse

public ConfigResponse getMergedConfigResponse(AuthzSubject subject,
                                              java.lang.String productType,
                                              AppdefEntityID id,
                                              boolean required)
                                       throws AppdefEntityNotFoundException,
                                              ConfigFetchException,
                                              EncodingException,
                                              PermissionException
Get a config response object merged through the hierarchy. All entities are merged with the product's config response, and any entity lower than them in the config stack. Config responses defining a specific attribute will override the same attribute if it was declared lower in the application stack. Only entities within the same plugin will be processed, so the most likely situation is a simple service + server + product or server + product merge. Example: Get the SERVICE MEASUREMENT merged response: PRODUCT[platform] + MEASUREMENT[platform] PRODUCT[server] + MEASUREMENT[server] + PRODUCT[service] + MEASUREMENT[service] Get the SERVER PRODUCT merged response: PRODUCT[platform] PRODUCT[server] Get the PLATFORM PRODUCT merged response: PRODUCT[platform] In addition to the configuration, some inventory properties are also merged in to aid in auto-configuration done by autoinventory. For Servers and Services: The install path of the server is included For all Resources: The first non-loopback ip address, fqdn, platform name and type.

Parameters:
productType - One of ProductPlugin.*
id - An AppdefEntityID of the object to get config for
Returns:
the merged ConfigResponse
Throws:
AppdefEntityNotFoundException
ConfigFetchException
EncodingException
PermissionException

clearValidationError

public void clearValidationError(AuthzSubject subject,
                                 AppdefEntityID id)
Clear the validation error string for a config response, indicating that the current config is valid


setValidationError

public void setValidationError(AuthzSubject subject,
                               AppdefEntityID id,
                               java.lang.String validationError)
Update the validation error string for a config response

Parameters:
validationError - The error string that occured during validation. If this is null, that means that no error occurred and the config is valid.

setConfigResponse

public AppdefEntityID setConfigResponse(AuthzSubject subject,
                                        AppdefEntityID id,
                                        ConfigResponse response,
                                        java.lang.String type,
                                        boolean sendConfigEvent)
                                 throws ConfigFetchException,
                                        AppdefEntityNotFoundException,
                                        PermissionException,
                                        EncodingException,
                                        javax.ejb.FinderException
Set the config response for an entity/type combination.

Parameters:
id - ID of the object to set the repsonse fo
response - The response
type - One of ProductPlugin.TYPE_*
Returns:
an array of entities which may be affected by the change in configuration. For updates to platform and service configs, there are no other entities other than the given ID returned. If a server is updated, the associated services may require changes. The passed entity will always be returned in the array.
Throws:
ConfigFetchException
AppdefEntityNotFoundException
PermissionException
EncodingException
javax.ejb.FinderException

configureResponse

public boolean configureResponse(AuthzSubject subject,
                                 ConfigResponseDB existingConfig,
                                 AppdefEntityID appdefID,
                                 byte[] productConfig,
                                 byte[] measurementConfig,
                                 byte[] controlConfig,
                                 byte[] rtConfig,
                                 java.lang.Boolean userManaged,
                                 boolean force)

updateAppdefEntities

public void updateAppdefEntities(java.lang.String pluginName,
                                 TypeInfo[] entities)
                          throws javax.ejb.FinderException,
                                 javax.ejb.RemoveException,
                                 javax.ejb.CreateException,
                                 VetoException
Update the appdef entities based on TypeInfo

Throws:
javax.ejb.FinderException
javax.ejb.RemoveException
javax.ejb.CreateException
VetoException

getOne

public static org.hyperic.hq.appdef.shared.ConfigManagerLocal getOne()

ejbCreate

public void ejbCreate()
               throws javax.ejb.CreateException
Throws:
javax.ejb.CreateException

ejbRemove

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

ejbActivate

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

ejbPassivate

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

Hyperic HQ Plugin API v. 4.4.0.2

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