#!/bin/bash

#
# verbHostStpQueueContent.sh
#
#    memorizza nel file di output per la modalità verbose, se attiva,
#    il contenuto della coda tsp associata ad ognuno degli host
#

# 
# Parametri
#
# <verbose>
#   i valori ammessi per il parametro sono 0 o 1.
#   Se 1 attiva la modalita' verbose di esecuzione dello script
# <callingScript>
#   nome dello script chiamante
# <hostsList>
#   elenco dei nomi degli host impegnati nella simulazione, separati da
#   virgola e senza blank
# <TSP>
#   variabile simbolica utilizzata nella gestione delle code tsp assegnate
#   agli host
# <verbOutputFileRelativePath>
#   path relativo alla directory g4cParallelSimulation del file
#   di output per la modalita' verbose
#

# Estrae i parametri dello script dalla sua chiamata
verbose=$1
callingScript=$2
hostsList=$3
TSP=$4
verbOutputFileRelativePath=$5

# Esce se la modalita' verbose non e' attiva
if test $verbose -eq 0
then
   exit 0
fi

# Inizializza l'host corrente in modo funzionale alla
# scansione 
currentHost=""


# Scansiona la lista degli host
while test "$currentHost" != "$hostsList"
do
   # Estrae il nome del primo host della lista
   currentHost=$(echo $hostsList | cut -f1 -d,)
   
   # Se non e' anche l'ultimo, rimuove il nome del
   # primo host dalla lista 
   hostsList=$(echo $hostsList | cut -f2- -d,)
   
   # memorizza nel file di output per la modalità verbose, se attiva,
   # il contenuto della coda tsp associata ad ognuno degli host
   echo "Contenuto della coda tsp associata all'host $currentHost al termine della simulazione" \
        >> $verbOutputFileRelativePath
        
   echo " " >> $verbOutputFileRelativePath
   
   # Stabilisce una connessione ssh con l'host con
   # la richiesta di visualizzazione del contenuto
   # della coda stp ad esso associata
   ssh $USER@$currentHost "$TSP tsp" >> $verbOutputFileRelativePath
   
   echo " " >> $verbOutputFileRelativePath

done

exit 0

