mirror of
https://github.com/PAMGuard/PAMGuard.git
synced 2024-11-25 08:32:32 +00:00
Logger forms viewer
Viewer display of logger forms was throwing exceptions on Boolean values which had been stored as a String or Integer 0 or 1 in some databases. Now fixed to turn these into a sensible boolean value for the data table
This commit is contained in:
parent
bfbb58ea5a
commit
54f5a5f0fb
@ -208,7 +208,15 @@ public class FormsDataDisplayTable {
|
|||||||
Object[] fd = pamDataUnit.getFormData();
|
Object[] fd = pamDataUnit.getFormData();
|
||||||
int ctIndex = columnIndex-extraColumns.length;
|
int ctIndex = columnIndex-extraColumns.length;
|
||||||
ControlDescription ctrlDescription = formDescription.getInputControlDescriptions().get(ctIndex);
|
ControlDescription ctrlDescription = formDescription.getInputControlDescriptions().get(ctIndex);
|
||||||
return ctrlDescription.formatDataItem(fd[ctIndex]);
|
Object value = ctrlDescription.formatDataItem(fd[ctIndex]);
|
||||||
|
if (value == null) return null;
|
||||||
|
if (getColumnClass(columnIndex) == Boolean.class) {
|
||||||
|
if (value instanceof Boolean == false) {
|
||||||
|
// System.out.println("Bad boolean value: " + value);
|
||||||
|
return interpretBadBoolean(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return value;
|
||||||
// return fd[ctIndex];
|
// return fd[ctIndex];
|
||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
@ -252,6 +260,24 @@ public class FormsDataDisplayTable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Boolean interpretBadBoolean(Object value) {
|
||||||
|
if (value == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (value instanceof String) {
|
||||||
|
String str = (String) value;
|
||||||
|
str = str.strip();
|
||||||
|
return str.equals("1") || str.toLowerCase().equals("false");
|
||||||
|
}
|
||||||
|
if (value instanceof Integer) {
|
||||||
|
int val = (Integer) value;
|
||||||
|
return val != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when data have changed in the datablock.
|
* Called when data have changed in the datablock.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user