#!/bin/bash
# Author: WeiYu Chen <waue _at_ nchc org tw>
# License: GPL
# Description: Eazily use for Nutch
# .

# begining ..


#. "$bin"/nutchez-func.sh

  export JAVA_HOME=/usr/lib/jvm/java-6-sun
  export NUTCH_HOME=/opt/nutchez/nutch
  export NUTCH_CONF_DIR=~/.nutchez/conf
  export NUTCH_LOG_DIR=~/.nutchez/log

. /opt/nutchez/nutch/bin/nutchez-func.sh

cd ~

init_nutchez


tfile=`tempfile 2>/dev/null` || tfile=/tmp/test$$
trap "rm -f $tfile" 0 1 2 5 15

$DIALOG --backtitle "Developed By NCHC" --clear --item-help --title "NutchEz 雛型版" \
        --menu " 你好，歡迎使用NutchEz！ \n\
這套軟體是用來打造專屬於你的搜尋引擎 \n\
你有網頁不希望被公開的搜尋引擎找到， \n\
卻又希望能有個搜尋介面的困擾嗎？ \n\
用NutchEz就對了！因為他操作簡單， \n\
除了基本的網頁以外，還支援多種格式（ppt,doc,txt...） \n\
並且是開源碼軟體，完全免費，安全無虞\n\
趕快來使用看看吧!\n\n\
          選擇你要的模式:" 20 60 4 \
        "1"  "開始建構搜尋內容"    "透過NutchEz來建構專屬於你自己所需的內容的搜尋引擎" \
        "2"  "開啟或關閉NutchEz的網頁伺服器"  "若您之前已經執行完1之後才需做網頁伺服器的管理" 2> $tfile

rev=$?

MAIN_CHOISE=`cat $tfile`

case $rev in
  0)
    echo_dialog_v "OK '$MAIN_CHOISE' chosen.";;
  1)
    echo_dialog_v "Cancel pressed."
    exit 0 ;;
  2)
    echo_dialog_v "HELP '$MAIN_CHOISE' chosen.";;
  255)
    echo_dialog_v "ESC pressed.";;
  *)
    echo_dialog_v "Unexpected code $MAIN_CHOISE";;
esac

if [ $MAIN_CHOISE -eq 2 ];then

  pid_tc=$(ps axw -eo pid,command |\
  grep "catalina" | grep "java" |\
  grep "start" | awk '{print $1}')
  if [ -z "$pid_tc" ]; then
      echo_dialog_v "0. pid = $pid_tc ! no another toddmcat is running"

      $DIALOG --title "你的NutchEz網頁伺服器沒打開.." --clear \
        --yesno "\n 要開啟NutchEz的網頁伺服器嗎？ \n" 15 61
      if [ $? -eq 0 ];then
          ~/.nutchez/tomcat/bin/startup.sh
	  PORT=`cat ~/.nutchez/sav/n.tomcat.txt`
          $DIALOG --msgbox "已經試著開啟瀏覽伺服器，你可以瀏覽這個網址看看: \n  http://localhost:$PORT" 0 0
      else 
	  $DIALOG --msgbox "你選擇不要打開瀏覽伺服器！" 0 0
      fi
      
  else
      echo_dialog_v "0. tomcat had been started and the pid is $pid_tc"

      $DIALOG --title "偵測到NutchEz的網頁伺服器正在運作.." --clear \
        --yesno "\n 你要關閉他嗎？ \n" 15 61
      if [ $? -eq 0 ];then
          ~/.nutchez/tomcat/bin/shutdown.sh
	  kill -9 $pid_tc
          $DIALOG --msgbox "已經試著關閉NutchEz網頁伺服器" 0 0
      else 
          $DIALOG --msgbox "你選擇不要關閉瀏覽伺服器！" 0 0
      fi

  fi
  exit 0

elif [ $MAIN_CHOISE -eq 1 ];then

CHECK=0
while [ $CHECK -eq 0 ]; do

  LOCK=1
  while [ $LOCK -eq 1 ]; do
    # milestone M1
    show_urls
    URL=$?
    echo_dialog_v "2.2 show_urls return $URL"
    
# add or delete url:  ok , exit
# ok =0 , exit =1 

    if [ $URL -eq 0 ];then
      # go_to_M2
      LOCK=0
    else
      #return_console
      exit
    fi

  done
  # milestone M2

  # setup search engine personality
  #   next, back
  setup_robot

  # setup the crawl paramater
  #   next, back
  setup_crawler

  # setup the tomcat paramater
  #   next, back
  setup_tomcat

  # continue last search
  if [ -e ~/.nutchez/search ];then
    continue_previous
  fi
  # show the final checklist
  final_confirm
  FC=$?
  echo_dialog_v "6.3 final confirm return = $FC "
  #   START , back, cancel
  # start =0 , back =1 
  #if [ $FC -eq 0 ];then
  case $FC in
    0)
      #go_to_M3
      CHECK=1
      # change temp file as conf file
      promote_tempfile
      ;;
    #else
    1)
      clean_tempfile
      exit
      ;;
    3)
      #go_to_M1
      LOCK=1
      CHECK=0
      # temp file delete!
      clean_tempfile
      #return_console
      ;;
    255)
      clean_tempfile
      echo_dialog_v "ESC pressed !!"
      ;;
  esac
    #fi
done

set_nutchez_p

start_crawl

start_tomcat

# show result message

show_report

# Done 




else

  echo_dialog_v "Main Choise is $MAIN_CHOISE ! Error !!"

fi
