diff --git a/models/handle-model-archives.sh b/models/handle-model-archives.sh index 114c3ddfd3fa88eadebe9d6b60f61ec1c40b8654..133be0b2ff6bc56cd23f297d850a4164b20afc7c 100755 --- a/models/handle-model-archives.sh +++ b/models/handle-model-archives.sh @@ -73,12 +73,20 @@ function extract() { function restore() { export MERGED_MODEL_ARCHIVE="${JOB_DIRECTORY}/merged-models.tar.xz" tar -xpf "${MERGED_MODEL_ARCHIVE}" - mv "${JOB_DIRECTORY}/merged-models/"* "${JOB_DIRECTORY}" + for I in "${JOB_DIRECTORY}/merged-models/"* ; do + if [ -d "$I" ] ; then + TARGET=`basename $I` + if [ -d "${JOB_DIRECTORY}/${TARGET}" ] ; then + rm -rf "${JOB_DIRECTORY}/${TARGET}" + fi + mv "$I" "${JOB_DIRECTORY}" + fi + done rmdir merged-models # xmi and yaml files export MODIFICATIONS_ARCHIVE="${JOB_DIRECTORY}/modifications.tar.xz" tar -xpf "${MODIFICATIONS_ARCHIVE}" - mv modifications/* . + mv -f modifications/* . rmdir modifications } diff --git a/models/mitgcm/handle-model-archives.sh b/models/mitgcm/handle-model-archives.sh new file mode 100755 index 0000000000000000000000000000000000000000..cdb75bfb14f9b472ffc8034d51c2ecf5c5489ba6 --- /dev/null +++ b/models/mitgcm/handle-model-archives.sh @@ -0,0 +1,58 @@ +#!/bin/bash + + +export BASE_DIR=$(cd "$(dirname "$0")"; pwd) + +. "${BASE_DIR}/../../common-functions.rc" + +if [ -f "${BASE_DIR}/../config" ] ; then + . "${BASE_DIR}/../config" +else + echo "Main config file not found." + exit 1 +fi +if [ -f "$BASE_DIR/config" ] ; then + . $BASE_DIR/config +else + echo "Config file not found." + exit 1 +fi + +export JAVA_OPTS="-Dlogback.configurationFile=${BASE_DIR}/logback.xml" + +checkDirectory "Result directory" "${OPTIMIZATION_DATA}" + +for JOB_DIRECTORY in `find "${OPTIMIZATION_DATA}/jss"* -name '*uvic*job'` ; do + BASENAME=`basename $JOB_DIRECTORY` + information "----------------------------------------" + information $BASENAME + information "----------------------------------------" + + export JOB_DIRECTORY + + checkDirectory "job directory" "${JOB_DIRECTORY}" + + export ORIGINAL_ARCHIVE="${JOB_DIRECTORY}/optimized-models.tar.xz" + export OPTIMIZED_ARCHIVE="${JOB_DIRECTORY}/original-model.tar.xz" + export COMBINED_ARCHIVE="${JOB_DIRECTORY}/kieker-repositories.tar.xz" + + cd "${JOB_DIRECTORY}" + + if [ -f "${ORIGINAL_ARCHIVE}" ] && [ -f "${OPTIMIZED_ARCHIVE}" ] ; then + tar -xpf "${ORIGINAL_ARCHIVE}" + tar -xpf "${OPTIMIZED_ARCHIVE}" + elif [ -f "${COMBINED_ARCHIVE}" ] ; then + rm -rf "${JOB_DIRECTORY}/original-model" + for J in "${JOB_DIRECTORY}/optimized-"* ; do + if [ -d "$J" ] ; then + rm -rf "$J" + fi + done + tar -xpf "${COMBINED_ARCHIVE}" + mv "${JOB_DIRECTORY}/kieker-repositories/"* . + else + warning "No data." + fi +done + + diff --git a/models/run-architecture-analysis.sh b/models/run-architecture-analysis.sh index 954156847e57b7b3a4095f491b441ff04c9a0ebe..949ed8f23fa6e94970031cd7eb1229ab15cfca7c 100755 --- a/models/run-architecture-analysis.sh +++ b/models/run-architecture-analysis.sh @@ -22,6 +22,7 @@ if [ "$2" != "" ] ; then export MODEL="$2" else echo "Missing model identifier" + exit fi export JAVA_OPTS="-Dlogback.configurationFile=${BASE_DIR}/logback.xml"