#!/bin/bash
#
# BRUNIE
#
# Temporre Datenbanken lschen und neu aufbauen
#
# Angepasst fr:
#   - GT.M 7.1
#

###############################################################################
# Grundeinstellungen
###############################################################################

BRUNIE_DIR="/brunie"
GTM_DIR="/usr/gtm"
BRUNIE_USER="brunie"
BRUNIE_GROUP="brunie"

###############################################################################
# Benutzer prfen
###############################################################################

if [ "$(id -un)" != "${BRUNIE_USER}" ]; then
    echo
    echo "   Nur unter Benutzer '${BRUNIE_USER}' zugelassen!"
    echo
    exit 1
fi

###############################################################################
# GT.M prfen
###############################################################################

if [ ! -x "${GTM_DIR}/mupip" ]; then
    echo
    echo "FEHLER: GT.M MUPIP wurde nicht gefunden:"
    echo "  ${GTM_DIR}/mupip"
    echo
    exit 1
fi

###############################################################################
# BRUNIE-Verzeichnis
###############################################################################

if [ ! -d "${BRUNIE_DIR}" ]; then
    echo
    echo "FEHLER: BRUNIE-Verzeichnis wurde nicht gefunden:"
    echo "  ${BRUNIE_DIR}"
    echo
    exit 1
fi

cd "${BRUNIE_DIR}" || {
    echo
    echo "FEHLER: Kann nicht nach ${BRUNIE_DIR} wechseln."
    echo
    exit 1
}

###############################################################################
# GT.M Umgebung
###############################################################################

export gtm_dist="${GTM_DIR}"
export gtmroutines="${GTM_DIR}"
export gtm_ztrap_form="adaptive"
export PATH="${PATH}:${GTM_DIR}"

###############################################################################
# Temporre Datenbanken
###############################################################################

echo
echo "   Cleaning up temporary data:"
echo

shopt -s nullglob

DB_FILES=( *.dat )

if [ ${#DB_FILES[@]} -eq 0 ]; then
    echo "   Keine .dat-Datenbanken gefunden."
    echo
    shopt -u nullglob
    exit 0
fi

###############################################################################
# Datenbanken bearbeiten
###############################################################################

for db in "${DB_FILES[@]}"
do

    # Dateiendung .dat entfernen
    nam="${db%.dat}"

    echo "   - Cleaning up ${nam}"

    ###########################################################################
    # Temporre Datenbank lschen
    ###########################################################################

    if [ -e "${nam}.tmp" ]; then
        rm -f -- "${nam}.tmp" || {
            echo
            echo "FEHLER: ${nam}.tmp konnte nicht gelscht werden."
            echo
            shopt -u nullglob
            exit 1
        }
    fi

    ###########################################################################
    # Global Directory setzen
    ###########################################################################

    export gtmgbldir="${nam}"

    ###########################################################################
    # Temporre Datenbank neu erstellen
    ###########################################################################

    if ! "${GTM_DIR}/mupip" create \
        >/dev/null 2>&1
    then
        echo
        echo "FEHLER: Temporre Datenbank fr ${nam} konnte"
        echo "       nicht neu erstellt werden."
        echo
        shopt -u nullglob
        exit 1
    fi

done

shopt -u nullglob

###############################################################################
# Ende
###############################################################################

echo
echo "   Cleanup erfolgreich abgeschlossen."
echo