com.ibm.datapower.wamt.clientAPI
Class Manager

java.lang.Object
  extended by WorkArea
      extended by com.ibm.datapower.wamt.clientAPI.Manager

public class Manager
extends WorkArea

A singleton that is the root management object that starts and stops all other management objects/daemons. This object should exist for the duration of the management, which basically means "always". When working with the clientAPI, you must start with the Manager object.


Field Summary
static java.lang.String COPYRIGHT_2009_2013
           
static int DEFAULT_MAX_VERSIONS_TO_STORE
          The maximum number of versions to store in the repository before the oldest ones are purged from the system.
static java.lang.String OPTION_AMP_CONNECT_TIMEOUT
          When first invoking getInstance(Map), use this as the option name when designating the number of milliseconds to monitor each AMP connect request to avoid a hang condition.
static java.lang.String OPTION_COLLECT_DAEMON_PROGRESSES
          When first invoking getInstance(Map), use this as the option name when designating a Boolean object that indicates if you would like the heartbeat daemon to put ProgressContainers in a queue to be collected by the caller.
static java.lang.String OPTION_COLLECT_DOMAIN_SYNCH_PROGRESSES
          When first invoking getInstance(Map), use this as the option name when designating a Boolean object that indicates if you would like the domain synchronization to put ProgressContainers in a queue to be collected by the caller.
static java.lang.String OPTION_COMMANDS_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Commands interface for AMPv1.
static java.lang.String OPTION_COMMANDS_SOMA_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Commands interface for SOMA.
static java.lang.String OPTION_COMMANDS_V2_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Commands interface for AMPv2.
static java.lang.String OPTION_COMMANDS_V3_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Commands interface for AMPv3.
static java.lang.String OPTION_COMMANDS_XC10_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Commands interface for AMPv2.
static java.lang.String OPTION_CREDENTIAL
          When first invoking getInstance(Map), use this as the option name when designating a reference to an object that implements the Credential interface and contains the values that will pass authentication and authorization tests to permit the current user to use the Manager.
static java.lang.String OPTION_DEBUG_CAPTURE_VERSION_BLOB
          When first invoking getInstance(Map), use this as the option name when designating a Boolean object that indicates if you would like the DomainVersion and DeploymentPolicyVersion blobs to be captured to disk in the root directory but outside of the repository.
static java.lang.String OPTION_DEBUG_DEVICE_QUIESCE_TIMEOUT
           
static java.lang.String OPTION_DEBUG_DISABLE_HEARTBEAT
          When first invoking getInstance(Map), use this as the option name when designating a Boolean object that indicates if you would like the heartbeat activity to not occur, meaning that heartbeating is disabled.
static java.lang.String OPTION_DEBUG_DOMAIN_QUIESCE_TIMEOUT
           
static java.lang.String OPTION_DEVICE_LOG_PORT
          When first invoking getInstance(Map), use this as the option name when designating the port for device logs.
static java.lang.String OPTION_DOMAIN_SYNCHRONIZATION_INTERVAL
          When first invoking getInstance(Map), use this as the option name when designating the number of milliseconds in the period that a DomainSynchronization task should wait before probing a device again.
static java.lang.String OPTION_DOMAIN_SYNCHRONIZATION_RETRY_MAX
          When first invoking getInstance(Map), use this as the option name when designating the number of times to retry a failed domain synchronization task.
static java.lang.String OPTION_DOMAIN_SYNCHRONIZATION_THREAD_POOL_SIZE
          When first invoking getInstance(Map), use this as the option name when designating the number of threads that should be in the pool for DomainSynchronization Tasks to run on.
static java.lang.String OPTION_HEARTBEAT_INTERVAL
          When first invoking getInstance(Map), use this as the option name when designating the number of milliseconds in the period that a HeartbeatTask should wait before probing a device again.
static java.lang.String OPTION_HEARTBEAT_THREAD_POOL_SIZE
          When first invoking getInstance(Map), use this as the option name when designating the number of threads that should be in the pool for HeartbeatTasks to run on.
static java.lang.String OPTION_HTTP_LISTENER_IP_ADDRESS
          When first invoking getInstance(Map), use this as the option name when designating the IP address that the HTTP Listener can be reached at by the device for retrieving files.
static java.lang.String OPTION_HTTP_LISTENER_IP_INTERFACE
          When first invoking getInstance(Map), use this as the option name when designating the name of the interface that the HTTP Listener can be reached at by the device for retrieving files.
static java.lang.String OPTION_HTTP_LISTENER_IP_PORT
          When first invoking getInstance(Map), use this as the option name when designating the IP port number that the HTTP Listener should listen on for file requests from devices.
static java.lang.String OPTION_HTTP_LISTENER_SOCKET_TIMEOUT
          When first invoking getInstance(Map), use this as the option name when designating the IP port number that the HTTP Listener should listen on for file requests from devices.
static java.lang.String OPTION_MESSAGE_PREFIX
          When first invoking getInstance(Map), use this as the option name when designating prefix for all messages *
static java.lang.String OPTION_NOTIFICATION_CATCHER_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the NotificationCatcher interface.
static java.lang.String OPTION_NOTIFICATION_CATCHER_IP_ADDRESS
          When first invoking getInstance(Map), use this as the option name when designating the IP address that the NotificationCatcher can be reached at by the device for the sending of events.
static java.lang.String OPTION_NOTIFICATION_CATCHER_IP_INTERFACE
          When first invoking getInstance(Map), use this as the option name when designating the name of the interface that the NotificationCatcher can be reached at by the device for the sending of events.
static java.lang.String OPTION_NOTIFICATION_CATCHER_NO_SSL
          When first invoking getInstance(Map), use this as the option name when designating if the NotificationCatcher should be listening with a non-SSL server socket.
static java.lang.String OPTION_NOTIFICATION_CATCHER_PORT
          When first invoking getInstance(Map), use this as the option name when designating the IP port number that the NotificationCatcher should listen on for events from devices.
static java.lang.String OPTION_REPOSITORY_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Repository interface.
static java.lang.String OPTION_SIGNAL_CONNECT_TIMEOUT
          When first invoking getInstance(Map), and if you want a third-party SOAP service to be signaled (receive a message) just before and immediately after a change (firmware or domain) is deployed to a device, this would specify the connect timeout of the third-party SOAP service.
static java.lang.String OPTION_SIGNAL_DELAY_TIME
          When first invoking getInstance(Map), and if you want a third-party SOAP service to be signaled (receive a message) just before and immediately after a change (firmware or domain) is deployed to a device, this would specify the sleep time after posting to the third-party SOAP service before continuing on to deploy the change.
static java.lang.String OPTION_SIGNAL_RESPONSE_TIMEOUT
          When first invoking getInstance(Map), and if you want a third-party SOAP service to be signaled (receive a message) just before and immediately after a change (firmware or domain) is deployed to a device, this would specify the timeout of waiting for a response from the third-party SOAP service.
static java.lang.String OPTION_SIGNAL_SOAP_ACTION
          When first invoking getInstance(Map), and if you want a third-party SOAP service to be signaled (receive a message) just before and immediately after a change (firmware or domain) is deployed to a device, this would specify the value for the SOAPAction header of the third-party SOAP service.
static java.lang.String OPTION_SIGNAL_URL
          When first invoking getInstance(Map), and if you want a third-party SOAP service to be signaled (receive a message) just before and immediately after a change (firmware or domain) is deployed to a device, this would specify the URL of the third-party SOAP service.
static java.lang.String OPTION_SOAPHELPER_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the SOAPHelper interface for AMPv1.
static java.lang.String OPTION_SOAPHELPER_SOMA_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the SOAPHelper interface for AMPv2.
static java.lang.String OPTION_SOAPHELPER_V2_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the SOAPHelper interface for AMPv2.
static java.lang.String OPTION_SOAPHELPER_V3_IMPL
          When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the SOAPHelper interface for AMPv2.
static java.lang.String OPTION_TASK_QUEUE_SIZE
          When first invoking getInstance(Map), use this as the option name when designating an Integer object that indicates how big you would like the background task queue to be.
static java.lang.String OPTION_TRUSTSTORE_FILENAME
          When first invoking getInstance(Map), use this as an option to specify the filename of the key store for the manager to use in it's truststore.
static java.lang.String OPTION_TRUSTSTORE_PASSWORD
          When first invoking getInstance(Map), use this as an option to specify the password for the key store specified in Configuration.KEY_TRUSTSTORE_FILENAME
static boolean SAVE_FORCED
          When invoking save(boolean), use this value to indicate that the new values held by this process should overwrite whatever may have been changed by another vehicle.
static boolean SAVE_UNFORCED
          When invoking save(boolean), use this value to indicate that if the persistence has forked (a change in data was made by another vehicle after it was loaded here), that the method should focus on data consistency and fail the save operation.
static java.lang.String version
           
 
Method Summary
 void addDomainSyncTaskInProgress(java.lang.String key, DomainSynchronizationTask value)
           
 ProgressContainer addFirmware(Blob image, java.lang.String userComment)
          Create a BackgroundTask to add a new firmware image to the manager.
 void enqueue(BackgroundTask backgroundTask, WorkArea workArea)
          Enqueue a BackgroundTask object to be processed by the Manager.
 void enqueue(Notification notification, WorkArea workArea)
          Enqueue a Notification object to be processed by the Manager.
 ProgressContainer exportAll(java.io.OutputStream outputStream)
          Export everything in the manager datastore to the specified OutputStream.
 void generateReport(java.lang.String filePath, java.lang.String fileName)
          Generate a report that will capture the domain configuration deployments completed successfully.
 Device[] getAllDevices()
          Gets the list of all known devices in the manager, independent of being assigned to a ManagedSet.
 Firmware getBestFirmware(DeviceType deviceType, ModelType modelType, StringCollection deviceFeatures, java.lang.String level)
          Get the best Firmware that is suitable for the specified deviceType, modelType, and device features.
static Manager getByPrimaryKey(java.lang.String targetKey)
          Get the Manager that has the specified primary key.
 Device getDeviceBySerialNumber(java.lang.String targetSerialNumber)
          Deprecated. Get a Device that has a particular hardware serial number. This method does not care if the Device is a member of a ManagedSet or not.
 Device getDeviceBySymbolicName(java.lang.String targetSymbolicName)
          Get a Device that has a particular symbolic name.
static java.util.logging.Logger getDeviceLogger()
          Get the logger for distributed device logging.
 Device[] getDevicesBySerialNumber(java.lang.String targetSerialNumber)
          Get all Devices that have a particular hardware serial number.
static java.util.logging.Logger getDmiLogger()
          Get the parent of all the loggers.
 Queue getDomainSynchronizaionProgresses()
          Get a reference to the Queue that holds the ProgressContainers created by the domain synchronization daemon.
 long getDomainSynchronizationDaemonSleepMS()
          Get the sleep interval of the DomainSynchronization daemon in milliseconds.
 java.util.Hashtable<java.lang.String,DomainSynchronizationTask> getDomainSyncTasksInProgress()
           
 Firmware getFirmware(DeviceType deviceType, ModelType modelType, StringCollection strictFeatures, StringCollection nonstrictFeatures)
          For a specified device profile (deviceType, modelType, strictFeatures, nonStrictFeatures), get the Firmware object that would match that device profile.
 Firmware[] getFirmwares()
          Get a list of all the Firmware objects that are in the manager.
 long getHeartbeatDaemonSleepMS()
          Get the sleep interval of the heartbeat daemon in milliseconds.
 Queue getHeartbeatProgresses()
          Get a reference to the Queue that holds the MacroProgressContainers created by the heartbeat daemon.
static Manager getInstance(java.util.Map options)
          Get an instance of the manager.
 java.lang.String getLineSeparator()
           
static java.lang.String getLoggerGroupName()
          Get the name of the group that is assigned to all loggers.
 ManagedSet getManagedSet(java.lang.String name)
          Get the existing ManagedSet that has the specified name from the manager.
 ManagedSet[] getManagedSets()
          Get a list of all the ManagedSets in the manager.
static ManagerStatus getManagerStatus()
          Get the status of the Manager.
 int getMaxVersionsToStore()
          Gets the maximum number of versions of any one object that the manager will try to keep.
 java.net.URL getNotificationCatcherURL()
          Get the URL that the NotificationCatcher will use when subscribing to Devices in ManagedSets.
 Queue getNotificationProgresses()
          Get a reference to the Queue that holds the MacroProgressContainers created by Notification tasks.
 java.lang.String getPrimaryKey()
           
 java.lang.String getSubscriptionId()
          Get the subscription id that this manager uses with devices.
 java.lang.String getSubscriptionId(boolean isPrimary)
           
 java.util.Set<Taggable> getTaggedByName(java.lang.String name)
          Get all tagged resources by tag name.
 java.util.Set<Taggable> getTaggedByNameValue(java.lang.String name, java.lang.String value)
          Get all resources tagged with a given name and value.
 java.util.Set<java.lang.String> getTagNames()
          Get all unique tag names, return an empty set if no tags have been added
 java.util.Set<java.lang.String> getTagValues(java.lang.String name)
          Get all unique tag values for a given tag name.
 Device[] getUnmanagedDevices(DeviceType desiredDeviceType, ModelType desiredModelType, StringCollection desiredFeatures)
          Gets the list of known devices in the manager that are not assigned to a ManagedSet.
 java.lang.String getVersion()
          Returns the version of this WAMT image as a String
 void importAll(java.io.InputStream inputStream)
          Import to the manager datastore from the specified InputStream.
 void remove(Device device)
          Removes a device from the manager.
 void remove(Firmware firmware)
          Remove a Firmware object from the Manager.
 void remove(ManagedSet managedSet)
          Remove an existing ManagedSet from the Manager.
 void removeDomainSyncTaskInProgress(java.lang.String task)
           
 void save(boolean force)
          Explicitly persist the Manager's content to a datastore.
 void setDomainSynchronizationDaemonSleepMS(long ms)
          Change the sleep interval for the DomainSynchronization daemon.
 void setHeartbeatDaemonSleepMS(long ms)
          Set the sleep interval of the heartbeat daemon.
 void setMaxVersionsToStore(int maxVersions)
          Set the maximum number of versions of any one object that should be kept in the manager.
 void shutdown()
          Shutdown the Manager.
 java.lang.String toString()
          Get a String representation of this object for the purpose of debugging or tracing.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

version

public static final java.lang.String version
See Also:
Constant Field Values

SAVE_UNFORCED

public static final boolean SAVE_UNFORCED
When invoking save(boolean), use this value to indicate that if the persistence has forked (a change in data was made by another vehicle after it was loaded here), that the method should focus on data consistency and fail the save operation.

See Also:
SAVE_FORCED, Constant Field Values

SAVE_FORCED

public static final boolean SAVE_FORCED
When invoking save(boolean), use this value to indicate that the new values held by this process should overwrite whatever may have been changed by another vehicle.

See Also:
SAVE_UNFORCED, Constant Field Values

OPTION_COMMANDS_IMPL

public static final java.lang.String OPTION_COMMANDS_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Commands interface for AMPv1.

See Also:
Configuration.KEY_COMMANDS_IMPL, Constant Field Values

OPTION_MESSAGE_PREFIX

public static final java.lang.String OPTION_MESSAGE_PREFIX
When first invoking getInstance(Map), use this as the option name when designating prefix for all messages *

See Also:
Configuration.KEY_MESSAGE_PREFIX, Constant Field Values

OPTION_COMMANDS_V2_IMPL

public static final java.lang.String OPTION_COMMANDS_V2_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Commands interface for AMPv2.

See Also:
Configuration.KEY_COMMANDS_V2_IMPL, Constant Field Values

OPTION_COMMANDS_V3_IMPL

public static final java.lang.String OPTION_COMMANDS_V3_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Commands interface for AMPv3.

See Also:
Configuration.KEY_COMMANDS_V3_IMPL, Constant Field Values

OPTION_COMMANDS_SOMA_IMPL

public static final java.lang.String OPTION_COMMANDS_SOMA_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Commands interface for SOMA.

See Also:
Configuration.KEY_COMMANDS_SOMA_IMPL, Constant Field Values

OPTION_COMMANDS_XC10_IMPL

public static final java.lang.String OPTION_COMMANDS_XC10_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Commands interface for AMPv2.

See Also:
Configuration.KEY_COMMANDS_XC10_IMPL, Constant Field Values

OPTION_NOTIFICATION_CATCHER_IMPL

public static final java.lang.String OPTION_NOTIFICATION_CATCHER_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the NotificationCatcher interface.

See Also:
Configuration.KEY_NOTIFICATION_CATCHER_IMPL, Constant Field Values

OPTION_REPOSITORY_IMPL

public static final java.lang.String OPTION_REPOSITORY_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the Repository interface.

See Also:
Configuration.KEY_REPOSITORY_IMPL, Constant Field Values

OPTION_SOAPHELPER_IMPL

public static final java.lang.String OPTION_SOAPHELPER_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the SOAPHelper interface for AMPv1.

See Also:
Configuration.KEY_SOAP_HELPER_IMPL, Constant Field Values

OPTION_SOAPHELPER_V2_IMPL

public static final java.lang.String OPTION_SOAPHELPER_V2_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the SOAPHelper interface for AMPv2.

See Also:
Configuration.KEY_SOAP_HELPER_V2_IMPL, Constant Field Values

OPTION_SOAPHELPER_V3_IMPL

public static final java.lang.String OPTION_SOAPHELPER_V3_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the SOAPHelper interface for AMPv2.

See Also:
Configuration.KEY_SOAP_HELPER_V3_IMPL, Constant Field Values

OPTION_SOAPHELPER_SOMA_IMPL

public static final java.lang.String OPTION_SOAPHELPER_SOMA_IMPL
When first invoking getInstance(Map), use this as the option name when designating the name of the class that implements the SOAPHelper interface for AMPv2.

See Also:
Configuration.KEY_SOAP_HELPER_V3_IMPL, Constant Field Values

OPTION_CREDENTIAL

public static final java.lang.String OPTION_CREDENTIAL
When first invoking getInstance(Map), use this as the option name when designating a reference to an object that implements the Credential interface and contains the values that will pass authentication and authorization tests to permit the current user to use the Manager. Exactly one of these values must be supplied when invoking that method. For example,
     Credential credential = new Credential();
     credential.setProperty("ExampleProperty","ExampleValue");
     ...
     map.put(Manager.OPTION_CREDENTIAL, credential);
 

See Also:
Credential, Constant Field Values

OPTION_TASK_QUEUE_SIZE

public static final java.lang.String OPTION_TASK_QUEUE_SIZE
When first invoking getInstance(Map), use this as the option name when designating an Integer object that indicates how big you would like the background task queue to be.

See Also:
Configuration.KEY_TASK_QUEUE_SIZE, Constant Field Values

OPTION_COLLECT_DAEMON_PROGRESSES

public static final java.lang.String OPTION_COLLECT_DAEMON_PROGRESSES
When first invoking getInstance(Map), use this as the option name when designating a Boolean object that indicates if you would like the heartbeat daemon to put ProgressContainers in a queue to be collected by the caller.

See Also:
Configuration.KEY_COLLECT_DAEMON_PROGRESSES, Constant Field Values

OPTION_COLLECT_DOMAIN_SYNCH_PROGRESSES

public static final java.lang.String OPTION_COLLECT_DOMAIN_SYNCH_PROGRESSES
When first invoking getInstance(Map), use this as the option name when designating a Boolean object that indicates if you would like the domain synchronization to put ProgressContainers in a queue to be collected by the caller.

See Also:
Configuration.KEY_COLLECT_DOMAIN_SYNCH_PROGRESSES, Constant Field Values

OPTION_DEBUG_DISABLE_HEARTBEAT

public static final java.lang.String OPTION_DEBUG_DISABLE_HEARTBEAT
When first invoking getInstance(Map), use this as the option name when designating a Boolean object that indicates if you would like the heartbeat activity to not occur, meaning that heartbeating is disabled.

See Also:
Configuration.KEY_HEARTBEAT_DISABLE, Constant Field Values

OPTION_DEBUG_DOMAIN_QUIESCE_TIMEOUT

public static final java.lang.String OPTION_DEBUG_DOMAIN_QUIESCE_TIMEOUT
See Also:
Constant Field Values

OPTION_DEBUG_DEVICE_QUIESCE_TIMEOUT

public static final java.lang.String OPTION_DEBUG_DEVICE_QUIESCE_TIMEOUT
See Also:
Constant Field Values

OPTION_DEBUG_CAPTURE_VERSION_BLOB

public static final java.lang.String OPTION_DEBUG_CAPTURE_VERSION_BLOB
When first invoking getInstance(Map), use this as the option name when designating a Boolean object that indicates if you would like the DomainVersion and DeploymentPolicyVersion blobs to be captured to disk in the root directory but outside of the repository.

See Also:
Configuration.KEY_CAPTURE_VERSION_BLOB, Constant Field Values

OPTION_HEARTBEAT_THREAD_POOL_SIZE

public static final java.lang.String OPTION_HEARTBEAT_THREAD_POOL_SIZE
When first invoking getInstance(Map), use this as the option name when designating the number of threads that should be in the pool for HeartbeatTasks to run on.

See Also:
Configuration.KEY_HEARTBEAT_THREAD_POOL_SIZE, Constant Field Values

OPTION_DOMAIN_SYNCHRONIZATION_THREAD_POOL_SIZE

public static final java.lang.String OPTION_DOMAIN_SYNCHRONIZATION_THREAD_POOL_SIZE
When first invoking getInstance(Map), use this as the option name when designating the number of threads that should be in the pool for DomainSynchronization Tasks to run on.

See Also:
Configuration.KEY_DOMAIN_SYNCHRONIZATION_THREAD_POOL_SIZE, Constant Field Values

OPTION_NOTIFICATION_CATCHER_PORT

public static final java.lang.String OPTION_NOTIFICATION_CATCHER_PORT
When first invoking getInstance(Map), use this as the option name when designating the IP port number that the NotificationCatcher should listen on for events from devices.

See Also:
Configuration.KEY_NOTIFICATION_CATCHER_IP_PORT, Constant Field Values

OPTION_DOMAIN_SYNCHRONIZATION_INTERVAL

public static final java.lang.String OPTION_DOMAIN_SYNCHRONIZATION_INTERVAL
When first invoking getInstance(Map), use this as the option name when designating the number of milliseconds in the period that a DomainSynchronization task should wait before probing a device again.

See Also:
Configuration.KEY_DOMAIN_SYNCHRONIZATION_INTERVAL, Constant Field Values

OPTION_DOMAIN_SYNCHRONIZATION_RETRY_MAX

public static final java.lang.String OPTION_DOMAIN_SYNCHRONIZATION_RETRY_MAX
When first invoking getInstance(Map), use this as the option name when designating the number of times to retry a failed domain synchronization task. Default = 2

See Also:
Constant Field Values

OPTION_HEARTBEAT_INTERVAL

public static final java.lang.String OPTION_HEARTBEAT_INTERVAL
When first invoking getInstance(Map), use this as the option name when designating the number of milliseconds in the period that a HeartbeatTask should wait before probing a device again.

See Also:
Configuration.KEY_HEARTBEAT_INTERVAL, Constant Field Values

OPTION_AMP_CONNECT_TIMEOUT

public static final java.lang.String OPTION_AMP_CONNECT_TIMEOUT
When first invoking getInstance(Map), use this as the option name when designating the number of milliseconds to monitor each AMP connect request to avoid a hang condition.

See Also:
Configuration.KEY_AMP_CONNECT_TIMEOUT, Constant Field Values

OPTION_NOTIFICATION_CATCHER_IP_ADDRESS

public static final java.lang.String OPTION_NOTIFICATION_CATCHER_IP_ADDRESS
When first invoking getInstance(Map), use this as the option name when designating the IP address that the NotificationCatcher can be reached at by the device for the sending of events. This is needed only if the Manager is running on a multi-homed computer.

See Also:
Configuration.KEY_NOTIFICATION_CATCHER_IP_ADDRESS, Constant Field Values

OPTION_NOTIFICATION_CATCHER_IP_INTERFACE

public static final java.lang.String OPTION_NOTIFICATION_CATCHER_IP_INTERFACE
When first invoking getInstance(Map), use this as the option name when designating the name of the interface that the NotificationCatcher can be reached at by the device for the sending of events. This is needed only if the Manager is running on a multi-homed computer.

See Also:
Configuration.KEY_NOTIFICATION_CATCHER_IP_INTERFACE, Constant Field Values

OPTION_HTTP_LISTENER_IP_PORT

public static final java.lang.String OPTION_HTTP_LISTENER_IP_PORT
When first invoking getInstance(Map), use this as the option name when designating the IP port number that the HTTP Listener should listen on for file requests from devices.

See Also:
Configuration.KEY_HTTP_LISTENER_IP_PORT, Constant Field Values

OPTION_HTTP_LISTENER_SOCKET_TIMEOUT

public static final java.lang.String OPTION_HTTP_LISTENER_SOCKET_TIMEOUT
When first invoking getInstance(Map), use this as the option name when designating the IP port number that the HTTP Listener should listen on for file requests from devices.

See Also:
Configuration.KEY_HTTP_LISTENER_SOCKET_TIMEOUT, Constant Field Values

OPTION_HTTP_LISTENER_IP_ADDRESS

public static final java.lang.String OPTION_HTTP_LISTENER_IP_ADDRESS
When first invoking getInstance(Map), use this as the option name when designating the IP address that the HTTP Listener can be reached at by the device for retrieving files. This is needed only if the Manager is running on a multi-homed computer.

See Also:
Configuration.KEY_HTTP_LISTENER_IP_ADDRESS, Constant Field Values

OPTION_HTTP_LISTENER_IP_INTERFACE

public static final java.lang.String OPTION_HTTP_LISTENER_IP_INTERFACE
When first invoking getInstance(Map), use this as the option name when designating the name of the interface that the HTTP Listener can be reached at by the device for retrieving files. This is needed only if the Manager is running on a multi-homed computer.

See Also:
Configuration.KEY_HTTP_LISTENER_IP_INTERFACE, Constant Field Values

OPTION_DEVICE_LOG_PORT

public static final java.lang.String OPTION_DEVICE_LOG_PORT
When first invoking getInstance(Map), use this as the option name when designating the port for device logs.

See Also:
Configuration.KEY_DEVICE_LOG_PORT, Constant Field Values

OPTION_NOTIFICATION_CATCHER_NO_SSL

public static final java.lang.String OPTION_NOTIFICATION_CATCHER_NO_SSL
When first invoking getInstance(Map), use this as the option name when designating if the NotificationCatcher should be listening with a non-SSL server socket.

See Also:
Configuration.KEY_NOTIFICATION_CATCHER_NO_SSL, Constant Field Values

OPTION_SIGNAL_URL

public static final java.lang.String OPTION_SIGNAL_URL
When first invoking getInstance(Map), and if you want a third-party SOAP service to be signaled (receive a message) just before and immediately after a change (firmware or domain) is deployed to a device, this would specify the URL of the third-party SOAP service.

See Also:
Configuration.KEY_SIGNAL_URL, Constant Field Values

OPTION_SIGNAL_SOAP_ACTION

public static final java.lang.String OPTION_SIGNAL_SOAP_ACTION
When first invoking getInstance(Map), and if you want a third-party SOAP service to be signaled (receive a message) just before and immediately after a change (firmware or domain) is deployed to a device, this would specify the value for the SOAPAction header of the third-party SOAP service.

See Also:
Configuration.KEY_SIGNAL_SOAP_ACTION, Constant Field Values

OPTION_SIGNAL_CONNECT_TIMEOUT

public static final java.lang.String OPTION_SIGNAL_CONNECT_TIMEOUT
When first invoking getInstance(Map), and if you want a third-party SOAP service to be signaled (receive a message) just before and immediately after a change (firmware or domain) is deployed to a device, this would specify the connect timeout of the third-party SOAP service.

See Also:
Configuration.KEY_SIGNAL_CONNECT_TIMEOUT, Constant Field Values

OPTION_SIGNAL_RESPONSE_TIMEOUT

public static final java.lang.String OPTION_SIGNAL_RESPONSE_TIMEOUT
When first invoking getInstance(Map), and if you want a third-party SOAP service to be signaled (receive a message) just before and immediately after a change (firmware or domain) is deployed to a device, this would specify the timeout of waiting for a response from the third-party SOAP service.

See Also:
Configuration.KEY_SIGNAL_RESPONSE_TIMEOUT, Constant Field Values

OPTION_SIGNAL_DELAY_TIME

public static final java.lang.String OPTION_SIGNAL_DELAY_TIME
When first invoking getInstance(Map), and if you want a third-party SOAP service to be signaled (receive a message) just before and immediately after a change (firmware or domain) is deployed to a device, this would specify the sleep time after posting to the third-party SOAP service before continuing on to deploy the change.

See Also:
Configuration.KEY_SIGNAL_DELAY_TIME, Constant Field Values

OPTION_TRUSTSTORE_FILENAME

public static final java.lang.String OPTION_TRUSTSTORE_FILENAME
When first invoking getInstance(Map), use this as an option to specify the filename of the key store for the manager to use in it's truststore. The Manager will load all the certificates from the keystore to use as trusted certificates.

See Also:
Configuration.KEY_TRUSTSTORE_FILENAME, Constant Field Values

OPTION_TRUSTSTORE_PASSWORD

public static final java.lang.String OPTION_TRUSTSTORE_PASSWORD
When first invoking getInstance(Map), use this as an option to specify the password for the key store specified in Configuration.KEY_TRUSTSTORE_FILENAME

See Also:
Configuration.KEY_TRUSTSTORE_PASSWORD, Constant Field Values

DEFAULT_MAX_VERSIONS_TO_STORE

public static final int DEFAULT_MAX_VERSIONS_TO_STORE
The maximum number of versions to store in the repository before the oldest ones are purged from the system. Doing so prevents the repository from growing unbounded over time. This is the default value, it can be changed via setMaxVersionsToStore(int).

See Also:
setMaxVersionsToStore(int), getMaxVersionsToStore(), Constant Field Values

COPYRIGHT_2009_2013

public static final java.lang.String COPYRIGHT_2009_2013
See Also:
Constant Field Values
Method Detail

getInstance

public static Manager getInstance(java.util.Map options)
                           throws InvalidParameterException,
                                  InvalidCredentialException,
                                  DatastoreException,
                                  AMPException,
                                  DeletedException
Get an instance of the manager. A Manager is a singleton, so this will return a reference to the instance. If an instance doesn't exist yet, a new instance will be created using the specified options. If an instance already exists, the instance parameter will be ignored. The caller must have valid credentials to access the manager, and pass those credentials in via the options parameter.

Parameters:
options - a name value pair collection. Valid names in this collection are listed below, refer to each name javadoc for a description of the default and valid values. This value may be null if all of the default option values
Returns:
a reference to the manager. This is the root management object for the manager.

getManagerStatus

public static ManagerStatus getManagerStatus()
Get the status of the Manager.

Returns:
The current status of the manager. See ManagerStatusfor states and life cycle.

getDmiLogger

public static java.util.logging.Logger getDmiLogger()
Get the parent of all the loggers. With this you can set the Levels of the Loggers, add and remove Handlers, and add and remove resource bundles.

Returns:
the parent of all the loggers.

getDeviceLogger

public static java.util.logging.Logger getDeviceLogger()
Get the logger for distributed device logging.

Returns:
the logger for distributed device logging

getLoggerGroupName

public static java.lang.String getLoggerGroupName()
Get the name of the group that is assigned to all loggers.

Returns:
the name of the group that is assigned to all loggers

getPrimaryKey

public java.lang.String getPrimaryKey()

getByPrimaryKey

public static Manager getByPrimaryKey(java.lang.String targetKey)
Get the Manager that has the specified primary key. Since there is only one Manager object anyway, this method is not real helpful, instead it is probably easier to use getInstance(Map).

Parameters:
targetKey - the Manager that has the specified primary key. If there is no Manager instance that has this primary key then this method will return null.
Returns:
the Manager with the specified primary key.

getSubscriptionId

public java.lang.String getSubscriptionId()
Get the subscription id that this manager uses with devices. Normally this value is used only internally. But if you wish, you can retrieve this value and look it up on the device itself with the WebGUI or CLI to verify that the subscription is active. Subscriptions are used to receive change notifications from the device to the manager.

Returns:
the subscription id that this manager uses with devices.

getSubscriptionId

public java.lang.String getSubscriptionId(boolean isPrimary)

shutdown

public void shutdown()
Shutdown the Manager. It will in turn shutdown all the components it started, including daemon threads and subscriptions. The JVM may safely shutdown after this process has completed. This is a long-running method, as it unsubscribes from all managed devices and waits for all the threads to terminate.

See Also:
NotificationCatcher.shutdown(), Repository.shutdown()

exportAll

public ProgressContainer exportAll(java.io.OutputStream outputStream)
                            throws FullException
Export everything in the manager datastore to the specified OutputStream. This method can be used to backup the manager. This method will not close the OutputStream. The format of this data is in a known interchange format so the manager data can be migrated to another managmement system.

This may be a long-running method, depending on how long it takes to acquire all the locks. The locks may be held by other threads doing long-running operations.

Parameters:
outputStream - where the exported data will be written
Returns:
the ProgressContainer that can be used to determine the status of this long running task.
See Also:
importAll(InputStream)

importAll

public void importAll(java.io.InputStream inputStream)
               throws AMPException,
                      java.io.IOException,
                      DatastoreException
Import to the manager datastore from the specified InputStream. This InputStream should be connected to data that was previously exported. This method will not close the InputStream. The format of this data is in a known interchange format so the manager data can be migrated from another management instance.

This should be considered a long-running method, as it may take a while for the daemons to shutdown and restart with the new data.

Parameters:
inputStream - where to read the previously exported data from
See Also:
exportAll(OutputStream)

save

public void save(boolean force)
          throws DirtySaveException,
                 DatastoreException
Explicitly persist the Manager's content to a datastore.

Some circumstances should cause the data to be saved automatically, otherwise the data should be saved only when this method is invoked by the clientAPI consumer. Automatic saves should happen when changes are triggered as the result of a long-running method, or methods invoked by daemon threads instead of the clientAPI consumer:

Beware that the automatic save will save all the repository data, not just the subset of data that may have changed due to a long-running process. For this reason, it is difficult to "rollback" changes by not saving them and then restarting the Manager without a save invocation. There may have been a long-running task that triggered all the repository to be saved.

This method should be synchronized because we don't want multiple threads to be invoking it at the same time with slight time offsets, because they would be overwriting each other on the single disk storage destination, which may result in a mangled persisted store.

Parameters:
force - the data to persistent storage even if the modified objects were based on original values that were already modified by another party. Valid values are SAVE_UNFORCED, SAVE_FORCED
See Also:
SAVE_UNFORCED, SAVE_FORCED

getMaxVersionsToStore

public int getMaxVersionsToStore()
Gets the maximum number of versions of any one object that the manager will try to keep. This is the value set in setMaxVersionsToStore(int).

Returns:
the maximum number of versions of any one object to keep in the manager
See Also:
setMaxVersionsToStore(int), DEFAULT_MAX_VERSIONS_TO_STORE

setMaxVersionsToStore

public void setMaxVersionsToStore(int maxVersions)
                           throws InvalidParameterException,
                                  DatastoreException
Set the maximum number of versions of any one object that should be kept in the manager. This is used to trim the datastore to a reasonable size. If any object has more than maxVersions in the manager, then the manager will automatically delete the oldest versions until this threshold is no longer exceeded. The manager will not delete any versions that are currently deployed, even if that results in storing more than maxVersions. This prevents the repository from growing unbounded over a period of time.

Parameters:
maxVersions - the maximum number of versions of any one object to keep in the manager. For example, is set to 4 then the manager will limit itself to keeping 4 versions of firmware and 4 versions of each domain in each managedSet. This applies to all versioned objects: firmware, domains, and deployment policies. A value that is less than 1 (0 or negative) means that there is no limit and the manager will never delete versions.
See Also:
getMaxVersionsToStore()

toString

public java.lang.String toString()
Get a String representation of this object for the purpose of debugging or tracing.

Returns:
a String representation of this object for the purpose of debugging or tracing.

getAllDevices

public Device[] getAllDevices()
Gets the list of all known devices in the manager, independent of being assigned to a ManagedSet.

Returns:
a list of all Devices that are defined in the Manager.
See Also:
getUnmanagedDevices(DeviceType, ModelType, StringCollection)

getUnmanagedDevices

public Device[] getUnmanagedDevices(DeviceType desiredDeviceType,
                                    ModelType desiredModelType,
                                    StringCollection desiredFeatures)
                             throws DeletedException
Gets the list of known devices in the manager that are not assigned to a ManagedSet. Additionally, it may filter the list to include only devices of the desired DeviceType, ModelType, and/or feature list.

Parameters:
desiredDeviceType - if set to null, this method will return unmanaged devices of any DeviceType. If set to a non-null value, this method will return all unmanaged devices that are compatible with this desired DeviceType. See DeviceType.isCompatibleWith(DeviceType) for a description of compatibility. This parameter may be combined with the other parameters to perform a logical AND.
desiredModelType - if set to null, this method will return unmanaged devices of any ModelType. If set to a non-null value, this method will return all unmanaged devices that are compatible with this desired ModelType. See ModelType.isCompatibleWith(ModelType) for a description of compatibility. This parameter may be combined with the other parameters to perform a logical AND.
desiredFeatures - if set to null, this method will return unmanaged devices of any feature list. If set to a non-null value, this method will return all unmanaged devices that match only this desired feature list. This parameter may be combined with the other parameters to perform a logical AND.
Returns:
a list of unmanaged Devices, meaning devices that are not members of any managedSet. This list be may filtered by using the above parameters.
See Also:
getAllDevices()

getDeviceBySerialNumber

public Device getDeviceBySerialNumber(java.lang.String targetSerialNumber)
                               throws DeletedException
Deprecated. Get a Device that has a particular hardware serial number. This method does not care if the Device is a member of a ManagedSet or not.

Parameters:
targetSerialNumber - the hardware serial number to search for.
Returns:
a Device that has a particular hardware serial number. This method may return null if no device has this hardware serial number.
See Also:
Device.getSerialNumber()

getDevicesBySerialNumber

public Device[] getDevicesBySerialNumber(java.lang.String targetSerialNumber)
                                  throws DeletedException
Get all Devices that have a particular hardware serial number. This method does not care if the Device is a member of a ManagedSet or not.

Parameters:
targetSerialNumber - the hardware serial number to search for.
Returns:
a array of Device contains all devices that have a particular hardware serial number. This method may return zero array if no device has this hardware serial number.
See Also:
Device.getSerialNumber()

getDeviceBySymbolicName

public Device getDeviceBySymbolicName(java.lang.String targetSymbolicName)
                               throws DeletedException
Get a Device that has a particular symbolic name. This method does not care if the Device is a member of a ManagedSet or not.

Parameters:
targetSymbolicName - the symbolic name to look for.
Returns:
a Device that has a particular symbolic name. This method may return null if no device has this symbolic name.
See Also:
Device.getSymbolicName()

remove

public void remove(Device device)
            throws NotEmptyException,
                   NotExistException,
                   InUseException,
                   InvalidParameterException,
                   NotEmptyException,
                   DatastoreException,
                   LockBusyException,
                   DeletedException,
                   FullException
Removes a device from the manager. Also removes it from a ManagedSet if it is a member.

Parameters:
device - Device to remove from the Manager.
See Also:
ManagedSet.removeDevice(Device)

getManagedSet

public ManagedSet getManagedSet(java.lang.String name)
                         throws DatastoreException,
                                DeletedException
Get the existing ManagedSet that has the specified name from the manager.

Parameters:
name - name of the ManagedSet as stored in the manager
Returns:
a reference to the ManagedSet object that has the specified name. If no ManagedSet has the specified name, this method may return null.
See Also:
ManagedSet.getName()

getManagedSets

public ManagedSet[] getManagedSets()
Get a list of all the ManagedSets in the manager.

Returns:
a list of all ManagedSets. If there are no ManagedSets defined yet, this array may have zero elements.
See Also:
"useCases section 4.2"

remove

public void remove(ManagedSet managedSet)
            throws NotEmptyException,
                   InUseException,
                   InvalidParameterException,
                   DatastoreException,
                   LockBusyException,
                   FullException
Remove an existing ManagedSet from the Manager. The ManagedSet is deleted and any devices that were members of the ManagedSet are no longer managed. The device and all the contained domains are still persisted in the repository. They can be added to another ManagedSet if needed.

Parameters:
managedSet - the managedSet to remove from the Manager
See Also:
"useCases section 4.2"

addFirmware

public ProgressContainer addFirmware(Blob image,
                                     java.lang.String userComment)
                              throws FullException
Create a BackgroundTask to add a new firmware image to the manager. It will automatically create a FirmwareVersion object for this Blob, and will also automatically create a Firmware object if necessary to hold this FirmwareVersion. This needs to run as a BackgroundTask because the Blob is converted to a base64 encoded value, and that may take some time for 20MB of data. The BackgroundTask should have the FirmwareVersion in the ProgressContainer when it completes successfully.

Parameters:
image - the firmware binary image to add
userComment - a human-readable string that describes this image
Returns:
a new ProgressContainer object to track the progress of this BackgroundTask and from which to retrieve the newly created FirmwareVersion object. From the FirmwareVersion object you can get the Firmware object, if desired.
See Also:
Firmware.remove(Version), FirmwareVersion.getFirmware(), "useCases section 4.3, 4.4"

getFirmwares

public Firmware[] getFirmwares()
Get a list of all the Firmware objects that are in the manager.

Returns:
a list of Firmware object
See Also:
Firmware.getVersions(), "useCases section 4.3, 4.4"

getFirmware

public Firmware getFirmware(DeviceType deviceType,
                            ModelType modelType,
                            StringCollection strictFeatures,
                            StringCollection nonstrictFeatures)
For a specified device profile (deviceType, modelType, strictFeatures, nonStrictFeatures), get the Firmware object that would match that device profile. When reading a firmware image Blob, this method determines which Firmware that the newly-created FirmwareVersion should go under.

Parameters:
deviceType - the device type that the firmware should be applicable to
modelType - the model type of the device that the firmware should be applicable to
strictFeatures - the strict features of the device that the firmware should be applicable to
nonstrictFeatures - the non-strict features of the device that the firmware should be applicable to
Returns:
a Firmware object that should correspond to the specified device profile/attributes. If no Firmware object exists yet for that device profile, then this method will return null.

getBestFirmware

public Firmware getBestFirmware(DeviceType deviceType,
                                ModelType modelType,
                                StringCollection deviceFeatures,
                                java.lang.String level)
Get the best Firmware that is suitable for the specified deviceType, modelType, and device features. The Firmware object must already exist. Because the device can't tell us which features are strict and which are non-strict, and because it is OK if the firmware provides extra non-strict features, there is not a simple 1:1 mapping from the device's metadata to a single firmware file. So because there could be multiple firmware files that are a candidate for the device, approximate that 1:1 mapping by select a "best" Firmware. This method is used when we have a device and are trying to determine which Firmware and/or FirmwareVersion would be applicable for it.

Parameters:
deviceType - the type of device that you want to find a Firmware object for
modelType - the device's model type that you want to find a Firmware object for
deviceFeatures - the device's features (both strict and non-strict) that you want to find a Firmware object for
level - if you are looking for a specific firmware level, specify it here and discovered Firmwares that don't already have this level won't be included. If you aren't looking for a specific firmware level, just set this parameter to null.
Returns:
a Firmware object that is suitable for the deviceType, modelType, and deviceFeatures indicated. If a level was specified, it will return a Firmware object that already has a FirmwareVersion of the specified level.

remove

public void remove(Firmware firmware)
            throws InUseException,
                   InvalidParameterException,
                   DeletedException,
                   DatastoreException
Remove a Firmware object from the Manager. This will also remove all FirmwareVersion objects which are under this Firmware.

Parameters:
firmware - the Firmware object to remove. The child FirmwareVersion objects will be automatically found and removed from the Manager also.

enqueue

public void enqueue(Notification notification,
                    WorkArea workArea)
Enqueue a Notification object to be processed by the Manager. This Notification object is a change event from the device and was created by the NotificationCatcher because we are subscribed to the device. Generally only the NotificationCatcher should be calling this method. User interfaces should not be calling this method. The processing is performed in the background by the QueueProcessor.

Parameters:
notification - the notification which was received and parsed by the NotificationCatcher.
workArea - the workArea that the device is in. There is one queue per work area.

enqueue

public void enqueue(BackgroundTask backgroundTask,
                    WorkArea workArea)
             throws FullException
Enqueue a BackgroundTask object to be processed by the Manager. This BackgroundTask object may have been created by the caller of the clientAPI, or it may have been created internally as the result of a heartbeat or other internal processing. Generally only internal threads should be calling this method. User interfaces should not be calling this method. The processing is performed in the background by the QueueProcessor.

Parameters:
backgroundTask - the background task which needs to be performed.
workArea - the workArea that the device is in. There is one queue per work area.

getNotificationCatcherURL

public java.net.URL getNotificationCatcherURL()
Get the URL that the NotificationCatcher will use when subscribing to Devices in ManagedSets. This can be used to help the user verify that the Manager's correct IPaddress/IPinterface is being used when the Manager subscribes to Devices in ManagedSets.

Returns:
the URL that the NotificationCatcher will use when subscribing to Devices in ManagedSets

getHeartbeatDaemonSleepMS

public long getHeartbeatDaemonSleepMS()
Get the sleep interval of the heartbeat daemon in milliseconds.

Returns:
the sleep interval of the heartbeat daemon in milliseconds.
See Also:
setHeartbeatDaemonSleepMS(long)

setHeartbeatDaemonSleepMS

public void setHeartbeatDaemonSleepMS(long ms)
Set the sleep interval of the heartbeat daemon. This change is not persisted after the application exits.

Parameters:
ms - the sleep interval of the heartbeat daemon in milliseconds.

setDomainSynchronizationDaemonSleepMS

public void setDomainSynchronizationDaemonSleepMS(long ms)
Change the sleep interval for the DomainSynchronization daemon. This changes the scheduled interval between firing of the DomainSynchronization daemon. This change is not persisted after the application exits.

Parameters:
ms - the sleep interval of the DomainSynchronization daemon in milliseconds.

getDomainSynchronizationDaemonSleepMS

public long getDomainSynchronizationDaemonSleepMS()
Get the sleep interval of the DomainSynchronization daemon in milliseconds.

Returns:
the sleep interval of the DomainSynchronization daemon in milliseconds.
See Also:
setDomainSynchronizationDaemonSleepMS(long), Domain.setSynchronizationMode(DomainSynchronizationMode)

getNotificationProgresses

public Queue getNotificationProgresses()
Get a reference to the Queue that holds the MacroProgressContainers created by Notification tasks. This is so you can see what tasks are queued for future execution, are in progress, and have run historically. By default, this queue is not created and ProgressContainers are not added here. To use this feature, in getInstance(Map), you must specify the option OPTION_COLLECT_DAEMON_PROGRESSES, and use the object value Boolean.TRUE. If you specify that option, you are responsible for removing MacroProgressContainers from this Queue, otherwise the Queue will grow unbounded over the lifetime of the NotificationCatcher daemon and consume system resources.

Returns:
a reference to the Queue that holds MacroProgressContainers created by Notification tasks.

getDomainSynchronizaionProgresses

public Queue getDomainSynchronizaionProgresses()
Get a reference to the Queue that holds the ProgressContainers created by the domain synchronization daemon. This is so you can see what the DomainSynchronizationDaemon is doing and has discovered. By default, this queue is not created and ProgressContainers are not added here. To use this feature, in getInstance(Map), you must specify the option OPTION_COLLECT_DOMAIN_SYNCH_PROGRESSES, and use the object value Boolean.TRUE. If you specify that option, you are responsible for removing the ProgressContainers from this Queue, otherwise the Queue will grow unbounded over the lifetime of the DomainSynchronizationDaemon and consume system resources.

Returns:
a reference to the Queue that holds ProgressContainers created by the DomainSynchronizationDaemon.

getHeartbeatProgresses

public Queue getHeartbeatProgresses()
Get a reference to the Queue that holds the MacroProgressContainers created by the heartbeat daemon. This is so you can see what the HeartbeatDaemon is doing and has discovered. By default, this queue is not created and MacroProgressContainers are not added here. To use this feature, in getInstance(Map), you must specify the option OPTION_COLLECT_DAEMON_PROGRESSES, and use the object value Boolean.TRUE. If you specify that option, you are responsible for removing the MacroProgressContainers from this Queue, otherwise the Queue will grow unbounded over the lifetime of the HeartbeatDaemon and consume system resources.

Returns:
a reference to the Queue that holds MacroProgressContainers created by the HeartbeatDaemon.

generateReport

public void generateReport(java.lang.String filePath,
                           java.lang.String fileName)
                    throws java.io.IOException,
                           InvalidParameterException,
                           DatastoreException
Generate a report that will capture the domain configuration deployments completed successfully.

Parameters:
filePath - location to write the report that will be generated.
fileName - The base name of the file to be written The filename will be appended with the current timestamp. Example fileName: "ReportMaint1" will be named like ReportMaint12010-04-22_03-25-13.txt -
Note the ".txt" extension is always added.

getLineSeparator

public java.lang.String getLineSeparator()

getVersion

public java.lang.String getVersion()
Returns the version of this WAMT image as a String

Returns:

addDomainSyncTaskInProgress

public void addDomainSyncTaskInProgress(java.lang.String key,
                                        DomainSynchronizationTask value)

removeDomainSyncTaskInProgress

public void removeDomainSyncTaskInProgress(java.lang.String task)

getDomainSyncTasksInProgress

public java.util.Hashtable<java.lang.String,DomainSynchronizationTask> getDomainSyncTasksInProgress()

getTagNames

public java.util.Set<java.lang.String> getTagNames()
Get all unique tag names, return an empty set if no tags have been added

Returns:
a set contains all tag names which were added before

getTagValues

public java.util.Set<java.lang.String> getTagValues(java.lang.String name)
                                             throws InvalidParameterException
Get all unique tag values for a given tag name. return an empty set if no tags have been added for the given name

Parameters:
name - tag name
Returns:
a set contains all tag value by the specific tag name which were added before

getTaggedByName

public java.util.Set<Taggable> getTaggedByName(java.lang.String name)
                                        throws InvalidParameterException
Get all tagged resources by tag name. return an empty set if no tags have been added for the given name

Parameters:
name - the tag name
Returns:
a set contains all tagged resources

getTaggedByNameValue

public java.util.Set<Taggable> getTaggedByNameValue(java.lang.String name,
                                                    java.lang.String value)
                                             throws InvalidParameterException
Get all resources tagged with a given name and value. return an empty set if there are no matches

Parameters:
name - the tag name
value - the tag value
Returns:
a set contains all resources tagged with a given name and value


© Copyright IBM Corp. 2006, 2010 All Rights Reserved.