From 53ca798f1b97b49800c312f2a92aa06ba36b827e Mon Sep 17 00:00:00 2001 From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Fri, 26 Jan 2024 09:57:57 +0000 Subject: [PATCH 1/6] Correct sorting of input sound files --- src/Acquisition/pamAudio/WavAudioFile.java | 26 +++++++++++++++++++ .../worker/filelist/FileListWorker.java | 1 + 2 files changed, 27 insertions(+) diff --git a/src/Acquisition/pamAudio/WavAudioFile.java b/src/Acquisition/pamAudio/WavAudioFile.java index b20a4b1b..77d07b54 100644 --- a/src/Acquisition/pamAudio/WavAudioFile.java +++ b/src/Acquisition/pamAudio/WavAudioFile.java @@ -14,6 +14,7 @@ import javax.sound.sampled.UnsupportedAudioFileException; import org.codehaus.plexus.util.FileUtils; import Acquisition.offlineFuncs.AquisitionLoadPoint; import PamDetection.RawDataUnit; +import PamguardMVC.PamConstants; //import PamUtils.CPUMonitor; import PamguardMVC.PamDataBlock; import PamguardMVC.dataOffline.OfflineDataLoadInfo; @@ -47,6 +48,8 @@ public class WavAudioFile implements PamAudioFileLoader { * Get the file extensions associated with loading these data. */ protected ArrayList fileExtensions; + + private double[] channelBackground = new double[PamConstants.MAX_CHANNELS]; public WavAudioFile() { fileExtensions = new ArrayList(Arrays.asList(new String[]{".wav", ".aif", ".aiff"})); @@ -190,6 +193,9 @@ public class WavAudioFile implements PamAudioFileLoader { newDataUnit = new RawDataUnit(ms, 1 << ichan, totalSamples, newSamples); newDataUnit.setFileSamples(totalSamples + skipped / frameSize); //set the number samples into the wav file. + + removeDCComponent(doubleData[ichan], ichan, audioFormat); + newDataUnit.setRawData(doubleData[ichan], true); //System.out.println("New wav data: " + PamCalendar.formatDateTime(newDataUnit.getTimeMilliseconds())); @@ -211,6 +217,26 @@ public class WavAudioFile implements PamAudioFileLoader { } + private void removeDCComponent(double[] ds, int channel, AudioFormat audioFormat) { + /* + * do a simple background subtraction with about a 1s time constant. + * If the background is currently zero initialise it to the mean data value. + */ + double alpha = 1./audioFormat.getSampleRate(); + double alpha_1 = 1.-alpha; + double bg = channelBackground[channel]; + if (bg == 0.) { + for (int i = 0; i < ds.length; i++) { + bg += ds[i]; + } + bg /= ds.length; + } + for (int i = 0; i < ds.length; i++) { + ds[i] -= bg; + bg = bg*alpha_1 + ds[i]*alpha; + } + } + /** * Open a sound file. * @param soundFile diff --git a/src/PamUtils/worker/filelist/FileListWorker.java b/src/PamUtils/worker/filelist/FileListWorker.java index e71a5f62..9ee5c80f 100644 --- a/src/PamUtils/worker/filelist/FileListWorker.java +++ b/src/PamUtils/worker/filelist/FileListWorker.java @@ -228,6 +228,7 @@ public abstract class FileListWorker implements PamWorkWrapper result) { oldFileList = result; + sortFiles(result); fileListUser.newFileList(result); } From cb0d191c08ab5c659b03886a13e8752f8a47e7b7 Mon Sep 17 00:00:00 2001 From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Mon, 29 Jan 2024 20:50:07 +0000 Subject: [PATCH 2/6] Update README.html Fix problems of weird characters in readme.html --- README.html | 267 +++++++++++++++++++++++++++------------------------- 1 file changed, 138 insertions(+), 129 deletions(-) diff --git a/README.html b/README.html index 26da7a1a..d4faac7a 100644 --- a/README.html +++ b/README.html @@ -466,9 +466,9 @@ name="_Version_2.02.10_January">Version 2.02.10 January 2024

New Features

Importing modules from other configurations: New options from file menu allowing import -of specific modules, or module settings from other configurations. E.g. if you -had three similar configurations and had set one of them up with a new +lang=EN-US> from other configurations: New options from file menu allowing +import of specific modules, or module settings from other configurations. E.g. +if you had three similar configurations and had set one of them up with a new detector, or got the click classifier settings set up just right in one of those configurations, you can import the additional modules or the click detector settings easily into the other configurations.

@@ -478,8 +478,9 @@ files) file performance when scrolling through audio data in Viewer mode.

Viewer Launch by right clicking on sqlite database and selecting �open with / Pamguard -ViewerMode launcher� menu option.

+lang=EN-US> by right clicking on sqlite database and selecting open with / +Pamguard ViewerMode launcher menu option.

+

Bug Fixes

Logger Forms

@@ -526,10 +527,18 @@ clicks not being correctly reassigned to different events.

Screen Position: When using multiple monitors, if you move a configuration to a -computer with a different monitor layout, the GUI should work out if it’s +computer with a different monitor layout, the GUI should work out if its opening on a screen area which no longer exists and move itself onto the primary monitor.

+

File Folder Processing: Previous version had a bug which caused files to not always be +sorted into the correct order for processing. This caused some instability in +some detectors, causing memory leaks when new data arrived with time stamps +earlier than already processed data in memory. This is now fixed files are ow +correctly sorted alphabetically by file name, i.e. not including the +name of the folder containing the files.

+

Version 2.02.09 June 2023

Bug Fixes

@@ -548,8 +557,8 @@ were reading local time, even when set to use UTC.

which mostly occurred when processing large datasets of many offline files, has been fixed.

-

Data Map: “Scroll To Data” pop-up menu, -which didn’t always scroll to the correct place, is now fixed.

+

Data Map: Scroll To Data pop-up menu, +which didnt always scroll to the correct place, is now fixed.

Bearing Localiser offline: If reprocessing bearings, the localizer was not correctly loading required raw or FFT data to @@ -572,7 +581,7 @@ files and stores them within the PAMGuard configuration. This does not affect processing, but is important for record keeping.

GPS options to use any valid RMC or GGA -string. Not all GPS receivers output their RMC data as GPRMC – e.g. some may +string. Not all GPS receivers output their RMC data as GPRMC e.g. some may output as GNRMC. A new option allows the GPS module to use any string, whatever the first two characters of the string name may be.

@@ -581,15 +590,15 @@ the first two characters of the string name may be.

Bug Fixes

Use of localization sensor and orientation -data for static hydrophones had a bug whereby it would continually ‘forget’ +data for static hydrophones had a bug whereby it would continually forget angle offsets applied to static hydrophones in viewer mode. This is now fixed.

Click tool bar: Correctly shows event selection options even if no species classification options are in place.

-

Fixed Landmarks: Earlier versions were -‘losing’ these every time PAMGuard started or new data were loaded in viewer -mode. Now fixed.

+

Fixed Landmarks: Earlier versions were losing +these every time PAMGuard started or new data were loaded in viewer mode. Now +fixed.

ROCCA: Fixed (another) memory leak which caused PAMGuard to crash when processing large data sets with the ROCCA @@ -607,11 +616,11 @@ processing.

New sound type for simulated sounds which generates random chirps between around 200 and 800Hz, roughly the frequency -you’d expect sound from higher frequency baleen whales, such as humpbacks, to +youd expect sound from higher frequency baleen whales, such as humpbacks, to vocalise at.   

Hiding tool tips. A menu item to -permanently turn off all tool tips, or tap the ‘Esc’ key to turn them off for 6 +permanently turn off all tool tips, or tap the Esc key to turn them off for 6 seconds if they are getting in the way, particularly when trying to interact with displays using the mouse.

@@ -632,7 +641,7 @@ whistle classification module.

New Features

-

SoundTrap SUD file reading. If you’re using +

SoundTrap SUD file reading. If youre using SoundTrap autonomous recorders from Ocean Instruments, you no longer need to decompress the SoundTrap files prior to processing. This will save time and a lot of disk space. Extraction of clicks from the inbuilt SoundTrap Click @@ -696,7 +705,7 @@ audio files.

Bug Fixes

Soundtrap DWV import. Will now generate -binary files even if DWV file doesn’t exist (which is correct behavior in +binary files even if DWV file doesnt exist (which is correct behavior in quiet conditions when no clicks were detected).

Spectrogram. Changes to stop occasional @@ -731,8 +740,8 @@ running in real time. Added template names based on file names.

#13 Merging files when offline processing file folders: Had an error introduced in last release which caused it to fail to recognise gaps between files, meaning that some output data (i.e. after a gap) would have an -incorrect time stamp. This did not affect data if the ‘merge contiguous -files’ option was not selected.

+incorrect time stamp. This did not affect data if the merge contiguous files +option was not selected.

#14 Logger forms data were not plotting correctly. This was due to the required data selection functions not being fully implemented. This @@ -758,9 +767,8 @@ the TF FX display to crash if no data were displayed.

See major release notes for V 2.02.01 below.

-

Bug 495: TD FX display throws -NullPointerException if user has removed all data units and then moves mouse -over display area.

+

Bug 495: TD FX display throws NullPointerException +if user has removed all data units and then moves mouse over display area.

Version 2.02.01 October 2021

@@ -783,11 +791,11 @@ font-family:"Times New Roman",serif'> 

File Format Change

-

Changes have been made to the binary file format to support -the output of additional noise outputs for certain detectors (See below). -Binary files created with this version will not be compatible with earlier -versions 2.01.### and below. This version will read and may convert earlier -format binary files.

+

Changes have been made to the binary file format to support the +output of additional noise outputs for certain detectors (See below). Binary +files created with this version will not be compatible with earlier versions +2.01.### and below. This version will read and may convert earlier format +binary files.

 

@@ -795,19 +803,20 @@ font-family:"Times New Roman",serif'> 

Localisation Modules

-

Bearing and Group 3D localization modules have been thoroughly -tested and a number of bugs rectified. Documentation has been developed and is -available in the online help. Further, a number of example configurations have -been generated, configuration files for these are available in the PAMGuard -downloads area here.

+

Bearing and Group 3D localization modules have been +thoroughly tested and a number of bugs rectified. Documentation has been +developed and is available in the online help. Further, a number of example +configurations have been generated, configuration files for these are available +in the PAMGuard downloads area here.

Detection Group Localiser

-

This module has been renamed “Detection Grouper”, so -as to avoid confusion with the Group 3D localizer. This is because the -Detection Grouper is more for organizing data into groups to be localized than -it is for doing localization.

+

This module has been renamed Detection Grouper, so as to +avoid confusion with the Group 3D localizer. This is because the Detection +Grouper is more for organizing data into groups to be localized than it is for +doing localization.

Minor Bug Fixes

@@ -862,9 +871,9 @@ lang=EN-US> Allow Clip Generator to create both a binary record and a wav file

5.        -Implemented a Backup Manager for backing up multiple types of data to multiple -locations]

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Implemented a Backup Manager for backing up multiple types +of data to multiple locations]

6.        Extend the Hyperbolic Localiser to handle 2D planar arrays (previously limited to 3D volumetric arrays)

14.        -new CPOD features

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       new CPOD features

15.        Better interpolation of data by the Decimator when decimating/upsampling by a non-integer amount

16.        -Noise Level Outputs - as an aid to performance diagnosis, some detectors -(currently the GPL, Click Detector and Whistle and Moan Detector) are -outputting additional noise metrics to their binary output files. These can be -read with the PAMGuard -Matlab library and used to diagnose system performance in varying noise +lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Noise Level Outputs - as an aid to performance diagnosis, +some detectors (currently the GPL, Click Detector and Whistle and Moan +Detector) are outputting additional noise metrics to their binary output files. +These can be read with the PAMGuard Matlab +library and used to diagnose system performance in varying noise conditions. Improved displays within PAMGuard for these noise metrics will be included in a future release.

17.        An implementation of the Generalized Power Law Detector, -developed by Tyler Helble ([Helble et al., ‘A generalized power-law -detection algorithm for humpback whale vocalizations’, The Journal of the -Acoustical Society of America, vol. 131, no. 4, pp. 2682–2699, 2012) is now -available. For details, see the online help

+developed by Tyler Helble ([Helble et al., A generalized power-law detection +algorithm for humpback whale vocalizations, The Journal of the Acoustical +Society of America, vol. 131, no. 4, pp. 26822699, 2012) is now available. For +details, see the online help

18.       Beta Version 2.00.10 before proceeding with installation and use of this version.

-

This version of PAMGuard has been bundled with Java 13 (release -13.0.1). PSFX files generated in previous beta releases (2.xx.xx) should be -compatible with this version, and vice-versa. PSF files generated in core -releases (1.15.xx) can be loaded in this version, but will be converted to PSFX -files when PAMGuard exits.

+

This version of PAMGuard has been bundled with Java 13 +(release 13.0.1). PSFX files generated in previous beta releases (2.xx.xx) +should be compatible with this version, and vice-versa. PSF files generated in +core releases (1.15.xx) can be loaded in this version, but will be converted to +PSFX files when PAMGuard exits.

Bug Fixes

@@ -1289,8 +1299,8 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> &nb Bug 440. Measurement Computing Cards not enumerating properly.

9.        -Bug 441. Plot coordinate calculations incorrect in PamAxis.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Bug 441. Plot coordinate calculations incorrect in PamAxis.

10.        Bug 443. NI playback crashing immediately if a device is not present.

12.        -Bug 444. Bug in data selector which caused it to mess up history of recent psf -files.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Bug 444. Bug in data selector which caused it to mess up +history of recent psf files.

13.        Bug 431. Error when trying to mark section of spectrogram to send to Bearing Calculator module

6.        -Bug 432. MySQL database interface - connection problems

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Bug 432. MySQL database interface - connection problems

Upgrades

@@ -1696,8 +1706,8 @@ with installation and use of this version.

1.        -Bug 338. Problem displaying coastlines and bathymetric contours around -the dateline (+/- 180 longitude) in the map.

+Bug 338. Problem displaying coastlines and bathymetric contours around the +dateline (+/- 180 longitude) in the map.

2.        @@ -1823,9 +1833,9 @@ see new options in main menu.

2.        Added Matched Template Click Classifier. Classifies clicks based -on an ideal template to match and a template to reject. An example of this is -to classify beaked whale clicks in an environment with dolphin clicks.

+lang=EN-US> Added Matched Template Click Classifier. Classifies clicks +based on an ideal template to match and a template to reject. An example of +this is to classify beaked whale clicks in an environment with dolphin clicks.

3.        @@ -1935,9 +1945,9 @@ interface when importing Soundtrap data. Also changed the default date/time format to ISO8601 standard.

2.        -A number of upgrades and fixes to the Localiser algorithms, including expanding -to work with whistles.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       A number of upgrades and fixes to the Localiser algorithms, +including expanding to work with whistles.

3.        User is now able to specify Soundtrap date/time format

Beta Version 2.00.11 October 2017

-

PAMGuard Version 2 contains major updates. You -should read and understand the notes listed for PAMGuard Version 2 contains major updates. +You should read and understand the notes listed for Beta Version 2.00.10 before proceeding with installation and use of this version.

@@ -2201,22 +2211,22 @@ file format is the addition of a Unique Data Identifier (UID) to each unit of data. This is intended to aid in offline analysis by making it easier for the user to link what they are seeing on different PAMGuard displays and also to link with any data post processed in Matlab or other custom analysis software. -UID’s are also added to PAMGuard database tables.

+UIDs are also added to PAMGuard database tables.

Converting Old Data

If old data are opened with the PAMGuard viewer they will automatically be converted. For safety, the original binary files will not be overwritten and the new data will be placed in a new folder -on your computer with the same path as the old data, but suffixed with -‘_WithUID’, e.g. if your binary data were previously stored in the folder +on your computer with the same path as the old data, but suffixed with _WithUID, +e.g. if your binary data were previously stored in the folder C:\MySurvey\binarydata the new data will be written to C:\MySurvey\binarydata_WithUID.

The additional UID column will be added to all database tables and populated with unique values. For data which are stored -in both the binary files and in database tables, the same UID’s will be used -in both data stores.

+in both the binary files and in database tables, the same UIDs will be used in +both data stores.

New Displays

@@ -2285,8 +2295,8 @@ Hawaii/Temperate Pacific/North Atlantic datasets. This has been corrected.

2.       -Bug 320. Pamguard stopped reading Click Detector Event data from -database when target motion analysis information was encountered. Corrected.

+Bug 320. Pamguard stopped reading Click Detector Event data from database +when target motion analysis information was encountered. Corrected.

3.       @@ -2357,9 +2367,10 @@ happens when the user selects save as new configuration. This has been fixed.

6.       -Bug 315. code searched for file in working folder, which is the installation -folder when starting PAMGuard using a shortcut link. But when double-clicking -on a psf, the working folder is the location of the psf. This has been fixed.

+Bug 315. code searched for file in working folder, which is the +installation folder when starting PAMGuard using a shortcut link. But when +double-clicking on a psf, the working folder is the location of the psf. This +has been fixed.

7.      

Other Changes

-

The installer has been updated to handle both -64 bit and 32 bit installations. PAMGuard psf files are now registered in the -Windows Registry, so double-clicking on a psf file should run PAMGuard in +

The installer has been updated to handle +both 64 bit and 32 bit installations. PAMGuard psf files are now registered in +the Windows Registry, so double-clicking on a psf file should run PAMGuard in normal mode (as opposed to Viewer or Mixed modes). Note that the Windows Registry can only hold a single executable reference for psf files; therefore, for users with multiple installations of PAMGuard, double-clicking on a psf @@ -2449,12 +2460,12 @@ November 2016

1.       Bug 303. Some ASIO sound cards not working with either ASIO system in PAMGuard. For the PAMGuard ASIO system, this was due to a data format used by some sound -cards never being properly implemented. For the “New ASIO system” which -is based on jAsioHost, the unpacking of that format contained a bug which -returned incorrect numbers, so data were swamped with noise. Both systems are -now fixed. By preference, users should use the PAMGuard ASIO system since the -JAsioHost based system seems to drop samples when many channels are running at -high sample rate.

+cards never being properly implemented. For the New ASIO system which is +based on jAsioHost, the unpacking of that format contained a bug which returned +incorrect numbers, so data were swamped with noise. Both systems are now fixed. +By preference, users should use the PAMGuard ASIO system since the JAsioHost +based system seems to drop samples when many channels are running at high +sample rate.

2.       @@ -2741,8 +2752,8 @@ being imported into the new database. Problem 2 was that indexing of imported click events in the new database was incorrect. Both these issues have now been fixed.

-

Version 1.15.02 -March 2016

+

Version 1.15.02 March +2016

A number of small bug fixes following release of 1.15.00.

@@ -2894,13 +2905,13 @@ for details.

3.       -GPS Loading into PAMGuard Viewer. This has been -modified so that the rules governing GPS data collection and storage also apply -when loading data from the database. For instance, if you've stored all GPS -data, you've probably got a record every second in the database which can -create memory overflows if you try to load a lot of data in the viewer. You can -now tell PAMGuard to only load a data point every n seconds which will reduce -the number of points loaded. Useful when making large scale overview maps of a +GPS Loading into PAMGuard Viewer. This has been modified +so that the rules governing GPS data collection and storage also apply when +loading data from the database. For instance, if you've stored all GPS data, +you've probably got a record every second in the database which can create +memory overflows if you try to load a lot of data in the viewer. You can now +tell PAMGuard to only load a data point every n seconds which will reduce the +number of points loaded. Useful when making large scale overview maps of a survey.

4.

Menu Layout

-

The PAMGuard menus have been rearranged into a more -intuitive grouping which we believe will help users find functionality more -easily.

+

The PAMGuard menus have been rearranged into a more intuitive +grouping which we believe will help users find functionality more easily.

'Detection' menu has been renamed to 'Settings' since many menu items within this menu were not directly to do with 'Detection'.

@@ -3292,9 +3302,9 @@ of third octave noise bands. See online help for details.

Filtered Noise Measurement (Sound Processing Group)

-

This module, developed by Douglas Gillespie, measures noise -levels in a single frequency band using a variety of filter functions. See -online help for details.

+

This module, developed by Douglas Gillespie, measures noise levels +in a single frequency band using a variety of filter functions. See online help +for details.

Envelope Tracing (Beta Only, Sound Processing Group)

@@ -3330,11 +3340,10 @@ different. Details are available in the online help.

FLAC File Support

Can now read raw audio data direct from FLAC files. FLAC is a lossless compression -algorithm for audio data. Files, or folders of files are accessed in the same -way as WAV and AIFF files in the Sound Acquisition module. In a future release -we also hope to provide support for writing FLAC files from the sound recorder -module.

+href="http://en.wikipedia.org/wiki/FLAC">FLAC is a lossless compression algorithm +for audio data. Files, or folders of files are accessed in the same way as WAV +and AIFF files in the Sound Acquisition module. In a future release we also +hope to provide support for writing FLAC files from the sound recorder module.

Sound Recorder Module

@@ -3402,8 +3411,8 @@ whistle.

  • Airgun display. If this was included in the PAMGuard model before the GPS module it would hang PAMGuard. This has been rectified.
  • -
  • Fixed occasional exceptions in the - sound output modules when playing back from files.
  • +
  • Fixed occasional exceptions in + the sound output modules when playing back from files.
  • Fixed exceptions in spectrogram user interface.
  • Fixed National Instruments sound @@ -3485,8 +3494,8 @@ other data sources for the PAMGuard viewer.

    storage to the database offline for any module having both binary and database storage.

    -

    Can create a blank MS Access database -(2007 and later *.accdb formats only).

    +

    Can create a blank MS Access +database (2007 and later *.accdb formats only).

    Can open MS Access from within PAMGuard to make it easier to view database content.

    @@ -3805,10 +3814,10 @@ source, even if that data source is loaded after the FFT module is created.

    1. Binary storage module.

    -

    Performs a parallel role to the PAMGAURD database but uses binary -files in a proprietary format which is considerably more efficient for data of -unknown length such as whistle contours or small clips of click waveform. This -feature is currently implemented in the following modules:

    +

    Performs a parallel role to the PAMGAURD database but uses +binary files in a proprietary format which is considerably more efficient for +data of unknown length such as whistle contours or small clips of click +waveform. This feature is currently implemented in the following modules:

    '         @@ -4017,8 +4026,8 @@ column was setting to zero. This is now fixed

    Ishmael Detectors

    -

    Better rendering of detection boxes on spectrogram display and -more meaningful names in spectrogram display menu.

    +

    Better rendering of detection boxes on spectrogram display +and more meaningful names in spectrogram display menu.

    Sound acquisition

    @@ -4107,8 +4116,8 @@ Symbol'>''         -This results in a major speed up of data exchange between modules and -can lead to a x4 improvement in overall performance.

    +
    This results in a major speed up of data exchange between modules and can +lead to a x4 improvement in overall performance.

    '         @@ -4221,9 +4230,9 @@ Symbol'>''         -Channel lists in output data streams of Decimator and other modules -fixed, so that when channel numbers change, downstream modules configurations -get the correct list of available channels.

    +Channel lists in output data streams of Decimator and other modules fixed, +so that when channel numbers change, downstream modules configurations get the +correct list of available channels.

    '         @@ -4846,8 +4855,8 @@ Symbol'>'1.0Beta 22 Jan 2008 - -Pamguard starts two releases, core and beta release,

    +class=Heading2Char>1.0Beta 22 Jan 2008 - Pamguard +starts two releases, core and beta release,

    this is the beta release

    From 5466914d4ebe65c67f1a66ac82c17e5956da470b Mon Sep 17 00:00:00 2001 From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Tue, 30 Jan 2024 11:55:34 +0000 Subject: [PATCH 3/6] Merge from dev branch (#125) * updating Tethys help * added help details server connection & calibration * Reporting outputs to user Use Pamguard WarnOnce system to show a message of success or failure after attempting to output to Tethys. * Removing empty fields Start of implementation of code that can remove empty fields from objects before they are written. * More help documentation Continued writing general export help. Added new css style Added image * Fix type in Deployment export * Prevent single deployment export For now, disable the option to export a single Deployment document for multiple recording periods. * System to search species codes Search the ITIS species codes in Tethys to find ITIS codes. Search can be on a common or scientific name. * Data blocks help + species codes More help documentation on exporting detections/localization as well as mapping detection species codes to TSNs. Includes supporting images * Improved dialog for finding species codes Now has a progress bar to block GUI while searching database. * Add species codes TOC in help * Documented new species search in help * Nilus Checker Can check a Nilus class to see if it's missing required objects and be used to remove empty fields (e.g. zero length strings) from an object. * fixed anchor html problem * Messing around with checking of required fields in nilus objects. * split Tethys help files into smaller chunks * Update button enablers And reinstate output of a single deployment document, with non-recording periods stores in the QA section And update help TOC for latest help documents. --------- Co-authored-by: Marie --- src/PamView/wizard/PamWizardCard.java | 2 - .../ClickBlockSpeciesManager.java | 2 +- src/help/JavaHelpSearch/DOCS | Bin 78059 -> 79554 bytes src/help/JavaHelpSearch/DOCS.TAB | Bin 5960 -> 6094 bytes src/help/JavaHelpSearch/OFFSETS | Bin 1681 -> 1707 bytes src/help/JavaHelpSearch/POSITIONS | Bin 538852 -> 544616 bytes src/help/JavaHelpSearch/SCHEMA | 2 +- src/help/JavaHelpSearch/TMAP | Bin 73728 -> 75776 bytes src/help/Map.jhm | 16 +- src/help/PAMGUARDIndex.xml | 2 + src/help/PAMGUARDTOC.xml | 12 +- src/help/pamHelpStylesheet.css | 10 +- .../utilities/tethys/docs/calibrations.html | 147 ++++++ .../utilities/tethys/docs/connection.html | 121 +++++ .../utilities/tethys/docs/deployments.html | 143 ++++++ .../tethys/docs/detect_localize.html | 161 +++++++ .../tethys/docs/images/data_blocks.png | Bin 0 -> 12590 bytes .../tethys/docs/images/species_codes.png | Bin 0 -> 27947 bytes .../tethys/docs/images/species_search.png | Bin 0 -> 69962 bytes .../tethys/docs/images/stream_algo_info.png | Bin 0 -> 19408 bytes .../utilities/tethys/docs/tethys_module.html | 92 ++++ .../tethys/docs/tethys_overview.html | 100 +++-- .../tethys/docs/tethys_quickstart.html | 80 ---- .../tethys/docs/tethys_speciescodes.html | 192 ++++++++ src/tethys/TethysControl.java | 21 +- .../calibration/CalibrationHandler.java | 30 +- .../swing/CalibrationProcessCard.java | 41 +- .../calibration/swing/CalibrationsCard.java | 3 +- .../swing/CalibrationsContactCard.java | 10 + .../swing/CalibrationsMainPanel.java | 11 + src/tethys/dbxml/DBXMLConnect.java | 8 + src/tethys/deployment/DeploymentHandler.java | 50 ++- .../deployment/swing/DeploymentDataCard.java | 14 +- src/tethys/detection/DetectionsHandler.java | 3 + src/tethys/niluswraps/NilusChecker.java | 417 ++++++++++++++++++ src/tethys/reporter/TethysReport.java | 56 +++ src/tethys/reporter/TethysReporter.java | 118 +++++ src/tethys/species/DataBlockSpeciesCodes.java | 2 +- src/tethys/species/ITISFunctions.java | 88 ++++ src/tethys/species/ITISTypes.java | 4 +- src/tethys/species/SpeciesTest.java | 37 +- .../species/swing/DataBlockSpeciesDialog.java | 14 +- .../species/swing/SpeciesSearchDialog.java | 282 ++++++++++++ src/tethys/species/swing/SpeciesSubPanel.java | 24 +- src/tethys/swing/DatablockSynchPanel.java | 5 +- src/tethys/swing/DeploymentExportPanel.java | 5 +- src/tethys/swing/DeploymentsPanel.java | 27 +- .../swing/PAMGuardDeploymentsTable.java | 3 + src/tethys/swing/TethysWizardCard.java | 80 ++++ 49 files changed, 2270 insertions(+), 165 deletions(-) create mode 100644 src/help/utilities/tethys/docs/calibrations.html create mode 100644 src/help/utilities/tethys/docs/connection.html create mode 100644 src/help/utilities/tethys/docs/deployments.html create mode 100644 src/help/utilities/tethys/docs/detect_localize.html create mode 100644 src/help/utilities/tethys/docs/images/data_blocks.png create mode 100644 src/help/utilities/tethys/docs/images/species_codes.png create mode 100644 src/help/utilities/tethys/docs/images/species_search.png create mode 100644 src/help/utilities/tethys/docs/images/stream_algo_info.png create mode 100644 src/help/utilities/tethys/docs/tethys_module.html delete mode 100644 src/help/utilities/tethys/docs/tethys_quickstart.html create mode 100644 src/help/utilities/tethys/docs/tethys_speciescodes.html create mode 100644 src/tethys/niluswraps/NilusChecker.java create mode 100644 src/tethys/reporter/TethysReport.java create mode 100644 src/tethys/reporter/TethysReporter.java create mode 100644 src/tethys/species/swing/SpeciesSearchDialog.java create mode 100644 src/tethys/swing/TethysWizardCard.java diff --git a/src/PamView/wizard/PamWizardCard.java b/src/PamView/wizard/PamWizardCard.java index bc0d9e14..7d4fa88c 100644 --- a/src/PamView/wizard/PamWizardCard.java +++ b/src/PamView/wizard/PamWizardCard.java @@ -1,7 +1,5 @@ package PamView.wizard; -import java.io.Serializable; - import javax.swing.JPanel; diff --git a/src/clickDetector/ClickClassifiers/ClickBlockSpeciesManager.java b/src/clickDetector/ClickClassifiers/ClickBlockSpeciesManager.java index 89812008..bb7528bf 100644 --- a/src/clickDetector/ClickClassifiers/ClickBlockSpeciesManager.java +++ b/src/clickDetector/ClickClassifiers/ClickBlockSpeciesManager.java @@ -15,7 +15,7 @@ public class ClickBlockSpeciesManager extends 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 A`v3p{ literal 78059 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 diff --git a/src/help/JavaHelpSearch/DOCS.TAB b/src/help/JavaHelpSearch/DOCS.TAB index 6dd679baf0ba8a1a7695e1762f9d3a11ff536634..47fba81070f80dc0ed029feaa896a2ee6f88b524 100644 GIT binary patch literal 6094 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 literal 5960 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 diff --git a/src/help/JavaHelpSearch/OFFSETS b/src/help/JavaHelpSearch/OFFSETS index a181bc1617db91648a14b7a7835548d7a5b309e6..6dd107ae15963403b827b477997548c6929b1dba 100644 GIT binary patch delta 1650 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 diff --git a/src/help/JavaHelpSearch/POSITIONS b/src/help/JavaHelpSearch/POSITIONS index ce64fcb8475141c533549b70e7b0fdfa3d0c28ff..b960a5dcc2415865aa3f60eba7fa25cf8c4ae526 100644 GIT binary patch delta 124002 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 b0Ci&~V{h&F6PYJCnHj2)SaX`E$NoP6346De delta 118078 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 diff --git a/src/help/JavaHelpSearch/SCHEMA b/src/help/JavaHelpSearch/SCHEMA index b7978b92..a7d9a08c 100644 --- a/src/help/JavaHelpSearch/SCHEMA +++ b/src/help/JavaHelpSearch/SCHEMA @@ -1,2 +1,2 @@ JavaSearch 1.0 -TMAP bs=2048 rt=1 fl=-1 id1=6727 id2=1 +TMAP bs=2048 rt=1 fl=-1 id1=6882 id2=1 diff --git a/src/help/JavaHelpSearch/TMAP b/src/help/JavaHelpSearch/TMAP index ea69fd11cbb34a6fc54d79f759c6b6f9ca52166d..b0102e13aaecaa7f1bccdfc45350e32dbb0d6f57 100644 GIT binary patch literal 75776 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 Q|Nrm(uQT}n>i+-#03rqSAOHXW literal 73728 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≠KgX9&9TFi;9I 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 diff --git a/src/help/Map.jhm b/src/help/Map.jhm index d96912ac..69065281 100644 --- a/src/help/Map.jhm +++ b/src/help/Map.jhm @@ -54,6 +54,8 @@ + + @@ -138,6 +140,8 @@ + + @@ -198,6 +202,8 @@ + + @@ -276,8 +282,6 @@ - - @@ -290,6 +294,8 @@ + + @@ -388,6 +394,8 @@ + + @@ -456,6 +464,8 @@ + + @@ -592,6 +602,8 @@ + + diff --git a/src/help/PAMGUARDIndex.xml b/src/help/PAMGUARDIndex.xml index c9cf5489..7e8ea629 100644 --- a/src/help/PAMGUARDIndex.xml +++ b/src/help/PAMGUARDIndex.xml @@ -2,6 +2,8 @@ + + diff --git a/src/help/PAMGUARDTOC.xml b/src/help/PAMGUARDTOC.xml index 12209a10..e668ab2c 100644 --- a/src/help/PAMGUARDTOC.xml +++ b/src/help/PAMGUARDTOC.xml @@ -198,10 +198,20 @@ - + + + + + + + + + + + diff --git a/src/help/pamHelpStylesheet.css b/src/help/pamHelpStylesheet.css index d2d474b9..6cfd22db 100644 --- a/src/help/pamHelpStylesheet.css +++ b/src/help/pamHelpStylesheet.css @@ -55,6 +55,14 @@ ol { img.wrap {float: left} img.wrapright {float: right} +img.wrapcenter {float: center} + +.center { + display: block; + margin-left: auto; + margin-right: auto; + width: 85%; +} table, th, td { border: 1px solid black; @@ -65,4 +73,4 @@ th, td { } tr { text-align: center; -} \ No newline at end of file +} diff --git a/src/help/utilities/tethys/docs/calibrations.html b/src/help/utilities/tethys/docs/calibrations.html new file mode 100644 index 00000000..619d33e4 --- /dev/null +++ b/src/help/utilities/tethys/docs/calibrations.html @@ -0,0 +1,147 @@ + + + + + +Instrument Calibration Information + + + + + + +

    Instrument calibration information

    + +

    + Most of the calibration data is taken from the array manager and + from the sound acquisition module. However, PAMGuard will ask a + few questions about HOW the instrument was calibrated, when it was + done and who is responsible. +

    +

    + There are two dialogs associated with calibration. The first + asks for a calibration method and has the following fields: +

    + +
      +
    • + Method: Must be one of the following options: +
        +
      • Reference hydrophone
      • +
      • Manufacturer’s specification
      • +
      • Piston phone
      • +
      • Other calibrated source
      • +
      • Unknown
      • +
      +
    • + +
    • + Serial number: Hydrophone serial number +
    • + +
    • + Quality: Quality assurance value: +
        +
      • unverified: The calibration has not been verified
      • +
      • valid: The calibration has been validated as per the quality assurance process
      • +
      • invalid: The calibration was found to be invalid during quality assurance
      • +
      +
    • + +
    • + QA Comment: Textual description of the quality assurance + process. +
    • + + +
    • + Calibration method: Textual description of the Method. +
    • +
    + +

    + The second calibrations dialog asks for: +

    + +
      +
    • + Calibration date: Date the calibration was performed. +
    • + +
    • + Update frequency: Must be one of the following: +
        +
      • + as-needed: No updates are planned, but if a change is needed the calibration will be updated (defaul)t +
      • +
      • + unplanned: There are no plans to ever update the record. +
      • +
      • + yearly: A yearly review will be conducted to ensure that the record is valid. +
      • +
      +
    • + +
    • + Technical Person / Data Manager: These two types of data have + the same fields and detail who was responsible for the + calibration and who is responsible for maintaining the record + of the calibration. In many cases, this may be the same + person and copy buttons allow the fields to be duplicated. + +
        +
      • + Name: Responsible party’s naem +
      • +
      • + Organisation: Organisation to which the party reports +
      • +
      • + Position: Responsible party’s title +
      • +
      • + Email: Email contact information +
      • +
      +
    • + +
    + +

    + Fill in as much information as you can! + If the export is successful, a record will show for each + hydrophone (or sensor) in your instrument array in the + calibration information table: +

    + +
    + Panel with information about instrument calibration +
    + + +
    +
    +
    +
    + + + + diff --git a/src/help/utilities/tethys/docs/connection.html b/src/help/utilities/tethys/docs/connection.html new file mode 100644 index 00000000..7dc8b75e --- /dev/null +++ b/src/help/utilities/tethys/docs/connection.html @@ -0,0 +1,121 @@ + + + + +Tethys Connection and Project Details + + + + +

    Connection and Project Details

    + +

    + Make sure you have a Tethys Server running. The PAMGuard interface will + only work with Tethys + 3 or later. The section below specifies how to set the + address of Tethys server address as well as determine if + PAMGuard can communicate successfully with Tethys. (The top + panel will be orange if communication is not working. +

    + +

    Tethys Server

    + + +

    + The Tethys Server field next to the picture of the goddess Tethys + indicates the address of the Tehtys server. To change this field, + click on the gear icon. You will be prompted to provide a computer + address (URL) and a port. The address should start with http:// + followed by the machine name or internet protocol address unless + the Tethys server has been configured to use an encrypted + connection. In this case, start the address with https://. +

    + +

    + By default, PAMGuard will use http://localhost:9779 which + assumes that your Tethys server is running on the same computer as + PAMGuard and that it expects communication on port 9779, the + default port (administrators may change this). +

    + +

    + If PAMGuard can communicate with the Tethys server, the + Connection and Project panel will be light grey. If + communication is not possible, the panel will be colored + orange. Likely causes for communication failure are: +

    +
      +
    • + The server address or port is incorrect. +
    • + +
    • + Tethys has not been started on the server machine. One of the + main reasons that we see this is when the administrator has + not configured Tethys to run automatically as a service. In + that case, when a machine reboots (e.g., for automatic + operaing system updates) the server will not start + automatically. The Tethys manual explains how to configure + Tethys as a service that starts automatically when the machine + boots. +
    • + +
    • + Firewall rules do not permit traffic between the machine + executing PAMGuard and the one hosting Tethys on the selected + port. If you do not have adminstrative privileges, you will + need to contact your support team for help. +
    • +
    + +

    Project and Instrument Information

    + +

    + Projects are names used by Tethys to help track work that should + be considered together, such as a series of deployments designed + to answer a specific question or funded under a specific + grant. If you do not already have a project defined in your + PAMGuard database, you can click the "New Project" button in the + "Connection and Project details" section of the Tethys + module. This will start a dialog that asks for a case-sensitive + project name and a geographic region. The geographic region is + for convenience, PAMGuard and Tethys track information by + longitude and latitude, but sometimes it is helpful to query for + information with respect to a geographic name such as Channel + + Islands National Marine Sanctuary. +

    + +

    + The array instrumentation is selected from a drop-down menu next + to the Instruments label. A dropdown menu next to the label + “Instruments” shows the list of hydrophone arrays. These are + likely to have been previously established prior to starting + analysis of your data by using the menu Settings -> Hydrophone + Array. + +

    + +

    + If you are a long-time user of PAMGuard, you will notice + additional fields are required for instrumentation: Instrument + Type and Instrument Id. The type indicates what type of + instrument is being used and may be generic such as a mooring or + array or denote a specific instrument such as a HARP, Rock + Hopper, SoundTrap, etc. The Id is a unique identifier for the + instrument such as a serial number. Note that if you are using + an older PAMGuard database, you may see a blank entry in the + instruments list as these new fields will not have been + populated. Press new/edit to access the instrument settings + from the Tethys module page. +

    + +
    +
    + + +
    + + diff --git a/src/help/utilities/tethys/docs/deployments.html b/src/help/utilities/tethys/docs/deployments.html new file mode 100644 index 00000000..afde0149 --- /dev/null +++ b/src/help/utilities/tethys/docs/deployments.html @@ -0,0 +1,143 @@ + + + + + +Deployments + + + + + +

    Deployments

    + +

    + Tethys uses deployment records to register information about + when instruments have been deployed as well as their + characteristics. Examples of characteristics that are recorded + include sample rate and the number of quantization bits, + description of duty cycles (if applicable), hydrophone geometry, + and enough details to be able find calibration data for specific + hydrophones. +

    + +

    + PAMGuard will examine the + PAMGuard + database + and + binary Store to determine what records should be generated for + your instrumentation. +

    + +

    + Where data were collected continuously or on a regular duty + cycle, PAMGuard will create a single deployment record. If data + were collected on a more "ad-hoc" basis, where the instrument + has been deployed multiple times or has irregular recording, + PAMGuard will generate a deployment record for each period of + recording. +

    + +

    + The figure below shows an example of ad-hoc recording periods + identified by PAMGuard: +

    +
    + Panel showing recording times/deployments for this PAMGuard database +
    + +

    + Occasionally, there may be short recording periods (e.g. while + you were testing kit on deck) that you do not want to export. Use + the select checkbox to pick all of the rows that you wish to + export, or right click on the table and "Select All." +

    + +

    + When one or more deployment records are selected, the + "Export..." button will become available. Selecting the export + button will start a dialog that asks for additional information + about the deployments and then write records to Tethys. +

    +

    + The first page of the dialog asks for the project and geographic + region which will be automatically populated if they have been + previously specified. In addition, the following fields are + requested: +

    +
      +
    • Cruise name - Optional name of the deployment cruise
    • +
    • Site - Case-sensitive name for the deployment site, + e.g. "Tanner Banks" or a letter designation "T". This can + provide a simple way to identify multiple deployments at the + same general location. +
    • +
    • Responsible Party - A set of fields describing who was + responsible for the deployment and how they may be + contacted. +
    • +
    + +

    + The next page of the dialog asks whether you would like to + export a single deployment document or multiple deployments. + todo: add more detail here +

    + + +

    + Finally, you are prompted to provide optional textual descriptions of: +

      +
    • Objectives - What were your objectives when deploying the + instrument? Example: Determine population estimates for + critically endangered populations of vaquita (Phocoena + sinus). +
    • +
    • Abstract - A textual description of the deployment. + Example: A set of high frequency recorders were deployed across the + northern portion of the Sea of Cortez in the historical range + of the vaquita (Phocoena sinus). These recordings will + support detection and density estimation efforts. +
    • +
    • + Method - A description of the methods used. Example: + Small boat deployment of bottom moored SoundTrap recorders + with acoustic releases. +
    • +
    + + Press Finish to export the records. Once the + document(s) have been successuflly exported, the document name + associated with each recording period will be shown in the + Tethys Deployment column. +

    + + + +

    +

    + + + + + diff --git a/src/help/utilities/tethys/docs/detect_localize.html b/src/help/utilities/tethys/docs/detect_localize.html new file mode 100644 index 00000000..a79be4e5 --- /dev/null +++ b/src/help/utilities/tethys/docs/detect_localize.html @@ -0,0 +1,161 @@ + + + + + +Detections/Localizations + + + + + +

    Exporting Detections/Localizations (PAMGuard data blocks)

    + +

    + The bottom left panel of the Tethys module shows a list of + different types of PAMGuard data that can be exported. The data + in this list correspond to the various PAMGuard modules that have + been configured. See the + + data model viewer + help for an example of how PAMGuard might be configured. +

    + +

    Species information

    + +

    + Some of these data represent detections of specific species or + phenomena that must be translated to Tethys. A context menu + (right-click on most computers) will show the option "Species + info..." that will allow you to specify the + translation of events + to species identifiers and call/sound types. If you try to export + without having done this, the species info dialog will be started + automatically prior to export. +

    + +

    Selecting data blocks for import

    + +

    + In the sample data blocks below, four modules have been + configured, but only one of them has been run. Column "N Pam + Data" indicates the number of data records that have been + produced, and "PAMGuard Time" tells us when the data were + processed. "Tethys Documents" indicates how many Tethys records + have been produced, and should be 0 until the data are exported. +

    + +
    + List of results showing detections and other module processing events +
    + +

    + Select the data blocks to be exported by clicking on them. + Multiple lines can be selected by using keyboard modifiers such as + holding the shift while clicking to select all data blocks between + the last clicked block and where you click. Holding the alternate + (ALT) key will allow selection or de-selection of a single item + without affecting the selection state of other blocks. +

    + +

    + + SUGGESTION: It looks like we have to highlight these by clicking + on them. As we use select boxes for recording periods, we might + want to do the same thing here... We might want to rename + N PAM Datas to N PAM Data as data are already plural. + +

    + +

    Exporting data blocks

    + +

    + Once the data blocks have been selected, press export. A series + of dialogs will guide you through the export process. The first + set of dialogs simply display a summary of information about what + will be exported. +

    + +
    + List of details describing the mechanism, parameters, and version of modules used in processing +
    + +

    + There is nothing to change in this summary. Press Next once you + have reviewed it. The second panel allows specification of your + objectives, abstract, and method. Many modules will have + pre-populated the method for you. While it is recommended to populate + the objectives and abstract, these fields are optional. +

    + +

    + Press Next to proceed to the next step of the dialog. You will be asked + what details you wish to store within the parameters that were used to + produce these data. Your must select one of the following: +

    + +
      +
    • + None - Do not report any of parameters used to produce these + detections. This option is not recommended as + it severely limits your ability to reproduce your results at a + later date or know whether or not the results of different + studies can be used together. +
    • +
    • Data selector only - not sure what this is
    • +
    • + Module only - Report the parameters that were set with this + module. Only parameters associated with the specific module + will be reported. Examples include score and duration thresholds + as well as any other type of criterion used to determine whether + or not an event is associated with a specific phenomenon or species. +
    • +
    • + Full process chain (default) - This is the most verbose option. It includes the module + parameters as well as anything else that is part of the signal processing chain that leads + to the module. As an example, a module only setting would not report the parameters that were + used to generate a spectrogram that was presented to a module for classification, but the + full process chain would record these details as well. Use this option will dramatically + increase the potential to reproduce your results, but it will generate a large amount of data + about the signal processing chain, much of which might not be useful. +
    • +
    + +

    + The final page of the dialog has an "Export data" button. Press + this to export the data. The system will begin generating the + Tethys document and the "Export data" button will be relabeled "Export complete" + once it is done. At this point, you can press "Finish" to close + the dialog. + + Would it make more sense to export when the user presses + Finish (or change the Finish button Export)? +

    + + + + + + + diff --git a/src/help/utilities/tethys/docs/images/data_blocks.png b/src/help/utilities/tethys/docs/images/data_blocks.png new file mode 100644 index 0000000000000000000000000000000000000000..ee80ccffef224b484b5636260f2b62d0c8283154 GIT binary patch literal 12590 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 literal 0 HcmV?d00001 diff --git a/src/help/utilities/tethys/docs/images/species_codes.png b/src/help/utilities/tethys/docs/images/species_codes.png new file mode 100644 index 0000000000000000000000000000000000000000..db8ce2ae6bce7b473c890f6e80eb9b9a6fbeb5a5 GIT binary patch literal 27947 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 literal 0 HcmV?d00001 diff --git a/src/help/utilities/tethys/docs/images/species_search.png b/src/help/utilities/tethys/docs/images/species_search.png new file mode 100644 index 0000000000000000000000000000000000000000..73b2c36f40568d25e8178e60274d437686af919d GIT binary patch literal 69962 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 uFVhl^@`W7oX%s0S<-aoDS(Zp7=>G>}hFttRwTv + + +Tethys Module Overview + + + +

    Tethys Module Overview

    + +

    + It is assumed that you are familiar with PAMGuard and have some + knowledge about Tethys. + Documentation + and tutorials + are available at the Tethys + web site. +

    + +

    Launch PAMGuard in viewer mode

    +

    + Tethys export is only available in + PAMGuard + Viewer mode + and is used to archive project data to a centralised + database. It is NOT a replacement for the + existing PAMGuard + database. Open the PAMGuard database that you wish to use + in viewer mode. +

    + +

    PAMGuard Tethys Module

    + +

    + Add a Tethys module to PAMGuard from the File / Add Modules / + Utilities menu. A new tab panel will show the Tethys interface +

    + +
    + +
    + +

    + The tab shows a number of panes for the connection to the server + and the various types of data that will be output to the + database. Some of these panes summarize information on what's in + the current PAMGuard dataset (consisting of your PAMGuard + database and binary store), others may be empty until you start + to export to Tethys. +

    + +

    + The Tethys module consists of several panels: +

    +
      +
    • + Connection and Project Details - + Specifies the location of the Tethys server and metadata about + the project. +
    • +
      +
    • Data Export - There are several panes that are responsible + for exporting information about instrument deployments, their + calibrations, and what they detected/localized. + +
    • +
    + +
    +
    + + +
    + + diff --git a/src/help/utilities/tethys/docs/tethys_overview.html b/src/help/utilities/tethys/docs/tethys_overview.html index 9419fe10..6e9e6515 100644 --- a/src/help/utilities/tethys/docs/tethys_overview.html +++ b/src/help/utilities/tethys/docs/tethys_overview.html @@ -21,48 +21,68 @@ img { -

    Tethys Interface

    -

    Overview

    +

    Tethys Interface

    +

    +

    Overview

    -

    - Tethys mosaic -

    -

    - - Tethys is a freely - available open source temporal-spatial database for metadata related - to acoustic recordings. The database is intended to house the metadata - from marine mammal detection and localization studies, allowing the - user to perform meta analyses or to aggregate data from many - experimental efforts based on a common attribute. This resulting - database can then be queried based on time, space, or any desired - attribute and the results can be integrated with external datasets - such as NASA's Ocean Color, lunar illumination, etc. in a consistent - manner. While Tethys is designed primarily for acoustic metadata from - marine mammals, the design is general enough to permit use in other - areas as well. - -

    -

    PAMGuard is compatible with Tethys 3.0 or above, released early in 2024.

    -

    The Tethys database is not a replacement for the existing - PAMGuard Database. - Where the PAMGuard database only contains data from a single instrument or cruise, the Tethys - database contains data from many cruises and projects and can be used to hold a summary of all data - from a lab or organisation. -

    +
    + Tethys mosaic +
    + +

    + PAMGuard is compatible + with Tethys 3.0 or + later. + Tethys is a freely + available open source temporal-spatial database for metadata + related to acoustic recordings. The database is intended to house + the metadata from marine mammal detection and localization + studies, allowing the user to perform meta analyses or to + aggregate data from many experimental efforts based on a common + attribute. This resulting database can then be queried based on + time, space, or any desired attribute and the results can be + integrated with external datasets such as NASA's Ocean Color, + lunar illumination, etc. in a consistent manner. While Tethys is + designed primarily for acoustic metadata from marine mammals, the + design is general enough to permit use in other areas as well. +

    + + +

    + The Tethys database is not a replacement for the existing + PAMGuard + Database. Where the PAMGuard database only contains data from + a single instrument or cruise, the Tethys database contains data + from many cruises and projects and can be used to hold a summary + of all data from a lab or organisation. PAMGuard's Tethys module + provides an interface for exporting detailed or summary + information about acoustic detections to the Tethys database. +

    -

    Before using the module in PAMGuard, you should install the Tethys Server, which runs under - Windows. - Instructions for installing the Tethys Server can be found here.

    - +

    + Before using the module in PAMGuard, you should install the Tethys + Server. While clients that communicate with Tethys can run on a + variety of computer operating systems, there are a small number of + dependencies on Microsoft technologies that require the server to + be installed on a Microsoft Windows machine. + Instructions + for installing the Tethys Server can be found here.

    + +

    -

    - - - Next: Quick Start -

    -
    -
    -
    +

    + Module help: +

    +
      +
    1. The Tethys module (start here)
    2. +
    3. The Connecting to Tethys
    4. +
    5. The Instrument calibrations
    6. +
    7. The Instrument deployments
    8. +
    9. The Detections & Localizations
    10. +
    11. Guide to specifying species names
    12. +
    + + diff --git a/src/help/utilities/tethys/docs/tethys_quickstart.html b/src/help/utilities/tethys/docs/tethys_quickstart.html deleted file mode 100644 index d492f5a6..00000000 --- a/src/help/utilities/tethys/docs/tethys_quickstart.html +++ /dev/null @@ -1,80 +0,0 @@ - - - -Tethys - - - -

    Tethys Quick Start

    - -

    This 'Quick Start' guide is aimed at people who are already familiar with both Tethys and PAMGuard

    -

    The Tethys database is only used in - PAMGUard Viewer mode and is only used to archive project data to a single - centralised database. - It is NOT a replacement for the existing PAMGuard database.

    - -

    PAMGuard Tethys Module

    -

    Launch PAMGuard in Viewer Mode with an existing set of data.

    -

    Add a Tethys module to PAMGuard from the File / Add Modules / Utilities menu.

    -

    A new tab panel will show the Tethys interface

    -
    -

    The tab shows a number of panels for the connection to the server and the various types - of data that will be output to the database. Some of these should summary information on what's in the - current PAMGuard dataset (consisting of your PAMGuard database and binary store), others may be empty until you start to - export to Tethys.

    - - - -

    Tethys Server

    -

    Make sure you have a Tethys Server running. The PAMGuard interface will - only work with Tethys 3.

    -

    Check the server connection. If PAMGuard has correctly connected to the Tethys server, the top panel of the display will be a normal - grey colour. If the connection cannot be made, the panel will be orange.

    -

    If required, change the server settings using the "Select Sever" button

    - - -

    Project and Instrument Information

    -

    Either select an existing "Project", or create a new one.

    -

    You also need to give Tethys more information about the instrument(s) or arrays you've deployed than in previous PAMGuard versions. Again, select an - existing instrument, or set up a new one. You'll notice that this information is held with the rest of the PAMGuard array management information.

    - -

    Data Export

    -

    It's best to export data in the sequence the panels are laid out in on the PAMGuard display, i.e. Calibrations, then Deployments, and finally Detections.

    - -

    Calibrations

    -

    To export the calibration data, press the "Export..." button at the top of the "Instrument Calibration Information" panel. -

    Most of the calibration data is taken from the array manager and from the sound acquisition module. However, PAMGuard will ask a few questions about - HOW the instrument was calibrated, when it was done and who is responsible. Fill in as much information as you can! - IF the export is successful, a record will show for each hydrophone (or sensor) in your instrument array in the calibration information table:

    - -
    - -

    Deployments

    -

    PAMGuard will have done it's best to work out the temporal extent of your data by looking in the - PAMGuard database and - binary Store. Where data were collected on a regular duty - cycle, or continuously, there should be a single record in the table of recording periods. If data were collected on a more - "ad-hoc" basis, for instance during a boat based survey, there might be many different records in the table. - Occasionally, there may be short recording periods (e.g. while you were testing kit on deck) that you don't want to export. Either select - individual rows that you want to export, or right click on the table and "Select All".

    - -

    Press the "Export..." button and work through the questions to provide additional information about your data, why it was collected, etc.

    -

    Once the document(s) have been exported, the document names will be shown alongside each PAMGuard deployment period

    -
    - -

    Detections

    -

    The bottom left panel shows a list of different types of PAMGuard data that can be exported and should also show the total numbers of each type of data that are available - within the PAMGuard storage systems. Select the datablock you want to export from and press "Export...".

    -

    You really don't want to try to export zillions of data to Tethys , in the options that will appear you can opt to just export certain types of detections - or summary counts.

    - -
    -
    - - -
    -
    -
    - - diff --git a/src/help/utilities/tethys/docs/tethys_speciescodes.html b/src/help/utilities/tethys/docs/tethys_speciescodes.html new file mode 100644 index 00000000..d3b63a50 --- /dev/null +++ b/src/help/utilities/tethys/docs/tethys_speciescodes.html @@ -0,0 +1,192 @@ + + + +Species coding + + + + +

    Species and Call Type Names

    + + When exporting data from PAMGuard to Tethys, some PAMGuard records + will require additional information indicating what type of animal + or phenomena were detected. If a specific call-type was detected, + e.g. "Clicks" or "Whistles", these should be noted as well. + +

    Species Names

    +

    + Tethys uses the Integrated Taxonomic + Information System (ITIS) to encode species names as taxonomic + serial numbers (TSNs), unique numeric identifiers for species. + These data conform with several international coding systems which + are described on the ITIS + standards page. +

    + +

    + It is not uncommon to be unable to describe a call to the genus + level. In such cases, one can use a higher taxonomic level. For + example, beaked whale echolocation clicks are distinctive from the + clicks of other toothed whales as their pulses have a + frequency-modulated component. While they can frequently be + associated with the family Hyperodontidae, it is not always + possible to associate a click to a specific species as many of the + at least twenty-two species remain understudied. In such a case, + we would use the TSN for Hyperodontidae, 770799. While not + currently supported by PAMGuard, each species identifier has an + optional Group attribute that can be used in an ad-hoc manner to + provide additional information. This can be used to add + population markers, tentative genus groups, etc. +

    + +

    + ITIS does not describe abiotic sounds, Tethys records such sounds as follows: +

      +
    1. + For anthropogenic signals, the Tethys convention is to + use Homo sapiens, TSN 180092, for the species code + and describe the human-generated signal via a call type, + e.g. ship, mid-frequency active sonar, etc. +
    2. +
    3. + Tethys reserves the TSN -10 for geophonic signals. + The call type is used to describe the source. Examples + include ambient sound, earthquake, rain, etc. Note that negative TSNs + are not part of the ITIS standard. +
    4. +
    +

    + + Note that in general, you do not have to worry about remembering + TSNs. Tethys uses TSNs internally, but will translate TSNs to/from + Latin names or user-defined abbreviations both when querying and + presenting results. + +

    Call types

    + +

    + Some detectors identify specific call types. When this is the + case, users will need to specify the call type name. While + species names are standardized in Tethys, call names do not have a + well-defined standard and experts frequently use different names + for the same type of call. Consequently, Tethys does not provide a + standard coding for call types and users are free to choose the call + type names with which they feel most comfortable. +

    + +

    + That said, the authors of Tethys do however provide a list of recommend call + types for many species. These recommendations can be accessed in the + + supplemental information of the open access article "Management of acoustic metadata + for bioacoustics," Roch et al. (2016), + (DOI:10.1016/j.ecoinf.2015.12.002). +

    + +

    + Export dialog +

    + +

    + During export of records that are species-specific, a dialog will + appear that lists the types of events that were found by PAMGuard + modules. This dialog permits users to specify how the ad-hoc species + species/call encoding scheme used by PAMGuard modules can be systematically + translated to the TSNs and call types are stored in Tethys. +

    + +

    + PAMGuard events typically are a short name that represents the + species and/or potentially a call. Knowledge of the PAMGuard + modules that were run and the data on which they executed will let + a user infer what should be recorded. + + The dialog below shows a sample set of events produced by one or more PAMGuard modules + using the names: HP, DO, SON, KW, UNK, and PHP: + +

    + +
    + + The dialog above was produced from detections on data that were + recorded near the mouth of the River Tay in Scotland. Consequently, + we can infer that the harbour porpoise that is denoted by "HP" is + Phocena phocena, the only harbour porpoise endemic to + Scottish waters. +

    + + An ITIS code and call/sound type can be associated with each event. The dialog lists: +
      +
    • + Name - The ad-hoc name given by the PAMGuard module. This may not be changed. +
    • + +
    • + ITIS code -This is the ITIS TSN that is associated with PAMGuard + event code. Click on Find to inovke the TSN + search dialog whose behavior is described in the next + section. +

      + If you happen to know the TSN, you + can enter it directly. Pressing Find after typing the TNS will + populate the Latin and English vernauclar names so that you may + verify your TSN was entered correctly. +

      +
    • + +
    • Call / sound type - This will default to the code provided by + the module but should be updated to specify an appropriate call + type or left blank to indicate that the detection is not related + to a specific call type. In the case of a porpoise detector, + the likely call type would be "Clicks". + We should double check that no Call element is generated when this is blank. +
    • +
    + +

    + Once all species names and call/sound types have been identified, press the Okay button. +

    + + + + +

    Searching for ITIS Taxonomic Serial Numbers (TSNs)

    + +

    + As noted above, pressing Find without typing a TSN will bring up a + search dialog: +

    + +
    + +
    + +

    + The top of this dialog has a search box where one can enter either + a Latin name or the common name for a species. The Tethys server + will search for all species that match the search-box contents. + For many species, there are common name entries in languages + other than English, and these are searched as well. +

    +

    + Once you press the search button, a list will appear with all + matches for your search term. If there are too many, a scroll bar + will permit you to look through the list. Select the entry that + you wish and press OK. The TSN on the species dialog will be + populated along with the Latin name and common names from the ITIS + database. +

    + + +

    +

    + + + + + diff --git a/src/tethys/TethysControl.java b/src/tethys/TethysControl.java index 446face1..83e445b7 100644 --- a/src/tethys/TethysControl.java +++ b/src/tethys/TethysControl.java @@ -491,9 +491,10 @@ public class TethysControl extends PamControlledUnit implements PamSettings, Tet public ServerStatus checkServer() { ServerStatus serverState = dbxmlConnect.pingServer(); if (lastServerStatus == null || lastServerStatus.ok != serverState.ok) { + lastServerStatus = serverState; // set before sending notification! sendStateUpdate(new TethysState(StateType.UPDATESERVER)); } - lastServerStatus = serverState; +// lastServerStatus = serverState; return serverState; } @@ -699,5 +700,23 @@ public class TethysControl extends PamControlledUnit implements PamSettings, Tet return calibrationHandler; } + /** + * @return the lastServerStatus + */ + public ServerStatus getLastServerStatus() { + return lastServerStatus; + } + + /** + * Quick way for any controls to see that the server is probably OK + * without actually pinging it. + * @return true if last ping of server was OK + */ + public boolean isServerOk() { + if (lastServerStatus == null) { + return false; + } + return lastServerStatus.ok; + } } diff --git a/src/tethys/calibration/CalibrationHandler.java b/src/tethys/calibration/CalibrationHandler.java index 15f3ece4..37dc186e 100644 --- a/src/tethys/calibration/CalibrationHandler.java +++ b/src/tethys/calibration/CalibrationHandler.java @@ -1,5 +1,6 @@ package tethys.calibration; +import java.lang.reflect.Field; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -45,9 +46,11 @@ import tethys.TethysTimeFuncs; import tethys.calibration.swing.CalibrationsExportWizard; import tethys.dbxml.DBXMLConnect; import tethys.dbxml.TethysException; +import tethys.niluswraps.NilusChecker; import tethys.niluswraps.NilusSettingsWrapper; import tethys.niluswraps.NilusUnpacker; import tethys.pamdata.AutoTethysProvider; +import tethys.reporter.TethysReporter; public class CalibrationHandler implements TethysStateObserver { @@ -186,6 +189,7 @@ public class CalibrationHandler implements TethysStateObserver { int nExport = 0; boolean overwrite = false; boolean exists; + TethysReporter.getTethysReporter().clear(); for (int i = 0; i < nPhone; i++) { // String docName = getHydrophoneId(i); NilusSettingsWrapper clonedWrap = wrappedSample.clone(); @@ -195,11 +199,24 @@ public class CalibrationHandler implements TethysStateObserver { calDoc.setMetadataInfo(sampleCal.getMetadataInfo()); calDoc.setProcess(sampleCal.getProcess()); calDoc.setQualityAssurance(sampleCal.getQualityAssurance()); - calDoc.setResponsibleParty(sampleCal.getResponsibleParty()); + if (NilusChecker.isEmpty(sampleCal.getResponsibleParty()) == false) { + calDoc.setResponsibleParty(sampleCal.getResponsibleParty()); + } calDoc.setTimeStamp(sampleCal.getTimeStamp()); } + // check the contact info in the metadata. + // can't so because it's required. +// MetadataInfo metaData = calDoc.getMetadataInfo(); +// if (metaData != null) { +// if (NilusChecker.isEmpty(metaData.getContact())) { +// metaData.setContact(null); +// } +// } addParameterDetails(calDoc, i); + // run some checks of completeness of the data + NilusChecker.removeEmptyFields(calDoc); +// ArrayList emptyFields = NilusChecker.checkEmptyFields(calDoc); String calDocName = createDocumentName(calDoc, i); exists = calDocumentExists(calDocName); @@ -233,6 +250,7 @@ public class CalibrationHandler implements TethysStateObserver { } } tethysControl.sendStateUpdate(new TethysState(TethysState.StateType.EXPORTRDATA, Collection.Calibrations)); + TethysReporter.getTethysReporter().showReport(true); return nExport; } @@ -405,6 +423,10 @@ public class CalibrationHandler implements TethysStateObserver { hz.add(Double.valueOf(0)); db.add(Double.valueOf(hSens+preampGain)); + if (NilusChecker.isEmpty(calibration.getResponsibleParty())) { + calibration.setResponsibleParty(null); + } + MetadataInfo metaInf = calibration.getMetadataInfo(); if (metaInf == null) { metaInf = new MetadataInfo(); @@ -417,6 +439,12 @@ public class CalibrationHandler implements TethysStateObserver { contact = new ResponsibleParty(); metaInf.setContact(contact); } + if (NilusChecker.isEmpty(metaInf.getContact())) { + metaInf.setContact(null); + } + if (NilusChecker.isEmpty(metaInf)) { + calibration.setMetadataInfo(null); + } contact.setIndividualName("Unknown"); contact.setOrganizationName("unknown"); diff --git a/src/tethys/calibration/swing/CalibrationProcessCard.java b/src/tethys/calibration/swing/CalibrationProcessCard.java index 30e37ba7..094d9d5d 100644 --- a/src/tethys/calibration/swing/CalibrationProcessCard.java +++ b/src/tethys/calibration/swing/CalibrationProcessCard.java @@ -4,6 +4,8 @@ import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; +import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.List; import javax.swing.JComboBox; @@ -15,6 +17,7 @@ import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.border.TitledBorder; +import PamView.dialog.PamDialog; import PamView.dialog.PamGridBagContraints; import PamView.panel.WestAlignedPanel; import PamView.wizard.PamWizard; @@ -23,9 +26,17 @@ import nilus.AlgorithmType.Parameters; import nilus.AlgorithmType.SupportSoftware; import nilus.Calibration; import nilus.Calibration.QualityAssurance; +import nilus.Helper; import nilus.QualityValueBasic; import tethys.calibration.CalibrationHandler; +import tethys.niluswraps.NilusChecker; +/** + * Calibrations Process card attempts to fill in the + * calibration data for the Quality Assurance and Process fields. + * @author dg50 + * + */ public class CalibrationProcessCard extends CalibrationsCard { private JPanel processPanel; @@ -123,9 +134,13 @@ public class CalibrationProcessCard extends CalibrationsCard { } process.setMethod((String) calMethod.getSelectedItem()); process.setVersion(version.getText()); - process.setSoftware(software.getText()); + String soft = warnNotNull(getPamWizard(), software, "Calibration Method"); + if (soft == null) { + return false; + } + process.setSoftware(soft); if (software.getText() == null) { - getPamWizard().showWarning("You must specify the calibratin method used"); + getPamWizard().showWarning("You must specify the calibration method used"); } QualityAssurance qa = calibration.getQualityAssurance(); @@ -133,7 +148,11 @@ public class CalibrationProcessCard extends CalibrationsCard { qa = new QualityAssurance(); calibration.setQualityAssurance(qa); } - qa.setComment(qaComment.getText()); + String t = warnNotNull(getPamWizard(), qaComment, "QA Comment"); + if (t == null) { + return false; + } + qa.setComment(t); qa.setQuality(QualityValueBasic.fromValue((String) qaQuality.getSelectedItem())); // need to add a few fixed things for this to work... @@ -142,10 +161,26 @@ public class CalibrationProcessCard extends CalibrationsCard { if (params == null) { params = new Parameters(); process.setParameters(params); +// params.getAny(). } + try { + Helper.createRequiredElements(params); + } catch (IllegalArgumentException | IllegalAccessException | InstantiationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + +// if (checkEmptyFields(qa) == false) { +// return false; +// } +// if (checkEmptyFields(process) == false) { +//// return false; +// } return true; } + + @Override public void setParams(Calibration calibration) { diff --git a/src/tethys/calibration/swing/CalibrationsCard.java b/src/tethys/calibration/swing/CalibrationsCard.java index b97221d3..a59482f4 100644 --- a/src/tethys/calibration/swing/CalibrationsCard.java +++ b/src/tethys/calibration/swing/CalibrationsCard.java @@ -3,8 +3,9 @@ package tethys.calibration.swing; import PamView.wizard.PamWizard; import PamView.wizard.PamWizardCard; import nilus.Calibration; +import tethys.swing.TethysWizardCard; -abstract public class CalibrationsCard extends PamWizardCard { +abstract public class CalibrationsCard extends TethysWizardCard { public CalibrationsCard(PamWizard pamWizard, String title) { super(pamWizard, title); diff --git a/src/tethys/calibration/swing/CalibrationsContactCard.java b/src/tethys/calibration/swing/CalibrationsContactCard.java index 3adc9f33..2dc6e581 100644 --- a/src/tethys/calibration/swing/CalibrationsContactCard.java +++ b/src/tethys/calibration/swing/CalibrationsContactCard.java @@ -28,6 +28,7 @@ import nilus.MetadataInfo; import nilus.ResponsibleParty; import tethys.TethysTimeFuncs; import tethys.calibration.CalibrationHandler; +import tethys.niluswraps.NilusChecker; import tethys.swing.export.ResponsiblePartyPanel; public class CalibrationsContactCard extends CalibrationsCard { @@ -125,6 +126,11 @@ public class CalibrationsContactCard extends CalibrationsCard { } metaData.setContact(checkRPChildren(metaData.getContact())); dataManager.getParams(metaData.getContact()); + ResponsibleParty metaContact = metaData.getContact(); + NilusChecker.removeEmptyFields(metaData); + if (metaData.getContact() == null) { + return PamDialog.showWarning(getPamWizard(), "Missing data", "The Data Manager fields must be completed"); + } metaData.setUpdateFrequency((String) updateInterval.getSelectedItem()); metaData.setDate(TethysTimeFuncs.xmlGregCalFromMillis(System.currentTimeMillis())); @@ -136,6 +142,10 @@ public class CalibrationsContactCard extends CalibrationsCard { long millis = date.getTime(); cardParams.setTimeStamp(TethysTimeFuncs.xmlGregCalFromMillis(millis)); + + checkEmptyFields(rp); + checkEmptyFields(metaData); + return true; } diff --git a/src/tethys/calibration/swing/CalibrationsMainPanel.java b/src/tethys/calibration/swing/CalibrationsMainPanel.java index 385ca9ef..e13365ef 100644 --- a/src/tethys/calibration/swing/CalibrationsMainPanel.java +++ b/src/tethys/calibration/swing/CalibrationsMainPanel.java @@ -13,6 +13,7 @@ import javax.swing.border.TitledBorder; import PamView.panel.PamPanel; import tethys.TethysControl; +import tethys.TethysState; import tethys.calibration.CalibrationHandler; import tethys.swing.TethysGUIPanel; @@ -63,4 +64,14 @@ public class CalibrationsMainPanel extends TethysGUIPanel { return mainPanel; } + @Override + public void updateState(TethysState tethysState) { + super.updateState(tethysState); + enableControls(); + } + + private void enableControls() { + exportButton.setEnabled(getTethysControl().isServerOk()); + } + } diff --git a/src/tethys/dbxml/DBXMLConnect.java b/src/tethys/dbxml/DBXMLConnect.java index e13b05fd..9b12ecd5 100644 --- a/src/tethys/dbxml/DBXMLConnect.java +++ b/src/tethys/dbxml/DBXMLConnect.java @@ -22,7 +22,10 @@ import tethys.Collection; import tethys.TethysControl; import tethys.database.TethysActions; import tethys.database.TethysLogger; +import tethys.niluswraps.NilusChecker; import tethys.output.TethysExportParams; +import tethys.reporter.TethysReport; +import tethys.reporter.TethysReporter; /** * Class containing functions for managing the database connection. Opening, closing, @@ -144,6 +147,9 @@ public class DBXMLConnect { */ public boolean postAndLog(Object nilusObject, String documentName) throws TethysException { + boolean ok = NilusChecker.warnEmptyFields(tethysControl.getGuiFrame(), nilusObject); + + TethysException e = null; boolean success = false; try { @@ -207,6 +213,8 @@ public class DBXMLConnect { */ boolean error = importReturn.contains(""); + String name = tempFile.getName(); + TethysReporter.getTethysReporter().addReport(new TethysReport(success, collection, name, name)); // error = !success; might be a better options. if (error) { throw new TethysException("Error posting to Tethys", importReturn); diff --git a/src/tethys/deployment/DeploymentHandler.java b/src/tethys/deployment/DeploymentHandler.java index 85f834c3..0c435fc0 100644 --- a/src/tethys/deployment/DeploymentHandler.java +++ b/src/tethys/deployment/DeploymentHandler.java @@ -45,6 +45,9 @@ import dataMap.OfflineDataMapPoint; import generalDatabase.DBControlUnit; import metadata.MetaDataContol; import metadata.PamguardMetaData; +import nilus.AcousticDataQAType; +import nilus.AcousticDataQAType.Quality; +import nilus.AcousticDataQAType.Quality.FrequencyRange; import nilus.Audio; import nilus.ChannelInfo; import nilus.ChannelInfo.DutyCycle; @@ -84,6 +87,7 @@ import tethys.deployment.swing.RecordingGapDialog; import tethys.niluswraps.PDeployment; import tethys.output.TethysExportParams; import tethys.pamdata.AutoTethysProvider; +import tethys.reporter.TethysReporter; import tethys.swing.DeploymentTableObserver; /** @@ -387,12 +391,14 @@ public class DeploymentHandler implements TethysStateObserver, DeploymentTableOb * @param selectedDeployments */ public void exportDeployments(ArrayList selectedDeployments) { + TethysReporter.getTethysReporter().clear(); if (deploymentExportOptions.separateDeployments) { exportSeparateDeployments(selectedDeployments); } else { exportOneDeploymnet(selectedDeployments); } + TethysReporter.getTethysReporter().showReport(tethysControl.getGuiFrame(), true); } /** @@ -400,6 +406,14 @@ public class DeploymentHandler implements TethysStateObserver, DeploymentTableOb */ private void exportOneDeploymnet(ArrayList selectedDeployments) { // do the lot, whatever ... + Float sampleRate = null; + AcquisitionControl daq = (AcquisitionControl) PamController.getInstance().findControlledUnit(AcquisitionControl.class, null); + if (daq != null) { + DaqSystem system = daq.findDaqSystem(null); + AcquisitionParameters daqParams = daq.acquisitionParameters; + sampleRate = daqParams.sampleRate; + } + selectedDeployments = getDeploymentOverview().getRecordingPeriods(); int freeId = getTethysControl().getDeploymentHandler().getFirstFreeDeploymentId(); RecordingPeriod onePeriod = new RecordingPeriod(selectedDeployments.get(0).getRecordStart(), @@ -412,11 +426,37 @@ public class DeploymentHandler implements TethysStateObserver, DeploymentTableOb deployment.setCruise(globalMeta.getCruise()); deployment.setSite(globalMeta.getSite()); if (selectedDeployments.size() > 1) { - // now need to remove the - SamplingDetails samplingDetails = deployment.getSamplingDetails(); - samplingDetails.getChannel().clear(); - for (int i = 0; i < selectedDeployments.size(); i++) { - addSamplingDetails(deployment, selectedDeployments.get(i)); +// // now need to remove the sampling details - don't though, add invalid periods instead. +// SamplingDetails samplingDetails = deployment.getSamplingDetails(); +// samplingDetails.getChannel().clear(); +// for (int i = 0; i < selectedDeployments.size(); i++) { +// addSamplingDetails(deployment, selectedDeployments.get(i)); +// } + /* + * Instead, we're putting invalid periods into the QA section. + */ + AcousticDataQAType qa = deployment.getQualityAssurance(); + if (qa == null) { + deployment.setQualityAssurance(qa = new AcousticDataQAType()); + } + List qualityList = qa.getQuality(); + for (int i = 1; i < selectedDeployments.size(); i++) { + long end = selectedDeployments.get(i-1).getRecordStop(); + long start = selectedDeployments.get(i).getRecordStart(); + Quality q = new Quality(); + q.setStart(TethysTimeFuncs.xmlGregCalFromMillis(end)); + q.setEnd(TethysTimeFuncs.xmlGregCalFromMillis(start)); + q.setCategory("unusable"); + if (sampleRate != null) { + FrequencyRange f = q.getFrequencyRange(); + if (f == null) { + q.setFrequencyRange(f = new FrequencyRange()); + } + f.setLowHz(0); + f.setHighHz(sampleRate/2); + } + q.setComment("No data (probably off or out of water)"); + qualityList.add(q); } } DBXMLConnect dbxmlConnect = getTethysControl().getDbxmlConnect(); diff --git a/src/tethys/deployment/swing/DeploymentDataCard.java b/src/tethys/deployment/swing/DeploymentDataCard.java index 57c41b4d..24827107 100644 --- a/src/tethys/deployment/swing/DeploymentDataCard.java +++ b/src/tethys/deployment/swing/DeploymentDataCard.java @@ -39,11 +39,12 @@ public class DeploymentDataCard extends PamWizardCard { this.tethysControl = tethysControl; deploymentHandler = tethysControl.getDeploymentHandler(); ButtonGroup bg = new ButtonGroup(); - exportOne = new JRadioButton("Export a single detection document for all data"); - exportMany = new JRadioButton("Export separate documents for each ad-hoc recording period"); + exportOne = new JRadioButton("Export a single deployment document for all data"); + exportMany = new JRadioButton("Export separate deployment documents for each ad-hoc recording period"); bg.add(exportOne); bg.add(exportMany); + JPanel optsPanel = new JPanel(new GridBagLayout()); optsPanel.setBorder(new TitledBorder("Number of documents")); GridBagConstraints c = new PamGridBagContraints(); @@ -95,6 +96,15 @@ public class DeploymentDataCard extends PamWizardCard { } public void setParams(DeploymentExportOpts exportOptions, Deployment deployment) { + + /* + * temp code to only allow export of multiple documents. + */ +// exportOptions.separateDeployments = true; +// exportOne.setEnabled(false); +// exportOne.setToolTipText("Feature not yet enabled"); + + exportOne.setSelected(exportOptions.separateDeployments == false); exportMany.setSelected(exportOptions.separateDeployments == true); setParams(deployment); diff --git a/src/tethys/detection/DetectionsHandler.java b/src/tethys/detection/DetectionsHandler.java index b5740ea7..f797c8ee 100644 --- a/src/tethys/detection/DetectionsHandler.java +++ b/src/tethys/detection/DetectionsHandler.java @@ -43,6 +43,7 @@ import tethys.output.DatablockSynchInfo; import tethys.output.StreamExportParams; import tethys.output.TethysExportParams; import tethys.pamdata.TethysDataProvider; +import tethys.reporter.TethysReporter; import tethys.species.DataBlockSpeciesManager; import tethys.swing.export.DetectionsExportWizard; @@ -587,6 +588,7 @@ public class DetectionsHandler { this.dataBlock = dataBlock; this.exportParams = exportParams; this.exportObserver = exportObserver; + TethysReporter.getTethysReporter().clear(); } public void publish(DetectionExportProgress exportProgress) { @@ -617,6 +619,7 @@ public class DetectionsHandler { DetectionExportProgress prog = new DetectionExportProgress(null, null, 0, 0, 0, 0, DetectionExportProgress.STATE_COMPLETE); tethysControl.exportedDetections(dataBlock); exportObserver.update(prog); + TethysReporter.getTethysReporter().showReport(tethysControl.getGuiFrame(), true); } @Override diff --git a/src/tethys/niluswraps/NilusChecker.java b/src/tethys/niluswraps/NilusChecker.java new file mode 100644 index 00000000..43a53e97 --- /dev/null +++ b/src/tethys/niluswraps/NilusChecker.java @@ -0,0 +1,417 @@ +package tethys.niluswraps; + +import java.awt.Window; +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; + +import org.renjin.methods.Methods; + +import PamView.dialog.warn.WarnOnce; +import nilus.Calibration; +import nilus.Calibration.QualityAssurance; +import nilus.Helper; +import nilus.ResponsibleParty; + +/** + * A few static checks of some nilus classes to see if it's + * worth writing them or not. + * @author dg50 + * + */ +public class NilusChecker { + + public static void main(String args[]) { + Calibration cal = new Calibration(); + try { + Helper.createRequiredElements(cal); + } catch (IllegalArgumentException | IllegalAccessException | InstantiationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + QualityAssurance qa; + cal.setQualityAssurance(qa = new QualityAssurance()); + qa.setComment("Nothing to comment on "); + + int removed = removeEmptyFields(cal); + System.out.printf("%d fields removed from object %s\n", removed, cal); + + + ArrayList missing = checkEmptyFields(cal); + for (Field field : missing) { + System.out.printf("Field %s is required but empty in %s\n", field.getName(), field.getDeclaringClass().toString()); + } + } + + public static boolean warnEmptyFields(Window owner, Object nilusObject) { + ArrayList emptyFields = findEmptyFields(nilusObject, true); + if (emptyFields == null || emptyFields.size() == 0) { + return true; + } + String msg = String.format("One or more fields in the nilus object %s are required but empty:
    ", nilusObject.getClass().getName()); + for (Field f : emptyFields) { + msg += String.format("
    Field %s in object %s", f.getName(), f.getDeclaringClass().getName()); + } + msg += "

    It is likely that this document will fail to write to the Tethys database."; + String tit = "Incomplete Tethys data"; + WarnOnce.showWarning(owner, tit, msg, WarnOnce.WARNING_MESSAGE); + return false; + } + + /** + * Find empty fields + * @param nilusObject object to search + * @param onlyRequired only list required fields. + * @return list of empty, and optionally also required, fields. + */ + public static ArrayList findEmptyFields(Object nilusObject, boolean onlyRequired) { + return findEmptyFields(nilusObject, new ArrayList(), onlyRequired); + } + + private static ArrayList findEmptyFields(Object nilusObject, ArrayList found, boolean onlyRequired) { + if (nilusObject == null) { + return found; + } + int removed = 0; + + Class nilusClass = nilusObject.getClass(); + if (nilusClass.getCanonicalName().contains("java.lang")) { + return found; + } + Method[] methods = nilusClass.getDeclaredMethods(); + Field[] fields = nilusClass.getDeclaredFields(); + for (int i = 0; i < fields.length; i++) { + Method getter = findGetter(fields[i], methods); + if (getter == null) { +// System.out.printf("Unable to find getter for field %s in %s\n", fields[i].getName(), nilusClass.getName()); + continue; + } + boolean required = isRequired(fields[i]); +// System.out.printf("Field %30s is %s required\n", fields[i].getName(), required ? " " : "NOT"); + Object gotObj = null; + try { + gotObj = getter.invoke(nilusObject, new Object[0]); + } catch (IllegalAccessException | InvocationTargetException e) { +// System.out.printf("Unable to invoce getter %s on %s\n", getter.getName(), nilusObject); + continue; + } + boolean empty = isEmpty(gotObj); + if (empty) { + if (required || !onlyRequired) { + found.add(fields[i]); + } + } + else { + found = findEmptyFields(gotObj, found, onlyRequired); + } + } + return found; + } + + /** + * Remove empty fields from a nilus object.
    + * An empty field is a field that is null, or has a String that is empty, or + * only contains elements which are all themselves empty. i.e. an object that references + * empty objects will be considered empty. + * @param nilusObject + * @return number of empty fields removed. + */ + public static int removeEmptyFields(Object nilusObject) { + if (nilusObject == null) { + return 0; + } + int removed = 0; + + Class nilusClass = nilusObject.getClass(); + if (nilusClass.getCanonicalName().contains("java.lang")) { + return 0; + } + Method[] methods = nilusClass.getDeclaredMethods(); + Field[] fields = nilusClass.getDeclaredFields(); + for (int i = 0; i < fields.length; i++) { + Method getter = findGetter(fields[i], methods); + Method setter = findSetter(fields[i], methods); + if (getter == null) { +// System.out.printf("Unable to find getter for field %s in %s\n", fields[i].getName(), nilusClass.getName()); + continue; + } + if (setter == null) { +// System.out.printf("Unable to find setter for field %s in %s\n", fields[i].getName(), nilusClass.getName()); + continue; + } + boolean required = isRequired(fields[i]); +// System.out.printf("Field %30s is %s required\n", fields[i].getName(), required ? " " : "NOT"); + Object gotObj = null; + try { + gotObj = getter.invoke(nilusObject, null); + } catch (IllegalAccessException | InvocationTargetException e) { +// System.out.printf("Unable to invoce getter %s on %s\n", getter.getName(), nilusObject); + continue; + } + boolean empty = isEmpty(gotObj); + if (empty && gotObj != null && canRemove(fields[i])) { + try { +// System.out.printf("Removing empty field %s in object %s\n", fields[i].getName(), nilusObject); +// Object args = new Object[1]; + setter.invoke(nilusObject, new Object[1]); + removed++; + } catch (IllegalAccessException | InvocationTargetException e) { + System.out.printf("Unable to invoce setter %s on %s\n", getter.getName(), nilusObject); + continue; + } + } + else { + removed += removeEmptyFields(gotObj); + } + } + return removed; + } + + /** + * Fields that can be removed. + * @param field + * @return + */ + private static boolean canRemove(Field field) { + if (field == null) { + return true; + } + Class fClass = field.getType(); + if (fClass == String.class) { + return true; + } + if (List.class.isAssignableFrom(fClass)) { + return false; + } + if (fClass.isPrimitive()) { + return false; + } + String className = fClass.getCanonicalName(); + if (className.contains("nilus.")) { + return true; + } + return false; + } + + /** + * Check an object for empty and required fields. + * @param nilusObject + * @return a list of required empty fields in the nilusObjec and any objects references by that object. + */ + public static ArrayList checkEmptyFields(Object nilusObject) { + return checkEmptyFields(nilusObject, new ArrayList()); + } + + /** + * Check an object for empty and required fields. + * @param nilusObject + * @param emptyFields + * @return + */ + private static ArrayList checkEmptyFields(Object nilusObject, ArrayList emptyFields) { + if (nilusObject == null) { + return emptyFields; + } + + Class nilusClass = nilusObject.getClass(); + if (nilusClass.isPrimitive()) { + return emptyFields; + } + if (nilusClass.getCanonicalName().contains("java.lang")) { + return emptyFields; + } + Method[] methods = nilusClass.getDeclaredMethods(); + Field[] fields = nilusClass.getDeclaredFields(); + for (int i = 0; i < fields.length; i++) { + Method getter = findGetter(fields[i], methods); + Method setter = findSetter(fields[i], methods); + if (getter == null) { +// System.out.printf("Unable to find getter for field %s in %s\n", fields[i].getName(), nilusClass.getName()); + continue; + } + if (setter == null) { +// System.out.printf("Unable to find setter for field %s in %s\n", fields[i].getName(), nilusClass.getName()); + continue; + } + boolean required = isRequired(fields[i]); +// System.out.printf("Field %30s is %s required\n", fields[i].getName(), required ? " " : "NOT"); + Object gotObj = null; + try { + gotObj = getter.invoke(nilusObject, null); + } catch (IllegalAccessException | InvocationTargetException e) { +// System.out.printf("Unable to invoce getter %s on %s\n", getter.getName(), nilusObject); + continue; + } + boolean empty = isEmpty(gotObj); + if (empty) { + if (required) { + emptyFields.add(fields[i]); + } + } + else { + checkEmptyFields(gotObj, emptyFields); + } +// if (required == true && empty == true) { +// System.out.printf("Field %s is required but empty in %s\n", fields[i].getName(), nilusObject.toString()); +// } + } + return emptyFields; + } + + /** + * See if a field has an annotation that indicates it's required. + * @param field field + * @return required + */ + private static boolean isRequired(Field field) { + Annotation[] annots = field.getAnnotations(); + for (int a = 0; a < annots.length; a++) { +// System.out.printf("Field %s has annotation %d %s\n", fields[i].getName(), a, annots[a].toString()); + String str = annots[a].toString(); + if (str.contains("required=true")) { + return true; + } + } + return false; + } + + /** + * Find a getter for a field. This will either be get... or is... + * @param field + * @param methods list of methods to search + * @return found method or null + */ + private static Method findGetter(Field field, Method[] methods) { + String name = field.getName(); + String poss = "get"+name; + Method found = findMethod(poss, methods); + if (found != null) { + return found; + } + poss = "is" + name; + return findMethod(poss, methods); + } + + /** + * Fine a setter for a field. This will always be set... + * @param field field + * @param methods list of methods to search + * @return found method or null + */ + private static Method findSetter(Field field, Method[] methods) { + String name = field.getName(); + String poss = "set" + name; + return findMethod(poss, methods); + } + + /** + * Find a method based on it's name (case insensitive). + * @param name name of method + * @param methods list of methods to search + * @return found method or null + */ + private static Method findMethod(String name, Method[] methods) { + for (int i = 0; i < methods.length; i++) { + if (methods[i].getName().equalsIgnoreCase(name)) { + return methods[i]; + } + } + return null; + } + + /** + * Test if an object is empty.
    + * An object is considered empty if any of the following criteria are met: + *
      + *
    • The object is null
    • + *
    • The object is a zero length string
    • + *
    • The object is not null, but all of it's fields satisfy this same criteria of being empty
    • + *
    • The object is a list which has no elements
    • + *
    + * Primitive types are never empty. + * @param nilusObject + * @return true if it's empty + */ + public static boolean isEmpty(Object nilusObject) { + if (nilusObject == null) { + return true; + } + if (nilusObject instanceof String) { + String str = (String) nilusObject; + return (str.length() == 0); + } + if (nilusObject instanceof List) { + return isEmptyList((List) nilusObject); + } + if (nilusObject.getClass().isPrimitive()) { + return false; + } + boolean empty = true; + // and check all getters + Class nilusClass = nilusObject.getClass(); + Method[] methods = nilusClass.getDeclaredMethods(); + // searching for getters. + int nGet = 0; + for (int i = 0; i < methods.length; i++) { + Method method = methods[i]; + if (method.getName().startsWith("get") && method.getParameterCount() == 0) { + nGet ++; + try { + Object got = method.invoke(nilusObject, null); + if (got != null) { + if (got instanceof String) { + if (isEmptyString((String) got) == false) { + empty = false; + } + } + else if (got instanceof List) { + if (isEmptyList((List) got) == false) { + empty = false; + } + } + else if (isEmpty(got) == false) {// it's some other class type, so recurecively ask back here. + empty = false; + } + + } + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + return false; // better save than sorry if we don't understand. + } + } + } + if (nGet == 0) { + // there weren't any understandable getters, so assume not empty. May be some other primitive type. + empty = false; + } + + return empty; + } + + /** + * A list is considered empty if it has no elements + * @param list + * @return true if empty + */ + private static boolean isEmptyList(List list) { + if (list == null) { + return true; + } + return list.size() == 0; + } + + /** + * A String is empty if it is null or of zero length + * @param string string + * @return true if empty + */ + public static boolean isEmptyString(String string) { + if (string == null || string.length() == 0) { + return true; + } + return false; + } +} diff --git a/src/tethys/reporter/TethysReport.java b/src/tethys/reporter/TethysReport.java new file mode 100644 index 00000000..62c3164e --- /dev/null +++ b/src/tethys/reporter/TethysReport.java @@ -0,0 +1,56 @@ +package tethys.reporter; + +import tethys.Collection; + +public class TethysReport { + + private boolean success; + + private Collection collection; + + private String docName; + + private String docId; + + /** + * @param success + * @param collection + * @param docName + * @param docId + */ + public TethysReport(boolean success, Collection collection, String docName, String docId) { + this.success = success; + this.collection = collection; + this.docName = docName; + this.docId = docId; + } + + /** + * @return the success + */ + public boolean isSuccess() { + return success; + } + + /** + * @return the collection + */ + public Collection getCollection() { + return collection; + } + + /** + * @return the docName + */ + public String getDocName() { + return docName; + } + + /** + * @return the docId + */ + public String getDocId() { + return docId; + } + +} diff --git a/src/tethys/reporter/TethysReporter.java b/src/tethys/reporter/TethysReporter.java new file mode 100644 index 00000000..15228a83 --- /dev/null +++ b/src/tethys/reporter/TethysReporter.java @@ -0,0 +1,118 @@ +package tethys.reporter; + +import java.awt.Window; +import java.util.ArrayList; + +import PamController.PamController; +import PamView.dialog.warn.WarnOnce; + +/** + * Set of functions to provide mesage reports on Tethys output. This + * will work with the existing WarnOnce type pop-up, the primary purpose + * of the functions here being to collate information, possibly from + * several document writes, before issuing an overall report. + * @author dg50 + * + */ +public class TethysReporter { + + private static TethysReporter singleInstance; + + private ArrayList tethysReports; + + private TethysReporter() { + tethysReports = new ArrayList(); + } + + /** + * Get the reporter. + * @return + */ + public static final TethysReporter getTethysReporter() { + if (singleInstance == null) { + singleInstance = new TethysReporter(); + } + return singleInstance; + } + + /** + * Clear all reports + */ + synchronized public void clear() { + tethysReports.clear(); + } + + /** + * Add a report after attempting to write a document + * @param report + */ + synchronized public void addReport(TethysReport report) { + tethysReports.add(report); + } + + /** + * Get the current number of reports + * @return number of reports + */ + synchronized public int getSize() { + return tethysReports.size(); + } + + /** + * Get a summary string of all reported writes using html to separate each ont a separat eline + * @return + */ + synchronized public String getReportString() { + if (tethysReports.size() == 0) { + return "No reports"; + } + String str = ""; + for (int i = 0; i < tethysReports.size(); i++) { + TethysReport aReport = tethysReports.get(i); + String res = aReport.isSuccess() ? "Success" : "Failure"; + if (i > 0) { + str += "
    "; + } + str += String.format("%s writing %s document %s to Tethys", res, aReport.getCollection().collectionName(), aReport.getDocName()); + } + + + str += ""; + return str; + } + + /** + * Get a count of failed document writes + * @return failure count + */ + public int countFails() { + int fails = 0; + for (TethysReport aReport : tethysReports) { + if (aReport.isSuccess() == false) { + fails++; + } + } + return fails; + } + + /** + * Show a report in a popup window + * @param clear clear the list of reports afterwards + */ + public void showReport(boolean clear) { + showReport(PamController.getMainFrame(), clear); + } + + /** + * Show a report on a popup window + * @param window parent frame + * @param clear clear the list of reports afterwards + */ + public void showReport(Window window, boolean clear) { + boolean probs = countFails() > 0; + WarnOnce.showNamedWarning("TethysReporter", window, "Tethys Document Writer", getReportString(), WarnOnce.WARNING_MESSAGE); + if (clear) { + clear(); + } + } +} diff --git a/src/tethys/species/DataBlockSpeciesCodes.java b/src/tethys/species/DataBlockSpeciesCodes.java index 4cb681c9..6d27bfc5 100644 --- a/src/tethys/species/DataBlockSpeciesCodes.java +++ b/src/tethys/species/DataBlockSpeciesCodes.java @@ -21,7 +21,7 @@ public class DataBlockSpeciesCodes { /** * Probably only to be used when there are no defined names, but helpful if it's set. */ - private int itisDefault = ITISTypes.UNKNOWN; + private int itisDefault = ITISTypes.OTHER; /** * A default sound type, which can be used for all 'species', but can get diff --git a/src/tethys/species/ITISFunctions.java b/src/tethys/species/ITISFunctions.java index 5e3a0709..763c99f3 100644 --- a/src/tethys/species/ITISFunctions.java +++ b/src/tethys/species/ITISFunctions.java @@ -1,14 +1,23 @@ package tethys.species; +import java.io.StringReader; +import java.util.ArrayList; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.xml.sax.InputSource; import PamController.settings.output.xml.PAMGuardXMLPreview; import PamController.settings.output.xml.PamguardXMLWriter; +import dbxml.Queries; import tethys.TethysControl; import tethys.dbxml.DBQueryResult; +import tethys.dbxml.DBXMLConnect; import tethys.dbxml.DBXMLQueries; import tethys.dbxml.TethysQueryException; @@ -81,4 +90,83 @@ public class ITISFunctions { return new TethysITISResult(itisCode, taxunit, latin, vernacular); } + + public ArrayList searchSpecies(String searchTerm) { + ArrayList items = new ArrayList(); + String xQ = "let $target := \"thespeciessearchterm\" \r\n" + + "return\r\n" + + " {\r\n" + + "\r\n" + + " for $ranks0 in collection(\"ITIS_ranks\")/ranks/rank[\r\n" + + " dbxml:contains(completename, $target) or \r\n" + + " vernacular[dbxml:contains(name,$target)]]\r\n" + + "return\r\n" + + " {\r\n" + + " $ranks0/tsn,\r\n" + + " $ranks0/completename,\r\n" + + " \r\n" + + " {string-join($ranks0/vernacular/name, \", \")}\r\n" + + " \r\n" + + " } \r\n" + + "} \r\n" + + ""; + xQ = xQ.replace("thespeciessearchterm", searchTerm); + DBXMLConnect dbXMLConnect = tethysControl.getDbxmlConnect(); + DBXMLQueries dbxmlQueries = tethysControl.getDbxmlQueries(); + Queries queries = dbXMLConnect.getTethysQueries(); + + String queryResult = null; + try { + queryResult = queries.QueryTethys(xQ); + } catch (Exception e) { + // TODO Auto-generated catch block +// e.printStackTrace(); + return items; + } + + + DocumentBuilder builder = null; + Document doc = null; + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + try { + //Create DocumentBuilder with default configuration + builder = factory.newDocumentBuilder(); + + //Parse the content to Document object + doc = builder.parse(new InputSource(new StringReader(queryResult))); + } catch (Exception e) { +// e.printStackTrace(); +// System.out.println(queryResult); + return items; + } + // print for now, then comment this out.. +// PamguardXMLWriter pamXMLWriter = PamguardXMLWriter.getXMLWriter(); +// String fDoc = pamXMLWriter.getAsString(doc, true); +// System.out.println(fDoc); + // now unpack the xml document. + NodeList els = doc.getElementsByTagName("Record"); + int n = els.getLength(); + for (int i = 0; i < n; i++) { + Node aNode = els.item(i); + if (aNode instanceof Element) { + Element anEl = (Element) aNode; + String tsn = dbxmlQueries.getElementData(anEl, "tsn"); + int nTSN = 0; + try { + nTSN = Integer.valueOf(tsn); + } + catch (NumberFormatException ex) { + System.out.println("Invalid TSN read from Tethys: " + tsn); + continue; + } + + String completeName = dbxmlQueries.getElementData(anEl, "completename"); + String vernacular = dbxmlQueries.getElementData(anEl, "vernacular"); + SpeciesMapItem mapItem = new SpeciesMapItem(nTSN, "", "", completeName, vernacular); + items.add(mapItem); + } + + } + return items; + } } diff --git a/src/tethys/species/ITISTypes.java b/src/tethys/species/ITISTypes.java index 4681cac9..771b180d 100644 --- a/src/tethys/species/ITISTypes.java +++ b/src/tethys/species/ITISTypes.java @@ -7,12 +7,12 @@ package tethys.species; */ public class ITISTypes { - public static final int UNKNOWN = 0; + public static final int OTHER = 0; public static final int ANTHROPOGENIC = 1; public static final String getName(int code) { switch (code) { - case UNKNOWN: + case OTHER: return "Unknown"; case ANTHROPOGENIC: return "Anthropogenic"; diff --git a/src/tethys/species/SpeciesTest.java b/src/tethys/species/SpeciesTest.java index 13403f8d..b96f429f 100644 --- a/src/tethys/species/SpeciesTest.java +++ b/src/tethys/species/SpeciesTest.java @@ -21,11 +21,11 @@ public class SpeciesTest { public static void main(String[] args) { SpeciesTest st = new SpeciesTest(); - st.runJson(); +// st.runJson(); // int spermWhale = 180488; // st.getCodeInfo(spermWhale); -// st.runXQuery(); + st.runXQuery(); } private void getCodeInfo(int itisCode) { @@ -86,15 +86,32 @@ public class SpeciesTest { // + " }\r\n" // + "} "; - String xQ = " {\r\n" - + " for $rank0 in collection(\"ITIS_ranks\")/rank[tsn = \"180488\"]\r\n" - + " return\r\n" - + " {\r\n" - + " $rank0/completename\r\n" - + " }\r\n" - + "} "; +// String xQ = " {\r\n" +// + " for $rank0 in collection(\"ITIS_ranks\")/rank[tsn = \"180488\"]\r\n" +// + " return\r\n" +// + " {\r\n" +// + " $rank0/completename\r\n" +// + " }\r\n" +// + "} "; + String xQ = "let $target := \"physeter\" \r\n" + + "return\r\n" + + " {\r\n" + + "\r\n" + + " for $ranks0 in collection(\"ITIS_ranks\")/ranks/rank[\r\n" + + " dbxml:contains(completename, $target) or \r\n" + + " vernacular[dbxml:contains(name,$target)]]\r\n" + + "return\r\n" + + " {\r\n" + + " $ranks0/tsn,\r\n" + + " $ranks0/completename,\r\n" + + " \r\n" + + " {string-join($ranks0/vernacular/name, \", \")}\r\n" + + " \r\n" + + " } \r\n" + + "} \r\n" + + ""; + System.out.println(xQ); - JerseyClient jerseyClient = new JerseyClient(uri); Queries queries = new Queries(jerseyClient); diff --git a/src/tethys/species/swing/DataBlockSpeciesDialog.java b/src/tethys/species/swing/DataBlockSpeciesDialog.java index adb84646..3181493f 100644 --- a/src/tethys/species/swing/DataBlockSpeciesDialog.java +++ b/src/tethys/species/swing/DataBlockSpeciesDialog.java @@ -7,12 +7,14 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; +import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.TitledBorder; import PamController.PamController; import PamView.PamGui; import PamView.dialog.PamDialog; +import PamView.panel.PamNorthPanel; import PamguardMVC.PamDataBlock; import tethys.species.SpeciesMapManager; @@ -38,7 +40,16 @@ public class DataBlockSpeciesDialog extends PamDialog { }); JPanel nPanel = new JPanel(new BorderLayout()); nPanel.setBorder(new TitledBorder("Code management")); - nPanel.add(BorderLayout.EAST, itisButton); + nPanel.add(BorderLayout.EAST, new PamNorthPanel(itisButton)); + String otherMsg = + "Specify an ITIS taxonomic serial number (coding)." + + "
    Press the Find button to look up TSNs by Latin or common name. " + + "
    Anthropogenic signals should be coded as Homo sapiens (180092). " + + "
    Noise Measurements and geophonic sounds should be coded as " + + "\"Other Phenomena\" (-10). " + + "
    When known, a call or sound type should " + + "be specified (see help for more information)."; + nPanel.add(BorderLayout.CENTER, new JLabel(otherMsg , JLabel.LEFT)); // JPanel nwBit = new JPanel(new FlowLayout()); // JButton exportButton = new JButton("Export"); // exportButton.addActionListener(SpeciesMapManager.getInstance().getExportAction(parentFrame)); @@ -52,6 +63,7 @@ public class DataBlockSpeciesDialog extends PamDialog { mainPanel.add(BorderLayout.NORTH, nPanel); setDialogComponent(mainPanel); setResizable(true); + setHelpPoint("utilities.tethys.docs.tethys_speciescodes"); } protected void gotoITIS() { diff --git a/src/tethys/species/swing/SpeciesSearchDialog.java b/src/tethys/species/swing/SpeciesSearchDialog.java new file mode 100644 index 00000000..78d430e3 --- /dev/null +++ b/src/tethys/species/swing/SpeciesSearchDialog.java @@ -0,0 +1,282 @@ +package tethys.species.swing; + +import java.awt.BorderLayout; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Window; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.SwingUtilities; +import javax.swing.SwingWorker; +import javax.swing.border.TitledBorder; +import javax.swing.table.AbstractTableModel; + +import PamUtils.worker.PamWorkDialog; +import PamUtils.worker.PamWorkProgressMessage; +import PamView.dialog.PamDialog; +import PamView.dialog.PamGridBagContraints; +import PamView.dialog.warn.WarnOnce; +import PamView.tables.SwingTableColumnWidths; +import PamView.tables.TableColumnWidthData; +import tethys.TethysControl; +import tethys.species.ITISFunctions; +import tethys.species.SpeciesMapItem; + +public class SpeciesSearchDialog extends PamDialog { + + private static final long serialVersionUID = 1L; + + private TethysControl tethysControl; + + private SpeciesMapItem selectedItem; + + private static SpeciesSearchDialog singleInstance; + + private JTextField searchText; + + private JButton searchButton; + + private JTable resultTable; + + private ArrayList speciesMapItems; + + private DataModel tableModel; + + private volatile PamWorkDialog workDialog; + + private Object synch = new Object(); + + + private SpeciesSearchDialog(Window parentFrame, TethysControl tethysControl) { + super(parentFrame, "Species search", false); + this.tethysControl = tethysControl; + JPanel mainPanel = new JPanel(new BorderLayout()); + mainPanel.setBorder(new TitledBorder("Search Term")); + JPanel topPanel = new JPanel(new GridBagLayout()); + GridBagConstraints c = new PamGridBagContraints(); + topPanel.add(new JLabel("Latin or common name ", JLabel.RIGHT), c); + c.gridx++; + topPanel.add(searchText = new JTextField(12), c); + c.gridx++; + topPanel.add(searchButton = new JButton("search"), c); + mainPanel.add(BorderLayout.NORTH, topPanel); + searchButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + searchTethys(); + } + + }); + searchText.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + searchTethys(); + } + }); + + tableModel = new DataModel(); + resultTable = new JTable(tableModel); + JPanel centPanel = new JPanel(new BorderLayout()); + centPanel.add(BorderLayout.NORTH, new JLabel("Possible matches (select one)", JLabel.LEFT)); + JScrollPane scrollPane = new JScrollPane(resultTable); + centPanel.add(BorderLayout.CENTER, scrollPane); + mainPanel.add(BorderLayout.CENTER, centPanel); + + resultTable.addMouseListener(new TableMouse()); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + new SwingTableColumnWidths("Species Search Dialog Table", resultTable); + } + }); + + setResizable(true); + setDialogComponent(mainPanel); + } + public static SpeciesMapItem showDialog(Window parentFrame, TethysControl tethysControl) { + if (singleInstance == null) { + singleInstance = new SpeciesSearchDialog(parentFrame, tethysControl); + } + singleInstance.setParams(); + singleInstance.setVisible(true); + return singleInstance.selectedItem; + } + + + private void searchTethys() { + clearResults(); + String str = searchText.getText(); + if (str == null || str.length() == 0) { + return; + } + SearchWorker searchWorker = new SearchWorker(str); + searchWorker.execute(); + // then open the dialog to block this thread. + synchronized (synch) { + workDialog = new PamWorkDialog(getOwner(), 1, "Searching Tethys Database"); + workDialog.setVisible(true); + } + } + + public void setMapItems(ArrayList newMapItems) { + this.speciesMapItems = newMapItems; + tableModel.fireTableDataChanged(); + } + + private class SearchWorker extends SwingWorker { + + private String searchString; + private ArrayList newMapItems; + + public SearchWorker(String searchString) { + this.searchString = searchString; + } + + @Override + protected Integer doInBackground() throws Exception { + String msg = String.format("Searching database for names containing \"%s\"", searchString); + PamWorkProgressMessage pm = new PamWorkProgressMessage(null, msg); + publish(pm); + try { + ITISFunctions itisFunctions = tethysControl.getItisFunctions(); + this.newMapItems = itisFunctions.searchSpecies(searchString); + } + catch (Exception e) { + e.printStackTrace(); + } + if (newMapItems == null) { + return 0; + } + if (workDialog != null) { + workDialog.setVisible(false); + workDialog.dispose(); + } + return newMapItems.size(); + } + + @Override + protected void done() { + if (newMapItems == null || newMapItems.size() == 0) { + String msg = String.format("No matching ITIS types for search term %s", searchString); + WarnOnce.showNamedWarning("ITIS Lookup failure", getOwner(), "ITIS Code search", msg, WarnOnce.WARNING_MESSAGE); + + } + setMapItems(newMapItems); + } + + @Override + protected void process(List chunks) { + for (PamWorkProgressMessage msg : chunks) { + synchronized (synch) { + if (workDialog != null) { + workDialog.update(msg); + } + } + } + } + + } + + private void setParams() { + searchText.setText(null); + clearResults(); + } + + private void clearResults() { + speciesMapItems = null; + selectedItem = null; + } + @Override + public boolean getParams() { + if (selectedItem == null) { + return showWarning("You must select a row from the table of species"); + } + return selectedItem != null; + } + + @Override + public void cancelButtonPressed() { + clearResults(); + } + + @Override + public void restoreDefaultSettings() { + // TODO Auto-generated method stub + + } + + private class TableMouse extends MouseAdapter { + + @Override + public void mouseClicked(MouseEvent e) { + if (speciesMapItems == null) { + return; + } + int selectedRow = resultTable.getSelectedRow(); + if (selectedRow >= 0 && selectedRow < speciesMapItems.size()) { + selectedItem = speciesMapItems.get(selectedRow); + } + tableModel.fireTableDataChanged(); + } + + } + private class DataModel extends AbstractTableModel { + + private String[] colNames = {"Select", "TSN", "Name", "Common Name"}; + + @Override + public int getRowCount() { + if (speciesMapItems == null) { + return 0; + } + return speciesMapItems.size(); + } + + @Override + public int getColumnCount() { + return colNames.length; + } + + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + SpeciesMapItem mapItem = speciesMapItems.get(rowIndex); + switch (columnIndex) { + case 0: + return mapItem == selectedItem; + case 1: + return mapItem.getItisCode(); + case 2: + return mapItem.getLatinName(); + case 3: + return mapItem.getCommonName(); + } + return null; + } + + @Override + public String getColumnName(int column) { + return colNames[column]; + } + + @Override + public Class getColumnClass(int columnIndex) { + if (columnIndex == 0) { + return Boolean.class; + } + return super.getColumnClass(columnIndex); + } + + } + +} diff --git a/src/tethys/species/swing/SpeciesSubPanel.java b/src/tethys/species/swing/SpeciesSubPanel.java index 53495f2a..f55919f4 100644 --- a/src/tethys/species/swing/SpeciesSubPanel.java +++ b/src/tethys/species/swing/SpeciesSubPanel.java @@ -85,7 +85,8 @@ public class SpeciesSubPanel { pamguardName.setToolTipText("Internal name within PAMGuard module"); itisCode.setToolTipText("ITIS species code"); - searchButton.setToolTipText("Search for species code"); + searchButton.setToolTipText("Either enter a code manually and press \"Find\" for additional information,
    " + + "or leave the code empty and press \"Find\" to search the Tethys database using common or scientific names." ); callType.setToolTipText("Descriptive name for call type or measurement"); latinName.setToolTipText("Scientific name"); commonName.setToolTipText("Common name"); @@ -112,6 +113,17 @@ public class SpeciesSubPanel { return; } ITISFunctions itisFunctions = tethysControl.getItisFunctions(); + String itisString = this.itisCode.getText(); + if (itisString == null || itisString.length() == 0) { + searchForCode(tethysControl, itisFunctions); + } + else { + getCodeInformation(tethysControl, itisFunctions, itisString); + } +// System.out.println(itisInfo); + } + + private void getCodeInformation(TethysControl tethysControl, ITISFunctions itisFunctions, String itisString) { int itisCode = 0; try { itisCode = Integer.valueOf(this.itisCode.getText()); @@ -128,8 +140,16 @@ public class SpeciesSubPanel { if (itisInfo.getVernacular() != null) { commonName.setText(itisInfo.getVernacular()); } + } + } + + private void searchForCode(TethysControl tethysControl, ITISFunctions itisFunctions) { + SpeciesMapItem speciesItem = SpeciesSearchDialog.showDialog(tethysControl.getGuiFrame(), tethysControl); + if (speciesItem != null) { + itisCode.setText(String.format("%d", speciesItem.getItisCode())); + latinName.setText(speciesItem.getLatinName()); + commonName.setText(speciesItem.getCommonName()); } -// System.out.println(itisInfo); } public JComponent getDialogComponent() { diff --git a/src/tethys/swing/DatablockSynchPanel.java b/src/tethys/swing/DatablockSynchPanel.java index f7d1df4f..e23e308f 100644 --- a/src/tethys/swing/DatablockSynchPanel.java +++ b/src/tethys/swing/DatablockSynchPanel.java @@ -147,7 +147,7 @@ public class DatablockSynchPanel extends TethysGUIPanel { if (deployments == null || deployments.size() == 0) { en = false; } - exportButton.setEnabled(en); + exportButton.setEnabled(getTethysControl().isServerOk() & en); } public void showPopup(MouseEvent e, int row) { @@ -181,6 +181,9 @@ public class DatablockSynchPanel extends TethysGUIPanel { // dataBlockSynchInfo = null; // getSychInfos(); // getTethysControl().coun + break; + case UPDATESERVER: + enableExportButton(); } synchTableModel.fireTableDataChanged(); diff --git a/src/tethys/swing/DeploymentExportPanel.java b/src/tethys/swing/DeploymentExportPanel.java index 21e42daf..4147cb38 100644 --- a/src/tethys/swing/DeploymentExportPanel.java +++ b/src/tethys/swing/DeploymentExportPanel.java @@ -154,6 +154,9 @@ public class DeploymentExportPanel extends TethysGUIPanel implements DeploymentT case UPDATEMETADATA: setInternal(); break; + case UPDATESERVER: + enableControls(); + break; } } @@ -244,7 +247,7 @@ public class DeploymentExportPanel extends TethysGUIPanel implements DeploymentT private void enableControls() { boolean enable = selectedDeployments != null && selectedDeployments.size() > 0; - bigExportButton.setEnabled(enable); + bigExportButton.setEnabled(getTethysControl().isServerOk() & enable); } } diff --git a/src/tethys/swing/DeploymentsPanel.java b/src/tethys/swing/DeploymentsPanel.java index 37d35a38..7ebb6dec 100644 --- a/src/tethys/swing/DeploymentsPanel.java +++ b/src/tethys/swing/DeploymentsPanel.java @@ -15,6 +15,7 @@ import javax.swing.border.TitledBorder; import PamView.panel.PamPanel; import tethys.TethysControl; +import tethys.TethysState; import tethys.deployment.DeploymentHandler; import tethys.deployment.RecordingPeriod; @@ -96,15 +97,23 @@ public class DeploymentsPanel extends TethysGUIPanel implements DeploymentTableO public void selectionChanged() { enableExportButton(); } + + private void enableExportButton() { ArrayList selected = pamDeploymentsTable.getSelectedPeriods(); - // and see if any warnings are needed: basically if anything selected has an output. + if (selected == null) { + exportButton.setEnabled(false); + return; + } boolean existing = false; - for (RecordingPeriod aPeriod: selected) { - if (aPeriod.getMatchedTethysDeployment() != null) { - existing = true; - break; + if (selected != null) { + // and see if any warnings are needed: basically if anything selected has an output. + for (RecordingPeriod aPeriod: selected) { + if (aPeriod.getMatchedTethysDeployment() != null) { + existing = true; + break; + } } } String warning = null; @@ -113,7 +122,13 @@ public class DeploymentsPanel extends TethysGUIPanel implements DeploymentTableO exportWarning.setText(warning); } - exportButton.setEnabled(selected.size()>0 & existing == false); + exportButton.setEnabled(selected.size()>0 & existing == false && getTethysControl().isServerOk()); + } + + @Override + public void updateState(TethysState tethysState) { + super.updateState(tethysState); + enableExportButton(); } diff --git a/src/tethys/swing/PAMGuardDeploymentsTable.java b/src/tethys/swing/PAMGuardDeploymentsTable.java index 6d7209b5..1b870921 100644 --- a/src/tethys/swing/PAMGuardDeploymentsTable.java +++ b/src/tethys/swing/PAMGuardDeploymentsTable.java @@ -326,6 +326,9 @@ public class PAMGuardDeploymentsTable extends TethysGUIPanel { * @return */ public ArrayList getSelectedPeriods() { + if (deploymentOverview == null) { + return null; + } ArrayList allPeriods = deploymentOverview.getRecordingPeriods(); ArrayList selPeriods = new ArrayList(); int n = allPeriods.size(); diff --git a/src/tethys/swing/TethysWizardCard.java b/src/tethys/swing/TethysWizardCard.java new file mode 100644 index 00000000..8e85576f --- /dev/null +++ b/src/tethys/swing/TethysWizardCard.java @@ -0,0 +1,80 @@ +package tethys.swing; + +import java.awt.Window; +import java.lang.reflect.Field; +import java.util.ArrayList; + +import javax.swing.JTextField; +import javax.swing.text.JTextComponent; + +import PamView.dialog.PamDialog; +import PamView.dialog.warn.WarnOnce; +import PamView.wizard.PamWizard; +import PamView.wizard.PamWizardCard; +import tethys.niluswraps.NilusChecker; + +/** + * Wizard card with a few extra functions for Tethys. + * @author dg50 + * + * @param + */ +abstract public class TethysWizardCard extends PamWizardCard { + + private static final long serialVersionUID = 1L; + + public TethysWizardCard(PamWizard pamWizard, String title) { + super(pamWizard, title); + } + + /** + * Get a string out of a text component, but if the field is + * empty, return null rather than an empty, 0 length, string. + * @param textField + * @return string, or null if it's empty. + */ + public String getText(JTextComponent textField) { + String str = textField.getText(); + if (str == null) { + return null; + } + if (str.length() == 0) { + return null; + } + return str; + } + + /** + * Get a string from a text component, and warn if it is empty or null. + * @param owner parent window for warning + * @param textComponent text component + * @param name control name for warning text + * @return String if there was one, or null if it was null or empty. + */ + public String warnNotNull(Window owner, JTextComponent textComponent, String name) { + String str = getText(textComponent); + if (str != null) { + return str; + } + String warn = String.format("The field %s cannot be empty", name); + PamDialog.showWarning(owner, "Empty or missing data", warn); + return null; + } + + /** + * Check for required empty fields. + * @param nilusObject + * @return true if all OK, false if there are required fields + */ + public boolean checkEmptyFields(Object nilusObject) { + NilusChecker.removeEmptyFields(nilusObject); + ArrayList emptyList = NilusChecker.checkEmptyFields(nilusObject); + if (emptyList.size() == 0) { + return true; + } + Field first = emptyList.get(0); + String msg = String.format("The field \"%s\" in \"%s\" is required by Tethys and must be completed", first.getName(), first.getDeclaringClass().getCanonicalName()); + return PamDialog.showWarning(getPamWizard(), "Missing required data", msg); + } + +} From c4192a7323e93ec61adef46975d6ae0dd2c431ba Mon Sep 17 00:00:00 2001 From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Tue, 30 Jan 2024 14:51:29 +0000 Subject: [PATCH 4/6] Version 2.02.10 final commit of updated version info for release --- dependency-reduced-pom.xml | 22 +++++++++++----------- pom.xml | 2 +- src/PamController/PamguardVersionInfo.java | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index 5b4dd67c..1eb2342e 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -4,7 +4,7 @@ org.pamguard Pamguard Pamguard Java12+ - 2.02.09aa + 2.02.10 Pamguard for Java 12+, using Maven to control dependcies www.pamguard.org @@ -100,16 +100,6 @@ - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - @@ -117,6 +107,16 @@ + + + *:* + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + diff --git a/pom.xml b/pom.xml index 31152cec..18731009 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.pamguard Pamguard - 2.02.09ab + 2.02.10 Pamguard Java12+ Pamguard for Java 12+, using Maven to control dependcies www.pamguard.org diff --git a/src/PamController/PamguardVersionInfo.java b/src/PamController/PamguardVersionInfo.java index 2302674a..c6753329 100644 --- a/src/PamController/PamguardVersionInfo.java +++ b/src/PamController/PamguardVersionInfo.java @@ -31,12 +31,12 @@ 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.09ab"; + static public final String version = "2.02.10"; /** * Release date */ - static public final String date = "18 January 2024"; + static public final String date = "30 January 2024"; // /** // * Release type - Beta or Core From 1c532906ca126d914ba087682453769919879297 Mon Sep 17 00:00:00 2001 From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Tue, 30 Jan 2024 14:57:38 +0000 Subject: [PATCH 5/6] Merge from dg (#126) * updating Tethys help * added help details server connection & calibration * Reporting outputs to user Use Pamguard WarnOnce system to show a message of success or failure after attempting to output to Tethys. * Removing empty fields Start of implementation of code that can remove empty fields from objects before they are written. * More help documentation Continued writing general export help. Added new css style Added image * Fix type in Deployment export * Prevent single deployment export For now, disable the option to export a single Deployment document for multiple recording periods. * System to search species codes Search the ITIS species codes in Tethys to find ITIS codes. Search can be on a common or scientific name. * Data blocks help + species codes More help documentation on exporting detections/localization as well as mapping detection species codes to TSNs. Includes supporting images * Improved dialog for finding species codes Now has a progress bar to block GUI while searching database. * Add species codes TOC in help * Documented new species search in help * Nilus Checker Can check a Nilus class to see if it's missing required objects and be used to remove empty fields (e.g. zero length strings) from an object. * fixed anchor html problem * Messing around with checking of required fields in nilus objects. * split Tethys help files into smaller chunks * Update button enablers And reinstate output of a single deployment document, with non-recording periods stores in the QA section And update help TOC for latest help documents. --------- Co-authored-by: Marie From 9fe8e353220986bdee00d3563969872c7a44e5da Mon Sep 17 00:00:00 2001 From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Tue, 30 Jan 2024 14:58:50 +0000 Subject: [PATCH 6/6] MErge from dg (#127) * updating Tethys help * added help details server connection & calibration * Reporting outputs to user Use Pamguard WarnOnce system to show a message of success or failure after attempting to output to Tethys. * Removing empty fields Start of implementation of code that can remove empty fields from objects before they are written. * More help documentation Continued writing general export help. Added new css style Added image * Fix type in Deployment export * Prevent single deployment export For now, disable the option to export a single Deployment document for multiple recording periods. * System to search species codes Search the ITIS species codes in Tethys to find ITIS codes. Search can be on a common or scientific name. * Data blocks help + species codes More help documentation on exporting detections/localization as well as mapping detection species codes to TSNs. Includes supporting images * Improved dialog for finding species codes Now has a progress bar to block GUI while searching database. * Add species codes TOC in help * Documented new species search in help * Nilus Checker Can check a Nilus class to see if it's missing required objects and be used to remove empty fields (e.g. zero length strings) from an object. * fixed anchor html problem * Messing around with checking of required fields in nilus objects. * split Tethys help files into smaller chunks * Update button enablers And reinstate output of a single deployment document, with non-recording periods stores in the QA section And update help TOC for latest help documents. --------- Co-authored-by: Marie