#!/bin/sh

test `uname -s` = Linux && echocmd="echo -e" || echocmd="echo"

yorn ()
{
        YN=b
        while [ "$YN" != "n" -a "$YN" != "no" -a \
                "$YN" != "N" -a "$YN" != "NO" -a \
                "$YN" != "y" -a "$YN" != "yes" -a \
                "$YN" != "Y" -a "$YN" != "YES" -a \
                "$YN" != "Yes" -a "$YN" != "No" ]; do
                $echocmd $1
                read YN
                if [ "$YN" = "y" -o "$YN" = "yes" -o "$YN" = "Yes" -o \
                     "$YN" = "Y" -o "$YN" = "YES" ]; then
                        return 1
                fi
                if [ "$YN" = "n" -o "$YN" = "no" -o "$YN" = "No" -o \
                     "$YN" = "N" -o "$YN" = "NO" ]; then
                        return 0
                fi
                $echocmd "y または n を入力してください"
        done
}

cont ()
{
        yorn "処理を続けますか (y/n): \c"
        res=$?
        if [ "$res" != "1" ]; then
                exit 0
        fi
}

#
# check running as root
#
if test ! -w /etc/passwd
then
	$echocmd "$0: root でなければこのスクリプトは実行できません"
	exit 1
fi
#
# check COBDIR set
#
if test -z "$COBDIR"
then
	$echocmd "$0: COBDIR の設定が必要です"
	exit 1
fi
PLATTAG=_hp
cd $COBDIR/lib
COBJVM=libcobjvm_java2.sl
COUNT=0
VERS=""
FILES=""
for file in libcobjvm*
do
  if test ! "$file" = "${COBJVM}"
  then
    JDKV="`$echocmd $file | cut -d'_' -f3- | cut -d'.' -f1`"
    V1="`$echocmd $JDKV | cut -c1`"
    V2="`$echocmd $JDKV | cut -c2`"
    V3="`$echocmd $JDKV | cut -c3`"
    V64="`$echocmd $JDKV | cut -c5-6`"
    if test "$V64" = "64"
    then
      VBITS=" 64-bit"
    else
      VBITS=""
    fi
    THISVERS="$V1.$V2.$V3$VBITS"
    if test -z "$FILES"
    then
      FILES=$file
      VERS=$THISVERS
    else
      FILES="$FILES:$file"
      VERS="$VERS:$THISVERS"
    fi
    COUNT=`expr $COUNT + 1`
  fi
done
VERS="$VERS:Java セットアップを実行しない"
COUNT=`expr $COUNT + 1`
 
if test $COUNT -lt 3
then
  cd ${OLDPWD}
  exit 0
fi

VALID="N"
while test "$VALID" = "N"
do
  $echocmd "\nJava のデフォルトバージョンは、以下のどのバージョンにしますか?\n" 
  $echocmd "注意: COBJVM 環境変数を設定して、選択したバージョンを変更する" 
  $echocmd "      ことができます。" 
  $echocmd "      詳細は、マニュアルの「分散コンピューティング」を" 
  $echocmd "      ご参照ください。\n" 

  C=0
  while test $C -lt $COUNT 
  do
    C=`expr $C + 1`
    $echocmd "$C) `$echocmd $VERS | cut -d':' -f$C`"
  done
  
  $echocmd "\n番号を選択してください: \c"
  read SEL
  if test ! -z "`$echocmd $SEL | tr -d '[0-9]'`" -o -z "$SEL"
  then
    continue
  fi
  if test $SEL -le $COUNT -a $SEL -ge 1 
  then
    VALID="Y"
  fi
done
if test $SEL -ne $COUNT # do nothing if user selected None of the above
then
  rm -f ${COBJVM}
  ln `$echocmd $FILES | cut -d':' -f$SEL` ${COBJVM}
  $echocmd "Java セットアップを完了しました\n"
else
# 2004/02/26 ck changed 'cd $COBDIR; ...' -- jpn scripts has "main java_setup"
  $echocmd "\nJava セットアップをスキップします。"
  $echocmd "このセットアップを後で行い Java を COBOL と連携して"
  $echocmd "使うため Java のバージョンを選択するには"
  $echocmd "スーパーユーザで次のコマンドを実行してください:"
  $echocmd "  cd $COBDIR; sh ./bin/java_setup"
fi
cd ${OLDPWD}
