#!/bin/bash

# Start the application httpd instance

function print_help {
    echo "Usage: $0 app-name namespace uuid"
    echo "Start a running application"

    echo "$0 $@" | logger -p local0.notice -t openshift_origin_httpd_start
    exit 1
}

while getopts 'd' OPTION
do
    case $OPTION in
        d) set -x
        ;;
        ?) print_help
        ;;
    esac
done


[ $# -eq 3 ] || print_help

source "/etc/openshift/node.conf"
source ${CARTRIDGE_BASE_PATH}/abstract/info/lib/util

CART_NS=$(get_cartridge_namespace_from_path)
OPENSHIFT_JBOSS_REMOTING_PORT=$(get_env_var_dynamic "OPENSHIFT_${CART_NS}_REMOTING_PORT")
OPENSHIFT_JBOSS_CLUSTER_PORT=$(get_env_var_dynamic "OPENSHIFT_${CART_NS}_CLUSTER_PORT")
OPENSHIFT_JBOSS_MESSAGING_PORT=$(get_env_var_dynamic "OPENSHIFT_${CART_NS}_MESSAGING_PORT")
OPENSHIFT_JBOSS_MESSAGING_THROUGHPUT_PORT=$(get_env_var_dynamic "OPENSHIFT_${CART_NS}_MESSAGING_THROUGHPUT_PORT")

setup_configure "$1" $2 $3

import_env_vars

rm -f $APP_HOME/.env/OPENSHIFT_${CART_NS}_PROXY_PORT $APP_HOME/.env/OPENSHIFT_${CART_NS}_CLUSTER_PROXY_PORT

proxy_port=$(remove_proxy_port $uuid "$OPENSHIFT_INTERNAL_IP:$OPENSHIFT_INTERNAL_PORT")
ret=$?

cluster_port=$(find_next_proxy_port $uuid "$OPENSHIFT_INTERNAL_IP:$OPENSHIFT_JBOSS_CLUSTER_PORT")
ret=$(( $ret | $? ))

remoting_port=$(find_next_proxy_port $uuid "$OPENSHIFT_INTERNAL_IP:$OPENSHIFT_JBOSS_REMOTING_PORT")
ret=$(( $ret | $? ))

messaging_port=$(find_next_proxy_port $uuid "$OPENSHIFT_INTERNAL_IP:$OPENSHIFT_JBOSS_MESSAGING_PORT")
ret=$(( $ret | $? ))

messaging_throughput_port=$(find_next_proxy_port $uuid "$OPENSHIFT_INTERNAL_IP:$OPENSHIFT_JBOSS_MESSAGING_THROUGHPUT_PORT")
ret=$(( $ret | $? ))

if [ $ret -ne 0 ]; then
  client_error "$proxy_port"
  client_error "$cluster_port"
  client_error "$remoting_port"
  client_error "$messaging_port"
  client_error "$messaging_throughput_port"
  exit $ret
fi
exit 0
