File tree Expand file tree Collapse file tree 2 files changed +34
-2
lines changed
commonMain/kotlin/io/zenoh/jni Expand file tree Collapse file tree 2 files changed +34
-2
lines changed Original file line number Diff line number Diff line change @@ -276,7 +276,7 @@ internal class JNISession {
276
276
getViaJNI(
277
277
selector.keyExpr.jniKeyExpr?.ptr ? : 0 ,
278
278
selector.keyExpr.keyExpr,
279
- selector.parameters.toString(),
279
+ selector.parameters? .toString(),
280
280
sessionPtr.get(),
281
281
getCallback,
282
282
fun () {},
@@ -338,7 +338,7 @@ internal class JNISession {
338
338
getViaJNI(
339
339
selector.keyExpr.jniKeyExpr?.ptr ? : 0 ,
340
340
selector.keyExpr.keyExpr,
341
- selector.parameters.toString(),
341
+ selector.parameters? .toString(),
342
342
sessionPtr.get(),
343
343
getCallback,
344
344
handler::onClose,
Original file line number Diff line number Diff line change 15
15
package io .zenoh ;
16
16
17
17
import io .zenoh .exceptions .ZError ;
18
+ import io .zenoh .keyexpr .KeyExpr ;
18
19
import io .zenoh .query .Parameters ;
19
20
import io .zenoh .query .Selector ;
20
21
import org .junit .Test ;
@@ -47,4 +48,35 @@ public void parametersTest() {
47
48
var parameters = Parameters .from ("a=1;b=2;c=1|2|3" );
48
49
assertEquals (List .of ("1" , "2" , "3" ), parameters .values ("c" ));
49
50
}
51
+
52
+ /**
53
+ * Check the queryable properly receives the query's selector with and without parameters.
54
+ */
55
+ @ Test
56
+ public void selectorQueryTest () throws ZError , InterruptedException {
57
+ var session = Zenoh .open (Config .loadDefault ());
58
+ var queryableKeyExpr = KeyExpr .tryFrom ("a/b/**" );
59
+
60
+ Selector [] receivedQuerySelector = new Selector [1 ];
61
+ var queryable = session .declareQueryable (queryableKeyExpr , query -> {
62
+ receivedQuerySelector [0 ] = query .getSelector ();
63
+ query .close ();
64
+ }
65
+ );
66
+
67
+ var querySelector = Selector .tryFrom ("a/b/c" );
68
+ session .get (querySelector , reply -> {
69
+ });
70
+ Thread .sleep (1000 );
71
+ assertEquals (querySelector , receivedQuerySelector [0 ]);
72
+
73
+ var querySelector2 = Selector .tryFrom ("a/b/c?key=value" );
74
+ session .get (querySelector2 , reply -> {
75
+ });
76
+ Thread .sleep (1000 );
77
+ assertEquals (querySelector2 , receivedQuerySelector [0 ]);
78
+
79
+ queryable .close ();
80
+ session .close ();
81
+ }
50
82
}
You can’t perform that action at this time.
0 commit comments