org.simantics.databoard.history
Class SampleCollector

java.lang.Object
  extended by org.simantics.databoard.history.SampleCollector

public class SampleCollector
extends java.lang.Object

Sample collector reads values from a datasource, samples them and adds to a RecordingSession. Recording Session is a history storage format. https://www.simantics.org/wiki/index.php/Databoard_Specification#History_Contract There is a contract for the structure of data sources. https://www.simantics.org/wiki/index.php/Databoard_Specification#Datasource_Contract Sample Collection Steps: 1. Initialize Datasource and have it in paused state 2. Initialize Sample Collector with Subscription Parameters a. Verify subsribed variables b. Initialize variables in history, add variable specific Recording-structures c. Read initial values from Datasource 3. Start Sampling a. Initialize new Segment to each Recording b. Write initial values to History c. Add listener to Datasource d. Start Datasource e. Convert incoming events them into samples 4. Stop Sampling a. Stop Datasource b. Remove listener from Datasource c. Finalize each Segment. Write last known values todo how to deliver errors during sampling to the user, log them? collect them?

Author:
Toni Kalajainen

Constructor Summary
SampleCollector(Accessor datasource, Accessor recordingSession)
          Create sample collector
 
Method Summary
 void init(SamplingConfiguration configuration)
          Initialize sample collector with the given subscription parameters.
 void start()
          Start sampling process.
 void stop()
          Stop collecting samples.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SampleCollector

public SampleCollector(Accessor datasource,
                       Accessor recordingSession)
                throws AccessorConstructionException
Create sample collector

Parameters:
datasource -
recordingSession -
Throws:
AccessorConstructionException
Method Detail

init

public void init(SamplingConfiguration configuration)
          throws SamplingException
Initialize sample collector with the given subscription parameters. This step verifies the subscribed variables, reads initial values and adds variable specific Recording-structures to the history.

The datasource must be initialized but paused. Variable initial values must be available.

Parameters:
configuration - subscription confifguration
Throws:
SamplingException

start

public void start()
           throws SamplingException
Start sampling process. This should be called just before the datasource is started. In this step, Segment-structure is initialized for each Recording. Listener is attached to the datasource, which converts invoming events into samples.

Throws:
SamplingException

stop

public void stop()
          throws SamplingException
Stop collecting samples. Writes down last remaining values.

Throws:
SamplingException