#!/bin/ksh

JAVA_VERSION_FILE=/tmp/java_version
REC_JRE_VERSION_1="1"  # "1"
REC_JRE_VERSION_2="4"  # "4"
REC_JRE_VERSION_3="2"  # "2"
REC_JRE_VERSION_4="08" # "08"


compare_java_version() {
JRE_VERSION=$1
REC_JRE_VERSION=$2

  if [ $JRE_VERSION -eq $REC_JRE_VERSION ]
  then
    return 0
  fi
  if [ $JRE_VERSION -gt $REC_JRE_VERSION ]
  then
    echo "---------------------------------------- WARNING ----------------------------------------"
    echo "You have a JRE version more recent than the one used to build and test IFGUI."
    if [ "$INST_JRE_VERSION_4" != "" ]
    then
      echo "Installed JRE version: $INST_JRE_VERSION_1.$INST_JRE_VERSION_2.$INST_JRE_VERSION_3""_""$INST_JRE_VERSION_4"
      echo "Expected  JRE version: $REC_JRE_VERSION_1.$REC_JRE_VERSION_2.$REC_JRE_VERSION_3""_""$REC_JRE_VERSION_4"
    else
      echo "Installed JRE version: $INST_JRE_VERSION_1.$INST_JRE_VERSION_2.$INST_JRE_VERSION_3"
      echo "Expected  JRE version: $REC_JRE_VERSION_1.$REC_JRE_VERSION_2.$REC_JRE_VERSION_3"
    fi
    echo "Although it should work properly, please keep in mind that some errors may happen."
    echo "-----------------------------------------------------------------------------------------"
    return 1
  fi
  if [ $JRE_VERSION -lt $REC_JRE_VERSION ]
  then
    echo "---------------------------------------- WARNING ----------------------------------------"
    echo "You have a JRE version older than the one used to build and test IFGUI."
    if [ "$INST_JRE_VERSION_4" != "" ]
    then
      echo "Installed JRE version: $INST_JRE_VERSION_1.$INST_JRE_VERSION_2.$INST_JRE_VERSION_3""_""$INST_JRE_VERSION_4"
      echo "Expected  JRE version: $REC_JRE_VERSION_1.$REC_JRE_VERSION_2.$REC_JRE_VERSION_3""_""$REC_JRE_VERSION_4"
    else
      echo "Installed JRE version: $INST_JRE_VERSION_1.$INST_JRE_VERSION_2.$INST_JRE_VERSION_3"
      echo "Expected  JRE version: $REC_JRE_VERSION_1.$REC_JRE_VERSION_2.$REC_JRE_VERSION_3"
    fi
    echo "Please update your JRE version!"
    echo "-----------------------------------------------------------------------------------------"
    return 2
  fi

}

check_java_version() {
  rm -rf $JAVA_VERSION_FILE

  java -version 2> $JAVA_VERSION_FILE
  VERSION_LINE=`grep "java version" $JAVA_VERSION_FILE`
  INST_JRE_VERSION_1=`echo $VERSION_LINE | awk -F. '{print $1}' | awk -F\" '{print $2}'`

  INST_JRE_VERSION_2=`echo $VERSION_LINE | awk -F. '{print $2}'`

  if [ "$OS" == "Linux" ]
  then
    INST_JRE_VERSION_3=`echo $VERSION_LINE | awk -F. '{print $3}' | awk -F\" '{print $1}'`
  else
    INST_JRE_VERSION_3=`echo $VERSION_LINE | awk -F. '{print $3}' | awk -F_ '{print $1}'`
  fi

  INST_JRE_VERSION_4=`echo $VERSION_LINE | awk -F_ '{print $2}' | awk -F\" '{print $1}'`


  compare_java_version $INST_JRE_VERSION_1 $REC_JRE_VERSION_1
  RESULT=$?
  if [ $RESULT -eq 1 ] || [ $RESULT -eq 2 ]
  then
    return
  fi

  compare_java_version $INST_JRE_VERSION_2 $REC_JRE_VERSION_2
  RESULT=$?
  if [ $RESULT -eq 1 ] || [ $RESULT -eq 2 ]
  then
    return
  fi

  compare_java_version $INST_JRE_VERSION_3 $REC_JRE_VERSION_3
  RESULT=$?
  if [ $RESULT -eq 1 ] || [ $RESULT -eq 2 ]
  then
    return
  fi

  if [ "$JRE_VERSION_4" != "" ]
  then
    compare_java_version $INST_JRE_VERSION_4 $REC_JRE_VERSION_4
    RESULT=$?
    if [ $RESULT -eq 1 ] || [ $RESULT -eq 2 ]
    then
      return
    fi
  fi

  rm -rf $JAVA_VERSION_FILE

}


OS=`uname`
if [ "$OS" == "Linux" ]; then
    DATA=../data/Linux_2_6/
    if [ -x /hiq8000-sw/third_party/rtp/pcl-41B00-0/Linux/.install/JRE/i686/bin/java ]; then
        JAVA=/hiq8000-sw/third_party/rtp/pcl-41B00-0/Linux/.install/JRE/i686/bin/java
    else
        JAVA=/usr/lib/java/bin/java
    fi
else
    DATA=../data/
    JAVA=/usr/bin/java
fi




java -version
if [ $? -ne 0 ] ; then
        echo "Add Java Run Time bin directory to your PATH!"
#        echo "Make sure its version is >=1.4.2"
else
  JAVA=java
  check_java_version
  rm -rf $JAVA_VERSION_FILE
fi

$JAVA -cp "../lib/ncpe-0.1.0-SNAPSHOT-standalone.jar:../lib/IPAddress_v3.0.0.jar:../lib/ncpe.jar:../lib/jh.jar:../lib/antlr.jar:../lib/jsch.jar:../lib/serializer.jar:../lib/resolver.jar:../lib/xml-apis.jar:../lib/xercesImpl.jar:../lib/java-ipv6-0.15.jar:../lib/sqlite-jdbc-3.8.7.jar:../lib/commons-net-3.3.jar" com.siemens.hiq8000.IfGUI -d$DATA $1

