2009-01-09 1.2.0

org.eclipse.soda.dk.device
Class TransportDevice

java.lang.Object
  extended by org.eclipse.soda.dk.core.EscObject
      extended by org.eclipse.soda.dk.device.Control
          extended by org.eclipse.soda.dk.device.Container
              extended by org.eclipse.soda.dk.device.Device
                  extended by org.eclipse.soda.dk.device.TransportDevice
All Implemented Interfaces:
java.lang.Runnable, ControlService, DeviceService, ErrorListener, MessageListener, MultiplexMessageListener, MultiplexTransportListener, TransportListener
Direct Known Subclasses:
QueueDevice, ThreadDevice

public abstract class TransportDevice
extends Device
implements TransportListener, MultiplexTransportListener

The TransportDevice class implements the DeviceService interface.

Since:
1.0
Version:
1.2.0
See Also:
Container, Control, Device, ControlService, ErrorListener, MessageHandler, TransportService, TransportListener

Field Summary
 
Fields inherited from class org.eclipse.soda.dk.device.Device
channelChanged, channels, closeChannel, openChannel, POLL_COMMAND_NAME, START_COMMAND_NAME, STARTED_MASK, STOP_COMMAND_NAME
 
Fields inherited from class org.eclipse.soda.dk.device.Container
broadcastCommandCount, broadcastMeasurementCount, broadcastSignalCount, capabilities, CHANNEL_CHANGED_EXCEPTION_RESOURCE, configuration, DEVICE_ACTIVE_STATE_RESOURCE, DEVICE_ALIVE_STATE_RESOURCE, DEVICE_CHANGED_EXCEPTION_RESOURCE, DEVICE_CONNECTED_STATE_RESOURCE, DEVICE_CREATED_STATE_RESOURCE, DEVICE_DEAD_STATE_RESOURCE, DEVICE_STARTED_STATE_RESOURCE, DEVICE_STATE_RESOURCE_TABLE, EXCEPTION_NO_TRANSPORT_RESOURCE, INITIALIZE_CONFIGURATION_EXCEPTION_RESOURCE, INITIALIZE_CONFIGURATION_MISCOMPARE_RESOURCE, INITIALIZE_CONFIGURATION_RESOURCE, INITIALIZE_CONFIGURATION_SAME_RESOURCE, INITIALIZE_READ_EXCEPTION_RESOURCE, INITIALIZE_WRITE_EXCEPTION_RESOURCE, logLevel, MESSAGE_RECEIVED_EXCEPTION_RESOURCE, metrics, NOTIFICATION_PRIORITY_DEFAULT, notificationPriority, PROCESSING_UNABLE_TO_KEEP_UP_EXCEPTION_RESOURCE, RUN_EXCEPTION_RESOURCE, SEND_EXCEPTION_RESOURCE, stateChanged, status, TOPIC_DELIMITER
 
Fields inherited from class org.eclipse.soda.dk.device.Control
EXCEPTION_READ_FAILED_RESOURCE, SET_VALUE_EXCEPTION_RESOURCE
 
Fields inherited from class org.eclipse.soda.dk.core.EscObject
CLONE_EXCEPTION_RESOURCE, EMPTY_BYTES, EMPTY_STRING, ERROR_OCCURRED_EXCEPTION_RESOURCE, ID_FILTER_KEY, ID_KEY, ID_KEY_ANY, ID_NAME_KEY, INTEGER_TABLE, INTEGER_TABLE_SIZE, KEY_KEY, LOG_DEBUG, LOG_DEFAULT, LOG_ERROR, LOG_INFO, LOG_LEVEL_KEY, LOG_TRACE, LOG_WARNING, LONG_TABLE, LONG_TABLE_SIZE, PREFIX_KEY, READONLY_EMPTY_COLLECTION, READONLY_EMPTY_LIST, READONLY_EMPTY_MAP, RESOURCE_BUNDLE, SLEEP_EXCEPTION_RESOURCE, SYSTEM_INFO_RESOURCE, TO_STRING_CONFIGURATION_KEYS, TRACE_LEVEL_HIGH, TRACE_LEVEL_LOW, TRACE_LEVEL_MAX, TRACE_LEVEL_MIN, TRACE_LEVEL_NONE, TRACE_LEVEL_NORMAL, TRACELEVEL_KEY, UNKNOWN_ERROR_RESOURCE, Unmodifiable
 
Fields inherited from interface org.eclipse.soda.dk.device.service.DeviceService
ACTIVE, ALIVE, ALL_COMMANDS, ALL_MEASUREMENTS, ALL_SIGNALS, AUTOSTART, BLOCKPROCESSING, BROADCAST_COMMAND_COUNT_DATA_KEY, BROADCAST_MEASUREMENT_COUNT_DATA_KEY, BROADCAST_SIGNAL_COUNT_DATA_KEY, Capabilities, CAPABILITIES_EXTERNAL_KEY, CAPABILITIES_GET_EXTERNAL_KEY, CAPABILITIES_READ_EXTERNAL_KEY, CAPABILITIES_WRITE_EXTERNAL_KEY, CHANNEL_CHANGED_EXTERNAL_KEY, CHANNEL_EXTERNAL_ID_DATA_KEY, CHANNEL_ID_DATA_KEY, ChannelChanged, Channels, CHANNELS_EXTERNAL_KEY, CHANNELS_GET_EXTERNAL_KEY, CHANNELS_READ_EXTERNAL_KEY, CHANNELS_WRITE_EXTERNAL_KEY, CLOSE_CHANNEL_EXTERNAL_KEY, CloseChannel, Configuration, CONFIGURATION_DATA_KEY, CONFIGURATION_EXTERNAL_KEY, CONFIGURATION_GET_EXTERNAL_KEY, CONFIGURATION_READ_EXTERNAL_KEY, CONFIGURATION_WRITE_EXTERNAL_KEY, CONNECTED, CREATED, DEAD, ERROR_EXTERNAL_KEY, EVENPROCESSING, EXECUTE_EXTERNAL_KEY, GET_EXTERNAL_KEY, INITIALIZEMEASUREMENTS, KEYS_DATA_KEY, Metrics, METRICS_EXTERNAL_KEY, METRICS_GET_EXTERNAL_KEY, NULL, OPEN_CHANNEL_EXTERNAL_KEY, OpenChannel, READ_EXTERNAL_KEY, RECEIVED_KEY_DATA_KEY, SERVICE_NAME, SET_EXTERNAL_KEY, SOURCE_DATA_KEY, STARTED, STATE_DATA_KEY, STATE_OLD_DATA_KEY, Status, STATUS_EXTERNAL_KEY, STATUS_GET_EXTERNAL_KEY, STATUS_READ_EXTERNAL_KEY, STATUS_WRITE_EXTERNAL_KEY, TIMESTAMP_DATA_KEY, TRIGGER_EXTERNAL_KEY, VALUE_DATA_KEY, VALUE_OLD_DATA_KEY, WRITE_EXTERNAL_KEY
 
Constructor Summary
protected TransportDevice()
          Constructs an TransportDevice object.
protected TransportDevice(java.lang.String capabilities, java.lang.String status, java.lang.String configuration, java.lang.String metrics)
          Constructs an instance of this class from the specified capabilities, status, configuration and metrics parameters.
protected TransportDevice(java.lang.String capabilities, java.lang.String status, java.lang.String configuration, java.lang.String metrics, java.lang.String channels, java.lang.String channelChanged, java.lang.String openChannel, java.lang.String closeChannel)
          Constructs an instance of this class from the specified capabilities, status, configuration, metrics, channels, channel changed, open channel and close channel parameters.
 
Method Summary
 void activate()
          Activate.
 void errorOccurred(java.lang.Object source, java.lang.Object timestamp, java.lang.Object data)
          The errorOccurred method is called when an error has occurred.
 void exit()
          Exit.
abstract  TransportService getDefaultTransport()
          Gets the default transport (TransportService) value.
 InterestService getInterest()
          Gets the interest (InterestService) value.
 java.util.Map getMessageListeners()
          Gets the Map messageHandlers property value.
 TransportService getTransport()
          Gets the Transport transport property value.
protected  void load(ControlService control)
          Perform the load action method.
 void messageReceived(TransportService transportService, java.lang.Object timestamp, ChannelService channel, MessageService message)
          This API will be called each time the TransportService receives a valid message.
 void messageReceived(TransportService transportService, java.lang.Object timestamp, MessageService message)
          Message received with the specified transport service, timestamp and message parameters.
 void register(TransportService transport)
          Register with the specified transport parameter.
 void registerMessageHandler(MessageService[] messages, MessageHandler value)
          Perform the registerMessageHandler action method.
 void registerMessageHandler(MessageService message, MessageHandler value)
          Register message handler with the specified message and value parameters.
 void send(ChannelService channel, MessageService message)
          Send with the specified channel and message parameters.
 void send(ChannelService channel, MessageService message, ResponseListener responseListener)
          Send with the specified channel, message and response listener parameters.
 void send(MessageService message)
          Perform the send action method.
 void send(MessageService message, ResponseListener responseListener)
          Send with the specified message and response listener parameters.
 void setState(int state)
          Sets the state value.
 void setTransport(TransportService transport)
          Sets the transport value.
 void setup()
          Method setup.
 void start()
          Perform the start action method.
 void stop()
          Perform the stop action method.
 void transportChanged(TransportService transportService, java.lang.Object timestamp, int newState, int oldState)
          This method will be called when the state of the TransportService changes.
 void unregister(TransportService transport)
          Unregister with the specified transport parameter.
 
Methods inherited from class org.eclipse.soda.dk.device.Device
addDeviceListener, channelChanged, channelChanged, closeChannel, controlAdded, controlRemoved, finalize, fireChannelChanged, fireContainerChanged, fireErrorOccurred, getCapabilities, getChannel, getChannelChanged, getChannels, getCloseChannel, getConfiguration, getDefaultKey, getDeviceListener, getMessageCapacity, getMessageKey, getMultiplexDeviceListener, getNotificationPriorityDefault, getOpenChannel, getPriority, getReadTimeout, getStatus, getThread, handleMethodChannels, handleMethodCloseChannel, handleMethodMetrics, handleMethodOpenChannel, hasListeners, initialize, initialize, isAutoStart, isBlockProcessing, isEvenProcessing, isRunning, isStarted, isThreadNeeded, openChannel, put, remove, removeDeviceListener, restart, run, setDeviceListener, setReadTimeout, setRunning, setStarted, setThread, startup
 
Methods inherited from class org.eclipse.soda.dk.device.Container
activate, addData, addQualifiedKeys, attemptRecoveryFromError, broadcast, broadcastStatus, broadcastStatus, changeIds, collectMetrics, createFilter, deactivate, deactivate, elements, get, getBroadcastCommandCount, getBroadcastMeasurementCount, getBroadcastSignalCount, getBundleContext, getCommand, getConfigurationInformation, getConfigurationInformation, getConfigurationService, getControlCapacity, getControls, getDefaultStyle, getErrorSeverity, getInformation, getLogDetails4, getLogDetails5, getLogDetails6, getLogLevel, getMeasurement, getMetrics, getNotificationController, getNotificationPriority, getNotificationService, getNumberValue, getPrefix, getSignal, getState, getStatusDictionary, getString, getStyle, handleMethodMetrics, initializeMeasurements, initializeMeasurements, isInitializeMeasurements, keys, notificationReceived, prependPrefix, prependPrefix, put, putConfigurationInformation, register, register, removeListeners, removeQualifiedKeys, setBroadcastCommandCount, setBroadcastMeasurementCount, setBroadcastSignalCount, setBundleContext, setConfigurationInformation, setInformation, setListenersNull, setLogLevel, setMetrics, setNotificationController, setNotificationPriority, setNotificationService, setStateLocal, setStyle, setupCustom, setupNotification, setupNotificationCustom, startupCommands, startupCommands, toString, toStringInfo, transportStartedWait, unregister, unsubscribe, updateBroadcastCommandCount, updateBroadcastMeasurementCount, updateBroadcastSignalCount, validConfigurationId
 
Methods inherited from class org.eclipse.soda.dk.device.Control
equalsValue, findMethod, getCodeKey, getKey, getQualifiedKey, getResource, setKey, setQualifiedKey
 
Methods inherited from class org.eclipse.soda.dk.core.EscObject
createBoolean, createDefaultLogService, createException, createException, createInteger, createIntegerTable, createLong, createLongTable, createNumber, format, getBoolean, getByte, getChar, getCurrentTimestamp, getDefaultLogService, getDefaultResource, getDouble, getFloat, getId, getIdName, getInt, getLoadLibraryName, getLogDetails, getLogDetails, getLogDetails0, getLogDetails1, getLogDetails2, getLogDetails3, getLogDetails7, getLogService, getLong, getObject, getOutputName, getReadOnlyEmptyCollection, getReadOnlyEmptyList, getReadOnlyEmptyMap, getShort, getSimpleClassName, getStaticBoolean, getStaticByte, getStaticChar, getStaticDouble, getStaticFloat, getStaticInt, getStaticLong, getStaticObject, getStaticShort, getStaticString, getTraceLevel, getVmLibraryVersion, handleError, handleError, handleError, handleError, handleErrorInternal, handleStaticError, handleStaticException, isBackward, isDebug, isLogging, isTrace, isUnmodifiable, loadService, log, log, log, report, report, report, report, report, report, report, reportError, reportSystemInfo, setBackward, setDebug, setDefaultLogService, setLogService, setTraceLevel, setUnmodifiable, shouldLog, sleep, startupEscStatic, toStringConfigurationKeys
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.soda.dk.transport.service.MultiplexTransportListener
channelChanged
 
Methods inherited from interface org.eclipse.soda.dk.device.service.DeviceService
elements, get, getCommand, getConfigurationInformation, getMeasurement, getNotificationService, getSignal, getState, setConfigurationInformation, setNotificationService
 
Methods inherited from interface org.eclipse.soda.dk.device.service.ControlService
getKey
 

Constructor Detail

TransportDevice

protected TransportDevice()
Constructs an TransportDevice object.

See Also:
TransportDevice(String,String,String,String), TransportDevice(String,String,String,String,String,String,String,String)

TransportDevice

protected TransportDevice(java.lang.String capabilities,
                          java.lang.String status,
                          java.lang.String configuration,
                          java.lang.String metrics)
Constructs an instance of this class from the specified capabilities, status, configuration and metrics parameters.

Parameters:
capabilities - The capabilities (String) parameter.
status - The status (String) parameter.
configuration - The configuration (String) parameter.
metrics - The metrics (String) parameter.
Since:
1.2
See Also:
TransportDevice(), TransportDevice(String,String,String,String,String,String,String,String)

TransportDevice

protected TransportDevice(java.lang.String capabilities,
                          java.lang.String status,
                          java.lang.String configuration,
                          java.lang.String metrics,
                          java.lang.String channels,
                          java.lang.String channelChanged,
                          java.lang.String openChannel,
                          java.lang.String closeChannel)
Constructs an instance of this class from the specified capabilities, status, configuration, metrics, channels, channel changed, open channel and close channel parameters.

Parameters:
capabilities - The capabilities (String) parameter.
status - The status (String) parameter.
configuration - The configuration (String) parameter.
metrics - The metrics (String) parameter.
channels - The channels (String) parameter.
channelChanged - The channel changed (String) parameter.
openChannel - The open channel (String) parameter.
closeChannel - The close channel (String) parameter.
Since:
1.2
See Also:
TransportDevice(), TransportDevice(String,String,String,String)
Method Detail

activate

public void activate()
Activate.

Overrides:
activate in class Container
See Also:
Container.activate(ChannelService)

errorOccurred

public void errorOccurred(java.lang.Object source,
                          java.lang.Object timestamp,
                          java.lang.Object data)
The errorOccurred method is called when an error has occurred. Since other notifications are blocked until this method returns, implementors of this method should: The source object that detected the error. The time at which the error was detected. Contains any data about the error.

Specified by:
errorOccurred in interface ErrorListener
Overrides:
errorOccurred in class Container
Parameters:
source - The source (Object) parameter.
timestamp - The time stamp (Object) parameter.
data - The data (Object) parameter.
See Also:
Container.fireErrorOccurred(Object,Object)

exit

public void exit()
Exit.

Specified by:
exit in interface DeviceService
Overrides:
exit in class Container

getDefaultTransport

public abstract TransportService getDefaultTransport()
Gets the default transport (TransportService) value.

Returns:
The default transport (TransportService) value.

getInterest

public InterestService getInterest()
Gets the interest (InterestService) value.

Returns:
InterestService The interest filter for this device.

getMessageListeners

public java.util.Map getMessageListeners()
Gets the Map messageHandlers property value.

Returns:
Results of the get message listeners (Hashtable)

getTransport

public TransportService getTransport()
Gets the Transport transport property value.

Specified by:
getTransport in interface DeviceService
Overrides:
getTransport in class Container
Returns:
Results of the get transport (TransportService)
See Also:
getDefaultTransport(), setTransport(TransportService)

load

protected void load(ControlService control)
Perform the load action method. org.eclipse.soda.dk.device.service.ControlService

Overrides:
load in class Device
Parameters:
control - The control (ControlService) parameter.

messageReceived

public void messageReceived(TransportService transportService,
                            java.lang.Object timestamp,
                            ChannelService channel,
                            MessageService message)
This API will be called each time the TransportService receives a valid message. Since other notifications are blocked until this method returns, implementors of this method should: The transport that received the message. The timestamp when the message was detected. The message received.

Specified by:
messageReceived in interface MultiplexMessageListener
Parameters:
transportService - The transport service (TransportService) parameter.
timestamp - The time stamp (Object) parameter.
channel - The channel (ChannelService) parameter.
message - The message (MessageService) parameter.
Since:
1.2
See Also:
messageReceived(TransportService,Object,MessageService)

messageReceived

public void messageReceived(TransportService transportService,
                            java.lang.Object timestamp,
                            MessageService message)
Message received with the specified transport service, timestamp and message parameters.

Specified by:
messageReceived in interface MessageListener
Parameters:
transportService - The transport service (TransportService) parameter.
timestamp - The time stamp (Object) parameter.
message - The message (MessageService) parameter.
See Also:
messageReceived(TransportService,Object,ChannelService,MessageService)

register

public void register(TransportService transport)
Register with the specified transport parameter.

Parameters:
transport - The transport (TransportService) parameter.

registerMessageHandler

public void registerMessageHandler(MessageService message,
                                   MessageHandler value)
Register message handler with the specified message and value parameters.

Parameters:
message - The message (MessageService) parameter.
value - The value (MessageHandler) parameter.
See Also:
registerMessageHandler(MessageService[],MessageHandler)

registerMessageHandler

public void registerMessageHandler(MessageService[] messages,
                                   MessageHandler value)
Perform the registerMessageHandler action method. org.eclipse.soda.dk.message.service.MessageService[] org.eclipse.soda.dk.device.MessageHandler

Parameters:
messages - The messages (MessageService[]) parameter.
value - The value (MessageHandler) parameter.
See Also:
registerMessageHandler(MessageService,MessageHandler)

send

public void send(ChannelService channel,
                 MessageService message)
Send with the specified channel and message parameters.

Specified by:
send in interface DeviceService
Overrides:
send in class Container
Parameters:
channel - The channel (ChannelService) parameter.
message - The message (MessageService) parameter.
See Also:
send(ChannelService,MessageService,ResponseListener), send(MessageService), send(MessageService,ResponseListener)

send

public void send(ChannelService channel,
                 MessageService message,
                 ResponseListener responseListener)
Send with the specified channel, message and response listener parameters.

Specified by:
send in interface DeviceService
Overrides:
send in class Container
Parameters:
channel - The channel (ChannelService) parameter.
message - The message (MessageService) parameter.
responseListener - The response listener (ResponseListener) parameter.
See Also:
send(ChannelService,MessageService), send(MessageService), send(MessageService,ResponseListener)

send

public void send(MessageService message)
          throws java.lang.RuntimeException
Perform the send action method. org.eclipse.soda.dk.message.service.MessageService

Specified by:
send in interface DeviceService
Overrides:
send in class Container
Parameters:
message - The message (MessageService) parameter.
Throws:
java.lang.RuntimeException - Runtime Exception.
See Also:
send(ChannelService,MessageService), send(ChannelService,MessageService,ResponseListener), send(MessageService,ResponseListener)

send

public void send(MessageService message,
                 ResponseListener responseListener)
Send with the specified message and response listener parameters.

Specified by:
send in interface DeviceService
Overrides:
send in class Container
Parameters:
message - The message (MessageService) parameter.
responseListener - The response listener (ResponseListener) parameter.
See Also:
send(ChannelService,MessageService), send(ChannelService,MessageService,ResponseListener), send(MessageService)

setState

public void setState(int state)
Sets the state value.

Overrides:
setState in class Container
Parameters:
state - The state (int) parameter.
See Also:
Container.getState()

setTransport

public void setTransport(TransportService transport)
Sets the transport value.

Specified by:
setTransport in interface DeviceService
Overrides:
setTransport in class Container
Parameters:
transport - The transport (TransportService) parameter.
See Also:
getDefaultTransport(), getTransport()

setup

public void setup()
Description copied from class: Container
Method setup.

Overrides:
setup in class Container
See Also:
Container.setup()

start

public void start()
Description copied from class: Device
Perform the start action method.

Specified by:
start in interface DeviceService
Overrides:
start in class Device
See Also:
DeviceService.start()

stop

public void stop()
Perform the stop action method.

Specified by:
stop in interface DeviceService
Overrides:
stop in class Device
See Also:
DeviceService.stop()

transportChanged

public void transportChanged(TransportService transportService,
                             java.lang.Object timestamp,
                             int newState,
                             int oldState)
This method will be called when the state of the TransportService changes. Since other notifications are blocked until this method returns, implementors of this method should: Because of the multiple threads and quickly changing states, the current state of the transport may not be the same as the newState input parameter. org.eclipse.soda.dk.transport.service.TransportService java.lang.Object The new state of the TransportService when the notification process started. The old state of the TransportService.

Specified by:
transportChanged in interface TransportListener
Parameters:
transportService - The transport service (TransportService) parameter.
timestamp - The time stamp (Object) parameter.
newState - The new state (int) parameter.
oldState - The old state (int) parameter.

unregister

public void unregister(TransportService transport)
Unregister with the specified transport parameter.

Parameters:
transport - The transport (TransportService) parameter.

2009-01-09 1.2.0

Copyright (c) 2009 IBM. See license in Legal section.