diff --git a/cdm-test-utils/src/main/resources/ucar/unidata/util/test/Dockerfile b/cdm-test-utils/src/main/resources/ucar/unidata/util/test/Dockerfile index ed48604def..6b0b25cb00 100644 --- a/cdm-test-utils/src/main/resources/ucar/unidata/util/test/Dockerfile +++ b/cdm-test-utils/src/main/resources/ucar/unidata/util/test/Dockerfile @@ -6,7 +6,7 @@ USER root # TODO use release version of d4ts #ENV D4TS_WAR_URL https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/d4ts/5.4/d4ts-5.4.war -ENV D4TS_WAR_URL https://artifacts.unidata.ucar.edu/repository/unidata-snapshots/edu/ucar/d4ts/5.5-SNAPSHOT/d4ts-5.5-20240507.221412-201.war +ENV D4TS_WAR_URL https://artifacts.unidata.ucar.edu/repository/unidata-snapshots/edu/ucar/d4ts/5.5-SNAPSHOT/d4ts-5.5-20240603.195123-208.war ENV DTS_WAR_URL https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/dtswar/5.4/dtswar-5.4.war # Install necessary packages diff --git a/cdm/core/src/main/java/thredds/filesystem/MFileOS.java b/cdm/core/src/main/java/thredds/filesystem/MFileOS.java index 3bb3e7ff1a..094a02f6ec 100644 --- a/cdm/core/src/main/java/thredds/filesystem/MFileOS.java +++ b/cdm/core/src/main/java/thredds/filesystem/MFileOS.java @@ -88,9 +88,11 @@ public String getName() { return file.getName(); } + @Nullable @Override public MFile getParent() { - return new MFileOS(file.getParentFile()); + File parent = file.getParentFile(); + return parent == null ? null : new MFileOS(parent); } @Override diff --git a/cdm/core/src/main/java/ucar/nc2/filter/Classifier.java b/cdm/core/src/main/java/ucar/nc2/filter/Classifier.java index 40842fa8b5..42fa157bd7 100644 --- a/cdm/core/src/main/java/ucar/nc2/filter/Classifier.java +++ b/cdm/core/src/main/java/ucar/nc2/filter/Classifier.java @@ -28,7 +28,6 @@ public static Classifier createFromVariable(VariableDS var) { } } - public static Classifier emptyClassifier() { emptyClassifier = new Classifier(); return emptyClassifier; @@ -59,7 +58,6 @@ public int[] classifyWithAttributes(Array arr) { return classifiedArray; } - /** Classify double array */ public int[] classifyDoubleArray(Array arr) { int[] classifiedArray = new int[(int) arr.getSize()]; @@ -136,7 +134,4 @@ public static int[] stringToIntArray(String str) { return intArray; } - } - - diff --git a/cdm/core/src/test/java/ucar/nc2/ncml/TestEnhanceClassifier.java b/cdm/core/src/test/java/ucar/nc2/ncml/TestEnhanceClassifier.java index c7b514fd5c..58acede18f 100644 --- a/cdm/core/src/test/java/ucar/nc2/ncml/TestEnhanceClassifier.java +++ b/cdm/core/src/test/java/ucar/nc2/ncml/TestEnhanceClassifier.java @@ -2,7 +2,6 @@ import static com.google.common.truth.Truth.assertThat; import static ucar.ma2.MAMath.nearlyEquals; - import java.io.IOException; import java.util.Arrays; import java.util.List; @@ -139,4 +138,5 @@ public void testEnhanceClassifier_classification() throws IOException { } } + } diff --git a/cdm/core/src/test/java/ucar/nc2/util/TestURLnaming.java b/cdm/core/src/test/java/ucar/nc2/util/TestURLnaming.java index a0f3771508..6444265fa2 100644 --- a/cdm/core/src/test/java/ucar/nc2/util/TestURLnaming.java +++ b/cdm/core/src/test/java/ucar/nc2/util/TestURLnaming.java @@ -5,6 +5,8 @@ package ucar.nc2.util; +import static com.google.common.truth.Truth.assertThat; + import java.lang.invoke.MethodHandles; import org.junit.Test; import org.slf4j.Logger; @@ -30,6 +32,14 @@ public void testResolve() { testResolve("file://test/me/", "file:/wanna", "file:/wanna"); testResolve("file://test/me/", "C:/wanna", "C:/wanna"); testResolve("http://test/me/", "file:wanna", "file:wanna"); + + testResolve("urlWithoutSlash", "file:///path/with/slash", "file:///path/with/slash"); + } + + @Test + public void testResolveFile() { + assertThat(URLnaming.resolveFile("urlWithoutSlash", "file:///path/with/slash")) + .isEqualTo("file:///path/with/slash"); } private void testResolve(String base, String rel, String result) {