#!/bin/bash
set -e

x=$(dirname "$0")
cd "$x"

JAR="$HOME/.m2/repository/org/gvsig/org.gvsig.crs.catalog.lib.milnga/3.0.0-SNAPSHOT/org.gvsig.crs.catalog.lib.milnga-3.0.0-SNAPSHOT.jar"

DATADIR=$(realpath "../data")
EPSGDIR="$DATADIR/authorities/epsg"

CSVFILE="$EPSGDIR/crs.csv"
LOGFILE="$EPSGDIR/crs.log"
WKTSDIR="$EPSGDIR/crs"
HEADER="#Id,Description"
OPERATION="--crs"

if [[ "$1" != "" ]] ; then
    WKTFILE=$(realpath $1)
    java -cp "$JAR" org.gvsig.crs.catalog.cmdutils.ExtractValues $OPERATION "$WKTFILE"
    exit $?
fi

declare -i errores=0
rm -f "$LOGFILE"
echo "$HEADER" >"$CSVFILE"
cd "$WKTSDIR"
for f in *.wkt 
do 
    echo "$f"
    echo "$f" >>"$LOGFILE"
    WKTFILE=$(realpath $f)
    err=0
    line=$(java -cp "$JAR" org.gvsig.crs.catalog.cmdutils.ExtractValues $OPERATION "$WKTFILE" 2>>"$LOGFILE") || err=$?
    if [[ $err == 0 ]] ; then
        if [[ "$line" != "" -a "$line" != "\n" ]] ; then
            echo "$line" >>"$CSVFILE"
	fi
    else
      echo "skip file (error $err)"
      errores=$(($errores + 1))
    fi
done
if [[ $errores != 0 ]] ; then
    echo "Se han producido $errores errores, consulte el archvo de log $(basename $LOGFILE)" >&2
fi

