public class CdsUploadMatcher extends java.lang.Object implements UploadMatcher
Modifier and Type | Class and Description |
---|---|
static class |
CdsUploadMatcher.VizierMeta
Metadata provided for Vizier tables by the CDS Xmatch service.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SIMBAD_NAME
Alias for Simbad flat view table.
|
static boolean |
UPLOAD_EMPTY
Whether it is safe/recommended to upload empty tables to match.
|
static java.lang.String |
XMATCH_URL
URL for the CDS Xmatch service.
|
Constructor and Description |
---|
CdsUploadMatcher(java.net.URL serviceUrl,
java.lang.String tableId,
double srArcsec,
ServiceFindMode serviceMode,
uk.ac.starlink.util.ContentCoding coding)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
ColumnPlan |
getColumnPlan(uk.ac.starlink.table.ColumnInfo[] resultCols,
uk.ac.starlink.table.ColumnInfo[] uploadCols)
Returns an object that understands what columns are where in an
output table generated from the raw result produced by this matcher.
|
static java.lang.String[] |
readAliases()
Reads the list of VizieR table aliases that can be used with
the Xmatch service.
|
static CdsUploadMatcher.VizierMeta |
readVizierMetadata(java.lang.String vizName)
Reads basic table metadata for a given VizieR table.
|
static java.lang.String[] |
readVizierNames()
Reads the list of VizieR table names that can be used with
the Xmatch service.
|
boolean |
streamRawResult(ConeQueryRowSequence coneSeq,
uk.ac.starlink.table.TableSink rawResultSink,
RowMapper<?> rowMapper,
long maxrec)
Scans a sequence of positional queries, uploads it to a remote service,
and writes the returned values to a given sink.
|
static java.lang.String |
toCdsId(java.lang.String txt)
Turns a user-supplied string referencing a CDS table into an
identifier recognisable by the CDS Xmatch service.
|
public static final java.lang.String XMATCH_URL
public static final java.lang.String SIMBAD_NAME
public static final boolean UPLOAD_EMPTY
public CdsUploadMatcher(java.net.URL serviceUrl, java.lang.String tableId, double srArcsec, ServiceFindMode serviceMode, uk.ac.starlink.util.ContentCoding coding)
serviceUrl
- URL of Xmatch servicetableId
- identifier of remote tablesrArcsec
- match radius in arcsecondsserviceMode
- type of matchcoding
- configures HTTP compression for resultpublic boolean streamRawResult(ConeQueryRowSequence coneSeq, uk.ac.starlink.table.TableSink rawResultSink, RowMapper<?> rowMapper, long maxrec) throws java.io.IOException
UploadMatcher
Both the read and the write should ideally be streamed (read as uploaded and written as received) so that progress can be logged properly.
The result is written to the given rawResultSink
(which will probably be a RowStore
).
To make sense of the table thus written, it is necessary to
use the RowMapper
supplied to this method and the
ColumnPlan
available from this object.
The RowMapper associates result rows with queries from the input
row sequence, and the ColumnPlan knows where the special and other
columns are in the result table.
streamRawResult
in interface UploadMatcher
coneSeq
- sequence of cone-like positional queriesrawResultSink
- destination for result rows obtained from
the target matcher servicerowMapper
- used to label rows; queries are labelled with the
value returned from the getIndex
method of coneSeq
maxrec
- user-supplied limit on the maximum number of
output rows, though the service may truncate
the result; if <0, no limit is requestedjava.io.IOException
public ColumnPlan getColumnPlan(uk.ac.starlink.table.ColumnInfo[] resultCols, uk.ac.starlink.table.ColumnInfo[] uploadCols)
UploadMatcher
getColumnPlan
in interface UploadMatcher
resultCols
- columns in the raw result table written by
this object's streamRawResult
methoduploadCols
- columns from the table that will be joined to
the raw result to get the output tablepublic static java.lang.String toCdsId(java.lang.String txt)
txt
- table namepublic static java.lang.String[] readAliases() throws java.io.IOException
java.io.IOException
public static java.lang.String[] readVizierNames() throws java.io.IOException
java.io.IOException
public static CdsUploadMatcher.VizierMeta readVizierMetadata(java.lang.String vizName) throws java.io.IOException
vizName
- vizier table name or IDjava.io.IOException
Copyright © 2017 Central Laboratory of the Research Councils. All Rights Reserved.