com.tivoli.twg.mscs
Class MSCSManagedObjectFactory

java.lang.Object
  extended bycom.tivoli.twg.engine.TWGObject
      extended bycom.tivoli.twg.engine.TWGPersistentObject
          extended bycom.tivoli.twg.engine.TWGManagedObjectFactory
              extended bycom.tivoli.twg.mscs.MSCSManagedObjectFactory
All Implemented Interfaces:
TWGBaseShadowedObject, TWGGetSetInterface, TWGServerCommandHandler, TWGShadowedObject

public class MSCSManagedObjectFactory
extends TWGManagedObjectFactory
implements TWGServerCommandHandler

Microsoft Cluster Services managed object factory.


Nested Class Summary
static class MSCSManagedObjectFactory.ValidateClusterInfo
          Inner class for tracking cluster information validation
 
Field Summary
static java.lang.String MO_CLASS
          Name of TWGManagedObject class supported by factory
static java.lang.String NLSCLASS
          Name of NLS resource used for Cluster managed object support
 
Fields inherited from class com.tivoli.twg.engine.TWGManagedObjectFactory
INSTANCE_OF_CALLBACK, INSTANCE_OF_NO, INSTANCE_OF_NO_RESPONSE, INSTANCE_OF_YES
 
Fields inherited from class com.tivoli.twg.engine.TWGPersistentObject
CLASS_NAME, SIZEOF_BYTE, SIZEOF_CHAR, SIZEOF_DOUBLE, SIZEOF_FLOAT, SIZEOF_INT, SIZEOF_LONG, SIZEOF_SHORT
 
Constructor Summary
MSCSManagedObjectFactory()
          Default constructor
MSCSManagedObjectFactory(java.lang.String managedObjectClassName)
          Constructor
 
Method Summary
 void Activate()
          Activate the topology processing.
 void Deactivate()
          Deactivate the topology processing
 void Delete()
          Delete method
static MSCSManagedObjectFactory GetFactory()
          Get instance of cluster managed object factory
protected  byte[] getOurAddressEntryRecord(TWGManagedObject obj)
          Address entry record support method.
static void initializeServiceSubscriber()
          Initialize client service subscriber
 byte instanceOf(com.tivoli.twg.engine.TWGMofInstanceOf mofInstanceOf, TWGManagedObject managedObject)
          Test a managed object instance for inclusion into a managed object factory class.
 void ServerCommandReceived(java.lang.String cmdname, Command cmd)
          Handler method for delivering TWGServerCommands for Native Managed Object specific commands
 void StartDiscoveryPass()
          Start a discovery pass: operation should return quickly, with actual discovery logic not being completed before the method returns.
static void terminateServiceSubscriber()
          Terminate client service subscriber
 
Methods inherited from class com.tivoli.twg.engine.TWGManagedObjectFactory
ActivateAll, addDatabaseList, addMoClassAssociation, addTask, addTask, addTask, addTask, associateDatabaseTable, clearPingInterval, containsTask, containsTask, DeactivateAll, DiscoveryInterval, DiscoverySupported, DumpMOFTree, emptyDatabaseList, findDatabaseTables, findFactoryForManagedObject, findFactoryForManagedObject, findManagedObjectByFingerprint, freeLicense, getAddressEntryRecord, getAddressEntryShadow, getAgentPingInterval, getAllAssociatedManagedObjectIDs, getAllManagedObjectClassNames, getAllManagedObjectClassNamesAndOIDs, getAllManagedObjectSetAsIds, getAttributeIDList, getAttributeType, getAttributeValue, getAutoAddEnabled, getAutoAddSupported, getChildMOFSetAsIds, GetConShadowClass, getDatabaseList, getDatabaseList, GetFactoryForManagedObject, GetFactoryForManagedObject, getFilterImageSet, getImageSet, getLicense, getManagedObjectByFingerprint, getManagedObjectClassname, getManagedObjectSetAsIds, getManagedObjectSetAsIds, getMOFInstances, getMorphInterval, getName, getName, getNameKey, getParentMOF, getParentMofIds, getPingInterval, getPingInterval, getPingSupported, getPingType, getResourceBundle, getRootMOF, GetShadowRecord, GetShadowVersion, getTaskListAsIds, getTaskListAsIds, getTaskListSize, getTreeOrderedMOFList, initialize, isAutoClientSecureEnabled, isRootMOF, licenseRequired, ProcessAllAutoDiscovery, ProcessAllImmedDiscovery, ProcessAllImmedDiscovery, removeMoClassAssociation, removeTask, removeTask, restoreData, saveData, setAddObjectClassname, setAddressEntryShadow, setAgentPingInterval, setAttributeValue, setAutoAddEnabled, setAutoClientSecure, setClientSecureSupport, SetDiscoveryInterval, SetDiscoverySupported, setEditObjectClassname, setFilterImageSet, setImageSet, setLicenseProductCode, setMorphInterval, setName, setName, SetObjectID, setPingInterval, setPingType, startDiscoveryDaemon, startPing, stopDiscoveryDaemon, toString, UpdateShadowVersion
 
Methods inherited from class com.tivoli.twg.engine.TWGPersistentObject
Destroy, enableAsyncWrites, fromPersistID, isNewPersistentStore, isSaveRequired, PersistID, restore, restoreAll, save, save, setSaveRequired, terminate, toPersistID
 
Methods inherited from class com.tivoli.twg.engine.TWGObject
AllObjects, AllObjects, DumpTWGObjects, FindObject, isDeleted, isNewObject, isPersistent, isPersistent, isValid, isValid, ObjectID, setDistinctObjectID
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MO_CLASS

public static final java.lang.String MO_CLASS
Name of TWGManagedObject class supported by factory

See Also:
Constant Field Values

NLSCLASS

public static final java.lang.String NLSCLASS
Name of NLS resource used for Cluster managed object support

See Also:
Constant Field Values
Constructor Detail

MSCSManagedObjectFactory

public MSCSManagedObjectFactory()
                         throws java.lang.ClassNotFoundException
Default constructor

Throws:
java.lang.ClassNotFoundException - if MO class not loaded

MSCSManagedObjectFactory

public MSCSManagedObjectFactory(java.lang.String managedObjectClassName)
                         throws java.lang.ClassNotFoundException
Constructor

Parameters:
managedObjectClassName - - TWGManagedObject class name associated with factory
Throws:
java.lang.ClassNotFoundException - if MO class not loaded
Method Detail

Delete

public void Delete()
Delete method

Overrides:
Delete in class TWGManagedObjectFactory

GetFactory

public static MSCSManagedObjectFactory GetFactory()
Get instance of cluster managed object factory

Returns:
MSCSManagedObjectFactory instance

instanceOf

public byte instanceOf(com.tivoli.twg.engine.TWGMofInstanceOf mofInstanceOf,
                       TWGManagedObject managedObject)
Test a managed object instance for inclusion into a managed object factory class. This method is used during managed object morphing. It is used by TWGEngine processes to determine the lowest level managed object factory class to which a managed object instance belongs. This method should be implemented by all managed object factory extension classes.

Overrides:
instanceOf in class TWGManagedObjectFactory
Parameters:
mofInstanceOf - Reference to TWGMofInstanceOf callback interface object.
managedObject - Reference of managed object instance to be tested.
Returns:
byte see TWGManagedObjectFactory.

Activate

public void Activate()
              throws ManagedObjectFactoryActivateException
Activate the topology processing.

Overrides:
Activate in class TWGManagedObjectFactory
Throws:
ManagedObjectFactoryActivateException - if error

Deactivate

public void Deactivate()
Deactivate the topology processing

Overrides:
Deactivate in class TWGManagedObjectFactory

StartDiscoveryPass

public void StartDiscoveryPass()
Start a discovery pass: operation should return quickly, with actual discovery logic not being completed before the method returns. The default method does nothing.

Overrides:
StartDiscoveryPass in class TWGManagedObjectFactory

initializeServiceSubscriber

public static void initializeServiceSubscriber()
Initialize client service subscriber


terminateServiceSubscriber

public static void terminateServiceSubscriber()
Terminate client service subscriber


getOurAddressEntryRecord

protected byte[] getOurAddressEntryRecord(TWGManagedObject obj)
Address entry record support method. This method generates a single record encoding to be interpreted by MSCSAddressEntry. The record simply consists of the compressed unicode encoding of the current best IPC path. should be subclassed by MOF subclasses in order to provide support for encoding address records. Each address record must consist of a list of records (1 or more), ordered from superclass to subclass, with each record consisting of an overall record length (SHORT) and a magic number (SHORT), followed by class-specific data.

Overrides:
getOurAddressEntryRecord in class TWGManagedObjectFactory
Parameters:
obj - - Managed object to request address encoding for
Returns:
byte array containing encoded address record, or null no support

ServerCommandReceived

public void ServerCommandReceived(java.lang.String cmdname,
                                  Command cmd)
Handler method for delivering TWGServerCommands for Native Managed Object specific commands

Specified by:
ServerCommandReceived in interface TWGServerCommandHandler
Parameters:
cmdname - - name of extension command
cmd - - command instance received