com.ibm.websphere.management.configservice
Class ConfigServiceProxy
- java.lang.Object
com.ibm.websphere.management.configservice.ConfigServiceProxy
All implemented interfaces:
- public class ConfigServiceProxy
- extends java.lang.Object
- implements ConfigService
ConfigService
MBean in the server.
As config service is implemented as a MBean in the server, all the method calls on the MBean have to go through
invoke
method which is cumbersome and error prone.
This the a helper class to allow user using remote config service component more easily.
Constructor Summary
Constructor and Description |
---|
ConfigServiceProxy(AdminClient adminClient)
Constructor a proxy object.
|
Method Summary
Modifier and Type | Method and Description |
---|---|
|
addElement(Session inSession,javax.management.ObjectName configData,java.lang.String attribute,java.lang.Object element,int position)
|
|
createConfigData(Session inSession,javax.management.ObjectName parent,java.lang.String attributeName,java.lang.String type,javax.management.AttributeList attrList)
|
|
createConfigDataByTemplate(Session inSession,javax.management.ObjectName parent,java.lang.String attributeName,javax.management.AttributeList attrList,javax.management.ObjectName template)
|
|
deleteConfigData(Session inSession,javax.management.ObjectName configData)
|
|
discard(Session session)
|
getAdminClient()
return the AdminClient object that this proxy uses to communicate with remote server.
|
|
|
getAttribute(Session inSession,javax.management.ObjectName configData,java.lang.String attribute)
|
|
getAttribute(Session session,javax.management.ObjectName configData,java.lang.String attribute,boolean recursive)
|
|
getAttributes(Session inSession,javax.management.ObjectName configData,java.lang.String[] attributes,boolean recursive)
|
|
getAttributesMetaInfo(java.lang.String configDataType)
|
|
getConflictDocuments(Session session)
|
|
getRelationship(Session inSession,javax.management.ObjectName configData,java.lang.String relationship)
|
|
getRelationships(Session inSession,javax.management.ObjectName configData,java.lang.String[] relationshipNames)
|
|
getRelationshipsMetaInfo(java.lang.String configObjectType)
|
|
getSupportedConfigObjectTypes()
returns the list of supported Config object types.
|
|
getUnsavedChanges(Session session)
|
|
queryConfigObjects(Session inSession,javax.management.ObjectName scope,javax.management.ObjectName name,javax.management.QueryExp query)
|
|
queryConfigObjectsAtCurrentScope(Session inSession,javax.management.ObjectName scope,java.lang.String type)
|
|
queryTemplates(Session inSession,java.lang.String type)
|
|
removeElement(Session inSession,javax.management.ObjectName configData,java.lang.String attribute,java.lang.Object element)
|
|
resetAttributes(Session inSession,javax.management.ObjectName configData,javax.management.AttributeList attrList)
|
|
resolve(Session inSession,javax.management.ObjectName scope,java.lang.String containmentPath)
|
|
resolve(Session inSession,java.lang.String containmentPath)
|
|
save(Session session,boolean overwriteOnConflict)
|
|
setAttributes(Session inSession,javax.management.ObjectName configData,javax.management.AttributeList attrList)
|
|
setProperties(Session session,java.util.HashMap props)
|
|
unsetAttributes(Session inSession,javax.management.ObjectName configData,java.lang.String[] attributes)
|
validate(Session session,javax.management.ObjectName scope)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail
ConfigServiceProxy
- public ConfigServiceProxy(AdminClient adminClient)
- throws javax.management.InstanceNotFoundException
- ConnectorException
Constructor a proxy object.
Parameters:
adminClient
- an AdminClient object that this proxy uses to communicate with remote server. Throws:
javax.management.InstanceNotFoundException
Method Detail
getAdminClient
- public AdminClient getAdminClient( )
return the AdminClient object that this proxy uses to communicate with remote server.
setProperties
- public void setProperties(Session session,
- java.util.HashMap props)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Set properties that associates with the specified session.
Specified by:
setProperties
in interface ConfigService
Parameters:
session
- session id. props
- the session property. SessionPropertyConstants
for valid session property key. Throws:
validate
- public ValidationResult validate( Session session,
- javax.management.ObjectName scope)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Validate the configuration within the specified scope.
Specified by:
validate
in interface ConfigService
Parameters:
session
- session id. scope
- the scope of validation. Scope can be the ObjectName of a cell, node or server.
if null is specified, then whole repository will be validated. If any other type object is specified, use its nearest ancestor that
can be a valid scope. Returns:
the validation result.
Throws:
save
- public void save(Session session,
- boolean overwriteOnConflict)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Save the changes made in the session to config repository.
Specified by:
save
in interface ConfigService
Parameters:
session
- the session id. overwriteOnConflict
- overwrite if there is any conflict detected during saving. Throws:
discard
- public void discard(Session session)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Discard changes made in the session since the last save or discard call.
Specified by:
discard
in interface ConfigService
getUnsavedChanges
- public java.lang.String[] getUnsavedChanges( Session session)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Get all the documents that changed in the session after last save or discard call.
Specified by:
getUnsavedChanges
in interface ConfigService
Parameters:
session
- the session id. Returns:
uris of modified documents.
Throws:
getConflictDocuments
- public java.util.Map getConflictDocuments( Session session)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Get the list of documents that have conflict updates made by other sessions.
Specified by:
getConflictDocuments
in interface ConfigService
Parameters:
session
- the session id. Returns:
a map of conflicted document updates. key is the document uri, and value is one of the integer defined as below:
- 1 - document is modified by other session.
- 2 - document is removed by other session.
- 3 - document is added by other session.
Throws:
getSupportedConfigObjectTypes
- public java.lang.String[] getSupportedConfigObjectTypes( )
- throws ConfigServiceException
- ConnectorException
returns the list of supported Config object types.
Specified by:
getSupportedConfigObjectTypes
in interface ConfigService
getAttributesMetaInfo
- public javax.management.AttributeList getAttributesMetaInfo( java.lang.String configDataType)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Get the meta information about the attributes of specified config data type.
Follwing are list of attributes encoded in the returned meta info attribute list.
- SystemAttributes._ATTRIBUTE_METAINFO_NAME
- SystemAttributes._ATTRIBUTE_METAINFO_TYPE
- SystemAttributes._ATTRIBUTE_METAINFO_IS_COLLECTION
- SystemAttributes._ATTRIBUTE_METAINFO_IS_REQUIRED
- SystemAttributes._ATTRIBUTE_METAINFO_DEFAULT_VALUE
- SystemAttributes._ATTRIBUTE_METAINFO_ENUM_INFO
- SystemAttributes._ATTRIBUTE_METAINFO_IS_OBJECT
- SystemAttributes._ATTRIBUTE_METAINFO_IS_REFERENCE
Specified by:
getAttributesMetaInfo
in interface ConfigService
Parameters:
configDataType
- the type of the config data. Returns:
the attribute information in a format of AttributeList. The attribute
name is the attribute name and the attribute value is the detailed attribute
meta information in a form of AttributeList.
Throws:
getRelationshipsMetaInfo
- public javax.management.AttributeList getRelationshipsMetaInfo( java.lang.String configObjectType)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Get the meta information about the relationships of specified config data type, such as the type of the
relationship value, the multiplicity of the relationship value etc.
Specified by:
getRelationshipsMetaInfo
in interface ConfigService
Parameters:
configObjectType
- config ojbect type. It must be one of the types returned
from getSupportedConfigObjectTypes
method. Returns:
the relationship information in a format of AttributeList. The attribute
name is the relationship name and the attribute value is the detailed information
regarding to this relationship in a form of AttributeList.
Here are list of attributes in the relationship meta info:
- SystemAttributes._ATTRIBUTE_METAINFO_NAME
- SystemAttributes._ATTRIBUTE_METAINFO_TYPE
- SystemAttributes._ATTRIBUTE_METAINFO_IS_COLLECTION
Throws:
queryConfigObjects
- public javax.management.ObjectName[] queryConfigObjects( Session inSession,
- javax.management.ObjectName scope,
- javax.management.ObjectName name,
- javax.management.QueryExp query)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
The query method for config data in the config repository.
Specified by:
queryConfigObjects
in interface ConfigService
scope
- the scope of query. It may be an ObjectName of a cell, node or server. Whole repository will be
queried if scope is null. name
- the object name pattern that identifies MBeans to be returned.
SystemAttributes._WEBSPHERE_CONFIG_DATA_TYPE is required
to minimize the scope of query. SystemAttributes._WEBSPHERE_CONFIG_DATA_TYPE
must be one the supported config object types it presents query
- The query expression to be applied for selecting config ojbects.
If null is specified, no query expression will be applied for selecting config objects.
Current implementation only supports null
input. Returns:
ObjecNames of config data that match the specified query criteria.
Returns an empty array if no matching config data are found.
Throws:
queryConfigObjectsAtCurrentScope
- public javax.management.ObjectName[] queryConfigObjectsAtCurrentScope( Session inSession,
- javax.management.ObjectName scope,
- java.lang.String type)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
The query method for config data in the config repository
Specified by:
queryConfigObjectsAtCurrentScope
in interface ConfigService
scope
- the scope of query. It may be an ObjectName of a cell, node, server or cluster. It only queries the given scope type
- the config object type. It must be one the supported config object type. Returns:
ObjecNames of config data that match the specified query criteria.
Returns an empty array if no matching config data are found.
Throws:
queryTemplates
- public javax.management.ObjectName[] queryTemplates( Session inSession,
- java.lang.String type)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
The query method for templates.
Specified by:
queryTemplates
in interface ConfigService
Parameters:
inSession
- the seesion id. type
- the type of template. Returns:
the ObjecNames of templates that match the specified type.
Returns an empty array if no matching config data is found.
Throws:
resolve
- public javax.management.ObjectName[] resolve( Session inSession,
- java.lang.String containmentPath)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Resolve the config object based on the specified containment path.
Specified by:
resolve
in interface ConfigService
Parameters:
inSession
- the seesion id. containmentPath
- the containment path of config data.
The format this arguemnt is type=name:type=name:...
For example, Node=node1:Server=process1:Application=myAppServer.
The type is the config data type, name if the config data name. The name
field is optional. If name is not specified, then only type is matched.
The name field may be double quoted. If the name field is not quoted,
then the space around of value field will be trimed. Returns:
an array of matched config data.
Throws:
resolve
- public javax.management.ObjectName[] resolve( Session inSession,
- javax.management.ObjectName scope,
- java.lang.String containmentPath)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Resolve the config object based on the specified containment path.
Specified by:
resolve
in interface ConfigService
Parameters:
inSession
- the seesion id. scope
- the scope of resolve. It may be an ObjectName of a cell, node or server. Whole repository will be
queried if scope is null containmentPath
- the containment path of config data.
The format this arguemnt is type=name:type=name:...
For example, Node=node1:Server=process1:Application=myAppServer.
The type is the config data type, name if the config data name. The name
field is optional. If name is not specified, then only type is matched.
The name field may be double quoted. If the name field is not quoted,
then the space around of value field will be trimed. Returns:
an array of matched config data.
Throws:
createConfigDataByTemplate
- public javax.management.ObjectName createConfigDataByTemplate( Session inSession,
- javax.management.ObjectName parent,
- java.lang.String attributeName,
- javax.management.AttributeList attrList,
- javax.management.ObjectName template)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Create a config data based on specified template. If the
attribute is a collection type attribute, this method will create the
object and add the created object at the end of list.
Note unlike the createConfigData method, we don't allow user specify type in
this method as the type of template will be the type of created object.
Specified by:
createConfigDataByTemplate
in interface ConfigService
Parameters:
inSession
- the seesion id. parent
- the ObjectName of the parent config data. attributeName
- - the name of the relationship or attribute name between the parent and child config data. attrList
- - the AttributeList of created config object. template
- - the template to be used during creation. Use system default template
if null is supplied. The template can be one of the template returned
from queryTemplates call, but it can be a config object or data in the
repository. Returns:
the config data id of created config data.
Throws:
createConfigData
- public javax.management.ObjectName createConfigData( Session inSession,
- javax.management.ObjectName parent,
- java.lang.String attributeName,
- java.lang.String type,
- javax.management.AttributeList attrList)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
create a Config Data. If the attribute is a collection type attribute,
this method will create the object and add the newly created object at the end of list.
Specified by:
createConfigData
in interface ConfigService
Parameters:
inSession
- the seesion id. parent
- the id of the parent config data. attributeName
- the name of the relationship or attribute between the parent and child config data. type
- the type of created config data. The type can be the type
of the attribute specified in the attribute meta info, it
can also be one of the subtypes listed in the attribute
_ATTRIBUTE_METAINFO_SUBTYPES in the meta info of the attribute. attrList
- the AttributeList of created config object. Returns:
the config data id of created config object or config data.
Throws:
setAttributes
- public void setAttributes(Session inSession,
- javax.management.ObjectName configData,
- javax.management.AttributeList attrList)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Modify attributes of the specified config data. Note this method does not change
the attributes that are not specified in the attribute list.
Specified by:
setAttributes
in interface ConfigService
Parameters:
inSession
- the seesion id. configData
- - the ObjectName of the config data. attrList
- - the AttributeList that contains the list of attributes to be modified. Throws:
addElement
- public void addElement(Session inSession,
- javax.management.ObjectName configData,
- java.lang.String attribute,
- java.lang.Object element,
- int position)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Add an element into a collection type attribute of a config data.
Specified by:
addElement
in interface ConfigService
Parameters:
inSession
- the seesion id. configData
- the ObjectName of the config data. attribute
- the name of the attribute. element
- the value of the element. It might be a primary data type, an attribute list
or a object reference. position
- the position added in the list. Element will be appended at the end if -1. Throws:
removeElement
- public void removeElement(Session inSession,
- javax.management.ObjectName configData,
- java.lang.String attribute,
- java.lang.Object element)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Remove an element from collection type attribute of a config data.
Specified by:
removeElement
in interface ConfigService
Parameters:
inSession
- the seesion id configData
- the ObjectName of the config data. attribute
- the name of the attribute. element
- the ObjectName of the element. In case of primitive data type, it should be the element value itself. Throws:
unsetAttributes
- public void unsetAttributes(Session inSession,
- javax.management.ObjectName configData,
- java.lang.String[] attributes)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Clear the specified attributes from the config data.
Specified by:
unsetAttributes
in interface ConfigService
Parameters:
inSession
- the seesion id. configData
- the object name of the config data. attributes
- an array of attributes to be cleared. Throws:
resetAttributes
- public void resetAttributes(Session inSession,
- javax.management.ObjectName configData,
- javax.management.AttributeList attrList)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Reset the attributes for the config data. This method is basically do the same thing
as the setAttributes call except that this method clears all the attributes value before call the setAttributes method.
Specified by:
resetAttributes
in interface ConfigService
Parameters:
inSession
- the seesion id. configData
- the ObjectName of the config object. attrList
- the value of attribute list. Throws:
getAttributes
- public javax.management.AttributeList getAttributes( Session inSession,
- javax.management.ObjectName configData,
- java.lang.String[] attributes,
- boolean recursive)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Get the attribute values of the config data.
Specified by:
getAttributes
in interface ConfigService
Parameters:
inSession
- the seesion id. configData
- ObjectName of config data. attributes
- an array of attribute names whose value should be returned.
null
means all the attributes. recursive
- returns a nested attribute list as the value of nested config data attribute if set to be true;
return the ObjectName of nested config data as the value of nested config data attribute if set to be false. Returns:
the attribute values of specified attributes in a form of AttributeList.
Throws:
getAttribute
- public java.lang.Object getAttribute( Session inSession,
- javax.management.ObjectName configData,
- java.lang.String attribute)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Get the attribute value of the specified config data.
Specified by:
getAttribute
in interface ConfigService
Parameters:
inSession
- the seesion id. configData
- the ObjectName of the config data. attribute
- an attribute name. Returns:
the attribute values of specified attribute.
Throws:
getAttribute
- public java.lang.Object getAttribute( Session session,
- javax.management.ObjectName configData,
- java.lang.String attribute,
- boolean recursive)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Get the attribute value of the specified config data.
Specified by:
getAttribute
in interface ConfigService
Parameters:
session
- the seesion id. configData
- the ObjectName of the config data. attribute
- an attribute name. recursive
- returns a attribute values as the value of nested config data attribute if set to be true;
return the Object of config data if set to be false. Returns:
the attribute values of specified attribute.
Throws:
deleteConfigData
- public void deleteConfigData(Session inSession,
- javax.management.ObjectName configData)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Delete the specified config data and its children. Also remove the reference from
or to the config data to keep the integrity of the reference.
Specified by:
deleteConfigData
in interface ConfigService
Parameters:
inSession
- the seesion id. configData
- ObjectName of the config data. Throws:
getRelationships
- public javax.management.AttributeList getRelationships( Session inSession,
- javax.management.ObjectName configData,
- java.lang.String[] relationshipNames)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Get the named relationship values of specified config object.
This method skips invalid relationship name instead of throwing exception like getAttributes.
Specified by:
getRelationships
in interface ConfigService
Parameters:
inSession
- the seesion id. configData
- ObjectName of the config data. relationshipNames
- an array of the relationship names. Returns:
the value of the specified relationship on the object as an
AttributeList
. The name of
the Attribute
is a relationship name and the value of the
the Attribute
is the value of the relationship which is represented in a form of ObjectName. Throws:
getRelationship
- public javax.management.ObjectName[] getRelationship( Session inSession,
- javax.management.ObjectName configData,
- java.lang.String relationship)
- throws ConfigServiceException
- ConnectorException
Description copied from interface:
ConfigService
Get the relationship value of the specified config object and relationship name.
Specified by:
getRelationship
in interface ConfigService
Parameters:
inSession
- the seesion id. configData
- ObjectName of the config data. relationship
- the name of the relationship. Returns:
the value of the specified relationship on the object. The value
of the relationship is represented as an array of ObjectName.
Throws: