Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorViktor Stöhr2018-10-02 08:41:14 +0000
committerViktor Stöhr2018-10-02 08:41:14 +0000
commit97fd16e9c1f839632ddf7c04fff5fc763c4c849d (patch)
tree32ff5ccfdda2ea3dd4e924781c9e495feecd8c2c
parent59316e6e93f3f03e1e15fb91f6144bdb4aff1633 (diff)
downloadorg.eclipse.mdm.openatfx.mdf-97fd16e9c1f839632ddf7c04fff5fc763c4c849d.tar.gz
org.eclipse.mdm.openatfx.mdf-97fd16e9c1f839632ddf7c04fff5fc763c4c849d.tar.xz
org.eclipse.mdm.openatfx.mdf-97fd16e9c1f839632ddf7c04fff5fc763c4c849d.zip
allow skipping of empty channels
-rw-r--r--build.gradle2
-rw-r--r--src/main/java/org/eclipse/mdm/openatfx/mdf/mdf4/AoSessionWriter.java10
2 files changed, 10 insertions, 2 deletions
diff --git a/build.gradle b/build.gradle
index 524362d..7c42de0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,7 +12,7 @@ import de.undercouch.gradle.tasks.download.Download
description = 'OpenATFX MDF driver'
group = 'org.eclipse.mdm'
-version = '1.1.6'
+version = '1.1.7'
apply plugin: 'java'
apply plugin: 'eclipse'
diff --git a/src/main/java/org/eclipse/mdm/openatfx/mdf/mdf4/AoSessionWriter.java b/src/main/java/org/eclipse/mdm/openatfx/mdf/mdf4/AoSessionWriter.java
index 9fba6e2..2e73f71 100644
--- a/src/main/java/org/eclipse/mdm/openatfx/mdf/mdf4/AoSessionWriter.java
+++ b/src/main/java/org/eclipse/mdm/openatfx/mdf/mdf4/AoSessionWriter.java
@@ -98,6 +98,9 @@ public class AoSessionWriter {
private boolean readOnlyHeader = false;
private Path customRatConfPath;
+ // skip empty channels
+ private boolean skipEmptyChannels = false;
+
/**
* Constructor.
*/
@@ -185,6 +188,9 @@ public class AoSessionWriter {
if (props.containsKey("write_flags_file")) {
writeFlagsFile = Boolean.valueOf(props.getProperty("write_flags_file"));
}
+ if (props.containsKey("skip_empty_channels")) {
+ skipEmptyChannels = Boolean.valueOf(props.getProperty("skip_empty_channels"));
+ }
}
ODSInsertStatement ins = new ODSInsertStatement(modelCache, "tst");
@@ -483,13 +489,15 @@ public class AoSessionWriter {
// if sorted, only one channel group block is available
CGBLOCK cgBlock = dgBlock.getCgFirstBlock();
+
if (cgBlock != null && cgBlock.getLnkCgNext() > 0) {
throw new IOException(
"Only 'sorted' MDF4 files are supported, found 'unsorted' data! [DGBLOCK=" + dgBlock + "]");
}
// skip channel groups having no channels (or optionally no values)
- if (cgBlock != null) {
+ boolean skipNoValues = skipEmptyChannels && cgBlock.getCycleCount() < 1;
+ if (cgBlock != null && !skipNoValues) {
// check flags (not yet supported)
if (cgBlock.isBusEventChannel()) {

Back to the top