Skip to content
  1. Mar 26, 2021
  2. Jan 29, 2020
    • Grégory Mantelet's avatar
      [TAP,UWS] Fix backup restoration. When restoring upload only, the error message: · 3f246d19
      Grégory Mantelet authored
      ```
      RESTORATION Incorrect JSON format for the serialization of an uploaded file!
      Caused by a org.json.JSONException: JSONObject["length"] not a string.
      [...]
      
      RESTORATION Incorrect JSON format for the DALIUpload labelled "xxx" of the job "xxxxxxxxx": "xxxxxxxx" is not pointing a job parameter representing a file!
      [...]
      
      RESTORATION Unexpected error while restoring the UWS!
      Caused by a java.lang.NullPointerException: Missing UploadFile! => Can not build a DaliUpload instance.
      [...]
      ```
      
      Now, in case of grave error while restoring backup files, it will be just
      disabled, instead of preventing start-up of the TAP service.
      In case of non-grave error while restoring a job or a user, the failed job or
      error won't be restored and then the restoration process will go on with the
      other jobs/users.
      3f246d19
  3. Mar 06, 2019
  4. Sep 05, 2018
    • Grégory Mantelet's avatar
      [UWS,TAP] Fix the configuration file for the UPLOAD feature. · 7bd91a1c
      Grégory Mantelet authored
      The property `upload_default_db_limit` has been deprecated. Indeed, in the
      current state of the TAP protocol, this makes no sense: the user can not change
      the limit size (in bytes or rows) for uploaded tables.
      
      The property `upload_max_file_size` has been deprecated. It is actually
      duplicated: `upload_max_db_limit`, if expressed in bytes already lets put a
      limit on the maximum size of an uploaded table/file.
      
      The property `upload_max_request_size` has been added. It lets set a maximum
      size for a whole HTTP Multipart Request. By default it is set to 250MB.
      
      The default value of `upload_max_db_size` is now 1 million rows.
      
      The UPLOAD feature is still disabled by default (i.e. `upload_enabled=false`).
      7bd91a1c
  5. Aug 21, 2018
    • Grégory Mantelet's avatar
      [UWS,TAP] Replacement of com.oreilly.servlet by Apache Commons File Upload. · a0ec16fc
      Grégory Mantelet authored
      Thus, the UPLOAD management is much more stable and relies on a well documented
      and maintained library (but at the cost of the additionnal size of the final
      JAR). The most important point is the capability to efficiently limit the size
      of the incoming file and on the disk/memory management when uploading the
      file(s) and in case of error during this process (i.e. files must be deleted).
      a0ec16fc
  6. Apr 23, 2018
  7. Jan 31, 2018
  8. Sep 27, 2017
    • gmantele's avatar
      [TAP,UWS] Add a protocol version number for UWS and TAP: · 70dc3a14
      gmantele authored
        - uws.service.UWS.VERSION  (static final)
        - tap.resource.TAP.VERSION (static final)
      
      Dealing with several protocol versions in the same time is quite difficult and
      may significantly alter the libraries API in an unstable way. That's why, for
      the TAP and UWS libraries, only one version is implemented (i.e. the last one).
      To use a older version of the protocol, one must use an older version of the
      corresponding library.
      
      About the versioning of the ADQL standard, there is no need to set any version
      number somewhere because a different ADQL version implies a different grammar.
      It means that a different parser is required for each ADQL version. For the
      moment, there is only one version, so no need to change anything to the ADQL
      library about ADQL version. Later, ADQLParser should become an interface and
      a factory will have to be used in order to get the parser corresponding to the
      desired ADQL version.
      70dc3a14
  9. Sep 26, 2017
    • gmantele's avatar
      [TAP] Auto-detect the RegTAP datamodel from the schemas and tables declared · 8102b083
      gmantele authored
      in TAP_SCHEMA.
      
      RegTAP is detected successfully if the schema 'rr' exists (case sensitive)
      and contains at least the following tables (names also case sensitive):
      	- capability
      	- interface
      	- intf_param
      	- relationship
      	- res_date
      	- res_detail
      	- res_role
      	- res_schema
      	- res_subject
      	- res_table
      	- resource
      	- table_column
      	- validation
      
      The table name can be prefixed by 'rr' (case sensitive) or not. For instance:
      'rr.capability' and 'capability' are both detected successfully.
      
      All these constraints (including the case sensitive one) are based on the
      requirements of the RegTAP-1.0 standard document. They are set in order
      to not declare the RegTAP DM by accident AND to provide a first low
      validation of the RegTAP schema and tables. Low validation because
      columns (as well as datatype, utypes, indices and UDF functions) are
      never checked.
      
      This commit resolves the GitHub issue #51
      8102b083
  10. Aug 24, 2017
    • gmantele's avatar
      [TAP] Fix the ObsCore 1.1's IVO-ID. · dba06402
      gmantele authored
      The previous fix was made against the ObsCore-DM 1.1 because the given
      IVO-ID was rejected by EuroVO registry. Now that EuroVO registry has
      fixed its IVO-ID rule, the IVO-ID of ObsCore 1.1 is accepted.
      Hence this commit.
      dba06402
  11. Mar 29, 2017
  12. Mar 16, 2017
  13. Mar 09, 2017
    • gmantele's avatar
      [TAP] Adapt the JUnit class testing getFile(...), · 36b4a8bf
      gmantele authored
      apply a quick space replacement (by %20) for few URIs of the configuration file
      and remove duplicated entry (encoding) from the Gradle build script.
      
      A special test has also been added in getFile(...) in order to deliver
      a clear error message for users using a former version with URIs in their
      configuration file (only for file_root_path and metadata_file).
      36b4a8bf
  14. Sep 14, 2016
    • gmantele's avatar
      [UWS,TAP] Follow up to the following commit about executionDuration: · 2463d5fe
      gmantele authored
      47d36bfb
      In the UWS and TAP configuration files the executionDuration has to be
      provided into milliseconds. But the UWS parameter MUST be in seconds.
      So now, UWS is still keeping this duration in seconds (in its
      ExecutionDurationController) but TAP keeps it in milliseconds (in order
      to avoid unexpected silent modification of the API) and converts it into
      seconds for its controller (i.e. TAPExecutionDurationController), for the
      default home page and for the Capabilities page.
      2463d5fe
  15. Aug 08, 2016
  16. Jul 18, 2016
  17. Jan 13, 2016
  18. Nov 19, 2015
    • gmantele's avatar
      [TAP] New feature: Examples endpoint. · f4f05986
      gmantele authored
      Can be enabled just by providing a file URI in the TAP configuration file using
      the property "examples". It is also possible to add manually a TAP resource
      whose the returned name must be "examples" like the new TAP resource is doing:
      tap.resource.Examples. This latter take a file URI as the TAP configuration
      file does. The referenced file must respect the DALI 1.0 or TAP Notes 1.0
      syntax. No check of the file is performed by the library ; it is up to the
      author of the referenced file (a XHTML/RDFa file) to write a correct "examples"
      endpoint content. Check out the examples provided on the GitHub repository in
      the directory examples/tap/examples_endpoint.
      f4f05986
  19. Jun 08, 2015
  20. Jun 03, 2015
  21. Apr 22, 2015
  22. Apr 09, 2015
  23. Apr 08, 2015
  24. Apr 02, 2015
    • gmantele's avatar
    • gmantele's avatar
      [UWS,TAP] Errors and log management improvements. Particularly, now TAP and... · 998d11f5
      gmantele authored
      [UWS,TAP] Errors and log management improvements. Particularly, now TAP and UWS are able to manage correctly HTTP request abortions (i.e. when the user stop the request before the response has been fully sent, or when there is a connection problem or a time-out). Such abortions are considered by UWS and TAP merely as job abortion/cancel. No error is logged any more. In addition of this correction, log entries concerning the execution of a TAP sync/async job have been modified so that having more coherents messages. And stack traces of exception that occurred when executing a job (sync or async, tap or uws) are displayed just once: at the JOB END log entry, and not by the HTTP RESPONSE_SENT entry. And finally, output flush and interruption detection are made more often when writing a query result (the flush is particularly important when combining with fetch-size > 0 in synchronous mode....the sync response is then a streaming output).
      998d11f5
  25. Feb 20, 2015
  26. Feb 17, 2015
  27. Feb 13, 2015
    • gmantele's avatar
      [TAP] Add a new database access method in the configuration file: get a... · e7dff888
      gmantele authored
      [TAP] Add a new database access method in the configuration file: get a Datasource from JNDI. & Better support of connection pooling (TAPFactory.countFreeConnections() has been removed ; when the creation of a database connection fails with an SQLException, it is considered that no connection are momentarily available...async jobs will be queued and all sync requests will be rejected).
      e7dff888
  28. Jan 27, 2015
  29. Jan 23, 2015
  30. Dec 15, 2014
    • gmantele's avatar
      [UWS,TAP] Add clean release of all resources (e.g. Threads, Timers, DB... · eaf27c6c
      gmantele authored
      [UWS,TAP] Add clean release of all resources (e.g. Threads, Timers, DB connections) allocated in a UWS and a TAP service. Small changes of the UWS API...but only if ExecutionManager, DestructionManager and UWS have been implemented by library users rather than using the default implementation.
      eaf27c6c
  31. Dec 12, 2014
  32. Dec 10, 2014
  33. Dec 09, 2014