When the search result in IRSA catalog search is empty, the IRSA catalog search shows the table with empty row data. The LSSTCatalogSearch returns the message with "no data found". I think that the behaviors in two catalog searches should be consistent.
Since the meta server is not available, the data definitions are obtained from the search result. When there no data is available, there is no data type definition either. The current implementation threw an exception when the empty table is returned from the PDA search. But for multi-object search, the exception will stop further searches for the other object. For now, it is modified as below:
- Let getDataFromUR return null if the result is empty
- When the PDA search returns empty, the exception in LSSTCatalogSearch is deferred at the loadFile
- In LSSTMutliObjectSearch, when one of the callable returns empty result, it will be skipped. Thus, all targets in the input file will be searched.
When the meta server is working, the above implementation will be changed accordingly. So is the meta definition in LSSTQuery.