diff -Nru starjava-topcat-4.7/build.xml starjava-topcat-4.7.1/build.xml
--- starjava-topcat-4.7/build.xml 2019-11-18 16:53:42.000000000 +0000
+++ starjava-topcat-4.7.1/build.xml 2020-06-04 17:10:04.000000000 +0000
@@ -84,7 +84,7 @@
-
+
diff -Nru starjava-topcat-4.7/debian/changelog starjava-topcat-4.7.1/debian/changelog
--- starjava-topcat-4.7/debian/changelog 2020-01-20 16:26:42.000000000 +0000
+++ starjava-topcat-4.7.1/debian/changelog 2020-06-26 11:35:42.000000000 +0000
@@ -1,3 +1,13 @@
+starjava-topcat (4.7.1-1) unstable; urgency=low
+
+ * New upstream version 4.7.1. Rediff patches
+ * Update build dep versions
+ * Push Standards-Version to 4.5.0. No changes needed.
+ * Push dh-compat to 13
+ * Add Rules-Requires-Root: no to d/control
+
+ -- Ole Streicher Fri, 26 Jun 2020 13:35:42 +0200
+
starjava-topcat (4.7-2) unstable; urgency=medium
* Remove libxmlrpc3-client-java, build dependency (Closes: #949188)
diff -Nru starjava-topcat-4.7/debian/control starjava-topcat-4.7.1/debian/control
--- starjava-topcat-4.7/debian/control 2020-01-20 16:25:50.000000000 +0000
+++ starjava-topcat-4.7.1/debian/control 2020-06-26 11:34:57.000000000 +0000
@@ -3,7 +3,7 @@
Uploaders: Ole Streicher
Section: java
Priority: optional
-Build-Depends: ant, debhelper-compat (= 12), dh-exec, javahelper
+Build-Depends: ant, debhelper-compat (= 13), dh-exec, javahelper
Build-Depends-Indep: ant-optional,
default-jdk,
default-jdk-doc,
@@ -17,17 +17,18 @@
libsaxonhe-java,
starlink-datanode-java,
starlink-fits-java,
- starlink-table-java (>= 3.3.3+2019.07.12~),
+ starlink-table-java (>= 3.4.1~),
starlink-task-java,
- starlink-ttools-java (>= 3.2~),
+ starlink-ttools-java (>= 3.2.1~),
starlink-util-java,
starlink-vo-java,
starlink-votable-java,
stilts-doc
-Standards-Version: 4.4.1
+Standards-Version: 4.5.0
Vcs-Browser: https://salsa.debian.org/debian-astro-team/starjava-topcat
Vcs-Git: https://salsa.debian.org/debian-astro-team/starjava-topcat.git
Homepage: http://www.starlink.ac.uk/topcat/
+Rules-Requires-Root: no
Package: topcat
Architecture: all
diff -Nru starjava-topcat-4.7/debian/patches/Clearly-mark-this-version-as-Debian.patch starjava-topcat-4.7.1/debian/patches/Clearly-mark-this-version-as-Debian.patch
--- starjava-topcat-4.7/debian/patches/Clearly-mark-this-version-as-Debian.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Clearly-mark-this-version-as-Debian.patch 2020-06-26 11:31:47.000000000 +0000
@@ -8,7 +8,7 @@
2 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/build.xml b/build.xml
-index c5be189..6aec882 100644
+index e1d0257..9879f7e 100644
--- a/build.xml
+++ b/build.xml
@@ -491,7 +491,7 @@
@@ -39,10 +39,10 @@
diff --git a/src/docs/sun253.xml b/src/docs/sun253.xml
-index 131e818..4687c9a 100644
+index a3daafb..9d0fca3 100644
--- a/src/docs/sun253.xml
+++ b/src/docs/sun253.xml
-@@ -467,6 +467,10 @@ GNU General Public Licence. Its underlying table processing facilities
+@@ -485,6 +485,10 @@ GNU General Public Licence. Its underlying table processing facilities
are provided by STIL, the Starlink Tables Infrastructure Library.
@@ -53,7 +53,7 @@
-@@ -591,6 +595,38 @@ see documentation of the
+@@ -609,6 +613,38 @@ see documentation of the
for more details.
diff -Nru starjava-topcat-4.7/debian/patches/Don-t-call-home-for-new-version-by-default.patch starjava-topcat-4.7.1/debian/patches/Don-t-call-home-for-new-version-by-default.patch
--- starjava-topcat-4.7/debian/patches/Don-t-call-home-for-new-version-by-default.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Don-t-call-home-for-new-version-by-default.patch 2020-06-26 11:31:47.000000000 +0000
@@ -7,10 +7,10 @@
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/main/uk/ac/starlink/topcat/Driver.java b/src/main/uk/ac/starlink/topcat/Driver.java
-index de44aa9..8e2f400 100644
+index e23c93d..7377216 100644
--- a/src/main/uk/ac/starlink/topcat/Driver.java
+++ b/src/main/uk/ac/starlink/topcat/Driver.java
-@@ -243,7 +243,7 @@ public class Driver {
+@@ -242,7 +242,7 @@ public class Driver {
boolean internalHub = false;
boolean externalHub = false;
boolean noHub = false;
@@ -19,7 +19,7 @@
boolean useRunning = false;
for ( Iterator it = argList.iterator(); it.hasNext(); ) {
String arg = it.next();
-@@ -649,7 +649,6 @@ public class Driver {
+@@ -648,7 +648,6 @@ public class Driver {
.append( p2 + "-exthub run external SAMP/PLASTIC hub" )
.append( p2 + "-noserv don't run any services"
+ " (PLASTIC or SAMP)" )
diff -Nru starjava-topcat-4.7/debian/patches/Fix-build.xml-for-use-outside-of-starjava.patch starjava-topcat-4.7.1/debian/patches/Fix-build.xml-for-use-outside-of-starjava.patch
--- starjava-topcat-4.7/debian/patches/Fix-build.xml-for-use-outside-of-starjava.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Fix-build.xml-for-use-outside-of-starjava.patch 2020-06-26 11:31:47.000000000 +0000
@@ -21,11 +21,11 @@
* Don't sign the jarfile
---
- build.xml | 114 +++++++++++++++++++++++++++++++++++---------------------------
- 1 file changed, 64 insertions(+), 50 deletions(-)
+ build.xml | 116 +++++++++++++++++++++++++++++++++++---------------------------
+ 1 file changed, 65 insertions(+), 51 deletions(-)
diff --git a/build.xml b/build.xml
-index bb680c9..78297bc 100644
+index 746b41a..4cdd51f 100644
--- a/build.xml
+++ b/build.xml
@@ -37,12 +37,6 @@
@@ -57,17 +57,19 @@
-@@ -82,8 +76,8 @@
+@@ -82,9 +76,9 @@
!-->
-
-
+-
+
+
-
++
+
@@ -122,6 +116,7 @@
diff -Nru starjava-topcat-4.7/debian/patches/Fix-Icon-path-in-jhall.jar.patch starjava-topcat-4.7.1/debian/patches/Fix-Icon-path-in-jhall.jar.patch
--- starjava-topcat-4.7/debian/patches/Fix-Icon-path-in-jhall.jar.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Fix-Icon-path-in-jhall.jar.patch 2020-06-26 11:31:47.000000000 +0000
@@ -7,10 +7,10 @@
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/uk/ac/starlink/topcat/ResourceIcon.java b/src/main/uk/ac/starlink/topcat/ResourceIcon.java
-index d8e6c88..669b73e 100644
+index 5c6afc4..9ed3466 100644
--- a/src/main/uk/ac/starlink/topcat/ResourceIcon.java
+++ b/src/main/uk/ac/starlink/topcat/ResourceIcon.java
-@@ -682,10 +682,10 @@ public class ResourceIcon implements Icon {
+@@ -684,10 +684,10 @@ public class ResourceIcon implements Icon {
new Ri1RegistryTableLoadDialog().getIcon() );
putMap( nameMap, "HELP_TOC",
new ImageIcon( JHelp.class
diff -Nru starjava-topcat-4.7/debian/patches/Make-CDF-optional.patch starjava-topcat-4.7.1/debian/patches/Make-CDF-optional.patch
--- starjava-topcat-4.7/debian/patches/Make-CDF-optional.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Make-CDF-optional.patch 2020-06-26 11:31:47.000000000 +0000
@@ -7,10 +7,10 @@
1 file changed, 3 insertions(+)
diff --git a/src/docs/sun253.xml b/src/docs/sun253.xml
-index 04b8b6a..b87185f 100644
+index bd56eae..79e4e2d 100644
--- a/src/docs/sun253.xml
+++ b/src/docs/sun253.xml
-@@ -1316,6 +1316,9 @@ write them.
+@@ -1392,6 +1392,9 @@ write them.
Currently, no attempt is made to represent values representing
times in a human-friendly fashion. This may change in future releases.
diff -Nru starjava-topcat-4.7/debian/patches/Remove-edu.jhu.htm-reference.patch starjava-topcat-4.7.1/debian/patches/Remove-edu.jhu.htm-reference.patch
--- starjava-topcat-4.7/debian/patches/Remove-edu.jhu.htm-reference.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Remove-edu.jhu.htm-reference.patch 2020-06-26 11:31:47.000000000 +0000
@@ -28,10 +28,10 @@
2 files changed, 2 insertions(+), 15 deletions(-)
diff --git a/src/docs/sun253.xml b/src/docs/sun253.xml
-index 55fe3b6..fe0105b 100644
+index 81188fd..f28a23b 100644
--- a/src/docs/sun253.xml
+++ b/src/docs/sun253.xml
-@@ -18661,13 +18661,8 @@ of a metric on that space to count as a match.
+@@ -19234,13 +19234,8 @@ of a metric on that space to count as a match.
HTM
@@ -48,18 +48,18 @@
diff --git a/src/main/uk/ac/starlink/topcat/join/MatchWindow.java b/src/main/uk/ac/starlink/topcat/join/MatchWindow.java
-index 0d17961..2483cea 100644
+index 4e9e394..c68df15 100644
--- a/src/main/uk/ac/starlink/topcat/join/MatchWindow.java
+++ b/src/main/uk/ac/starlink/topcat/join/MatchWindow.java
-@@ -34,7 +34,6 @@ import uk.ac.starlink.table.join.EllipseSkyMatchEngine;
+@@ -35,7 +35,6 @@ import uk.ac.starlink.table.join.EllipseSkyMatchEngine;
import uk.ac.starlink.table.join.ErrorCartesianMatchEngine;
import uk.ac.starlink.table.join.ErrorSkyMatchEngine;
import uk.ac.starlink.table.join.EqualsMatchEngine;
-import uk.ac.starlink.table.join.HtmSkyPixellator;
import uk.ac.starlink.table.join.IsotropicCartesianMatchEngine;
import uk.ac.starlink.table.join.MatchEngine;
- import uk.ac.starlink.table.join.PixtoolsHealpixSkyPixellator;
-@@ -450,12 +449,6 @@ public class MatchWindow extends AuxWindow implements ItemListener {
+ import uk.ac.starlink.table.join.ProgressIndicator;
+@@ -449,12 +448,6 @@ public class MatchWindow extends AuxWindow implements ItemListener {
new AnisotropicCartesianMatchEngine( someLengths2 ),
}
);
@@ -70,9 +70,9 @@
- }
- };
return new MatchEngine[] {
- new FixedSkyMatchEngine( new PixtoolsHealpixSkyPixellator(),
- someAngle ),
-@@ -479,7 +472,6 @@ public class MatchWindow extends AuxWindow implements ItemListener {
+ new FixedSkyMatchEngine( new CdsHealpixSkyPixellator(), someAngle ),
+ new ErrorSkyMatchEngine( new CdsHealpixSkyPixellator(), someAngle ),
+@@ -476,7 +469,6 @@ public class MatchWindow extends AuxWindow implements ItemListener {
new AnisotropicCartesianMatchEngine( someLengths4 ),
skyPlus1Engine,
skyPlus2Engine,
diff -Nru starjava-topcat-4.7/debian/patches/Remove-GBIN-references.patch starjava-topcat-4.7.1/debian/patches/Remove-GBIN-references.patch
--- starjava-topcat-4.7/debian/patches/Remove-GBIN-references.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Remove-GBIN-references.patch 2020-06-26 11:31:47.000000000 +0000
@@ -7,7 +7,7 @@
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/docs/sun253.xml b/src/docs/sun253.xml
-index 4687c9a..04b8b6a 100644
+index 9d0fca3..bd56eae 100644
--- a/src/docs/sun253.xml
+++ b/src/docs/sun253.xml
@@ -13,9 +13,6 @@
@@ -20,25 +20,25 @@
-@@ -650,7 +647,7 @@ something like
+@@ -668,7 +665,7 @@ something like
java -jar topcat-full.jar (see for
more detail). To view a table that you have on disk, you can either
give its name on the command line or load it using the
--button from the GUI. FITS, VOTable, CDF and GBIN files
+-button from the GUI. FITS, VOTable, ECSV, CDF, feather and GBIN files
+button from the GUI. FITS, VOTable and CDF files
are recognised automatically;
if your data is in another format such as ASCII (see )
you need to tell the program (e.g. -f ascii on the command line).
-@@ -1136,7 +1133,7 @@ supported input formats have matching output formats and vice versa.
+@@ -1155,7 +1152,7 @@ supported input formats have matching output formats and vice versa.
Loading tables into TOPCAT is done either from the command line
when you start the program up or
using the Load Table dialogue.
--For FITS, VOTable, CDF and GBIN formats
+-For FITS, VOTable, ECSV, CDF, feather and GBIN formats
+For FITS, VOTable and CDF formats
the file format can be detected automatically
(note this is done by looking at the file content, it has nothing
to do with filename extensions).
-@@ -1520,9 +1517,12 @@ you wish to load a table in csv format.
+@@ -1636,9 +1633,12 @@ you wish to load a table in csv format.
GBIN
diff -Nru starjava-topcat-4.7/debian/patches/Remove-MIRAGE-references.patch starjava-topcat-4.7.1/debian/patches/Remove-MIRAGE-references.patch
--- starjava-topcat-4.7/debian/patches/Remove-MIRAGE-references.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Remove-MIRAGE-references.patch 2020-06-26 11:31:47.000000000 +0000
@@ -7,10 +7,10 @@
1 file changed, 4 insertions(+)
diff --git a/src/docs/sun253.xml b/src/docs/sun253.xml
-index b87185f..9a1a244 100644
+index 79e4e2d..457611e 100644
--- a/src/docs/sun253.xml
+++ b/src/docs/sun253.xml
-@@ -2047,6 +2047,10 @@ suitable for insertion into a document intended for publication.
+@@ -2198,6 +2198,10 @@ suitable for insertion into a document intended for publication.
Mirage Format
diff -Nru starjava-topcat-4.7/debian/patches/Remove-plastic-support.patch starjava-topcat-4.7.1/debian/patches/Remove-plastic-support.patch
--- starjava-topcat-4.7/debian/patches/Remove-plastic-support.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Remove-plastic-support.patch 2020-06-26 11:31:47.000000000 +0000
@@ -5,14 +5,14 @@
Plastic is very outdated now, and should not be used anymore. This enables
to remove a number of dependencies.
---
- build.xml | 19 +++-
- src/docs/sun253.xml | 102 ++++++----------------
- src/main/uk/ac/starlink/topcat/ControlWindow.java | 6 --
- src/main/uk/ac/starlink/topcat/Driver.java | 15 +---
- 4 files changed, 43 insertions(+), 99 deletions(-)
+ build.xml | 19 ++++-
+ src/docs/sun253.xml | 99 ++++++-----------------
+ src/main/uk/ac/starlink/topcat/ControlWindow.java | 6 --
+ src/main/uk/ac/starlink/topcat/Driver.java | 15 +---
+ 4 files changed, 42 insertions(+), 97 deletions(-)
diff --git a/build.xml b/build.xml
-index 4835ecc..9a32164 100644
+index e2c7a1a..c990640 100644
--- a/build.xml
+++ b/build.xml
@@ -434,7 +434,13 @@
@@ -50,10 +50,10 @@
.
+@@ -2708,7 +2708,7 @@ The windows from which this is done are documented in .
Note:
@@ -62,7 +62,7 @@
within the Virtual Observatory context, but are not necessarily
concerned with remote data access, see .
PLASTIC
@@ -71,7 +71,7 @@
An example of the kind of thing which can be done might be:
-@@ -3614,9 +3614,8 @@ and others.
+@@ -3765,9 +3765,8 @@ and others.
the same way. SAMP is an evolution of PLASTIC with a number of
technical improvements, and PLASTIC has been deprecated in favour
of SAMP since around 2009.
@@ -83,7 +83,7 @@
The communication architecture of the two protocols is basically the same:
-@@ -3628,18 +3627,6 @@ it will connect to it automatically.
+@@ -3779,18 +3778,6 @@ it will connect to it automatically.
If no SAMP hub is running, TOPCAT will set one up during application startup.
@@ -102,7 +102,7 @@
This communication has two aspects to it: on the one hand
TOPCAT can send messages to other applications which causes them
to do things, and on the other hand TOPCAT can receive and act on
-@@ -3650,7 +3637,7 @@ The
+@@ -3801,7 +3788,7 @@ The
messages are described separately in the subsections below.
There are also sections on the, somewhat different,
ways to control and monitor messaging operatiion
@@ -111,7 +111,7 @@
Note that the new activation action
-@@ -3718,9 +3705,8 @@ by other SAMP applications.
+@@ -3869,9 +3856,8 @@ by other SAMP applications.
PLASTIC control
@@ -123,7 +123,7 @@
You can view and control operations relating to the PLASTIC hub
-@@ -3779,9 +3765,8 @@ It contains the following options:
+@@ -3930,9 +3916,8 @@ It contains the following options:
Messages Transmitted
This section describes the messages which TOPCAT can transmit to other
@@ -135,7 +135,7 @@
In most cases you can choose two ways to transmit a message
-@@ -3811,7 +3796,7 @@ which claim to support the relevant message.
+@@ -3962,7 +3947,7 @@ which claim to support the relevant message.
Below is a list of places you can cause TOPCAT to transmit messages.
@@ -144,7 +144,7 @@
are listed along with the descriptions;
unless you are a tool developer you can probably ignore these.
-@@ -3832,10 +3817,6 @@ unless you are a tool developer you can probably ignore these.
+@@ -3983,10 +3968,6 @@ unless you are a tool developer you can probably ignore these.
SAMP MTypes:
table.load.votable or
table.load.fits
@@ -155,7 +155,7 @@
Transmit Subset
-@@ -3853,7 +3834,7 @@ unless you are a tool developer you can probably ignore these.
+@@ -4004,7 +3985,7 @@ unless you are a tool developer you can probably ignore these.
(1) the table has been loaded from the same URL/filename by the
other tool(s) or
(2) the other tool(s) have acquired the table because it has
@@ -164,7 +164,7 @@
Also, whenever a new subset is created, for instance by entering an
algebraic expression or tracing out a region on a plot
-@@ -3863,8 +3844,6 @@ unless you are a tool developer you can probably ignore these.
+@@ -4014,8 +3995,6 @@ unless you are a tool developer you can probably ignore these.
the table's subset list.
-@@ -3901,8 +3880,6 @@ unless you are a tool developer you can probably ignore these.
+@@ -4052,8 +4031,6 @@ unless you are a tool developer you can probably ignore these.
and this can be sent to image applications from its Interop menu.
SAMP MType: image.load.fits
@@ -182,7 +182,7 @@
Transmit Spectrum
-@@ -3919,7 +3896,6 @@ unless you are a tool developer you can probably ignore these.
+@@ -4070,7 +4047,6 @@ unless you are a tool developer you can probably ignore these.
present in most of the Virtual Observatory windows allows
you to send lists of VO registry resource identifiers to other
applications which can make use of them.
@@ -190,7 +190,7 @@
SAMP MTypes: voresource.loadlist.cone,
voresource.loadlist.siap,
-@@ -3934,8 +3910,8 @@ unless you are a tool developer you can probably ignore these.
+@@ -4085,8 +4061,8 @@ unless you are a tool developer you can probably ignore these.
Messages Received
This section describes the messages which TOPCAT will respond to
@@ -201,7 +201,7 @@
unless you are a tool developer you can probably ignore these.
-@@ -3950,10 +3926,6 @@ unless you are a tool developer you can probably ignore these.
+@@ -4101,10 +4077,6 @@ unless you are a tool developer you can probably ignore these.
table.load.cdf or
table.load.stil
@@ -212,7 +212,7 @@
Note the non-standard MType table.load.stil is
supported for loading tables with SAMP. This is like the other
table.load.* MTypes, but any table format supported
-@@ -3983,8 +3955,6 @@ unless you are a tool developer you can probably ignore these.
+@@ -4134,8 +4106,6 @@ unless you are a tool developer you can probably ignore these.
treated may be made available in future versions.
-@@ -3997,8 +3967,6 @@ unless you are a tool developer you can probably ignore these.
+@@ -4148,8 +4118,6 @@ unless you are a tool developer you can probably ignore these.
in the Activation Window.
-@@ -4051,15 +4019,6 @@ For SAMP these are:
+@@ -4202,15 +4170,6 @@ For SAMP these are:
samp.hub.event.subscriptions
samp.app.ping
@@ -246,7 +246,7 @@
-@@ -4253,29 +4212,23 @@ The meaning of the flags is as follows:
+@@ -4404,29 +4363,23 @@ The meaning of the flags is as follows:
-samp
Forces TOPCAT to use SAMP for tool interoperability
@@ -280,7 +280,7 @@
if no hub
is already running. The hub will show up in its own window, and can
be stopped by closing the window. The hub will continue to run
-@@ -4286,8 +4239,8 @@ The meaning of the flags is as follows:
+@@ -4437,8 +4390,8 @@ The meaning of the flags is as follows:
-noserv
@@ -291,7 +291,7 @@
-checkvers
-@@ -5668,7 +5621,7 @@ of the current status of SAMP communications.
+@@ -5823,7 +5776,7 @@ of the current status of SAMP communications.
For a discussion of the whats and whys of SAMP, see
.
Note that if not running in SAMP mode
@@ -300,7 +300,7 @@
SAMP mode is the default under normal circumstances.
-@@ -5738,7 +5691,7 @@ functions. They are grouped as follows:
+@@ -5893,7 +5846,7 @@ functions. They are grouped as follows:
&IMG.BROADCAST; Broadcast Table
Broadcasts the current to any
@@ -309,17 +309,7 @@
See .
-@@ -5857,8 +5810,7 @@ functions. They are grouped as follows:
-
&IMG.SAMP; SAMP Window
-
Displays a window which displays detail about the current
- status, and allows configuration, of SAMP messaging
-- (see ). Note this button will not be
-- visible if TOPCAT is running in PLASTIC mode.
-+ (see ).
-
-
-
&IMG.FUNCTION; Available Functions
-@@ -5936,7 +5888,7 @@ and those common to other windows (described in ).
+@@ -6089,7 +6042,7 @@ and those common to other windows (described in ).
&IMG.SEND; Send Table to ...
Sends the currently selected table to a selected listening application
@@ -328,16 +318,16 @@
submenu.
&IMG.LOG; View Log
-@@ -6112,7 +6064,7 @@ the menu.
+@@ -6257,7 +6210,7 @@ the menu.
The menu contains options relevant to
--tool interoperability (SAMP or PLASTIC). These items are available
-+tool interoperability (SAMP). These items are available
- elsewhere on the toolbar or menu.
-
+-SAMP (or possibly PLASTIC) tool interoperability;
++SAMP tool interoperability;
+ see :
-@@ -6827,7 +6779,7 @@ can be edited by double-clicking on them in the normal way.
+
+@@ -7000,7 +6953,7 @@ can be edited by double-clicking on them in the normal way.
&IMG.BROADCAST; Broadcast Subset
@@ -346,7 +336,7 @@
listening applications. Any other listening application which is
displaying the same table is then invited to highlight the selection
of rows corresonding to the selected subset.
-@@ -17088,9 +17040,9 @@ or manually as described in .
+@@ -17660,9 +17613,9 @@ or manually as described in .
displayed image for external viewing or analysis.
As well as options to export as GIF, JPEG, EPS and FITS,
there is also the option to transmit the FITS image to one or
@@ -359,7 +349,7 @@
See for more information about tool interoperability.
diff --git a/src/main/uk/ac/starlink/topcat/ControlWindow.java b/src/main/uk/ac/starlink/topcat/ControlWindow.java
-index ce5641d..8a5d617 100644
+index 13955b1..b4479fd 100644
--- a/src/main/uk/ac/starlink/topcat/ControlWindow.java
+++ b/src/main/uk/ac/starlink/topcat/ControlWindow.java
@@ -84,7 +84,6 @@ import javax.swing.event.TableModelEvent;
@@ -378,7 +368,7 @@
import uk.ac.starlink.topcat.interop.SampCommunicator;
import uk.ac.starlink.topcat.interop.TopcatCommunicator;
import uk.ac.starlink.topcat.interop.Transmitter;
-@@ -1537,10 +1535,6 @@ public class ControlWindow extends AuxWindow
+@@ -1527,10 +1525,6 @@ public class ControlWindow extends AuxWindow
logger_.info( "Run with no interop" );
return null;
}
@@ -390,10 +380,10 @@
final String msg;
if ( "samp".equals( interopType_ ) ) {
diff --git a/src/main/uk/ac/starlink/topcat/Driver.java b/src/main/uk/ac/starlink/topcat/Driver.java
-index 502dcef..de44aa9 100644
+index d4b9888..e23c93d 100644
--- a/src/main/uk/ac/starlink/topcat/Driver.java
+++ b/src/main/uk/ac/starlink/topcat/Driver.java
-@@ -22,8 +22,6 @@ import org.astrogrid.samp.client.DefaultClientProfile;
+@@ -20,8 +20,6 @@ import org.astrogrid.samp.client.DefaultClientProfile;
import org.astrogrid.samp.client.SampException;
import org.astrogrid.samp.httpd.UtilServer;
import uk.ac.starlink.fits.FitsConstants;
@@ -402,7 +392,7 @@
import uk.ac.starlink.table.DefaultValueInfo;
import uk.ac.starlink.table.DescribedValue;
import uk.ac.starlink.table.ValueInfo;
-@@ -230,7 +228,7 @@ public class Driver {
+@@ -229,7 +227,7 @@ public class Driver {
pre + " [-help] [-version]"
+ pad + " [-stilts |-jsamp ]"
+ pad + " [-verbose] [-debug] [-demo] [-running] [-memory|-disk]"
@@ -411,7 +401,7 @@
+ pad + " [[-f ] table ...]";
/* Standalone execution (e.g. System.exit() may be called). */
-@@ -320,15 +318,6 @@ public class Driver {
+@@ -319,15 +317,6 @@ public class Driver {
interopServe = true;
ControlWindow.interopType_ = "samp";
}
@@ -427,7 +417,7 @@
else if ( arg.startsWith( "-noserv" ) ) {
it.remove();
interopServe = false;
-@@ -655,8 +644,6 @@ public class Driver {
+@@ -654,8 +643,6 @@ public class Driver {
.append( p2 + "-disk use disk backing store for "
+ "large tables" )
.append( p2 + "-samp use SAMP for tool interoperability" )
diff -Nru starjava-topcat-4.7/debian/patches/Remove-references-to-SRB-and-MySpace.patch starjava-topcat-4.7.1/debian/patches/Remove-references-to-SRB-and-MySpace.patch
--- starjava-topcat-4.7/debian/patches/Remove-references-to-SRB-and-MySpace.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Remove-references-to-SRB-and-MySpace.patch 2020-06-26 11:31:47.000000000 +0000
@@ -7,10 +7,10 @@
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/src/docs/sun253.xml b/src/docs/sun253.xml
-index 9a1a244..19c7e4a 100644
+index 457611e..cd0277d 100644
--- a/src/docs/sun253.xml
+++ b/src/docs/sun253.xml
-@@ -2161,7 +2161,7 @@ allowed:
+@@ -2312,7 +2312,7 @@ allowed:
To use them you must have an AstroGrid account and the AstroGrid
WorkBench or similar must be running; if you're not currently
logged in a dialogue will pop up to ask you for name and
@@ -19,7 +19,7 @@
ivo:
Understands ivo-type URLs which signify files in the
AstroGrid "MySpace" virtual file store.
-@@ -2171,7 +2171,7 @@ allowed:
+@@ -2322,7 +2322,7 @@ allowed:
To use them you must have an AstroGrid account and the AstroGrid
WorkBench or similar must be running; if you're not currently
logged in a dialogue will pop up to ask you for name and
@@ -28,7 +28,7 @@
jdbc:
Used for communicating with SQL-compliant relational databases.
These are a bit different to normal URLs - see
-@@ -17291,6 +17291,10 @@ components of TOPCAT, and it may not be available if you
+@@ -17864,6 +17864,10 @@ components of TOPCAT, and it may not be available if you
have the topcat-lite configuration.
@@ -39,7 +39,7 @@
The browser initially displays the current directory, but this can be
changed by typing a new directory into the field,
or moving up the directory hierarchy using the selector box at the top,
-@@ -17409,7 +17413,7 @@ Nodes which represent tables are indicated by the
+@@ -17982,7 +17986,7 @@ Nodes which represent tables are indicated by the
For nodes which have some internal structure there is also a
"handle" which indicates whether they are
collapsed (&IMG.COLLAPSED;) or expanded (&IMG.EXPANDED;).
@@ -48,7 +48,7 @@
as well as local ones in the same way as with the
Filestore Browser.
-@@ -18343,11 +18347,6 @@ The initial default directory can be changed by setting the
+@@ -18916,11 +18920,6 @@ The initial default directory can be changed by setting the
system property.
diff -Nru starjava-topcat-4.7/debian/patches/Remove-references-to-xdoc-and-ttools.patch starjava-topcat-4.7.1/debian/patches/Remove-references-to-xdoc-and-ttools.patch
--- starjava-topcat-4.7/debian/patches/Remove-references-to-xdoc-and-ttools.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Remove-references-to-xdoc-and-ttools.patch 2020-06-26 11:31:47.000000000 +0000
@@ -12,7 +12,7 @@
2 files changed, 8 insertions(+), 31 deletions(-)
diff --git a/build.xml b/build.xml
-index 78297bc..a93e36d 100644
+index 4cdd51f..e571c72 100644
--- a/build.xml
+++ b/build.xml
@@ -186,7 +186,7 @@
@@ -99,7 +99,7 @@
diff --git a/src/docs/sun253.xml b/src/docs/sun253.xml
-index fe0105b..131e818 100644
+index f28a23b..a3daafb 100644
--- a/src/docs/sun253.xml
+++ b/src/docs/sun253.xml
@@ -8,7 +8,6 @@
@@ -110,7 +110,7 @@
-@@ -23929,8 +23928,6 @@ available from within TOPCAT
+@@ -24533,8 +24532,6 @@ available from within TOPCAT
in the Available Functions Window.
diff -Nru starjava-topcat-4.7/debian/patches/Remove-SOG-references.patch starjava-topcat-4.7.1/debian/patches/Remove-SOG-references.patch
--- starjava-topcat-4.7/debian/patches/Remove-SOG-references.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Remove-SOG-references.patch 2020-06-26 11:31:47.000000000 +0000
@@ -18,7 +18,7 @@
8 files changed, 40 insertions(+), 76 deletions(-)
diff --git a/build.xml b/build.xml
-index 9a32164..bb680c9 100644
+index c990640..746b41a 100644
--- a/build.xml
+++ b/build.xml
@@ -440,6 +440,10 @@
@@ -121,10 +121,10 @@
diff --git a/src/docs/sun253.xml b/src/docs/sun253.xml
-index 12aeb6b..55fe3b6 100644
+index c5e73a6..81188fd 100644
--- a/src/docs/sun253.xml
+++ b/src/docs/sun253.xml
-@@ -22605,23 +22605,8 @@ option in one of the DataLink-related actions,
+@@ -23209,23 +23209,8 @@ option in one of the DataLink-related actions,
TOPCAT will try to display an image in an internal image viewer.
@@ -173,7 +173,7 @@
classList.add( Mgc.class );
classList.add( Sdss.class );
diff --git a/src/main/uk/ac/starlink/topcat/TopcatUtils.java b/src/main/uk/ac/starlink/topcat/TopcatUtils.java
-index a71bf6a..d9d85d0 100644
+index 3f4b627..b16b9b5 100644
--- a/src/main/uk/ac/starlink/topcat/TopcatUtils.java
+++ b/src/main/uk/ac/starlink/topcat/TopcatUtils.java
@@ -394,24 +394,7 @@ public class TopcatUtils {
@@ -226,10 +226,10 @@
}
};
diff --git a/src/main/uk/ac/starlink/topcat/activate/ActivationWindow.java b/src/main/uk/ac/starlink/topcat/activate/ActivationWindow.java
-index 126acc5..4aa13ec 100644
+index 8d3f97f..10ca437 100644
--- a/src/main/uk/ac/starlink/topcat/activate/ActivationWindow.java
+++ b/src/main/uk/ac/starlink/topcat/activate/ActivationWindow.java
-@@ -903,8 +903,6 @@ public class ActivationWindow extends AuxWindow {
+@@ -901,8 +901,6 @@ public class ActivationWindow extends AuxWindow {
new SendHips2fitsActivationType(),
new InvokeDatalinkActivationType(),
new ViewDatalinkActivationType(),
@@ -256,7 +256,7 @@
}
}
diff --git a/src/main/uk/ac/starlink/topcat/interop/SampImageActivity.java b/src/main/uk/ac/starlink/topcat/interop/SampImageActivity.java
-index 9cde958..643e7f0 100644
+index b513763..2e727bf 100644
--- a/src/main/uk/ac/starlink/topcat/interop/SampImageActivity.java
+++ b/src/main/uk/ac/starlink/topcat/interop/SampImageActivity.java
@@ -21,7 +21,6 @@ import org.astrogrid.samp.gui.GuiHubConnector;
@@ -267,7 +267,7 @@
import uk.ac.starlink.util.URLUtils;
/**
-@@ -178,14 +177,6 @@ public class SampImageActivity implements ImageActivity {
+@@ -177,14 +176,6 @@ public class SampImageActivity implements ImageActivity {
return true;
}
} );
diff -Nru starjava-topcat-4.7/debian/patches/Use-a-local-copy-of-the-XSLT-stylesheets-instead-of-xdoc.patch starjava-topcat-4.7.1/debian/patches/Use-a-local-copy-of-the-XSLT-stylesheets-instead-of-xdoc.patch
--- starjava-topcat-4.7/debian/patches/Use-a-local-copy-of-the-XSLT-stylesheets-instead-of-xdoc.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Use-a-local-copy-of-the-XSLT-stylesheets-instead-of-xdoc.patch 2020-06-26 11:31:47.000000000 +0000
@@ -11,7 +11,7 @@
3 files changed, 63 insertions(+), 111 deletions(-)
diff --git a/build.xml b/build.xml
-index a93e36d..c5be189 100644
+index e571c72..e1d0257 100644
--- a/build.xml
+++ b/build.xml
@@ -107,7 +107,7 @@
diff -Nru starjava-topcat-4.7/debian/patches/Use-android-json.patch starjava-topcat-4.7.1/debian/patches/Use-android-json.patch
--- starjava-topcat-4.7/debian/patches/Use-android-json.patch 2020-01-20 16:21:21.000000000 +0000
+++ starjava-topcat-4.7.1/debian/patches/Use-android-json.patch 2020-06-26 11:31:47.000000000 +0000
@@ -7,7 +7,6 @@
The libjson-java code is different and contains net.sf.json (which
however has classes of the same name...)
-
---
src/main/uk/ac/starlink/topcat/TopcatCodec2.java | 5 +++--
.../uk/ac/starlink/topcat/activate/HipsSurvey.java | 26 +++++++++++++++++-----
diff -Nru starjava-topcat-4.7/.properties starjava-topcat-4.7.1/.properties
--- starjava-topcat-4.7/.properties 2019-11-18 16:53:42.000000000 +0000
+++ starjava-topcat-4.7.1/.properties 2020-06-04 17:10:04.000000000 +0000
@@ -9,6 +9,7 @@
../votable/votable.jar \
../fits/fits.jar \
../cdf/cdf.jar \
+ ../feather/feather.jar \
../gbin/gbin.jar \
../dpac/dpac.jar \
../datanode/datanode.jar \
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/ControlWindow.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/ControlWindow.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/form_area.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/form_area.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/form_contour.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/form_contour.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/form_poly4.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/form_poly4.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/form_skyvector.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/form_skyvector.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/GangLayerControl_area_form.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/GangLayerControl_area_form.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/GangLayerControl_area.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/GangLayerControl_area.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/GangLayerControl_area_position.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/GangLayerControl_area_position.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/GangLayerControl_quad_form.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/GangLayerControl_quad_form.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/GangLayerControl_quad_position.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/GangLayerControl_quad_position.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/multishot-mini.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/multishot-mini.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/SiaMultiWindow.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/SiaMultiWindow.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/SiapTableLoadDialog.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/SiapTableLoadDialog.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/SpectrogramLayerControl_data.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/SpectrogramLayerControl_data.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/SpectrogramLayerControl.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/SpectrogramLayerControl.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/figures/TimePlotWindow.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/figures/TimePlotWindow.png differ
Binary files /tmp/tmpTSobSo/ZvDaKaP__y/starjava-topcat-4.7/src/docs/multishot.png and /tmp/tmpTSobSo/HZ9XEzUYIi/starjava-topcat-4.7.1/src/docs/multishot.png differ
diff -Nru starjava-topcat-4.7/src/docs/sun253.xml starjava-topcat-4.7.1/src/docs/sun253.xml
--- starjava-topcat-4.7/src/docs/sun253.xml 2019-11-18 16:53:42.000000000 +0000
+++ starjava-topcat-4.7.1/src/docs/sun253.xml 2020-06-04 17:10:04.000000000 +0000
@@ -154,6 +154,11 @@
'&figs;GangLayerControl_quad_position.png'>
+
+
+
+
@@ -303,6 +309,9 @@
+
+
+
@@ -334,6 +343,9 @@
Histogram Layer Control'>
+ Area Layer Control'>
Spectrogram Layer Control'>
@@ -368,7 +380,9 @@
Linear Fit'>
Quantile'>
- Text Label'>
+ Label'>
+ Area Label'>
Contour'>
Mark2'>
Poly4'>
Mark4'>
+ Area'>
+ Central'>
+ AreaLabel'>
Polgon'>
+ Polygon'>
@@ -415,7 +433,7 @@
253
-18 November 2019
+5 June 2020TOPCAT web page:
@@ -615,7 +633,7 @@
java -jar topcat-full.jar (see for
more detail). To view a table that you have on disk, you can either
give its name on the command line or load it using the
-button from the GUI. FITS, VOTable, CDF and GBIN files
+button from the GUI. FITS, VOTable, ECSV, CDF, feather and GBIN files
are recognised automatically;
if your data is in another format such as ASCII (see )
you need to tell the program (e.g. -f ascii on the command line).
@@ -646,7 +664,8 @@
&IMG.PLOT2_PLANE;
&IMG.PLOT2_CUBE;
&IMG.PLOT2_SKY;
- &IMG.PLOT2_SPHERE;
+ &IMG.PLOT2_SPHERE;
+ &IMG.PLOT2_TIME;
Open plotting/visualisation windows of various kinds.
&IMG.MATCH2; &IMG.TAP_DIALOG; &IMG.CDSXMATCH;
@@ -1101,7 +1120,7 @@
Loading tables into TOPCAT is done either from the command line
when you start the program up or
using the Load Table dialogue.
-For FITS, VOTable, CDF and GBIN formats
+For FITS, VOTable, ECSV, CDF, feather and GBIN formats
the file format can be detected automatically
(note this is done by looking at the file content, it has nothing
to do with filename extensions).
@@ -1271,6 +1290,63 @@
+
+ECSV
+
+
The Enhanced Character Separated Values format was developed within
+the Astropy project
+and is described at
+.
+It is composed of a YAML header followed by a CSV-like body,
+and is intended to be a human-readable and maybe even human-writable format
+with rich metadata.
+Most of the per-column and per-table metadata used by TOPCAT
+is preserved when de/serializing to this format.
+TOPCAT currently supports ECSV 0.9.
+
+
+
There are various ways to format the YAML header,
+but a simple example of an ECSV file looks like this:
+
+# %ECSV 0.9
+# ---
+# delimiter: ','
+# datatype: [
+# { name: index, datatype: int32 },
+# { name: Species, datatype: string },
+# { name: Name, datatype: string },
+# { name: Legs, datatype: int32 },
+# { name: Height, datatype: float64, unit: m },
+# { name: Mammal, datatype: bool },
+# ]
+index,Species,Name,Legs,Height,Mammal
+1,pig,Bland,4,,True
+2,cow,Daisy,4,2,True
+3,goldfish,Dobbin,,0.05,False
+4,ant,,6,0.001,False
+5,ant,,6,0.001,False
+6,human,Mark,2,1.9,True
+
+If you follow this pattern, it's possible to write your own ECSV files by
+taking an existing CSV file
+and decorating it with a header that gives column datatypes,
+and possibly other metadata such as units.
+This allows you to force the datatype of given columns
+(the CSV reader guesses datatype based on content, but can get it wrong)
+and also allows TOPCAT to read the file much more efficiently,
+and to recognise the file format automatically.
+
+
+
The datatypes that work well with TOPCAT are
+bool,
+int8, int16, int32, int64,
+float32, float64
+and
+string.
+
+
+
+
CDF
@@ -1287,6 +1363,30 @@
+
+Feather
+
+
The Feather file format is a column-oriented binary disk-based format
+based on Apache Arrow and supported by (at least) Python, R and Julia.
+Some description of it is available at
+ and
+.
+It can be used for large datasets, but it does not support
+array-valued columns.
+It can be a useful format to use for exchanging data with R,
+for which FITS I/O is reported to be slow.
+
+
+
At present CATEGORY type columns are not supported,
+and metadata associated with TIME, DATE and TIMESTAMP
+columns is not retrieved.
+
+
+
Feather can only read files that are on disk, not streamed.
+
Because the CSV format contains no metadata beyond column names,
+TOPCAT is forced to guess the datatype of the values in each column.
+It does this by reading the whole file through once and guessing
+on the basis of what it has seen. This has the disadvantages:
+
+
Sometimes it guesses a different type than what you want
+ (e.g. 32-bit integer rather than 64-bit integer)
+
It's slow to read.
+
+This means that CSV is not generally recommended if you can
+use another format instead.
+If you're stuck with a large CSV file that's misbehaving or slow
+to use, one possibility is to turn it into an
+ECSV file by adding some header lines by hand.
+
+
This format is not detected automatically - you must specify that
you wish to load a table in csv format.
Tables can be written to the Enhanced Character Separated Values format,
+described in .
+Two variants of this format are currently supported,
+depending on the delimiter character you want to use
+(both are legal ECSV):
+
+
ecsv-space
+
ECSV using the space character as a delimiter
+
+
ecsv-comma
+
ECSV using the comma character as a delimiter
+
+
+
+
+
+
+
+Feather
+
+
The Feather format is described in .
+Not all column types are supported by feather,
+in particular if you attempt to write a table containing
+array-valued columns (except for byte arrays),
+those columns will be omitted from the output.
+
+
+
This writer is currently somewhat experimental;
+please report problems if you experience them.
+
@@ -4924,7 +5075,8 @@
machine's 'heap memory' or into the physical memory of the machine.
As a rule of thumb, the program will work at reasonable speed
with tables up to about 1-10 million rows, depending on the machine
-it's running on.
+it's running on. It may well work work with hundreds of millions
+of rows, but performance may be more sluggish.
The number of columns is less of an issue,
though see below concerning performance.
@@ -4941,12 +5093,13 @@
Increase Java's heap memory
When a Java program runs, it has a fixed maximum amount of memory
that it will use; Java does not really make use of virtual memory.
- The default maximum is typically 64Mb, though that depends on your
- java setup. You can increase this by
+ The default amount depends on your machine and java implementation.
+ You can increase this by
using the -Xmx flag, followed by the maximum heap memory,
- for instance "topcat -Xmx256M" or
- "java -Xmx256M -jar topcat-full.jar".
- Don't forget the "M" to indicate megabytes.
+ for instance "topcat -Xmx1000M" or
+ "java -Xmx1000M -jar topcat-full.jar".
+ Don't forget the "M" to indicate megabytes
+ or "G" for gigabytes.
It's generally reasonable to increase this value up to nearly the
amount of free physical memory in your machine if you need to
(taking account of the needs of other processes running at the same time)
@@ -4973,6 +5126,7 @@
(see ).
As well as speeding things up, using FITS files will
also reduce the need to use -Xmx flags as above.
+ Feather format also has the same advantages.
Run in 64-bit mode
@@ -4997,6 +5151,7 @@
which require all the cells in all the rows
(for instance, calculating row statistics)
may be somewhat slower using this format.
+ Feather format is also column-oriented.
It is also possible to use column-oriented storage for non-FITS
files by specifying the flag -Dstartable.storage=sideways.
@@ -5037,7 +5192,7 @@
-
+
Examples
@@ -5814,6 +5969,11 @@
on 3D axes using spherical polar coordinates.
+
&IMG.PLOT2_TIME; Time Plot
+
Displays a window with special features for plotting
+ data which has a time coordinate.
+
+
@@ -5854,13 +6014,6 @@
-
&IMG.SAMP; SAMP Window
-
Displays a window which displays detail about the current
- status, and allows configuration, of SAMP messaging
- (see ). Note this button will not be
- visible if TOPCAT is running in PLASTIC mode.
-
-
&IMG.FUNCTION; Available Functions
Displays a window containing all the functions which can be used
for writing algebraic expressions (see ).
@@ -5967,16 +6120,8 @@
The ones marked "(old)" are the plotting windows that were available
before TOPCAT version 4; they have a different user interface, are
generally less powerful, and are somewhat deprecated, but still work.
-The other non-toolbar options are somewhat experimental.
-Items available from this menu and not the toolbar are:
-
&IMG.PLOT2_TIME; Time Plot
-
Displays the Time Plot window
- for plotting time series data.
- This is currently experimental and lacks some useful features.
-
-
&IMG.HISTOGRAM; Histogram Plot (old)
Displays the old-style Histogram window
for plotting 1-d histograms.
@@ -6112,8 +6257,36 @@
The menu contains options relevant to
-tool interoperability (SAMP or PLASTIC). These items are available
-elsewhere on the toolbar or menu.
+SAMP (or possibly PLASTIC) tool interoperability;
+see :
+
+
+
&IMG.SAMP; SAMP Window
+
Pops up the SAMP Window
+ which displays detail about the current status,
+ and allows configuration, of SAMP messaging.
+ Note this option will not be
+ available if TOPCAT is running in PLASTIC mode.
+
+
+
&IMG.NO_HUB; Stop Internal Hub
+
By default, when TOPCAT starts up, it will look for a SAMP hub,
+ and if none appears to be running it will start one internally,
+ which will normally run until TOPCAT exits.
+ This is usually not problematic, but if you would prefer to run a
+ hub external to TOPCAT, then you may need to shut down TOPCAT's before
+ starting a new one. Using this option shuts down TOPCAT's internal hub.
+
+
+
&IMG.BROADCAST; Broadcast Table
+
Broadcasts the currently selected table to all listening applications
+ using SAMP.
+
+
&IMG.SEND; Send Table to ...
+
Sends the currently selected table to a selected listening application
+ using SAMP. Select the desired recipient application from the
+ submenu.
+
@@ -7275,7 +7448,7 @@
are described in the later subsections.
-
Six plot windows are currently available (one is experimental):
+
Six plot windows are currently available:
&IMG.PLOT2_HISTOGRAM;
Histogram Plot
@@ -7283,8 +7456,7 @@
&IMG.PLOT2_SKY; Sky Plot
&IMG.PLOT2_CUBE; Cube Plot
&IMG.PLOT2_SPHERE; Sphere Plot
-
&IMG.PLOT2_TIME; Time Plot
- (experimental)
+
&IMG.PLOT2_TIME; Time Plot
More may be introduced in future releases.
@@ -8771,7 +8943,7 @@
Zone Suffixes
Determines how suffixes assigned to different plot zones are labelled.
- Currently, plot zones are only used in the experimental
+ Currently, plot zones are an experimental feature used only in the
Time Plot Window, so this option
does not appear in most plot types.
The options are as described for the Layer Suffix selector above.
@@ -9284,6 +9456,11 @@
for the 3-dimensional Cartesian triples.
+
In some cases, for instance EPN-TAP tables with bounding boxes
+in sky plots, positions will be filled in automatically.
+You can of course change these default selections.
+
+
-
Text Label form configuration panel
+
Label form configuration panel
@@ -11049,6 +11378,9 @@
performing the contour determination. If set too low the contours
will be too crinkly, and if too high they will lose definition.
+
Thickness
+
The thickness in pixels of contour lines.
+
Scaling
How the smoothed density is treated before the contours levels
are determined. Options are linear, logarithmic and equal area.
@@ -12324,6 +12656,22 @@
It may be necessary to unset it when filling polygons that
may be re-entrant.
+
Minimal Size
+
Defines a threshold size in pixels below which,
+ instead of the shape defined by the polygon coordinates,
+ a replacement marker will be painted instead.
+ If this is set to zero, then only the shape itself
+ will be plotted, which may mean it appears as only a single pixel.
+ By setting a larger value, you can ensure that
+ the position of even small polygons is easily visible,
+ at the expense of giving them an artificial shape and size.
+ This value also defines the size of the replacement markers.
+
+
Minimal Shape
+
Selects the shape of replacement markers that get plotted
+ instead of very small polygons, as controlled by the
+ setting.
+
@@ -12368,6 +12716,182 @@
+
+Area Form
+
+
The form (&IMG.FORM_AREA;)
+is available from the
+Area layer control,
+and outlines or fills areas that are defined in a table row.
+
+
+
+
Example Area plot
+
+
+
+
+
Area form configuration panel
+
+
+
+
Configuration options are:
+
+
Shading Mode
+
See .
+
+
Polygon Mode
+
Defines how the polygon is drawn. Options are
+
+
outline:
+ draws a line round the outside of the polygon
+
fill:
+ fills the interior of the polygon
+
cross:
+ draws a line round the outside of the polygon
+ and lines between all the vertices
+
+
+
Fast
+
Determines whether speed is favoured over accuracy
+ when drawing polygons.
+ In some cases unchecking this will give visually better results,
+ and in some cases checking it will speed up plotting.
+ In other cases, the setting will make no difference to either.
+ It may be necessary to unset it when filling shapes that
+ may be re-entrant.
+
+
Minimal Size
+
Defines a threshold size in pixels below which,
+ instead of the shape defined by the Area coordinate,
+ a replacement marker will be painted instead.
+ If this is set to zero, then only the shape itself
+ will be plotted, which may mean it appears as only a single pixel.
+ By setting a larger value, you can ensure that
+ the position of even small areas is easily visible,
+ at the expense of giving them an artificial shape and size.
+ This value also defines the size of the replacement markers.
+
+
Minimal Shape
+
Selects the shape of replacement markers that get plotted
+ instead of very small areas, as controlled by the
+ setting.
+
+
+
+
+
+
+
+Central Form
+
+
The form (&IMG.FORM_MARK;)
+is available from the
+Area layer control,
+and plots a point at the nominal center of the given area.
+The effect is just the same as for the Mark form,
+but it can be used from the Area layer control rather than
+having to specify positional coordinates separately.
+The plotted position is determined by the plotting code from the
+shape information; it may or may not correspond to the shape's actual center.
+
+
+
+
Example Central plot
+
+
+
+
+
Central form configuration panel
+
+
+
+
Configuration options are:
+
+
Shading Mode
+
See .
+
+
Shape
+
Marker shape from a list of options.
+
+
Size
+
Marker size in pixels.
+
+
+
+
+
+
+
+AreaLabel Form
+
+
The form (&IMG.PLOT_AREALABEL;)
+is available from the
+Area layer control,
+and draws a text label near the nominal center of each plotted area.
+The effect is just the same as for the Label form,
+but it can be used from the Area layer control rather than
+having to specify positional coordinates separately.
+The plotted position is determined by the plotting code from the
+shape information; it may or may not correspond to the shape's actual center.
+
+
+
+
Example AreaLabel plot
+
+
+
+
+
AreaLabel form configuration panel
+
+
+
+
The configuration options are:
+
+
Text
+
A column or expression from the table supplying the text to
+ write on the plot. Any data type (string or numeric) is permitted.
+
+
Text Syntax
+
How to turn the text into characters on the screen.
+ and both take the
+ text at face value, but Antialias smooths the characters.
+ Antialiased text usually looks nicer, but can be perceptibly slower to plot.
+ At time of writing, on MacOS antialiased text seems to be required to
+ stop the writing coming out upside-down for non-horizontal text.
+ interprets the text as LaTeX source code
+ and typesets it accordingly.
+
+
Font Size
+
Size of the font in points.
+
+
Font Style
+
Style of the font - standard, serif or monospaced.
+
+
Font Weight
+
Whether the font is plain, bold or italic.
+
+
Anchor
+
The position of the text relative to the data position.
+
+
Spacing Threshold
+
Crowding Limit
+
These two options control how closely spaced labels can be.
+ Labels which are too closely crowded together will simply not be shown,
+ since overplotting many labels together ends up with them being illegible.
+ The slider controls the smallest
+ area that a group of labels can have to themselves - if there are too
+ many in the same area, none will be drawn. Sliding it left allows more
+ crowding and right allows less. The
+ controls the largest number of labels that can be in a group.
+ Setting it to 2 for instance is useful if you want to see pairs of
+ labels, even if the pair is close.
+
+
+
+
+
+
@@ -13153,6 +13677,12 @@
&FORM.link2;
&FORM.mark2;
+
&CONTROL.area;, with the following plot controls:
+
+
&FORM.area;
+
&FORM.central;
+
&FORM.arealabel;
+
&CONTROL.quad;, with the following plot controls:
&FORM.poly4;
@@ -13466,6 +13996,12 @@
&FORM.link2;
&FORM.mark2;
+
&CONTROL.area;, with the following plot controls:
+
+
&FORM.area;
+
&FORM.central;
+
&FORM.arealabel;
+
&CONTROL.quad;, with the following plot controls:
&FORM.poly4;
@@ -14097,6 +14633,12 @@
&FORM.link2;
&FORM.mark2;
+
&CONTROL.area;, with the following plot control:
+
+
&FORM.area;
+
&FORM.central;
+
&FORM.arealabel;
+
&CONTROL.quad;, with the following plot controls:
&FORM.poly4;
@@ -14338,10 +14880,6 @@
Time Plot Window
-
This plot window is experimental and lacks some useful features.
-The details of the user interface may be changed in future versions.
-
-
@@ -14349,13 +14887,45 @@
The (&IMG.PLOT2_TIME;)
is intended for plotting time series data.
-You can find it in the Graphics
-menu of the main Control Window, but since it is currently
-experimental it does not appear in the main toolbar.
-
The horizontal axis represents time, and can be labelled accordingly,
-and the window can display functions of time, scatter plots and spectrograms.
+
The horizontal axis represents time, and can be labelled accordingly
+(for instance in minutes, hours, days, months and years),
+and the window can display appropriate types of plot including spectrograms.
+
+
+
To define the time coordinate, use the selector
+in position tabs as usual.
+Note however that this contains a selector
+on the right hand side that indicates how the selected quantity
+will be interpreted as a time value.
+The options are:
+
+
:
+ Years since 0AD
+
+
:
+ Modified Julian Date (days since 17 Nov 1858)
+
+
:
+ Julian Day (days since 1 Jan 4713 BC)
+
+
:
+ Seconds since midnight 1 Jan 1970
+
+
:
+ ISO 8601 date-time string
+
+
+If the input table contains suitable metadata,
+for instance in a CDF file or a TIMESYS-bearing VOTable 1.4,
+additional options may be available that are taken from
+information in the table.
+TOPCAT will make a guess at the correct format to use,
+but if it gets it wrong you can set the format selector manually.
+The format selector is updated to the best guess when you choose
+a new Time value; if you want to stop it doing that, use the
+Lock button (&IMG.LOCK;).
Unlike the other plot windows (at time of writing) the Time plot
@@ -14363,6 +14933,8 @@
Zones
stacked vertically on top of each other, so that different plots
share a time axis but have their own Y axis.
+Note: This multi-zone feature is somewhat experimental,
+and the user interface may change in future versions.
The Time Plot offers the following plot controls:
@@ -19955,6 +20527,19 @@
Send FITS Image.
+
TOPCAT supports two different (and incompatible)
+major versions of the SIA protocol, SIA version 1 and version 2.
+When you have selected a service to use, its protocol version number
+is displayed in the indicator next to
+the display.
+If you have entered the URL manually, you will need to make sure
+this is set to the appropriate value.
+Note that, although SIAv2 allows a number of query
+possibilities not offered by SIAv1,
+at present TOPCAT does not support this additional functionality
+for SIAv2 services.
+
+
@@ -19981,6 +20566,11 @@
value intended to find nearby objects".
However, experience shows that this doesn't always work, so it may be
best to fill this in.
+It is also permitted to leave the and
+fields blank, if you don't want to restrict the search by sky position.
+That may be a reasonable thing to do, for example, for services providing
+theoretical rather than observed spectra, or if you want all the data
+(subject to possible service restrictions).
There is additionally a selector which
allows you to restrict the result to contain only spectra in certain
formats. By default, the service chooses which formats to return.
@@ -20124,6 +20714,19 @@
Send FITS Image.
+
TOPCAT supports two different (and incompatible)
+major versions of the SIA protocol, SIA version 1 and version 2.
+When you have selected a service to use, its protocol version number
+is displayed in the indicator next to
+the display.
+If you have entered the URL manually, you will need to make sure
+this is set to the appropriate value.
+Note that, although SIAv2 allows a number of query
+possibilities not offered by SIAv1,
+at present TOPCAT does not support this additional functionality
+for SIAv2 services.
+
+
@@ -21890,7 +22493,7 @@
Table Format:
Selects the file format of the table to load.
If the table is in one of the formats that TOPCAT is able to
- auto-detect (VOTable, FITS, CDF) then the default value
+ auto-detect (VOTable, FITS, ECSV, CDF, Feather) then the default value
(auto) may be used, otherwise the correct format
must be chosen from the list.
@@ -21981,7 +22584,7 @@
Table Format:
Selects the file format of the table to load.
If the table is in one of the formats that TOPCAT is able to
- auto-detect (VOTable, FITS, CDF) then the default value
+ auto-detect (VOTable, FITS, ECSV, CDF, Feather) then the default value
(auto) may be used, otherwise the correct format
must be chosen from the list.
@@ -24118,10 +24721,9 @@
JEL
(Konstantin Metlov, GNU) for algebraic expression evaluation
cds-healpix-java
+ (F-X Pineau, CDS) for HEALPix manipulation
nom.tam.fits (NASA) for parts of FITS I/O
MOC (CDS)
Multi-Order Coverage HEALPix maps for footprint manipulation
+
Snakeyaml for YAML parsing in ECSV input handler
JIDE Common Layer (Jidesoft)
for double-ended slider controls
@@ -24218,6 +24822,7 @@
Tim Jenness (JACH)
JJ Kavelaars (NRC)
Grant Kennedy (IoA)
+
Marina Kounkel (WWU)
Gerard Lemson (MPE Garching)
Mark Mahabir (Leicester)
Brian Major (CADC)
@@ -24254,6 +24859,7 @@
Juande Sandander Vela (IAA-CSIC)
Benjamin Steltner (MPG)
Mike Watson (Leicester)
+
Ming Yang (Athens)
Ivan Zolotukhin (SAI MSU)
Jonathan Zwart (Columbia)
@@ -28931,6 +29537,170 @@
+
+
+
Version 4.7-1 (5 June 2020)
+
+
+
File Formats:
+
+
+
The (Enhanced Character Separated Values)
+ storage format is now supported for
+ input and
+ output.
+
The
+ storage format is now supported for
+ input and
+ output.
+
+
+
Performance:
+
A number of implementation changes have been made
+ which may improve performance, particularly for crossmatching
+ (typical improvements for large sky crossmatches are a factor of 2,
+ though YMMV). These should have no effect on the results,
+ but if anybody notices crossmatching behaviour which is
+ changed since previous versions or otherwise suspicious,
+ please report it.
+
+
The HEALPix implementation has been replaced;
+ all HEALPix manipulation is now done using the excellent
+ cds-healpix-java library
+ written by François-Xavier Pineau from CDS,
+ which speeds up sky crossmatching considerably.
+ Many thanks to François-Xavier and to CDS
+ for providing this library and for assistance with its use;
+ thanks also to Nikolay Kuropatkin from FermiLab whose
+ PixTools library
+ served this purpose in TOPCAT up till now.
+
Rows are now binned during crossmatches
+ using a HashSet rather than a TreeSet.
+
Evaluations of the arcsin function in Sky matches
+ now use the (Apache via cds-healpix) FastMath implementation
+ rather than the standard J2SE version.
+
Performance is improved when reading long String values
+ from FITS files.
+
+
+
Visualisation:
+
+
+
New Area Layer Control,
+ offering forms
+ Area,
+ Central and
+ AreaLabel,
+ can plot region data supplied as area coordinates in the form of
+ STC-S (e.g. from ObsCore/EPN-TAP s_region),
+ DALI polygon/circle/point or (ASCII) MOC columns
+ on Sky, Plane or Sphere plots.
+
The Time Plot window
+ is no longer labelled experimental,
+ and now appears on the main control window toolbar.
+ When selecting its time coordinate, you can now also select how
+ input values are mapped to time (as MJD, JD, ISO-8601 etc),
+ which makes it much easier to plot time quantities from
+ input tables with insufficient metadata.
+
The default initial layer in the
+ Time Plot is now
+ Line, not
+ Mark.
+
Scatter plot marker size
+ now defaults to a value dependent on
+ the number of rows in the table,
+ so by default large tables have small markers and
+ small tables have larger markers.
+
Provide more options in the selector
+ for the Mark plot form:
+ versions of circle, cross etc with thicker lines.
+
Maximum marker in
+ Mark plot form
+ is increased from 5 to 9.
+
Add line thickness control to the
+ contour plot.
+
Improved plot axis labelling in LaTeX mode, e.g. in LaTeX write
+ "3x106" not "3e6".
+
The Sky Plot position layer control
+ now automatically selects lon/lat coordinates for EPN-TAP tables
+ (midLon(c1min,c1max),
+ midLat(c2min,c2max)) where available.
+ Similarly,
+ c{1,2}{min,max} values
+ are automatically used for the sky plot
+ Quad Position Layer Control,
+ so that EPN-TAP-style bounding boxes
+ are displayed by default.
+
Add replacement marker functionality (Minimal Size/Shape options)
+ to Poly4 form,
+ so that small polygons aren't too small to see.
+
Improve accuracy when drawing large HEALPix tile boundaries
+ in some cases for
+ SkyDensity and
+ Healpix
+ sky plot layers.
+
The Sort Axis option for the Line plotter in the Time plot
+ window now presents the option Time rather than X (or Y).
+
Add Center option to the Label
+ plot Anchor selector.
+
+
+
Other minor enhancements/changes:
+
+
+
Basic support for SIA version 2 as well as version 1 in the
+ SIA Query and
+ Multiple SIA Query windows.
+
It is now permitted to provide blank RA/Dec entries in the
+ SSA Query window.
+ This is legal according to the SSA standard and reasonable for
+ e.g. theory services.
+
Remove button from main
+ Control Window toolbar for reasons of space;
+ this option is still available in the
+ menu.
+
Add new functions midLon and midLat
+ to Sky class.
+
Add new conversion functions *ToUnixSec to
+ Times class.
+
Adjust coordinate labels for
+ SkyVector plot form,
+ to make it more obvious that cos(lat) premultiplication
+ is required for Delta Lon.
+
Reorder registry service URLs for the (largely obsolete)
+ RI1.0-mode registry search in the
+ Registry Search Panel.
+ Default is now Euro-VO, which still offers a working RI1.0
+ service; the (moribund?) AstroGrid services are demoted.
+
+
+
Bug and misfeature fixes:
+
+
+
Fix Ellipse mode in the Plane Plot's
+ Draw Algebraic Subset action;
+ the ellipse expression was previously covering an area
+ 2-0.5 smaller than the drawing.
+
Fix polygon plot form in
+ Sphere Plot; this
+ combination was failing to plot anything, now it works.
+
FITS ASCII table extensions with TFORM values of In
+ are now treated as 64-bit integers for n>=10
+ rather than n>10.
+
Fix regression bug since last release that refused to make
+ dataless plots.
+
Slightly improve plot axis labelling for small numbers;
+ remove unnecessary decimal point in scientific notation
+ in some cases.
+
Fix fairly harmless NullPointerException report when
+ displaying a blank plot with too few auto-selected axes
+ (regression).
+
+
+
diff -Nru starjava-topcat-4.7/src/main/uk/ac/starlink/topcat/AbstractSubsetQueryWindow.java starjava-topcat-4.7.1/src/main/uk/ac/starlink/topcat/AbstractSubsetQueryWindow.java
--- starjava-topcat-4.7/src/main/uk/ac/starlink/topcat/AbstractSubsetQueryWindow.java 2019-11-18 16:53:42.000000000 +0000
+++ starjava-topcat-4.7.1/src/main/uk/ac/starlink/topcat/AbstractSubsetQueryWindow.java 2020-06-04 17:10:04.000000000 +0000
@@ -14,11 +14,10 @@
* @author Mark Taylor
* @since 28 Sep 2006
*/
-@SuppressWarnings("rawtypes")
public abstract class AbstractSubsetQueryWindow extends QueryWindow {
private final TopcatModel tcModel_;
- private final JComboBox nameSelector_;
+ private final JComboBox nameSelector_;
private final JTextField exprField_;
/**
@@ -62,14 +61,6 @@
* @param name subset name
*/
public void setSelectedName( String name ) {
- for ( int i = 0; i < nameSelector_.getItemCount(); i++ ) {
- Object item = nameSelector_.getItemAt( i );
- RowSubset rset = (RowSubset) item;
- if ( rset.getName().equals( name ) ) {
- nameSelector_.setSelectedItem( rset );
- return;
- }
- }
nameSelector_.setSelectedItem( name );
}
@@ -101,14 +92,7 @@
JOptionPane.ERROR_MESSAGE );
return false;
}
-
- /* The item selected in the name selector will either be a string
- * or an existing RowSubset from the subsets list belonging to
- * the tcModel. Get the name as a string either way. */
- assert selected instanceof RowSubset || selected instanceof String;
- String name = selected instanceof RowSubset
- ? ((RowSubset) selected).getName()
- : selected.toString();
+ String name = selected.toString();
/* Try to construct a synthetic row subset as requested. */
SyntheticRowSubset exprSubset;
diff -Nru starjava-topcat-4.7/src/main/uk/ac/starlink/topcat/activate/ActivationWindow.java starjava-topcat-4.7.1/src/main/uk/ac/starlink/topcat/activate/ActivationWindow.java
--- starjava-topcat-4.7/src/main/uk/ac/starlink/topcat/activate/ActivationWindow.java 2019-11-18 16:53:42.000000000 +0000
+++ starjava-topcat-4.7.1/src/main/uk/ac/starlink/topcat/activate/ActivationWindow.java 2020-06-04 17:10:04.000000000 +0000
@@ -76,11 +76,10 @@
* @author Mark Taylor
* @since 21 Dec 2017
*/
-@SuppressWarnings({"unchecked","rawtypes"})
public class ActivationWindow extends AuxWindow {
private final TopcatModel tcModel_;
- private final DefaultListModel listModel_;
+ private final DefaultListModel listModel_;
private final BasicCheckBoxList list_;
private final JComponent configContainer_;
private final JComponent outputContainer_;
@@ -143,8 +142,7 @@
final Color enabledFg = UIManager.getColor( "Label.foreground" );
final Color disabledFg =
UIManager.getColor( "Label.disabledForeground" );
- list_ = new BasicCheckBoxList( ActivationEntry.class,
- true ) {
+ list_ = new BasicCheckBoxList( true ) {
@Override
protected void configureEntryRenderer( JComponent entryRenderer,
ActivationEntry item,
@@ -177,7 +175,7 @@
updateActivations();
}
};
- listModel_ = (DefaultListModel) list_.getModel();
+ listModel_ = list_.getModel();
list_.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
JComponent listContainer = new JPanel( new BorderLayout() );
@@ -536,8 +534,7 @@
int nEnabled = 0;
int nActive = 0;
for ( int i = 0; i < listModel_.getSize(); i++ ) {
- ActivationEntry entry =
- (ActivationEntry) listModel_.getElementAt( i );
+ ActivationEntry entry = listModel_.getElementAt( i );
if ( entry.getConfigurator().getActivator() != null ) {
nEnabled++;
if ( list_.isChecked( entry ) ) {
@@ -625,7 +622,7 @@
}
}
if ( selected == null && listModel_.getSize() == 0 ) {
- selected = (ActivationEntry) listModel_.getElementAt( 0 );
+ selected = listModel_.getElementAt( 0 );
}
list_.setSelectedValue( selected, true );
updateSelection();
@@ -720,7 +717,8 @@
* @return index of entry in model,
* or -1 if not found
*/
- private int getEntryIndex( ListModel model, ActivationEntry entry ) {
+ private int getEntryIndex( ListModel model,
+ ActivationEntry entry ) {
int n = model.getSize();
for ( int i = 0; i < n; i++ ) {
if ( model.getElementAt( i ) == entry ) {
diff -Nru starjava-topcat-4.7/src/main/uk/ac/starlink/topcat/activate/BrowserActivationType.java starjava-topcat-4.7.1/src/main/uk/ac/starlink/topcat/activate/BrowserActivationType.java
--- starjava-topcat-4.7/src/main/uk/ac/starlink/topcat/activate/BrowserActivationType.java 2019-11-18 16:53:42.000000000 +0000
+++ starjava-topcat-4.7.1/src/main/uk/ac/starlink/topcat/activate/BrowserActivationType.java 2020-06-04 17:10:04.000000000 +0000
@@ -45,11 +45,10 @@
/**
* Implementation that displays a URL in a general purpose web browser.
*/
- @SuppressWarnings({"unchecked","rawtypes"})
private static class BrowserColumnConfigurator
extends UrlColumnConfigurator {
- private final JComboBox mapperChooser_;
- private final JComboBox browserChooser_;
+ private final JComboBox mapperChooser_;
+ private final JComboBox browserChooser_;
private static final String WEBMAPPER_KEY = "webMapper";
private static final String BROWSER_KEY = "browser";
@@ -64,13 +63,13 @@
new ColFlag[] { ColFlag.HTML, ColFlag.WEBREF,
ColFlag.URL, } );
setLocationLabel( "Resource Identifier" );
- mapperChooser_ = new JComboBox();
+ mapperChooser_ = new JComboBox<>();
for ( WebMapper mapper : WebMapper.getMappers() ) {
mapperChooser_.addItem( mapper );
}
mapperChooser_.addActionListener( getActionForwarder() );
- browserChooser_ = new JComboBox();
+ browserChooser_ = new JComboBox<>();
for ( Browser b : browsers ) {
browserChooser_.addItem( b );
}
@@ -84,9 +83,9 @@
protected Activator createActivator( ColumnData cdata ) {
final WebMapper mapper =
- (WebMapper) mapperChooser_.getSelectedItem();
+ mapperChooser_.getItemAt( mapperChooser_.getSelectedIndex() );
final Browser browser =
- (Browser) browserChooser_.getSelectedItem();
+ browserChooser_.getItemAt( browserChooser_.getSelectedIndex() );
final String label = getWindowLabel( cdata );
return new LocationColumnActivator( cdata, false ) {
protected Outcome activateLocation( String loc, long lrow ) {
diff -Nru starjava-topcat-4.7/src/main/uk/ac/starlink/topcat/activate/ConfigState.java starjava-topcat-4.7.1/src/main/uk/ac/starlink/topcat/activate/ConfigState.java
--- starjava-topcat-4.7/src/main/uk/ac/starlink/topcat/activate/ConfigState.java 2019-11-18 16:53:42.000000000 +0000
+++ starjava-topcat-4.7.1/src/main/uk/ac/starlink/topcat/activate/ConfigState.java 2020-06-04 17:10:04.000000000 +0000
@@ -32,7 +32,6 @@
* @author Mark Taylor
* @since 30 Apr 2018
*/
-@SuppressWarnings({"unchecked","rawtypes"})
public class ConfigState {
private final Map map_;
@@ -153,7 +152,7 @@
* @param key entry key
* @param selector selection component containing state
*/
- public void saveSelection( String key, JComboBox selector ) {
+ public void saveSelection( String key, JComboBox> selector ) {
String sval = getStringValue( selector );
if ( sval != null ) {
map_.put( key, getStringValue( selector ) );
@@ -166,7 +165,7 @@
* @param key entry key
* @param selector selection component to be updated with state
*/
- public void restoreSelection( String key, JComboBox selector ) {
+ public void restoreSelection( String key, JComboBox> selector ) {
if ( map_.containsKey( key ) ) {
String value = map_.get( key );
int ix = getSelectorIndex( selector, value );
@@ -203,7 +202,7 @@
* @param selector combo box
* @return string representation of current selection, or null
*/
- private static String getStringValue( JComboBox selector ) {
+ private static String getStringValue( JComboBox> selector ) {
Object item = selector.getSelectedItem();
if ( item == null ) {
return "";
@@ -212,8 +211,10 @@
return (String) item;
}
int index = selector.getSelectedIndex();
- ListCellRenderer renderer = selector.getRenderer();
- JList jlist = new JList();
+ @SuppressWarnings("unchecked")
+ ListCellRenderer