mirror of
https://github.com/PAMGuard/PAMGuard.git
synced 2024-11-25 08:32:32 +00:00
Merge branch 'main' of https://github.com/douggillespie/PAMGuard.git into main
This commit is contained in:
commit
b7cbd2592f
@ -318,6 +318,9 @@ public class FolderInputSystem extends FileInputSystem implements PamSettings, D
|
||||
}
|
||||
selection = folderInputParameters.getSelectedFiles();
|
||||
}
|
||||
if (selection == null) {
|
||||
return 0;
|
||||
}
|
||||
if (selection.length > 0) {
|
||||
System.out.println("FolderInputSystem.makeSelFileList(): Searching for sound files in " + selection[0]);
|
||||
}
|
||||
|
@ -1096,6 +1096,7 @@ public class MapPanel extends JPanelWithPamKey implements PamObserver, ColorMana
|
||||
return;
|
||||
}
|
||||
ds = dataBlock.getDataSelector(simpleMapRef.getUnitName(), false, DATASELECTNAME);
|
||||
// ds = null;
|
||||
ArrayList<PamDataUnit> dataCopy = dataBlock.getDataCopy(earliestToPlot, now, true, ds);
|
||||
duIterator = dataCopy.listIterator();
|
||||
while (duIterator.hasNext()) {
|
||||
|
@ -38,6 +38,14 @@ import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
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.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
@ -49,6 +57,7 @@ import pamScrollSystem.ScrollPaneAddon;
|
||||
import PamView.PamTabPanel;
|
||||
import PamView.panel.PamPanel;
|
||||
import PamView.symbol.StandardSymbolManager;
|
||||
import PamguardMVC.PamDataBlock;
|
||||
import PamguardMVC.PamDataUnit;
|
||||
import PamController.PamControlledUnitSettings;
|
||||
import PamController.PamController;
|
||||
@ -2021,4 +2030,32 @@ public class FormDescription implements Cloneable, Comparable<FormDescription> {
|
||||
public void setNeedsUDFSave(boolean 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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -614,6 +614,32 @@ public class FormsControl extends PamControlledUnit {
|
||||
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
|
||||
// public Serializable getSettingsReference() {
|
||||
// return (Serializable) dummyParams;
|
||||
|
@ -213,7 +213,7 @@ public class FormsDataDisplayTable {
|
||||
if (getColumnClass(columnIndex) == Boolean.class) {
|
||||
if (value instanceof Boolean == false) {
|
||||
// System.out.println("Bad boolean value: " + value);
|
||||
return interpretBadBoolean(value);
|
||||
return FormsControl.checkBadBoolean(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.
|
||||
|
@ -87,7 +87,9 @@ public class FormsDataUnit extends PamDataUnit {
|
||||
* we want to as a reference, etc.
|
||||
*/
|
||||
if (recalculate || formOriginLatLong == null) {
|
||||
formOriginLatLong = loggerForm.getOriginLatLong(this);
|
||||
if (formDescription != null) {
|
||||
formOriginLatLong = formDescription.getOriginLatLong(this);
|
||||
}
|
||||
}
|
||||
return formOriginLatLong;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class FormsLogging extends SQLLogging {
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// formDescription.getf
|
||||
|
||||
FormsDataUnit formsDataUnit = new FormsDataUnit(null, timeMilliseconds, formDescription, formData);
|
||||
formsDataUnit.setDatabaseIndex(databaseIndex);
|
||||
|
@ -104,7 +104,7 @@ public class LoggerForm{
|
||||
private CounterControl counter;
|
||||
|
||||
|
||||
private HydrophoneOriginMethods origins = HydrophoneOriginMethods.getInstance();
|
||||
// private HydrophoneOriginMethods origins = HydrophoneOriginMethods.getInstance();
|
||||
|
||||
/**
|
||||
* @return the hasCounter
|
||||
@ -911,30 +911,30 @@ public class LoggerForm{
|
||||
return saveButton;
|
||||
}
|
||||
|
||||
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) {
|
||||
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;
|
||||
}
|
||||
// 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) {
|
||||
// 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;
|
||||
// }
|
||||
|
||||
|
||||
// /**
|
||||
|
@ -9,6 +9,7 @@ import NMEA.NMEADataBlock;
|
||||
import NMEA.NMEADataUnit;
|
||||
import PamView.dialog.PamCheckBox;
|
||||
import PamView.dialog.PamLabel;
|
||||
import loggerForms.FormsControl;
|
||||
import loggerForms.LoggerForm;
|
||||
import loggerForms.controlDescriptions.ControlDescription;
|
||||
|
||||
@ -41,7 +42,7 @@ public class CheckboxControl extends LoggerControl {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
checkBox.setSelected((Boolean) data);
|
||||
checkBox.setSelected(FormsControl.checkBadBoolean(data));
|
||||
}
|
||||
catch(ClassCastException e) {
|
||||
e.printStackTrace();
|
||||
|
@ -70,7 +70,7 @@ public class FormDataSelector extends DataSelector {
|
||||
@Override
|
||||
public double scoreData(PamDataUnit pamDataUnit) {
|
||||
if (controlDataSelector == null) {
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
Object[] formData = null;
|
||||
if (pamDataUnit instanceof FormsDataUnit) {
|
||||
|
Loading…
Reference in New Issue
Block a user