#!/usr/bin/env bash

#####################################################
#                                                   #
#               EDAS Public Trail                   #
#                                                   #
#####################################################

EDAS_BASE_DIR="$HOME/.edas"
AGENT_FILE_NAME="ArmsAgent.tar.gz"

PID_FILENAME="supervisor.pid"
JRE_FILE_NAME="jdk-8u201-linux-x64.tar.gz"
PID_FILE="$EDAS_BASE_DIR/$PID_FILENAME"
DOWNLOAD_URL=http://arms-apm-hangzhou.oss-cn-hangzhou.aliyuncs.com/

EDAS_CREATE_FILE_NAME="edas-create-app.jar"
EDAS_DOWNLOAD_URL="http://edas-public.oss-cn-hangzhou.aliyuncs.com/install_package/"



if [ $# != 3 ] && [ $# != 4 ];
then
	echo "======= 请检查输入参数，使用方式 public-trial.sh  阿里云AK 阿里云SK 可执行Jar包  应用名(可选)==========="
	exit -1
fi


# avoid shell-init: error retrieving current directory

if [ ! -d $EDAS_BASE_DIR ];
then
    mkdir -p $EDAS_BASE_DIR
fi

if [ ! -d $EDAS_BASE_DIR/arms ];
then
    mkdir -p ${EDAS_BASE_DIR}/arms
fi

echo "======= Setup JDK ==========="
if which java >/dev/null 2>&1; then
  echo "Use internal java"
else
  wget ${DOWNLOAD_URL}${JRE_FILE_NAME} -O "${AGENT_BASE_DIR}/${JRE_FILE_NAME}"
  tar -xvf "${AGENT_BASE_DIR}/${JRE_FILE_NAME}" -C ${AGENT_BASE_DIR}
fi


echo "====== DOWNLOAD FILES ======="
wget ${EDAS_DOWNLOAD_URL}${EDAS_CREATE_FILE_NAME} -O "${EDAS_BASE_DIR}/${EDAS_CREATE_FILE_NAME}"
echo "DONE"

echo "========= CLEAN TMP ========="
rm -rf ${EDAS_BASE_DIR}/${JRE_FILE_NAME}
echo "DONE"

echo "======== START ======="


java -jar ${EDAS_BASE_DIR}/edas-create-app.jar $1 $2 $3 $4 > $EDAS_BASE_DIR/result

result=`cat $EDAS_BASE_DIR/result`

if [[ $result == *"失败"* ]]; then
  echo $result
  exit -1
fi

tenant_id=`echo $result|awk -F ' ' '{print $1}'`

secrect_key=`echo $result|awk -F ' ' '{print $2}'`

access_key=`echo $result|awk -F ' ' '{print $3}'`

address_server_domain=`echo $result|awk -F ' ' '{print $4}'`

app_id=`echo $result|awk -F ' ' '{print $5}'`

app_name=`echo $result|awk -F ' ' '{print $6}'`

if [ ! -d "$EDAS_BASE_DIR/.spas_key" ]; then
  mkdir $EDAS_BASE_DIR/.spas_key
fi

echo "tenantId=$tenant_id" > $EDAS_BASE_DIR/.spas_key/public

echo "accessKey=$access_key" >> $EDAS_BASE_DIR/.spas_key/public

echo "secretKey=$secrect_key" >> $EDAS_BASE_DIR/.spas_key/public

echo address_server_domain $address_server_domain

echo app_id $app_id

echo app_name $app_name

export APPID=$app_id

export ALIBABA_ALIWARE_NAMESPACE=$tenant_id

export ALIBABA_ALIWARE_ENDPOINT_URL=$address_server_domain

export ALIBABA_ALIWARE_ENDPOINT_PORT=8080



echo "====== DOWNLOAD FILES ======="
wget ${DOWNLOAD_URL}${AGENT_FILE_NAME} -O "${EDAS_BASE_DIR}/${AGENT_FILE_NAME}"
echo "DONE"


echo "======== UNZIP FILES ========"
tar -xvf "${EDAS_BASE_DIR}/${AGENT_FILE_NAME}" -C ${EDAS_BASE_DIR}
mv ${EDAS_BASE_DIR}/ArmsAgent/* ${EDAS_BASE_DIR}/arms


ARMS_JAR_FILE_NAME=`ls $EDAS_BASE_DIR/arms | grep arms-bootstrap`


echo "========= CLEAN TMP ========="
rm -rf ${EDAS_BASE_DIR}/${AGENT_FILE_NAME}
rm -rf ${EDAS_BASE_DIR}/ArmsAgent
chmod 777 ${EDAS_BASE_DIR}
echo "DONE"

open "http://edas.console.aliyun.com/?accounttraceid=1#/detail/$app_id/iframeArmsHome?regionNo=public&regionId=public&appName=$app_name&dockerize=false&clusterType=6&applicationType=FatJar"

java  -Dtenant.id=$tenant_id -Dproject.name=$app_id -Dspas.identity=$EDAS_BASE_DIR/.spas_key/public -Dprofiler.micro.service.metadata.report.enable=true -Daddress.server.domain=$address_server_domain -Daddress.server.port=8080 -Dconfigserver.client.port=8000 -javaagent:$EDAS_BASE_DIR/arms/$ARMS_JAR_FILE_NAME  -jar $3 
