You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2020/09/26 15:52:40 UTC
[plc4x] 02/10: Tidying up.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 83957d36556b9fe03b31fe2d98755c8b628b7245
Author: hutcheb <be...@gmail.com>
AuthorDate: Sun Sep 20 17:18:37 2020 -0400
Tidying up.
---
.../org/apache/plc4x/java/api/value/PlcCHAR.java | 5 ++++
.../org/apache/plc4x/java/api/value/PlcWCHAR.java | 5 ++++
.../java/modbus/field/ModbusExtendedRegister.java | 4 +--
.../plc4x/java/modbus/field/ModbusField.java | 31 +---------------------
.../plc4x/java/modbus/field/ModbusFieldCoil.java | 4 +--
.../modbus/field/ModbusFieldDiscreteInput.java | 4 +--
.../modbus/field/ModbusFieldHoldingRegister.java | 4 +--
.../modbus/field/ModbusFieldInputRegister.java | 4 +--
8 files changed, 21 insertions(+), 40 deletions(-)
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcCHAR.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcCHAR.java
index de42328..b39a63e 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcCHAR.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcCHAR.java
@@ -203,6 +203,11 @@ public class PlcCHAR extends PlcIECValue<Short> {
}
@Override
+ public Object getObject() {
+ return Character.toString(Character.valueOf((char) ((short) value)));
+ }
+
+ @Override
@JsonIgnore
public String toString() {
return Character.toString(Character.valueOf((char) ((short) value)));
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcWCHAR.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcWCHAR.java
index 558d75f..3c44e9d 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcWCHAR.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcWCHAR.java
@@ -187,6 +187,11 @@ public class PlcWCHAR extends PlcIECValue<Integer> {
}
@Override
+ public Object getObject() {
+ return Character.toString(Character.valueOf((char) ((int) value)));
+ }
+
+ @Override
@JsonIgnore
public String toString() {
return Character.toString(Character.valueOf((char) ((int) value)));
diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusExtendedRegister.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusExtendedRegister.java
index 637b7b2..07557ac 100644
--- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusExtendedRegister.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusExtendedRegister.java
@@ -32,7 +32,7 @@ public class ModbusExtendedRegister extends ModbusField {
protected static final int REGISTER_MAXADDRESS = 655359999;
protected ModbusExtendedRegister(int address, Integer quantity, String datatype) {
- super(address, quantity, datatype);
+ super(address, quantity, datatype.toUpperCase());
}
public static boolean matches(String addressString) {
@@ -74,6 +74,6 @@ public class ModbusExtendedRegister extends ModbusField {
String datatypeTemp = matcher.group("datatype");
String datatype = datatypeTemp != null ? datatypeTemp : "INT";
- return new ModbusExtendedRegister(address, quantity, datatype);
+ return new ModbusExtendedRegister(address, quantity, datatype.toUpperCase());
}
}
diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusField.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusField.java
index e767b30..bf6d933 100644
--- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusField.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusField.java
@@ -34,33 +34,6 @@ public abstract class ModbusField implements PlcField {
public static final Pattern ADDRESS_PATTERN = Pattern.compile("(?<address>\\d+):?(?<datatype>[a-zA-Z_]+)?(\\[(?<quantity>\\d+)])?");
public static final Pattern FIXED_DIGIT_MODBUS_PATTERN = Pattern.compile("(?<address>\\d{4,5}):?(?<datatype>[a-zA-Z_]+)?(\\[(?<quantity>\\d+)])?");
- public static final String[] DATATYPES = {"BOOL",
- "BYTE",
- "WORD",
- "DWORD",
- "LWORD",
- "SINT",
- "INT",
- "DINT",
- "LINT",
- "USINT",
- "UINT",
- "UDINT",
- "ULINT",
- "REAL",
- "LREAL",
- "TIME",
- "LTIME",
- "DATE",
- "LDATE",
- "TIME_OF_DAY",
- "LTIME_OF_DAY",
- "DATE_TIME",
- "LDATE_TIME",
- "CHAR",
- "WCHAR",
- "STRING",
- "WSTRING"};
protected static final int PROTOCOL_ADDRESS_OFFSET = 1;
@@ -99,9 +72,7 @@ public abstract class ModbusField implements PlcField {
throw new IllegalArgumentException("quantity must be greater then zero. Was " + this.quantity);
}
this.dataType = dataType != null ? dataType : "INT";
- if (ArrayUtils.contains( DATATYPES, this.dataType.toUpperCase()) == false) {
- throw new IllegalArgumentException("datatype must be an IEC-61131 listed datatype. Was " + this.dataType);
- }
+ ModbusDataType.valueOf(this.dataType);
}
public int getAddress() {
diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldCoil.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldCoil.java
index 41db02a..37188e6 100644
--- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldCoil.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldCoil.java
@@ -32,7 +32,7 @@ public class ModbusFieldCoil extends ModbusField {
protected static final int REGISTER_MAXADDRESS = 65535;
public ModbusFieldCoil(int address, Integer quantity, String datatype) {
- super(address, quantity, datatype);
+ super(address, quantity, datatype.toUpperCase());
}
public static boolean matches(String addressString) {
@@ -74,7 +74,7 @@ public class ModbusFieldCoil extends ModbusField {
String datatypeTemp = matcher.group("datatype");
String datatype = datatypeTemp != null ? datatypeTemp : "BOOL";
- return new ModbusFieldCoil(address, quantity, datatype);
+ return new ModbusFieldCoil(address, quantity, datatype.toUpperCase());
}
}
diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldDiscreteInput.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldDiscreteInput.java
index 9a2febc..0f390d1 100644
--- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldDiscreteInput.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldDiscreteInput.java
@@ -32,7 +32,7 @@ public class ModbusFieldDiscreteInput extends ModbusField {
protected static final int REGISTER_MAXADDRESS = 65535;
public ModbusFieldDiscreteInput(int address, Integer quantity, String datatype) {
- super(address, quantity, datatype);
+ super(address, quantity, datatype.toUpperCase());
}
public static boolean matches(String addressString) {
@@ -74,6 +74,6 @@ public class ModbusFieldDiscreteInput extends ModbusField {
String datatypeTemp = matcher.group("datatype");
String datatype = datatypeTemp != null ? datatypeTemp : "BOOL";
- return new ModbusFieldDiscreteInput(address, quantity, datatype);
+ return new ModbusFieldDiscreteInput(address, quantity, datatype.toUpperCase());
}
}
diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldHoldingRegister.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldHoldingRegister.java
index 53c5d64..dae3ce7 100644
--- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldHoldingRegister.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldHoldingRegister.java
@@ -32,7 +32,7 @@ public class ModbusFieldHoldingRegister extends ModbusField {
protected static final int REGISTER_MAXADDRESS = 65535;
protected ModbusFieldHoldingRegister(int address, Integer quantity, String datatype) {
- super(address, quantity, datatype);
+ super(address, quantity, datatype.toUpperCase());
}
public static boolean matches(String addressString) {
@@ -73,7 +73,7 @@ public class ModbusFieldHoldingRegister extends ModbusField {
String datatypeTemp = matcher.group("datatype");
String datatype = datatypeTemp != null ? datatypeTemp : "INT";
- return new ModbusFieldHoldingRegister(address, quantity, datatype);
+ return new ModbusFieldHoldingRegister(address, quantity, datatype.toUpperCase());
}
}
diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldInputRegister.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldInputRegister.java
index e4f5340..199ccb2 100644
--- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldInputRegister.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/field/ModbusFieldInputRegister.java
@@ -32,7 +32,7 @@ public class ModbusFieldInputRegister extends ModbusField {
protected static final int REGISTER_MAXADDRESS = 65535;
protected ModbusFieldInputRegister(int address, Integer quantity, String datatype) {
- super(address, quantity, datatype);
+ super(address, quantity, datatype.toUpperCase());
}
public static boolean matches(String addressString) {
@@ -73,6 +73,6 @@ public class ModbusFieldInputRegister extends ModbusField {
String datatypeTemp = matcher.group("datatype");
String datatype = datatypeTemp != null ? datatypeTemp : "INT";
- return new ModbusFieldInputRegister(address, quantity, datatype);
+ return new ModbusFieldInputRegister(address, quantity, datatype.toUpperCase());
}
}