X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.history%2Fexamples%2Forg%2Fsimantics%2Fhistory%2Fexamples%2FHistoryExample2.java;h=cc643dfaac615be89aad1c2d81148d488cab6969;hb=HEAD;hp=4f64dc356a8ff4244619c9dd93af51c8dfa848bc;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.history/examples/org/simantics/history/examples/HistoryExample2.java b/bundles/org.simantics.history/examples/org/simantics/history/examples/HistoryExample2.java index 4f64dc356..cc643dfaa 100644 --- a/bundles/org.simantics.history/examples/org/simantics/history/examples/HistoryExample2.java +++ b/bundles/org.simantics.history/examples/org/simantics/history/examples/HistoryExample2.java @@ -1,130 +1,130 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 Association for Decentralized Information Management in - * Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.history.examples; - -import java.io.File; - -import org.simantics.databoard.Bindings; -import org.simantics.databoard.Datatypes; -import org.simantics.databoard.accessor.StreamAccessor; -import org.simantics.databoard.binding.Binding; -import org.simantics.databoard.type.Datatype; -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.HistoryManager; -import org.simantics.history.ItemManager; -import org.simantics.history.impl.CollectorImpl; -import org.simantics.history.util.subscription.SubscriptionItem; -import org.simantics.history.util.subscription.SamplingFormat; -import org.simantics.utils.FileUtils; - -public class HistoryExample2 { - - public static void main(String[] args) throws Exception { - - //// Create sampling formats - // Simple format captures all samples, no min/max/avg/median - SamplingFormat simpleFormat, intervalFormat; - simpleFormat = new SamplingFormat(); - RecordType format = (RecordType) (simpleFormat.format = new RecordType()); - format.addComponent("time", Datatypes.DOUBLE); - format.addComponent("value", Datatypes.DOUBLE ); - format.addComponent("quality", Datatypes.BYTE ); - simpleFormat.interval = Double.NaN; - simpleFormat.deadband = Double.NaN; - simpleFormat.formatId = "Simple"; - - // Interval format captures samples with 0.5s interval. It also calculates min/max/avg/median - intervalFormat = new SamplingFormat(); - format = (RecordType) (intervalFormat.format = new RecordType()); - format.addComponent("time", Datatypes.DOUBLE); - format.addComponent("endTime", Datatypes.DOUBLE); - format.addComponent("value", Datatypes.DOUBLE ); - format.addComponent("lastValue", Datatypes.DOUBLE); - format.addComponent("min", Datatypes.DOUBLE); - format.addComponent("max", Datatypes.DOUBLE); - format.addComponent("avg", Datatypes.DOUBLE); - format.addComponent("median", Datatypes.DOUBLE); - format.addComponent("quality", Datatypes.BYTE ); - format.addComponent("count", Datatypes.INTEGER); - intervalFormat.interval = Double.NaN; - intervalFormat.deadband = Double.NaN; - intervalFormat.interval = 0.5; - intervalFormat.formatId = "Interval"; - - //// Create item descriptions - SubscriptionItem[] items = SubscriptionItem.createItems("Variable", "MySubscription", simpleFormat, intervalFormat); - - // Manage items - ItemManager im = new ItemManager( items ); - im.search("groupId", "MySubscription"); - - //// Open file history & initialize subscription - File workarea = FileUtils.createTmpDir(); - HistoryManager historian = History.openFileHistory( workarea ); - historian.create( items ); - - //// Record data - Collector collector = new CollectorImpl( historian ); - collector.addItems( items ); - try { - double NaN = Double.NaN; - double[] data = { 5.0, 5.0, 5.0, 5.0, 6.0, 6.0, 6.0, 7.0, 8.0, 9.0, NaN,10.0, NaN, NaN, NaN }; - - for (int i=0; i