#################################################################################################
#
# File
#
#   errMessages.sh
#
# Contenuto
#
#   definizione dei messaggi di errore specifici della modalita'
#   e di quanto eventualmente funzionale alla loro visualizzazione
#
#################################################################################################

#################################################################################################
# Componenti dei messaggi
#################################################################################################

#
# prefisso comune a tutti i messaggi
#
errMsgPrefix="From $(basename $0) -"

#################################################################################################
# Definizione dei messaggi di errore 
#################################################################################################

#################################################################################################
#
# Indici all'interno dell'array ERROR_MESSAGES_ARRAY dei messaggi di errore
# 
#################################################################################################

# Indice del messaggio di errore per un numero di parametri non corretto
ERR_PARAMETERS_NUMBER=1

# Indice del messaggio di errore per una lista non esistente delle scw
ERR_NON_EXISTENT_LIST_OF_SCW=2

# Indice del messaggio di errore relativo alla impossibilita' di creare la
# main directory assegnata alle attivita' di analisi legate ad OSA
ERR_OSA_ANALYSIS_DIRECTORY=3 

# Indice del messaggio di errore previsto quando il numero dei delimitatori di run presenti
# nel file delle scw da elaborare e' superiore al numero di core assegnati al container che
# le elabora
ERR_TOO_MUCH_RUN_DELIMITERS=4

# Indice del messaggio errore previsto quando il numero delle run parallele richiesto per
# l'elaborazione e' inferiore a 1
ERR_PARALLEL_RUNS_LESS_THAN_1=5

# Indice del messaggio errore previsto quando il numero dei delimitatori di
# run presenti nel file delle scw da elaborare e' 0 e il numero delle run parallele
# richiesto e' superiore al numero di core assegnati al container che esegue l'elaborazione
ERR_TOO_MUCH_PARALLEL_RUNS=6

# Se il numero dei delimitatori di run all'interno del file delle scw da elaborare e'
# maggiore di 0 e diverso da quello delle run parallele
ERR_NOT_MATCHING_EOR_PR=7

# Indice del messaggio di errore relativo alla impossibilita' di creare la
# working directory per l'elaborazione
ERR_WORKING_DIRECTORY=8

# Indice del messaggio di errore relativo al fallimento del controllo di
# qualita' sui dati
ERR_DATA_QUALITY_CHECK=9

# Indice del messaggio di errore relativo alla presenza di un delimitatore
# di run in testa al file delle science window o alla mancanza dello stesso
# delimitatore in coda allo stesso file
ERR_BADLY_FORMED_SCWS_FILE=10

# Indice del messaggio di errore relativo alla specific di un numero di scw
# da eleborare inferiore al numero delle run parallele richieste
NOT_ENOUGH_SCWS=11

# 
# ERROR_MESSAGES_ARRAY
#    array dei messaggi di errore generati dalla modalita' di elaborazione
ERROR_MESSAGES_ARRAY=( " " \
                   "$(dateTime) $errMsgPrefix Fatal error - incorrect number of parameters. \n \
                    It shoud be: ./integralScriptsDevelopment <list of scws absolute path> <working directory name> \
					<number of parallel runs>" \
					"$(dateTime) $errMsgPrefix Fatal error - non existent or empty scws file:" \
					"$(dateTime) $errMsgPrefix Fatal Error - a file already exists with path:" \
					"$(dateTime) $errMsgPrefix Fatal Error - number of run delimiters in the scws file exceeding the number of available cores"
					"$(dateTime) $errMsgPrefix Fatal Error - the number of parallel runs must be at least 1" \
					"$(dateTime) $errMsgPrefix Fatal Error - number of parallel runs exceeding the number of available cores" \
					"$(dateTime) $errMsgPrefix Fatal Error - not matching number of run delimiters and parallel runs" \
					"$(dateTime) $errMsgPrefix Fatal Error - a file or a directory already exists with path: " \
					"$(dateTime) $errMsgPrefix Fatal Error - check for data quality failed " \
					"$(dateTime) $errMsgPrefix Fatal Error - badly formed science windows file. The first line must not be a run delimiter, while the last must."\
                    "$(dateTime) $errMsgPrefix Fatal Error - The number of scws to be processed must not be smaller than those of the required parallel runs."\
                    )


