diff options
author | Viktor Stöhr | 2018-10-02 08:41:14 +0000 |
---|---|---|
committer | Viktor Stöhr | 2018-10-02 08:41:14 +0000 |
commit | 97fd16e9c1f839632ddf7c04fff5fc763c4c849d (patch) | |
tree | 32ff5ccfdda2ea3dd4e924781c9e495feecd8c2c | |
parent | 59316e6e93f3f03e1e15fb91f6144bdb4aff1633 (diff) | |
download | org.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.gradle | 2 | ||||
-rw-r--r-- | src/main/java/org/eclipse/mdm/openatfx/mdf/mdf4/AoSessionWriter.java | 10 |
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()) {
|