X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.history%2Fexamples%2Forg%2Fsimantics%2Fhistory%2Fexamples%2FCollectorExample1.java;h=d5f5ab69c789c7b481d7976e952b49b9fbd4708b;hb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;hp=0cbb7766d13b38146f24c97d0c244b7a5c2bfffa;hpb=24e2b34260f219f0d1644ca7a138894980e25b14;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.history/examples/org/simantics/history/examples/CollectorExample1.java b/bundles/org.simantics.history/examples/org/simantics/history/examples/CollectorExample1.java index 0cbb7766d..d5f5ab69c 100644 --- a/bundles/org.simantics.history/examples/org/simantics/history/examples/CollectorExample1.java +++ b/bundles/org.simantics.history/examples/org/simantics/history/examples/CollectorExample1.java @@ -1,111 +1,111 @@ -package org.simantics.history.examples; - -import java.util.UUID; - -import org.simantics.databoard.Bindings; -import org.simantics.databoard.Datatypes; -import org.simantics.databoard.accessor.StreamAccessor; -import org.simantics.databoard.accessor.error.AccessorException; -import org.simantics.databoard.binding.RecordBinding; -import org.simantics.databoard.binding.error.BindingException; -import org.simantics.databoard.type.RecordType; -import org.simantics.databoard.util.Bean; -import org.simantics.history.Collector; -import org.simantics.history.History; -import org.simantics.history.HistoryAndCollectorItem; -import org.simantics.history.HistoryException; -import org.simantics.history.HistoryItem; -import org.simantics.history.HistoryManager; -import org.simantics.history.impl.FlushPolicy; - -public class CollectorExample1 { - - public static void main(String[] args) throws HistoryException, BindingException, AccessorException { - - /// Example1: Create History Manager & Item - // Create History Manager - HistoryManager history = History.createMemoryHistory(); - - // Create a sample format - RecordType sampleFormat = new RecordType(); - sampleFormat.addComponent("time", Datatypes.DOUBLE ); - sampleFormat.addComponent("value", Datatypes.DOUBLE ); - sampleFormat.addComponent("quality", Datatypes.BYTE ); - - // Create History Item configuration - String id = UUID.randomUUID().toString(); - HistoryItem historyItem = new HistoryItem(id, sampleFormat); - - // Create the item in the history - history.create( historyItem ); - - - - - - /// Example2: Prepare Collector - Collector collector = History.createCollector(history, FlushPolicy.NoFlush); - - // Read item configuration data from history ( id and sampleFormat ) - Bean hi = history.getItem( id ); - - // Create collector item - HistoryAndCollectorItem ci = new HistoryAndCollectorItem(); - ci.readAvailableFields( hi ); // Read: id, sampleFormat - ci.interval = 0.5; - //ci.deadband = 10; - ci.enabled = true; - ci.gain = 10.0; - ci.variableId = "MyItem"; - - // Initialize Collector (Item) - collector.addItem( ci ); - - try { - // Simulate 100 steps - for ( int i = 0; i<100; i++ ) { - - // Our "simulation" results - double time = i * 0.1; - double myItemValue = -20 + i*0.1; - - // Begin collector writing step - collector.beginStep(Bindings.DOUBLE, time); - - // Enter values - collector.setValue("MyItem", Bindings.DOUBLE, myItemValue); - - // End collector step - collector.endStep(); - } - - } finally { - // Flush values - collector.flush(); - collector.close(); - } - - - - /// Print results - // Open stream from history - StreamAccessor aa = history.openStream(id, "r"); - // Read sample type - RecordType sampleType = (RecordType) aa.type().componentType; - // Create bean binding - RecordBinding sampleBinding = (RecordBinding) Bindings.getBeanBinding( sampleType ); - // Create sample object - Bean sample = (Bean) sampleBinding.createPartial(); - - try { - for (int i=0; i