#!/bin/bash

set -e

TOPDIR=`pwd`

# figure out where Pegasus is installed
export PEGASUS_HOME=`which pegasus-plan | sed 's:/bin/pegasus-plan::'`
if [ "x$PEGASUS_HOME" = "x" ]; then
    echo "Unable to determine location of your Pegasus install"
    echo "Please make sure pegasus-plan is in your path"
    exit 1
fi 

# generate the input file
echo "This is sample input to KEG" >f.a

# build the dax generator
export CLASSPATH=.:`pegasus-config --classpath`

source notifications
#NOTIFY="$PEGASUS_HOME/libexec/notification/email -t $USER"
echo $NOTIFY
sed -e "s|NOTIFYME|$NOTIFY|g" BlackDiamondDAX.java.template > BlackDiamondDAX.java
javac BlackDiamondDAX.java

# generate the dax
java BlackDiamondDAX local $PEGASUS_HOME blackdiamond.dax

# create the site catalog
cat >sites.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<sitecatalog xmlns="http://pegasus.isi.edu/schema/sitecatalog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pegasus.isi.edu/schema/sitecatalog http://pegasus.isi.edu/schema/sc-4.0.xsd" version="4.0">

    <site  handle="local" arch="x86" os="LINUX">
        <directory type="shared-scratch" path="$TOPDIR/work">
            <file-server operation="all" url="file://$TOPDIR/work"/>
        </directory>
        <directory type="local-storage" path="$TOPDIR/outputs">
            <file-server operation="all" url="file://$TOPDIR/outputs"/>
        </directory>
    </site>

</sitecatalog>
EOF

# plan and submit the  workflow
pegasus-plan \
    --conf pegasusrc \
    --sites local \
    --output-site local \
    --dir work \
    --dax blackdiamond.dax \
    --submit

