This is an automated email from the ASF dual-hosted git repository. sruehl pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit d94b11c093e323e43eb7ad938caf9a039e44f443 Author: Sebastian Rühl <sru...@apache.org> AuthorDate: Thu Oct 18 12:21:17 2018 +0200 [Modbus] remove validation on reading by avoiding supplying of null items in the first place. --- .../messages/items/DefaultByteArrayFieldItem.java | 5 +++++ .../items/DefaultModbusByteArrayFieldItem.java | 25 +++------------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultByteArrayFieldItem.java b/plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultByteArrayFieldItem.java index 078422d..0aeac4f 100644 --- a/plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultByteArrayFieldItem.java +++ b/plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultByteArrayFieldItem.java @@ -18,10 +18,15 @@ under the License. */ package org.apache.plc4x.java.base.messages.items; +import java.util.Objects; + public class DefaultByteArrayFieldItem extends FieldItem<Byte[]> { public DefaultByteArrayFieldItem(Byte[]... values) { super(values); + for (Byte[] value : values) { + Objects.requireNonNull(value); + } } @Override diff --git a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/messages/items/DefaultModbusByteArrayFieldItem.java b/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/messages/items/DefaultModbusByteArrayFieldItem.java index 27a2cd2..4b3002f 100644 --- a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/messages/items/DefaultModbusByteArrayFieldItem.java +++ b/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/messages/items/DefaultModbusByteArrayFieldItem.java @@ -65,8 +65,7 @@ public class DefaultModbusByteArrayFieldItem extends DefaultByteArrayFieldItem { @Override public boolean isValidShort(int index) { - return this.completeByteArray.length >= shortIndexToByteIndex(index) + SHORT_BYTES && - validateByteValues(shortIndexToByteIndex(index), SHORT_BYTES); + return this.completeByteArray.length >= shortIndexToByteIndex(index) + SHORT_BYTES; } @Override @@ -104,8 +103,7 @@ public class DefaultModbusByteArrayFieldItem extends DefaultByteArrayFieldItem { @Override public boolean isValidInteger(int index) { - return this.completeByteArray.length >= intIndexToByteIndex(index) + INTEGER_BYTES && - validateByteValues(intIndexToByteIndex(index), INTEGER_BYTES); + return this.completeByteArray.length >= intIndexToByteIndex(index) + INTEGER_BYTES; } @Override @@ -143,8 +141,7 @@ public class DefaultModbusByteArrayFieldItem extends DefaultByteArrayFieldItem { @Override public boolean isValidLong(int index) { - return this.completeByteArray.length >= longIndexToByteIndex(index) + LONG_BYTES && - validateByteValues(longIndexToByteIndex(index), LONG_BYTES); + return this.completeByteArray.length >= longIndexToByteIndex(index) + LONG_BYTES; } @Override @@ -181,22 +178,6 @@ public class DefaultModbusByteArrayFieldItem extends DefaultByteArrayFieldItem { } /** - * validates if requested bytes contain only non-null values - * - * @param startIndex index of the first byte requested - * @param length amount of subsequent bytes - * @return true if requested values are not-null, false otherwise - */ - private boolean validateByteValues(int startIndex, int length) { - for (int byteIndex = startIndex; byteIndex < startIndex + length; byteIndex++) { - if (this.completeByteArray[byteIndex] == null) { - return false; - } - } - return true; - } - - /** * returns a subarray with the wanted index first * * @param index start-index of wanted value