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());
     }
 
     /**

Reply via email to