##########################################################
#            MINIMUM TAP CONFIGURATION FILE              #
#                                                        #
# TAP Version: 2.0                                       #
# Date: 18 Feb. 2015                                     #
# Author: Gregory Mantelet (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 (without spatial extension) and PgSphere 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, a class name
sql_translator = postgres

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

# JNDI name of the datasource.
# 
# 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 #
############################# 

# It must be a JDBC driver URL.
# 
# 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
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.
#  
# Allowed values: xml, db or a full class name (between {}).
metadata =  

# Mandatory if the value of "metadata" is "xml".
# Local file path to the TableSet XML document. This XML must implement the schema TableSet defined by VODataService (http://www.ivoa.net/xml/VODataService/v1.1).
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

# File path of the directory in which all TAP files (logs, errors, job results, backup, ...) must be.
file_root_path = 
