This commit is contained in:
Douglas Gillespie 2023-12-20 14:48:30 +00:00
commit b7cbd2592f
10 changed files with 100 additions and 47 deletions

View File

@ -318,6 +318,9 @@ public class FolderInputSystem extends FileInputSystem implements PamSettings, D
} }
selection = folderInputParameters.getSelectedFiles(); selection = folderInputParameters.getSelectedFiles();
} }
if (selection == null) {
return 0;
}
if (selection.length > 0) { if (selection.length > 0) {
System.out.println("FolderInputSystem.makeSelFileList(): Searching for sound files in " + selection[0]); System.out.println("FolderInputSystem.makeSelFileList(): Searching for sound files in " + selection[0]);
} }

View File

@ -1096,6 +1096,7 @@ public class MapPanel extends JPanelWithPamKey implements PamObserver, ColorMana
return; return;
} }
ds = dataBlock.getDataSelector(simpleMapRef.getUnitName(), false, DATASELECTNAME); ds = dataBlock.getDataSelector(simpleMapRef.getUnitName(), false, DATASELECTNAME);
// ds = null;
ArrayList<PamDataUnit> dataCopy = dataBlock.getDataCopy(earliestToPlot, now, true, ds); ArrayList<PamDataUnit> dataCopy = dataBlock.getDataCopy(earliestToPlot, now, true, ds);
duIterator = dataCopy.listIterator(); duIterator = dataCopy.listIterator();
while (duIterator.hasNext()) { while (duIterator.hasNext()) {

View File

@ -38,6 +38,14 @@ import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.core.JsonToken;
import Array.streamerOrigin.GPSOriginMethod;
import Array.streamerOrigin.GPSOriginSystem;
import Array.streamerOrigin.HydrophoneOriginMethod;
import Array.streamerOrigin.HydrophoneOriginMethods;
import Array.streamerOrigin.OriginIterator;
import Array.streamerOrigin.StaticOriginSystem;
import GPS.GpsData;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.Element; import org.w3c.dom.Element;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
@ -49,6 +57,7 @@ import pamScrollSystem.ScrollPaneAddon;
import PamView.PamTabPanel; import PamView.PamTabPanel;
import PamView.panel.PamPanel; import PamView.panel.PamPanel;
import PamView.symbol.StandardSymbolManager; import PamView.symbol.StandardSymbolManager;
import PamguardMVC.PamDataBlock;
import PamguardMVC.PamDataUnit; import PamguardMVC.PamDataUnit;
import PamController.PamControlledUnitSettings; import PamController.PamControlledUnitSettings;
import PamController.PamController; import PamController.PamController;
@ -2021,4 +2030,32 @@ public class FormDescription implements Cloneable, Comparable<FormDescription> {
public void setNeedsUDFSave(boolean needsUDFSave) { public void setNeedsUDFSave(boolean needsUDFSave) {
this.needsUDFSave = needsUDFSave; this.needsUDFSave = needsUDFSave;
} }
public GpsData getOriginLatLong(FormsDataUnit formsDataUnit) {
GpsData gps = getOrigin(GPSOriginSystem.class, formsDataUnit);
if (gps != null) {
return gps;
}
gps = getOrigin(StaticOriginSystem.class, formsDataUnit);
return gps;
}
private GpsData getOrigin(Class originClass, FormsDataUnit formsDataUnit) {
HydrophoneOriginMethods origins = HydrophoneOriginMethods.getInstance();
HydrophoneOriginMethod origin = origins.getMethod(GPSOriginMethod.class, null, null);
if (origin == null) {
return null;
}
OriginIterator gpsIter = origin.getGpsDataIterator(PamDataBlock.ITERATOR_END);
GpsData prev = null;
while (gpsIter.hasPrevious()) {
prev = gpsIter.previous();
if (prev.getTimeInMillis() < formsDataUnit.getTimeMilliseconds()) {
break;
}
}
return prev;
}
} }

View File

@ -614,6 +614,32 @@ public class FormsControl extends PamControlledUnit {
return new ModuleStatus(ModuleStatus.STATUS_OK); return new ModuleStatus(ModuleStatus.STATUS_OK);
} }
/**
* Some things that are meant to be boolean are coming out as int or string so
* need to do some type checking.
* @param value
* @return
*/
public static Boolean checkBadBoolean(Object value) {
if (value instanceof Boolean) {
return (Boolean) 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;
}
// @Override // @Override
// public Serializable getSettingsReference() { // public Serializable getSettingsReference() {
// return (Serializable) dummyParams; // return (Serializable) dummyParams;

View File

@ -213,7 +213,7 @@ public class FormsDataDisplayTable {
if (getColumnClass(columnIndex) == Boolean.class) { if (getColumnClass(columnIndex) == Boolean.class) {
if (value instanceof Boolean == false) { if (value instanceof Boolean == false) {
// System.out.println("Bad boolean value: " + value); // System.out.println("Bad boolean value: " + value);
return interpretBadBoolean(value); return FormsControl.checkBadBoolean(value);
} }
} }
return value; return value;
@ -260,23 +260,6 @@ 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.

View File

@ -87,7 +87,9 @@ public class FormsDataUnit extends PamDataUnit {
* we want to as a reference, etc. * we want to as a reference, etc.
*/ */
if (recalculate || formOriginLatLong == null) { if (recalculate || formOriginLatLong == null) {
formOriginLatLong = loggerForm.getOriginLatLong(this); if (formDescription != null) {
formOriginLatLong = formDescription.getOriginLatLong(this);
}
} }
return formOriginLatLong; return formOriginLatLong;
} }

View File

@ -112,7 +112,7 @@ public class FormsLogging extends SQLLogging {
// } // }
// } // }
// formDescription.getf
FormsDataUnit formsDataUnit = new FormsDataUnit(null, timeMilliseconds, formDescription, formData); FormsDataUnit formsDataUnit = new FormsDataUnit(null, timeMilliseconds, formDescription, formData);
formsDataUnit.setDatabaseIndex(databaseIndex); formsDataUnit.setDatabaseIndex(databaseIndex);

View File

@ -104,7 +104,7 @@ public class LoggerForm{
private CounterControl counter; private CounterControl counter;
private HydrophoneOriginMethods origins = HydrophoneOriginMethods.getInstance(); // private HydrophoneOriginMethods origins = HydrophoneOriginMethods.getInstance();
/** /**
* @return the hasCounter * @return the hasCounter
@ -911,30 +911,30 @@ public class LoggerForm{
return saveButton; return saveButton;
} }
public GpsData getOriginLatLong(FormsDataUnit formsDataUnit) { // public GpsData getOriginLatLong(FormsDataUnit formsDataUnit) {
GpsData gps = getOrigin(GPSOriginSystem.class, formsDataUnit); // GpsData gps = getOrigin(GPSOriginSystem.class, formsDataUnit);
if (gps != null) { // if (gps != null) {
return gps; // return gps;
} // }
gps = getOrigin(StaticOriginSystem.class, formsDataUnit); // gps = getOrigin(StaticOriginSystem.class, formsDataUnit);
return gps; // return gps;
} // }
//
private GpsData getOrigin(Class originClass, FormsDataUnit formsDataUnit) { // private GpsData getOrigin(Class originClass, FormsDataUnit formsDataUnit) {
HydrophoneOriginMethod origin = origins.getMethod(GPSOriginMethod.class, null, null); // HydrophoneOriginMethod origin = origins.getMethod(GPSOriginMethod.class, null, null);
if (origin == null) { // if (origin == null) {
return null; // return null;
} // }
OriginIterator gpsIter = origin.getGpsDataIterator(PamDataBlock.ITERATOR_END); // OriginIterator gpsIter = origin.getGpsDataIterator(PamDataBlock.ITERATOR_END);
GpsData prev = null; // GpsData prev = null;
while (gpsIter.hasPrevious()) { // while (gpsIter.hasPrevious()) {
prev = gpsIter.previous(); // prev = gpsIter.previous();
if (prev.getTimeInMillis() < formsDataUnit.getTimeMilliseconds()) { // if (prev.getTimeInMillis() < formsDataUnit.getTimeMilliseconds()) {
break; // break;
} // }
} // }
return prev; // return prev;
} // }
// /** // /**

View File

@ -9,6 +9,7 @@ import NMEA.NMEADataBlock;
import NMEA.NMEADataUnit; import NMEA.NMEADataUnit;
import PamView.dialog.PamCheckBox; import PamView.dialog.PamCheckBox;
import PamView.dialog.PamLabel; import PamView.dialog.PamLabel;
import loggerForms.FormsControl;
import loggerForms.LoggerForm; import loggerForms.LoggerForm;
import loggerForms.controlDescriptions.ControlDescription; import loggerForms.controlDescriptions.ControlDescription;
@ -41,7 +42,7 @@ public class CheckboxControl extends LoggerControl {
return; return;
} }
try { try {
checkBox.setSelected((Boolean) data); checkBox.setSelected(FormsControl.checkBadBoolean(data));
} }
catch(ClassCastException e) { catch(ClassCastException e) {
e.printStackTrace(); e.printStackTrace();

View File

@ -70,7 +70,7 @@ public class FormDataSelector extends DataSelector {
@Override @Override
public double scoreData(PamDataUnit pamDataUnit) { public double scoreData(PamDataUnit pamDataUnit) {
if (controlDataSelector == null) { if (controlDataSelector == null) {
return 0; return 1;
} }
Object[] formData = null; Object[] formData = null;
if (pamDataUnit instanceof FormsDataUnit) { if (pamDataUnit instanceof FormsDataUnit) {