Skip to content
  1. Mar 20, 2019
  2. Nov 02, 2018
    • Grégory Mantelet's avatar
      [TAP] Fix cancellation of a text formatting process. · f912c20a
      Grégory Mantelet authored
      Before this fix, cancelling a TAP job (async or not) which was formatting the
      result in ASCII may failed, especially for large results. This was due to a
      non interruptible alignment process. This process is now checking whether a
      cancellation has been requested before formatting a new result line/row ; if so,
      the process is immediately stopped and the job can be cleaning declared as
      aborted.
      f912c20a
  3. 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
  4. Aug 07, 2018
  5. Sep 15, 2017
    • gmantele's avatar
      [UWS,TAP] Allow the specification of a custom logger in the configuration file. · 162a8748
      gmantele authored
      This commit resolves partially the issue #28
      
      Ideally, there should be an implementation of UWSLog and TAPLog working with
      Log4j and another for SLF4J (and eventually for other logging mechanism).
      Additionally, an implementation storing log messages in database would be
      interesting. All these ideas may be implemented in UWSLib and TAPLib in a
      future version.
      162a8748
  6. Aug 02, 2017
    • gmantele's avatar
      [ADQL,TAP] Basic MySQL support. · cf721ff2
      gmantele authored
      On the contrary to other DBMS, MySQL supports schemas, but as databases.
      Which means that JDBCConnection gets from the JDBC driver that MySQL does
      not support schemas and so it tries to access TAP_SCHEMA tables with a
      'TAP_SCHEMA_' prefix instead of 'TAP_SCHEMA.' one. Since MySQL does
      behave like it supports schemas, JDBCConnection.supportsSchema must be
      set to 'true' if the DBMS is MySQL.
      
      Besides, since no schemas are returned by the JDBC driver
      (cf DatabaseMetadata.listSchema(...)), the function
      JDBCConnection.isSchemaExisting(String, DatabaseMetaData) must always assume
      that the specified schema exists if the DBMS is MySQL. This is particularly
      important when the existence of 'TAP_UPLOAD' must be checked, because if the
      function returns 'false' the library will attempt to create the database/schema
      'TAP_UPLOAD' and will obviously fail due to a lack of permissions. Of course,
      it means that the TAP implementor must create manually the schema/database
      'TAP_UPLOAD' him-/her-self.
      
      The second particularity of MySQL is the quote character for identifiers.
      It is a back-quote (`) instead of a double quote ("). To reflect this
      difference, JDBCTranslator.appendIdentifier(...) has been overwritten in a new
      JDBCTranslator extension: MySQLTranslator.
      
      The translation of all SQL types and mathematical functions have been adapted to
      MySQL according to the online documentation. Few tests have been done locally
      with a tiny database. This seems to work but further testing should be
      performed in order to ensure the stability of this implementation.
      cf721ff2
  7. Mar 09, 2017
    • gmantele's avatar
      [TAP] Fix and add JUnit tests. Now, they should work on any machine. · 0422fb7d
      gmantele authored
      Two embedded DBMS are used: H2 and a little SQLite. JDBC drivers are provided
      in the `lib` directory. The databases are created and deleted automatically
      by the JUnit tests (see `test/tap/db_testtools/DBTools for more details`).
      
      The ANT and Gradle build scripts have been updated to reflect all these test
      modifications.
      0422fb7d
  8. Jul 18, 2016
  9. Feb 08, 2016
  10. 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
  11. Jun 08, 2015
  12. Jun 02, 2015
  13. Apr 22, 2015
  14. Apr 13, 2015
  15. Mar 26, 2015
  16. Mar 11, 2015
  17. Mar 10, 2015
  18. Mar 04, 2015
  19. Feb 19, 2015
  20. Feb 18, 2015
  21. Feb 17, 2015
  22. Feb 16, 2015
  23. 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
  24. Feb 11, 2015
  25. Feb 09, 2015
  26. Jan 27, 2015
  27. Apr 10, 2014