]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.charts/src/org/simantics/charts/ui/CSVExportPlan.java
Add SCL support for exporting subscription data as CSV
[simantics/platform.git] / bundles / org.simantics.charts / src / org / simantics / charts / ui / CSVExportPlan.java
index 7902cee37d0bfdbc24e1fb2dbc4a666c50a5b826..762fcd95a0456ff168e2515544b52697e90f00bb 100644 (file)
 package org.simantics.charts.ui;
 
 import java.io.File;
+import java.util.ArrayDeque;
 import java.util.Collection;
 import java.util.Deque;
 import java.util.HashSet;
+import java.util.List;
 
-import org.simantics.db.common.NamedResource;
+import org.simantics.Simantics;
+import org.simantics.db.Resource;
 import org.simantics.db.management.ISessionContext;
 import org.simantics.history.csv.ColumnSeparator;
 import org.simantics.history.csv.DecimalSeparator;
@@ -35,19 +38,19 @@ public class CSVExportPlan {
     Deque<String>   recentLocations;
 
     // Output
-    Collection<NamedResource>   models = new HashSet<NamedResource>();
-    File            exportLocation;
+    Collection<Resource> items = new HashSet<>();
+    File                 exportLocation;
 
     
-    double                             startTime;
-    double                             timeStep;
-    DecimalSeparator   decimalSeparator;
-    ColumnSeparator            columnSeparator;
-    boolean             resample;
-    ExportInterpolation samplingMode;
-    int                                        timeDigits;
-    int                                        floatDigits;
-    int                                        doubleDigits;
+    public double                              startTime;
+    public double                              timeStep;
+    public DecimalSeparator    decimalSeparator;
+    public ColumnSeparator             columnSeparator;
+    public boolean             resample;
+    public ExportInterpolation samplingMode;
+    public int                                 timeDigits;
+    public int                                 floatDigits;
+    public int                                 doubleDigits;
 
 
     /**
@@ -55,6 +58,28 @@ public class CSVExportPlan {
      */
     boolean         overwrite;
 
+    /**
+     * Constructor for SCL support
+     */
+    public CSVExportPlan(double startTime, double timeStep, DecimalSeparator dsep, ColumnSeparator csep, boolean resample, ExportInterpolation mode, int timeDigits, int floatDigits, int doubleDigits) {
+        this.sessionContext = Simantics.getSessionContext();
+        this.recentLocations = new ArrayDeque<>();
+        
+        this.startTime = startTime;
+        this.timeStep = timeStep;
+        this.decimalSeparator = dsep;
+        this.columnSeparator = csep;
+        this.resample = resample;
+        this.samplingMode = mode;
+        this.timeDigits = timeDigits;
+        this.floatDigits = floatDigits;
+        this.doubleDigits = doubleDigits;
+    }
+
+    public void setItems(List<Resource> items) {
+        this.items = items;
+    }
+
     CSVExportPlan(ISessionContext sessionContext, Deque<String> recentLocations) {
         this.sessionContext = sessionContext;
         this.recentLocations = recentLocations;