From 1200b13f956ca24436bbf148702d743964c69a4d Mon Sep 17 00:00:00 2001 From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Fri, 23 Feb 2024 15:53:00 +0000 Subject: [PATCH 1/3] Exception handling in CTD --- .../mht/MHTClickTrainAlgorithm.java | 5 ++++ .../clickTrainAlgorithms/mht/MHTKernel.java | 25 ++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTClickTrainAlgorithm.java b/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTClickTrainAlgorithm.java index 66fdabe3..7f50025e 100644 --- a/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTClickTrainAlgorithm.java +++ b/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTClickTrainAlgorithm.java @@ -354,6 +354,7 @@ public class MHTClickTrainAlgorithm implements ClickTrainAlgorithm, PamSettings TrackBitSet trackBitSet; TrackDataUnits trackUnits; if (nTracks>0) Debug.out.println("-------------------Grab Done Trains---------------"); + try { for (int i =0; i0) Debug.out.println("-------------------------------------------------"); diff --git a/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTKernel.java b/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTKernel.java index 3a4fb0ee..4fa9cdfb 100644 --- a/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTKernel.java +++ b/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTKernel.java @@ -3,6 +3,7 @@ package clickTrainDetector.clickTrainAlgorithms.mht; import java.util.ArrayList; import java.util.BitSet; import java.util.Collections; +import java.util.Comparator; import PamUtils.PamArrayUtils; import PamguardMVC.debug.Debug; @@ -286,6 +287,7 @@ public class MHTKernel { MHTChi2 mhtChi2; int index; synchronized(trackSynchronisation) { + try { for (int i=0; i { //added the cloned bitset to not mess up references newPossibilities.add(new TrackBitSet(currentBitSet, mhtChi2)); } + } + catch (Exception e) { + System.out.printf("******* MHTKernel Exception %s in growProbMatrix: %s\n", e.getClass().getSimpleName(), e.getMessage()); + } } } @@ -348,10 +354,21 @@ public class MHTKernel { //first sort the tracks by increasing chi2 values. //sort the possible tracks by chi2 values //now sort the chi2 values so they correspond to the track list. - Collections.sort(newPossibleTracks, (left, right)->{ - //Note- this is definitely in the correct order - return Double.compare(left.chi2Track.getChi2(), right.chi2Track.getChi2()); - }); +// Collections.sort(newPossibleTracks, (left, right)->{ +// //Note- this is definitely in the correct order +// return Double.compare(left.chi2Track.getChi2(), right.chi2Track.getChi2()); +// }); + try { + Collections.sort(newPossibleTracks, new Comparator() { + @Override + public int compare(TrackBitSet left, TrackBitSet right) { + return Double.compare(left.chi2Track.getChi2(), right.chi2Track.getChi2()); + } + }); + } + catch (Exception e) { + System.out.printf("******* MHTKernel Exception %s in pruneProbMatrix: %s\n", e.getClass().getSimpleName(), e.getMessage()); + } // for (int i=0; i Date: Mon, 4 Mar 2024 13:05:56 +0000 Subject: [PATCH 2/3] exception handling A bit more exception handling in click train detector and output of a version 10aa/other --- dependency-reduced-pom.xml | 2 +- pom.xml | 2 +- src/Map/MapRectProjector.java | 2 +- src/PamController/PamguardVersionInfo.java | 4 ++-- .../clickTrainAlgorithms/mht/MHTClickTrainAlgorithm.java | 3 ++- .../clickTrainAlgorithms/mht/MHTKernel.java | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index 24b67836..faa470e3 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -4,7 +4,7 @@ org.pamguard Pamguard Pamguard Java12+ - 2.02.10a + 2.02.10aa Pamguard for Java 12+, using Maven to control dependcies www.pamguard.org diff --git a/pom.xml b/pom.xml index 791baced..9439483a 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.pamguard Pamguard - 2.02.10a + 2.02.10aa Pamguard Java12+ Pamguard for Java 12+, using Maven to control dependcies www.pamguard.org diff --git a/src/Map/MapRectProjector.java b/src/Map/MapRectProjector.java index 0b7e45a3..2c45a517 100644 --- a/src/Map/MapRectProjector.java +++ b/src/Map/MapRectProjector.java @@ -404,7 +404,7 @@ public class MapRectProjector extends MapProjector { private String findGpsTrackText(Point mousePoint, int ploNumberMatch) { GPSControl gpsControl = GPSControl.getGpsControl(); - if (gpsControl == null) { + if (gpsControl == null || mousePoint == null) { return null; } LatLong currentPos = getDataPosition(new Coordinate3d(mousePoint.x, mousePoint.y)); diff --git a/src/PamController/PamguardVersionInfo.java b/src/PamController/PamguardVersionInfo.java index cb03138a..ba50bebc 100644 --- a/src/PamController/PamguardVersionInfo.java +++ b/src/PamController/PamguardVersionInfo.java @@ -16,7 +16,7 @@ public class PamguardVersionInfo { * @return release type */ static public ReleaseType getReleaseType() { - return ReleaseType.CORE; + return ReleaseType.OTHER; } /** @@ -31,7 +31,7 @@ public class PamguardVersionInfo { * Version number, major version.minorversion.sub-release. * Note: can't go higher than sub-release 'f' */ - static public final String version = "2.02.10a"; + static public final String version = "2.02.10aa"; /** * Release date diff --git a/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTClickTrainAlgorithm.java b/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTClickTrainAlgorithm.java index 7f50025e..bf312d7e 100644 --- a/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTClickTrainAlgorithm.java +++ b/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTClickTrainAlgorithm.java @@ -45,6 +45,7 @@ public class MHTClickTrainAlgorithm implements ClickTrainAlgorithm, PamSettings public static final String MHT_NAME = "MHT detector"; + /** * Reference to the click train control. */ @@ -382,7 +383,7 @@ public class MHTClickTrainAlgorithm implements ClickTrainAlgorithm, PamSettings } } catch (Exception e) { - System.out.printf("******* MHTClickTrainAlgorithm Exception %s in grabDoneTrains: %s\n", e.getClass().getSimpleName(), e.getMessage()); + System.out.printf("Handled MHTClickTrainAlgorithm Exception %s in grabDoneTrains: %s\n", e.getClass().getSimpleName(), e.getMessage()); } if (nTracks>0) Debug.out.println("-------------------------------------------------"); diff --git a/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTKernel.java b/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTKernel.java index 4fa9cdfb..585d5d39 100644 --- a/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTKernel.java +++ b/src/clickTrainDetector/clickTrainAlgorithms/mht/MHTKernel.java @@ -367,7 +367,7 @@ public class MHTKernel { }); } catch (Exception e) { - System.out.printf("******* MHTKernel Exception %s in pruneProbMatrix: %s\n", e.getClass().getSimpleName(), e.getMessage()); + System.out.printf("Handled MHTKernel Exception %s in pruneProbMatrix: %s\n", e.getClass().getSimpleName(), e.getMessage()); } // for (int i=0; i Date: Mon, 4 Mar 2024 13:59:09 +0000 Subject: [PATCH 3/3] Update PamController.java add in debug output at start and stop --- src/PamController/PamController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PamController/PamController.java b/src/PamController/PamController.java index 82b514ad..15b19eac 100644 --- a/src/PamController/PamController.java +++ b/src/PamController/PamController.java @@ -1382,7 +1382,7 @@ public class PamController implements PamControllerInterface, PamSettings { * @param sayEmpties dump info even if a buffer is empty (otherwise, only ones that have stuff still) */ public void dumpBufferStatus(String message, boolean sayEmpties) { - if (2 >1) return; + //if (2 >1) return; System.out.println("**** Dumping process buffer status: " + message); ArrayList pamControlledUnits = pamConfiguration.getPamControlledUnits(); for (PamControlledUnit aUnit : pamControlledUnits) {