################################################################################
#                      MINIMUM TAP CONFIGURATION FILE                          #
#                                                                              #
# TAP Version: 2.3                                                             #
# Date: 11 Apr. 2019                                                           #
# Author: Gregory Mantelet (CDS;ARI)                                           #
#                                                                              #
################################################################################ 

############
# DATABASE #
############

# Method to use in order to create database connections.
# 
# Only two values are supported:
#     * jndi: database connections will be supplied by a Datasource whose the
#             JNDI name must be given. This method may propose connection
#             pooling in function of the datasource configuration.
#     * jdbc: the library will create itself connections when they will be
#             needed thanks to the below JDBC parameters. This method does not
#             propose any connection pooling.
# 
# Allowed values: jndi, jdbc.
database_access = 

# The translator to use in order to translate ADQL to a SQL compatible with the
# used DBMS and its spatial extension.
# 
# The TAP library supports only Postgresql (no spatial extension),
# PostgreSQL+PgSphere, SQLServer (no spatial extension) and MySQL (no spatial
# extension) for the moment. But you can provide your own SQL translator (even
# if it does not have spatial features), by providing the name of a class
# (within brackets: {...}) that implements ADQLTranslator (for instance:
# {apackage.MyADQLTranslator}) and which have at least an empty constructor.
# 
# Allowed values: postgres, pgsphere, sqlserver, mysql, a class name
sql_translator = postgres

#############################
# IF DATABASE ACCESS = JNDI #
#############################

# JNDI name of the datasource pointing toward the database to use.
# It should be defined in the web application (e.g. in the META-INF/context.xml
# file in tomcat).
datasource_jndi_name = 

#############################
# IF DATABASE ACCESS = JDBC #
############################# 

# JDBC driver URL pointing toward the database to use.
# 
# Note: The username, password or other parameters may be included in it, but
#       in this case, the corresponding properties should leave empty or not
#       provided at all.
jdbc_url = 

# JDBC driver path.
# 
# By default, it is guessed in function of the database name provided in the
# jdbc_url property. It MUST be provided if another DBMS is used or if the
# JDBC driver path does not match the following ones:
#     * Oracle    : oracle.jdbc.OracleDriver
#     * PostgreSQL: org.postgresql.Driver
#     * MySQL     : com.mysql.jdbc.Driver
#     * SQLite    : org.sqlite.JDBC
#     * H2        : org.h2.Driver
jdbc_driver = 

# [Mandatory if the username is not already provided in jdbc_url]
#
# Username used to access to the database.
db_user = 

# [Mandatory if the password is not already provided in jdbc_url]
#
# Password used by db_username to access to the database.
# 
# Note: No password encryption can be done in this configuration file for the
#       moment.
db_password = 

############
# METADATA #
############

# Metadata fetching method.
# 
# The value of this key defines the way the library will get the list of all
# schemas, tables and columns to publish and all their metadata (e.g. utype,
# description, type, ...).
# 
# In its current state, the library proposes three methods:
#    1/ Parse a TableSet XML document and load its content into the database
#       schema TAP_SCHEMA (note: this schema is first erased and rebuilt by the
#       library).
#    2/ Get all metadata from the database schema TAP_SCHEMA.
#    3/ Build yourself the metadata of your service by creating an extension of
#       tap.metadata.TAPMetadata. This extension must have either an empty
#       constructor or a constructor with exactly 3 parameters of type
#       UWSFileManager, TAPFactory and TAPLog ; if both constructor are
#       provided, only the one with parameters will be used.
# 
# For the two first methods, it is also possible to specify an extension of
# tap.metadata.TAPMetadata which will wrap a default TAPMetadata objects created
# using the specified methods (i.e. XML tableset or TAP_SCHEMA). In this way, it
# is possible to get the "default" metadata from an XML file or the database
# and then add/remove/modify some of them, or to change the output of the
# 'tables' resource. The extension of tap.metadata.TAPMetadata must have at
# least one constructor with the following parameters: (TAPMetadata) or
# (TAPMetadata, UWSFileManager, TAPFactory, TAPLog).
#  
# Allowed values: xml, xml {myTAPMetadata}, db, db {myTAPMetadata}
#                 or a full class name (between {}).
metadata =  

# [Mandatory if the value of "metadata" is "xml".]
#
# Local file path to the TableSet XML document.
#
# The XML document must implement the schema TableSet defined by VODataService.
# The file path must be either an absolute local file path or a file path
# relative to WebContent (i.e. the web application directory in which there are
# WEB-INF and META-INF).
metadata_file = 

#########
# FILES #
#########

# Type of the file manager.
# 
# Accepted values are: local (to manage files on the local system). You can also
# add another way to manage files by providing the name (within brackets: {...})
# of a class implementing TAPFileManager and having at least one constructor
# with only a java.util.Properties parameter.
# 
# Allowed values: local, a class name.
file_manager = local

# Local file path of the directory in which all TAP files (logs, errors, job
# results, backup, ...) must be.
# 
# The file path must be either an absolute local directory path or a directory
# path relative to WebContent (i.e. the web application directory in which there
# are WEB-INF and META-INF).
file_root_path = 
