
#
#   Projet       : DilibPro
#   Module       : Assoc
#   Commande     : AssocBuildUsual
#   Author       : Ducloy
#   Date         : 14 July 1995
#   $Id: AssocBuildUsual,v 1.2 2007/01/22 08:33:19 parmentf Exp $
#

# $DILIB_CONFIG

USAGE="usage: AssocBuildUsual -h hfdRadical -d descriptorPath -i indexCode [-w workSpace] [ -r table ]"
#
#    option analysis. founding D_OPTION (-d option) 
#                              H_OPTION (-h option)
#                          and I_OPTION (-i option)
#

W_OPTION=$DILIB_WORKSPACE
M_OPTION=1000
r_OPTION=""
Z_OPTION=""

while getopts b:d:h:i:k:m:r:w:z c
do
  case $c in
   b) H_OPTION=$OPTARG;;
   h) H_OPTION=$OPTARG;;
   d) K_OPTION=$OPTARG;;
   k) K_OPTION=$OPTARG;;
   i) I_OPTION=$OPTARG;;
   r) r_OPTION="$r_OPTION -t $OPTARG";;
   w) W_OPTION=$OPTARG;;
   m) M_OPTION=$OPTARG;;
   z) Z_OPTION="-z";;
   \?) echo -$c $OPTARG unknowed option
       echo $USAGE
       exit 2;;
  esac
done

BASE_PATH=`DamGetPath -Arn $H_OPTION`

INDEX_FILE=$BASE_PATH.$I_OPTION.i

echo "---- begin building assoc <"$I_OPTION"> of base "$H_OPTION

rm -rf $BASE_PATH.$I_OPTION.a.*

HfdCat $INDEX_FILE.hfd                                            \
 | (
 if test "$r_OPTION"
 then
        SgmlSelect -g 'idx/f#:n>1' -g idx/kw#                    \
                -s idx/l/e# -p @g2 -p @s1                       \
      | StrSearchKey -x $r_OPTION                              \
      | SxmlSelect -p @2 -p @1
 else
        SgmlSelect -g 'idx/f#:n>1' -g idx/kw#                    \
                -s idx/l/e# -p @s1 -p @g2
 fi
 )     | sort  -T $W_OPTION                                       \
       | IndexBuildRec                                            \
       | SgmlSelect -g idx/k# -s idx/l/e# -a -p @s2 -p @s1 -p @g1 \
       | sort -T $W_OPTION                                        \
       | IndexBuildRec -AS                                        \
       | SxmlSelect -p @3 -p @1 -p @2                             \
       | sort -rn    -T $W_OPTION                                 \
       | head -$M_OPTION                                          \
       | cut -f2,3                                                \
       | AssocFastWithIndex -h $INDEX_FILE                        \
       | HfdBuild -h  $BASE_PATH.$I_OPTION.a $Z_OPTION

echo "---- end   building assoc " $I_OPTION of base $H_OPTION

#

