You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2018/10/18 12:22:55 UTC
[incubator-plc4x] 02/02: [Modbus] remove validation on reading by
avoiding supplying of null items in the first place.
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 <sr...@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