org.isam.exehda.services.primos
Class CollectorImplNode

java.lang.Object
  |
  +--org.isam.exehda.services.AbstractService
        |
        +--org.isam.exehda.services.primos.CollectorImplNode
All Implemented Interfaces:
Collector, java.lang.Runnable, Service

public class CollectorImplNode
extends AbstractService
implements Collector, java.lang.Runnable

Node implementantion of the collector service.

Version:
$Date: 2004/12/03 16:33:44 $ $Revision: 1.3 $
Author:
last modified by $Author: lucc $
To do:
handle add/remove consumers, probeSensor, threashold meta parameter, create views of each sensor for each consumer

Nested Class Summary
 
Nested classes inherited from class org.isam.exehda.services.Collector
Collector.AppMonitor, Collector.AppSensor, Collector.ConsumerId, Collector.Monitor, Collector.MonitoringConsumer, Collector.MonitoringData, Collector.Sensor, Collector.SensorParameter
 
Field Summary
 
Fields inherited from interface org.isam.exehda.services.Collector
SERVICE_NAME
 
Constructor Summary
CollectorImplNode()
          Creates a new CollectorImplNode instance.
 
Method Summary
 Collector.ConsumerId addConsumer(Collector.MonitoringConsumer callback)
          Describe addConsumer method here.
 void addMonitor(Collector.Monitor m)
          Describe addMonitor method here.
 CellInformationBase.ResourceName getName()
          Returns the name of this collector
 Collector.Sensor getSensor(java.lang.String name)
          Look ups a sensor with the specified name.
 java.lang.Object getSensorParameter(Collector.SensorParameter p)
          Returns the current value of the given parameter.
 Collector.SensorParameter[] getSensorParameters(Collector.Sensor s)
          Returns a list of the parameters supported by the given sensor.
 Collector.Sensor[] getSensors()
          Returns an array containing the sensors currently provided by this collector.
 void installSensor(Collector.ConsumerId c, java.lang.String name, java.lang.String impl, java.util.Hashtable params)
          Describe installSensor method here.
 boolean isSensorEnabled(Collector.ConsumerId c, Collector.Sensor s)
          Returns whether the given sensors is currently enabled.
 Collector.MonitoringData probeSensor(Collector.ConsumerId c, Collector.Sensor s, Collector.MonitoringData d)
          Returns the current sensor value.
 void removeConsumer(Collector.ConsumerId c)
          Describe removeConsumer method here.
 void removeMonitor(Collector.Monitor m)
          Describe removeMonitor method here.
 void run()
          Timer callback
 void setSensorEnabled(Collector.ConsumerId cid, Collector.Sensor s, boolean enable)
          Enables or disables the given sensor.
 void setSensorParameter(Collector.ConsumerId c, Collector.SensorParameter p, java.lang.Object v)
          Applyies a new value to the given sensor parameter.
 void start()
          Starts the service, exporting it to the WORB.
 void stop()
          Describe stop method here.
 
Methods inherited from class org.isam.exehda.services.AbstractService
log, log, log, log, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CollectorImplNode

public CollectorImplNode()
Creates a new CollectorImplNode instance.

Method Detail

start

public void start()
Starts the service, exporting it to the WORB.

Specified by:
start in interface Service
To do:
Load collector name from service properties

stop

public void stop()
Describe stop method here.

Specified by:
stop in interface Service
To do:
Unexport service

run

public void run()
Timer callback

Specified by:
run in interface java.lang.Runnable
To do:
update meta sensors.

getName

public CellInformationBase.ResourceName getName()
Returns the name of this collector

Specified by:
getName in interface Collector
Returns:
a ResourceName value

getSensors

public Collector.Sensor[] getSensors()
Returns an array containing the sensors currently provided by this collector.

Specified by:
getSensors in interface Collector
Returns:
an array of Sensor objects

getSensor

public Collector.Sensor getSensor(java.lang.String name)
Look ups a sensor with the specified name. The provided name is compared to the sensor simple name.

Specified by:
getSensor in interface Collector
Parameters:
name - sensor name
Returns:
a sensor object or null if the sensor does not exist.
To do:
what if two sensors have the same simplename? perhaps, should use a ResourceName instead of an String., optimize search;

getSensorParameters

public Collector.SensorParameter[] getSensorParameters(Collector.Sensor s)
Returns a list of the parameters supported by the given sensor.

Specified by:
getSensorParameters in interface Collector
Parameters:
s - a Sensor value
Returns:
a SensorParameter[] value

getSensorParameter

public java.lang.Object getSensorParameter(Collector.SensorParameter p)
Returns the current value of the given parameter.

Specified by:
getSensorParameter in interface Collector
Parameters:
p - a SensorParameter value
Returns:
an Object value

setSensorParameter

public void setSensorParameter(Collector.ConsumerId c,
                               Collector.SensorParameter p,
                               java.lang.Object v)
Applyies a new value to the given sensor parameter.

Specified by:
setSensorParameter in interface Collector
Parameters:
c - a ConsumerId value
p - a SensorParameter value
v - an Object value
To do:
check if operation allowed for the given consumer

setSensorEnabled

public void setSensorEnabled(Collector.ConsumerId cid,
                             Collector.Sensor s,
                             boolean enable)
Enables or disables the given sensor.

Specified by:
setSensorEnabled in interface Collector
Parameters:
s - a Sensor value
enable - a boolean value
cid - a ConsumerId value

isSensorEnabled

public boolean isSensorEnabled(Collector.ConsumerId c,
                               Collector.Sensor s)
Returns whether the given sensors is currently enabled.

Specified by:
isSensorEnabled in interface Collector
Parameters:
c - a ConsumerId value
s - a Sensor value
Returns:
a boolean value

probeSensor

public Collector.MonitoringData probeSensor(Collector.ConsumerId c,
                                            Collector.Sensor s,
                                            Collector.MonitoringData d)
Returns the current sensor value.

Specified by:
probeSensor in interface Collector
Parameters:
c - a ConsumerId value
s - a Sensor value
d - a MonitoringData value
Returns:
a MonitoringData value

installSensor

public void installSensor(Collector.ConsumerId c,
                          java.lang.String name,
                          java.lang.String impl,
                          java.util.Hashtable params)
Describe installSensor method here.

Specified by:
installSensor in interface Collector
Parameters:
c - a ConsumerId value
name - a String value
impl - a String value
params - a Hashtable value

addMonitor

public void addMonitor(Collector.Monitor m)
Describe addMonitor method here.

Specified by:
addMonitor in interface Collector
Parameters:
m - a Monitor value

removeMonitor

public void removeMonitor(Collector.Monitor m)
Describe removeMonitor method here.

Specified by:
removeMonitor in interface Collector
Parameters:
m - a Monitor value

addConsumer

public Collector.ConsumerId addConsumer(Collector.MonitoringConsumer callback)
Describe addConsumer method here.

Specified by:
addConsumer in interface Collector
Parameters:
callback - a MonitoringConsumer value
Returns:
a ConsumerId value
To do:
complete the implementation

removeConsumer

public void removeConsumer(Collector.ConsumerId c)
Describe removeConsumer method here.

Specified by:
removeConsumer in interface Collector
Parameters:
c - a ConsumerId value