#!/bin/sh

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

wait_for_services() {
  for svc in ${WAIT_FOR_SERVICES//,/ }
  do
    host=$(printf "%s\n" "$svc"| cut -d : -f 1)
    port=$(printf "%s\n" "$svc"| cut -d : -f 2)
    timeout=$(printf "%s\n" "$svc"| cut -d : -f 3)
    echo "Waiting for service $host:$port(timeout: $timeout seconds) ready"
    /maven/saga/wait-for $host:$port -t $timeout
    result=$?
    if [ $result -eq 0 ] ; then
      echo "Service $host:$port is ready"
    else
      echo "Service $host:$port is not ready"
      exit 1
    fi
  done
}

wait_for_services

exec java $JAVA_OPTS -jar /maven/saga/${project.artifactId}-${project.version}-exec.jar
