Skip to content
Snippets Groups Projects
writedb_entry 2.32 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/bin/bash -
    
    
    # This script reads and writes entries from a Chado database.
    
    tjc's avatar
    tjc committed
    # Examples:
    # writedb_entry -help
    # writedb_entry -s Pf3D7_01 Pf3D7_05 Pf3D7_07
    #
    
    # If the environment variable ARTEMIS_JAVA_JRE points to a Java JRE
    # then this JRE will be used in preference to any other.
    
    tjc's avatar
    tjc committed
    
    
    QUIET=no
    
    PROXY_SETTINGS=
    
    add_proxy_properties() {
    
    	if [[ "$http_proxy" = "" ]]
    	then
    		http_proxy=$HTTP_PROXY
    	fi
    	
    	if [[ "$http_proxy" = "" ]]
    	then
    	 	http_proxy=$HTTP_proxy
    	fi
    	
    	if [[ "$http_proxy" != "" ]]
    	then
    		PROXY_SETTINGS="${PROXY_SETTINGS} -DproxySet=true "`echo $http_proxy | sed 's/http:\/\/\(.*\):\(.*\)/ -Dhttp.proxyHost=\1 -Dhttp.proxyPort=\2/'`
    	fi
    }
    
    #
    # Resolve links - $0 may be a link
    #
    
    while [ -h "$PRG" ] ; do
    
    	ls=`ls -ld "$PRG"`
    	link=`expr "$ls" : '.*-> \(.*\)$'`
    	if expr "$link" : '.*/.*' > /dev/null; then
    		PRG="$link"
    	else
    		PRG="`dirname $PRG`/$link"
    	fi
    
    #
    # Allow URLs to work from behind firewalls.
    #
    add_proxy_properties
    
    tjc's avatar
    tjc committed
    
    
    FLAGS="-mx2048m -ms20m -Djdbc.drivers=org.postgresql.Driver -Dibatis"
    DEFAULT_CONNECTION="-Dchado=db.genedb.org:5432/snapshot?genedb_ro -Dread_only"
    APPLICATION_HOME=`dirname "$PRG"`/..
    JAR_NAME=artemis.jar
    
    JAR_FILE_DEFAULT=$APPLICATION_HOME/target/unix-jars/$JAR_NAME
    JAR_FILE_INSTALLED=$APPLICATION_HOME/$JAR_NAME
    
    
    #
    # Use a custom Java version if necessary
    #
    
    if [[ "$ARTEMIS_JAVA_JRE" = "" ]]
    then
    	JAVA=`which java`
    else
    	JAVA_HOME=$ARTEMIS_JAVA_JRE
    	JAVA=$ARTEMIS_JAVA_JRE/bin/java
    fi
    
    JAVA_VERSION=`${JAVA} -version 2>&1`
    echo ${JAVA_VERSION}
    
    tjc's avatar
    tjc committed
    
    
    #
    # Parse arguments.
    #
    
    while test $# != 0
        do
        case $1 in
        -Dchado*)
           DEFAULT_CONNECTION="$1" ;;
    
        -D*)
    
    tjc's avatar
    tjc committed
    
    
    gv1's avatar
    gv1 committed
    # searches for the -c option (needs to know the index)
    idx=0
    for arg in "$@"
    do
    	if [ '-c' == "${arg}" ]; then
    		let "nextID = $idx + 1";
    
    		DEFAULT_CONNECTION="-Dchado=${!nextID}"
    
    gv1's avatar
    gv1 committed
    	fi
    
    tjc's avatar
    tjc committed
    	if [ '-l' == "${arg}" ]; then
    		let "nextID = $idx + 2";
    
            eval MAPPING_PATH="${!nextID}"
    
    tjc's avatar
    tjc committed
    		CLASSPATH="${MAPPING_PATH}:$CLASSPATH"
    		export CLASSPATH
    	fi
    
    gv1's avatar
    gv1 committed
    	let idx++
    done
    
    
    if [[ "$QUIET" = "no" ]]
    then
        echo "Starting writedb_entry with arguments: $PROXY_SETTINGS $DEFAULT_CONNECTION $FLAGS $@"
    fi
    
    
    $JAVA $PROXY_SETTINGS $DEFAULT_CONNECTION $FLAGS -cp "$APPLICATION_HOME:$JAR_FILE_DEFAULT:$JAR_FILE_INSTALLED" uk.ac.sanger.artemis.io.ReadAndWriteEntry "$@"
    
    result=$?
    
    tjc's avatar
    tjc committed
    
    
    exit $result