From 72aff76f4f7452ff6a47d2eed82febea52c4cc4e Mon Sep 17 00:00:00 2001
From: Wilson Liu <wliu5@unimelb.edu.au>
Date: Wed, 5 Oct 2022 09:49:21 +1100
Subject: [PATCH] wrapper scripts for unimelb-mf-instrument-upload-find

---
 pom.xml                                       |  2 +-
 .../unimelb/mf/client/instrument/Upload.java  |  4 +--
 .../unix/unimelb-mf-instrument-upload-find    | 31 +++++++++++++++++++
 .../unimelb-mf-instrument-upload-find.cmd     | 21 +++++++++++++
 4 files changed, 55 insertions(+), 3 deletions(-)
 create mode 100644 src/main/scripts/unix/unimelb-mf-instrument-upload-find
 create mode 100644 src/main/scripts/windows/unimelb-mf-instrument-upload-find.cmd

diff --git a/pom.xml b/pom.xml
index 5151385..77d7b13 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
 
 	<groupId>au.edu.unimelb.mf</groupId>
 	<artifactId>unimelb-mf-clients</artifactId>
-	<version>0.6.7</version>
+	<version>0.6.8</version>
 	<packaging>jar</packaging>
 	<name>unimelb-mf-clients</name>
 	<url>https://gitlab.unimelb.edu.au/resplat-mediaflux/unimelb-mf-clients</url>
diff --git a/src/main/java/unimelb/mf/client/instrument/Upload.java b/src/main/java/unimelb/mf/client/instrument/Upload.java
index 2a1d416..aec92a0 100644
--- a/src/main/java/unimelb/mf/client/instrument/Upload.java
+++ b/src/main/java/unimelb/mf/client/instrument/Upload.java
@@ -126,8 +126,8 @@ public class Upload {
     }
 
     public final boolean pathContextMatches(String srcPath) {
-        if (_pathContext != null) {
-            return _pathContext.equals(srcPath);
+        if (_pathContext != null && srcPath!=null) {
+            return _pathContext.replaceFirst("/+$","").equals(srcPath.replaceFirst("/+$", ""));
         }
         return false;
     }
diff --git a/src/main/scripts/unix/unimelb-mf-instrument-upload-find b/src/main/scripts/unix/unimelb-mf-instrument-upload-find
new file mode 100644
index 0000000..f089c1e
--- /dev/null
+++ b/src/main/scripts/unix/unimelb-mf-instrument-upload-find
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# ${ROOT}/bin/
+BIN=$(dirname ${BASH_SOURCE[0]})
+
+# current directory
+CWD=$(pwd)
+
+# ${ROOT}/
+ROOT=$(cd ${BIN}/../../ && pwd && cd ${CWD})
+
+# ${ROOT}/lib/
+LIB=${ROOT}/lib
+
+# ${ROOT}/lib/unimelb-mf-clients.jar
+JAR=${LIB}/unimelb-mf-clients.jar
+
+# check if unimelb-mf-clients.jar exists
+[[ ! -f $JAR ]] && echo "${JAR} is not found." >&2 && exit 2
+
+# JRE included?
+JRE=${ROOT}/jre
+if [[ -d ${JRE} ]]; then
+  JAVA=${JRE}/bin/java
+else
+  JAVA=$(which java)
+  [[ -z ${JAVA} ]] && echo "could not find java" && exit 1
+fi
+
+# execute the command
+$JAVA -XX:+UseG1GC -XX:+UseStringDeduplication -Xmx1g -cp "${JAR}" unimelb.mf.client.instrument.cli.InstrumentUploadFind ${1+"$@"}
diff --git a/src/main/scripts/windows/unimelb-mf-instrument-upload-find.cmd b/src/main/scripts/windows/unimelb-mf-instrument-upload-find.cmd
new file mode 100644
index 0000000..cdc8a44
--- /dev/null
+++ b/src/main/scripts/windows/unimelb-mf-instrument-upload-find.cmd
@@ -0,0 +1,21 @@
+@echo off
+
+setlocal
+
+pushd "%~dp0..\..\"
+set "ROOT=%cd%"
+popd
+
+set "JRE=%ROOT%\jre"
+
+if exist "%JRE%\" (
+    set "JAVA=%JRE%\bin\java"
+) else (
+    set JAVA=java
+)
+
+set JAR=%ROOT%\lib\unimelb-mf-clients.jar
+
+"%JAVA%" -XX:+UseG1GC -XX:+UseStringDeduplication -Xmx1g -cp "%JAR%" unimelb.mf.client.instrument.cli.InstrumentUploadFind %*
+
+endlocal
-- 
GitLab