Skip to content
Snippets Groups Projects
writedb_entry 2.32 KiB
Newer Older
#!/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/jars/$JAR_NAME
JAR_FILE_INSTALLED=$APPLICATION_HOME/dist/$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