#! /bin/bash -
# Implementing update functionality for an PSA.
###############################################################################
#                                                                             
#                                UPDATE PSA
# Usage:
#   update_psa [ --? ]
#              [ -m  ]
#              [ --help ]
#              [ --wdir "working_directory" ]
#              [ --file "config_file" ]
#              [ --dbg ]
#              [ --version ]
#                                                                           
# ./update_psa --file $PWD/update_psa.conf --wdir $PWD
#
###############################################################################
# if [ $# -eq 0 ]; then
    # no parameters given -> nothing to do
#    exit 0
#fi

if [ -z $IFS ]; then
    IFS=$'\n'
fi

MAINTENANCE="NO"
WORKING_DIRECTORY=${PWD}

# parse commandline parameters
while test $# -gt 0; do
    case $1 in
        --maintenance | -m )
            shift
            MAINTENANCE="YES"
            ;;
        --file | --fil | --fi | --f | -file | -fil | -fi | -f )
            shift
            CONFIGFILENAME="$1"
            ;;
        --zone | --zon | --zo | --z | -zone | -zon | -zo | -z )
            shift
            ZONE="$1"
            ;;
        --wdir | --wdi | --wd | --w | -wdir | -wdi | -wd | -w )
            shift
            WORKING_DIRECTORY="$1"
            ;;
        --help | -hel | --he | --h | '--?' | -help | -hel | -he | -h | '-?' )
            usage_and_exit 0
            ;;
        --version | --versio | --versi | --vers | --ver | --ve | --v | \
        -version | -versio | -versi | -vers | -ver | -ve | -v )
            version
            exit 0
            ;;
        --dbg | --db | --d | -dbg | -db | -d )
            shift
            set_dbg_level $DEBUG
            ;; 
        -*)
            error "Unrecognized option: $1"
            ;;
        *)
            break
            ;;
    esac
    shift
done
    
source ./update_psa_impl

if read_config; then
    update_psa
    exit 0
fi
exit 1
###############################################################################