Repository: quarkusio/quarkus
Issue: quarkus-redis-client: 'fromCoordinate(double, double)' has private access in 'io.quarkus.redis.datasource.geo.GeoSearchArgs' blocking my usage of geosearch FROMLONLAT

### Describe the bug

According to the manual of Redis geosearch command, it supports to calculate the nearist points from the given longitude and latitude as below. However when I want to use this command via quarkus-redis-client, I found the GeoSearchArgs.fromCoordinate() had private access thus I couldn't use it in my code. I believe this method should have public access as the same as GeoSearchArgs.fromMember().

GEOSEARCH key <FROMMEMBER member | FROMLONLAT longitude latitude>
  <BYRADIUS radius <M | KM | FT | MI> | BYBOX width height <M | KM |
  FT | MI>> [ASC | DESC] [COUNT count [ANY]] [WITHCOORD] [WITHDIST]
  [WITHHASH]

### Expected behavior

GeoSearchArgs.fromCoordinate() should have public access as the same as GeoSearchArgs.fromMember().

### Actual behavior

 GeoSearchArgs.fromCoordinate() has private access so I cannot use geosearch FROMLONLAT.

### How to Reproduce?

n/a

### Output of `uname -a` or `ver`

Linux a176656f74a6 5.4.0-117-generic

### Output of `java -version`

openjdk version "17.0.4" 2022-07-19

### GraalVM version (if different from Java)

OpenJDK 64-Bit Server VM GraalVM CE 22.2.0 (build 17.0.4+8-jvmci-22.2-b06, mixed mode, sharing)

### Quarkus version or git rev

2.12.2.Final

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

mavem 3.8.6

### Additional information

_No response_

Changed files:
extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/GeoCommandsTest.java
extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/GeoSearchArgs.java

diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/GeoSearchArgs.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/GeoSearchArgs.java
index 2070507f362..29b2cd9140f 100644
--- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/GeoSearchArgs.java
+++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/GeoSearchArgs.java
@@ -56,7 +56,7 @@ public GeoSearchArgs<V> fromMember(V member) {
      * @param latitude the latitude
      * @return the current {@code GeoSearchArgs}
      */
-    private GeoSearchArgs<V> fromCoordinate(double longitude, double latitude) {
+    public GeoSearchArgs<V> fromCoordinate(double longitude, double latitude) {
         this.longitude = longitude;
         this.latitude = latitude;
         return this;
diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/GeoCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/GeoCommandsTest.java
index 0d2a365de53..ea34b4ef21c 100644
--- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/GeoCommandsTest.java
+++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/GeoCommandsTest.java
@@ -494,6 +494,17 @@ void geosearchWithArgs() {
             assertThat(gv.geohash).isEmpty();
         });
 
+        args = new GeoSearchArgs<Place>().fromCoordinate(CRUSSOL_LONGITUDE, CRUSSOL_LATITUDE)
+                .byRadius(5, GeoUnit.KM).withCoordinates().withDistance().descending();
+        places = geo.geosearch(key, args);
+        assertThat(places).hasSize(1).allSatisfy(gv -> {
+            assertThat(gv.member).isEqualTo(Place.crussol);
+            assertThat(gv.longitude).isNotEmpty();
+            assertThat(gv.latitude).isNotEmpty();
+            assertThat(gv.distance).isNotEmpty();
+            assertThat(gv.geohash).isEmpty();
+        });
+
     }
 
     @Test