This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit 363c708f4bf856aa329ce2bc3dac6970a6461ebb Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Thu Sep 26 11:27:53 2024 +0200 Move resources in the package that use them, with a test for ensuring that they are accessible. --- .../sis/cloud/aws/internal/package-info.java | 29 ---------------------- .../org/apache/sis/cloud/aws/s3/FileService.java | 1 - .../main/org/apache/sis/cloud/aws/s3/KeyPath.java | 1 - .../apache/sis/cloud/aws/s3/ObjectAttributes.java | 1 - .../sis/cloud/aws/{internal => s3}/Resources.java | 6 ++--- .../aws/{internal => s3}/Resources.properties | 0 .../cloud/aws/{internal => s3}/Resources_en.java | 4 +-- .../cloud/aws/{internal => s3}/Resources_fr.java | 4 +-- .../aws/{internal => s3}/Resources_fr.properties | 0 .../sis/cloud/aws/s3/KeyPathMatcherTest.java | 13 ++++++++++ .../org/apache/sis/cloud/aws/s3/KeyPathTest.java | 8 ++---- 11 files changed, 22 insertions(+), 45 deletions(-) diff --git a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/package-info.java b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/package-info.java deleted file mode 100644 index 1fbd162536..0000000000 --- a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/package-info.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -/** - * Resources for AWS S3 wrappers. - * - * <STRONG>Do not use!</STRONG> - * - * This package is for internal use by SIS only. Classes in this package - * may change in incompatible ways in any future version without notice. - * - * @author Martin Desruisseaux (Geomatys) - */ -package org.apache.sis.cloud.aws.internal; diff --git a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/FileService.java b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/FileService.java index 41898f0e89..d9a982e2c5 100644 --- a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/FileService.java +++ b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/FileService.java @@ -57,7 +57,6 @@ import org.apache.sis.util.CharSequences; import org.apache.sis.util.ArgumentChecks; import org.apache.sis.util.resources.Errors; import org.apache.sis.util.collection.Containers; -import org.apache.sis.cloud.aws.internal.Resources; /** diff --git a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/KeyPath.java b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/KeyPath.java index eb9059ebb4..bb876f4f6c 100644 --- a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/KeyPath.java +++ b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/KeyPath.java @@ -35,7 +35,6 @@ import software.amazon.awssdk.services.s3.model.S3Object; import software.amazon.awssdk.services.s3.model.ListObjectsV2Request; import org.apache.sis.util.CharSequences; import org.apache.sis.util.resources.Errors; -import org.apache.sis.cloud.aws.internal.Resources; /** diff --git a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/ObjectAttributes.java b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/ObjectAttributes.java index 09a9464c7d..27b71256bb 100644 --- a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/ObjectAttributes.java +++ b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/ObjectAttributes.java @@ -28,7 +28,6 @@ import software.amazon.awssdk.services.s3.model.S3Object; import software.amazon.awssdk.core.exception.SdkException; import org.apache.sis.util.ArraysExt; import org.apache.sis.util.CharSequences; -import org.apache.sis.cloud.aws.internal.Resources; /** diff --git a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources.java b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources.java similarity index 97% rename from endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources.java rename to endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources.java index 75b6d83585..d7afb279a9 100644 --- a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources.java +++ b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.sis.cloud.aws.internal; +package org.apache.sis.cloud.aws.s3; import java.io.InputStream; import java.util.Locale; @@ -30,7 +30,7 @@ import org.apache.sis.util.resources.IndexedResourceBundle; * * @author Martin Desruisseaux (Geomatys) */ -public class Resources extends IndexedResourceBundle { +class Resources extends IndexedResourceBundle { /** * Resource keys. This class is used when compiling sources, but no dependencies to * {@code Keys} should appear in any resulting class files. Since the Java compiler @@ -39,7 +39,7 @@ public class Resources extends IndexedResourceBundle { * * @author Martin Desruisseaux (IRD, Geomatys) */ - public static final class Keys extends KeyConstants { + static final class Keys extends KeyConstants { /** * The unique instance of key constants handler. */ diff --git a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources.properties b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources.properties similarity index 100% rename from endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources.properties rename to endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources.properties diff --git a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources_en.java b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources_en.java similarity index 91% rename from endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources_en.java rename to endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources_en.java index 35d1958ccf..0baccf12b0 100644 --- a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources_en.java +++ b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources_en.java @@ -14,13 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.sis.cloud.aws.internal; +package org.apache.sis.cloud.aws.s3; /** * Resource in English language. */ -public class Resources_en extends Resources { +final class Resources_en extends Resources { /** * Constructs a new resource bundle loading data from * the resource file of the same name as this class. diff --git a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources_fr.java b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources_fr.java similarity index 91% rename from endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources_fr.java rename to endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources_fr.java index be96313444..cd39fce007 100644 --- a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources_fr.java +++ b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources_fr.java @@ -14,13 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.sis.cloud.aws.internal; +package org.apache.sis.cloud.aws.s3; /** * Messages in French language. */ -public class Resources_fr extends Resources { +final class Resources_fr extends Resources { /** * Constructs a new resource bundle loading data from * the resource file of the same name as this class. diff --git a/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources_fr.properties b/endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources_fr.properties similarity index 100% rename from endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/internal/Resources_fr.properties rename to endorsed/src/org.apache.sis.cloud.aws/main/org/apache/sis/cloud/aws/s3/Resources_fr.properties diff --git a/endorsed/src/org.apache.sis.cloud.aws/test/org/apache/sis/cloud/aws/s3/KeyPathMatcherTest.java b/endorsed/src/org.apache.sis.cloud.aws/test/org/apache/sis/cloud/aws/s3/KeyPathMatcherTest.java index d0acf85c8f..d885cff380 100644 --- a/endorsed/src/org.apache.sis.cloud.aws/test/org/apache/sis/cloud/aws/s3/KeyPathMatcherTest.java +++ b/endorsed/src/org.apache.sis.cloud.aws/test/org/apache/sis/cloud/aws/s3/KeyPathMatcherTest.java @@ -17,6 +17,7 @@ package org.apache.sis.cloud.aws.s3; // Test dependencies +import java.util.Locale; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; import org.apache.sis.test.TestCase; @@ -44,4 +45,16 @@ public final class KeyPathMatcherTest extends TestCase { assertTrue (matcher.matches(new KeyPath(fs, "bar_skip_foo/fuu/d1/d2/d3/f_i", false))); assertFalse(matcher.matches(new KeyPath(fs, "bar_sk/p_foo/fuu/d1/d2/d3/f_i", false))); } + + /** + * Ensures that the localized resources can be read. + * This is not really a {@code KeyPathMatcher} test, but is put here opportunistically. + */ + @Test + public void testResource() { + assertEquals("Unexpected “foo” protocol.", + Resources.forLocale(Locale.ENGLISH).getString(Resources.Keys.UnexpectedProtocol_1, "foo")); + assertEquals("Le protocole « foo » est inattendu.", + Resources.forLocale(Locale.FRENCH).getString(Resources.Keys.UnexpectedProtocol_1, "foo")); + } } diff --git a/endorsed/src/org.apache.sis.cloud.aws/test/org/apache/sis/cloud/aws/s3/KeyPathTest.java b/endorsed/src/org.apache.sis.cloud.aws/test/org/apache/sis/cloud/aws/s3/KeyPathTest.java index 174703b855..f3ce186b69 100644 --- a/endorsed/src/org.apache.sis.cloud.aws/test/org/apache/sis/cloud/aws/s3/KeyPathTest.java +++ b/endorsed/src/org.apache.sis.cloud.aws/test/org/apache/sis/cloud/aws/s3/KeyPathTest.java @@ -143,12 +143,8 @@ public final class KeyPathTest extends TestCase { assertEquals("second", relative.getName(0).toString()); assertEquals("third", relative.getName(1).toString()); assertEquals("the-file", relative.getName(2).toString()); - try { - absolute.getName(5); - fail("Expected an exception."); - } catch (IllegalArgumentException e) { - assertNotNull(e.getMessage()); - } + var e = assertThrows(IllegalArgumentException.class, () -> absolute.getName(5)); + assertNotNull(e.getMessage()); } /**