#!/bin/bash
set -euo pipefail
set -x

new_property_for_glue="<property>\n<name>hive.metastore.client.factory.class</name>\n<value>com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory</value>\n</property>"
record_server_hive_site_file=/etc/emr-record-server/conf/hive-site.xml
record_server_startup_script_file=/etc/emr-record-server/conf/recordserver-env.sh

new_property_for_glue_formatted=$(echo $new_property_for_glue | sed 's/\//\\\//g')

if grep -F "AWSGlueDataCatalogHiveClientFactory" $record_server_hive_site_file
then
    echo "property already exists in file $record_server_hive_site_file"
else
    sudo sed -i "/<\/configuration>/ s/.*/${new_property_for_glue_formatted}\n&/" $record_server_hive_site_file
fi

if grep -F "aws-glue-datacatalog-spark-client" $record_server_startup_script_file
then
    echo "property already exists in file $record_server_startup_script_file"
else
    sudo sed -i 's|"$|:/usr/share/aws/hmclient/lib/aws-glue-datacatalog-spark-client.jar"|' $record_server_startup_script_file
fi

sudo systemctl stop emr-record-server
sudo systemctl start emr-record-server