X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.history%2Fexamples%2Forg%2Fsimantics%2Fhistory%2Fexamples%2FCollectorExample2.java;h=41e0d6005e596a54bb0d9f508fec7a8588f7298f;hb=refs%2Fchanges%2F53%2F553%2F1;hp=52a2d9bd4c5ecc72048370bbedc6efe65e68c593;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.history/examples/org/simantics/history/examples/CollectorExample2.java b/bundles/org.simantics.history/examples/org/simantics/history/examples/CollectorExample2.java index 52a2d9bd4..41e0d6005 100644 --- a/bundles/org.simantics.history/examples/org/simantics/history/examples/CollectorExample2.java +++ b/bundles/org.simantics.history/examples/org/simantics/history/examples/CollectorExample2.java @@ -1,86 +1,86 @@ -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 CollectorExample2 { - - public static void main(String[] args) throws HistoryException, BindingException, AccessorException { - - /// Example2: Record variable "MyVariable" to two history - /// items "MyVariable-interval=0.5" and "MyVariable-deadband=5" - - // 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 two History Item and Collector Item configurations - HistoryAndCollectorItem i1 = new HistoryAndCollectorItem(); - i1.id = "MyVariable-interval=0.5"; - i1.format = sampleFormat; - i1.interval = 0.5; - i1.variableId = "MyVariable"; - - HistoryAndCollectorItem i2 = new HistoryAndCollectorItem(); - i2.id = "MyVariable-deadband=5"; - i2.format = sampleFormat; - i2.deadband = 5.0; - i2.variableId = "MyVariable"; - - // Create the item in the history - history.create( i1, i2 ); - - /// Prepare Collector - Collector collector = History.createCollector(history, FlushPolicy.NoFlush); - - // Initialize Collector (Items) - collector.addItem( i1 ); - collector.addItem( i2 ); - - 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 for one variable. - collector.setValue("MyVariable", Bindings.DOUBLE, myItemValue); - - // End collector step - MyVariable is written to two HistoryItems - collector.endStep(); - } - - } finally { - // Flush values - collector.flush(); - collector.close(); - } - - } - -} +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 CollectorExample2 { + + public static void main(String[] args) throws HistoryException, BindingException, AccessorException { + + /// Example2: Record variable "MyVariable" to two history + /// items "MyVariable-interval=0.5" and "MyVariable-deadband=5" + + // 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 two History Item and Collector Item configurations + HistoryAndCollectorItem i1 = new HistoryAndCollectorItem(); + i1.id = "MyVariable-interval=0.5"; + i1.format = sampleFormat; + i1.interval = 0.5; + i1.variableId = "MyVariable"; + + HistoryAndCollectorItem i2 = new HistoryAndCollectorItem(); + i2.id = "MyVariable-deadband=5"; + i2.format = sampleFormat; + i2.deadband = 5.0; + i2.variableId = "MyVariable"; + + // Create the item in the history + history.create( i1, i2 ); + + /// Prepare Collector + Collector collector = History.createCollector(history, FlushPolicy.NoFlush); + + // Initialize Collector (Items) + collector.addItem( i1 ); + collector.addItem( i2 ); + + 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 for one variable. + collector.setValue("MyVariable", Bindings.DOUBLE, myItemValue); + + // End collector step - MyVariable is written to two HistoryItems + collector.endStep(); + } + + } finally { + // Flush values + collector.flush(); + collector.close(); + } + + } + +}