Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 3834c4a

Browse files
authored
[DE-991] Wildcard generic aql bind vars (#612)
* wildcard generic type in AQL bindVars * v7.22.0-SNAPSHOT
1 parent 678dbf0 commit 3834c4a

File tree

31 files changed

+58
-63
lines changed

31 files changed

+58
-63
lines changed

‎core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<relativePath>../release-parent</relativePath>
99
<groupId>com.arangodb</groupId>
1010
<artifactId>release-parent</artifactId>
11-
<version>7.21.0</version>
11+
<version>7.22.0-SNAPSHOT</version>
1212
</parent>
1313

1414
<name>core</name>

‎core/src/main/java/com/arangodb/ArangoDatabase.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ public interface ArangoDatabase extends ArangoSerdeAccessor {
254254
* @see <a href="https://docs.arangodb.com/stable/develop/http-api/queries/aql-queries/#create-a-cursor">API
255255
* Documentation</a>
256256
*/
257-
<T> ArangoCursor<T> query(String query, Class<T> type, Map<String, Object> bindVars, AqlQueryOptions options);
257+
<T> ArangoCursor<T> query(String query, Class<T> type, Map<String, ?> bindVars, AqlQueryOptions options);
258258

259259
/**
260260
* Performs a database query using the given {@code query}, then returns a new {@code ArangoCursor} instance for the
@@ -280,7 +280,7 @@ public interface ArangoDatabase extends ArangoSerdeAccessor {
280280
* @see <a href="https://docs.arangodb.com/stable/develop/http-api/queries/aql-queries/#create-a-cursor">API
281281
* Documentation</a>
282282
*/
283-
<T> ArangoCursor<T> query(String query, Class<T> type, Map<String, Object> bindVars);
283+
<T> ArangoCursor<T> query(String query, Class<T> type, Map<String, ?> bindVars);
284284

285285
/**
286286
* Performs a database query using the given {@code query}, then returns a new {@code ArangoCursor} instance for the
@@ -355,11 +355,10 @@ public interface ArangoDatabase extends ArangoSerdeAccessor {
355355
* @return information about the query
356356
* @see <a href="https://docs.arangodb.com/stable/develop/http-api/queries/aql-queries/#explain-an-aql-query">API
357357
* Documentation</a>
358-
*
359358
* @deprecated for removal, use {@link ArangoDatabase#explainAqlQuery(String, Map, AqlQueryExplainOptions)} instead
360359
*/
361360
@Deprecated
362-
AqlExecutionExplainEntity explainQuery(String query, Map<String, Object> bindVars, AqlQueryExplainOptions options);
361+
AqlExecutionExplainEntity explainQuery(String query, Map<String, ?> bindVars, AqlQueryExplainOptions options);
363362

364363
/**
365364
* Explain an AQL query and return information about it
@@ -370,11 +369,10 @@ public interface ArangoDatabase extends ArangoSerdeAccessor {
370369
* @return information about the query
371370
* @see <a href="https://docs.arangodb.com/stable/develop/http-api/queries/aql-queries/#explain-an-aql-query">API
372371
* Documentation</a>
373-
*
374372
* @deprecated for removal, use {@link ArangoDatabase#explainAqlQuery(String, Map, ExplainAqlQueryOptions)} instead
375373
*/
376374
@Deprecated
377-
AqlQueryExplainEntity explainAqlQuery(String query, Map<String, Object> bindVars, AqlQueryExplainOptions options);
375+
AqlQueryExplainEntity explainAqlQuery(String query, Map<String, ?> bindVars, AqlQueryExplainOptions options);
378376

379377

380378
/**
@@ -387,7 +385,7 @@ public interface ArangoDatabase extends ArangoSerdeAccessor {
387385
* @see <a href="https://docs.arangodb.com/stable/develop/http-api/queries/aql-queries/#explain-an-aql-query">API
388386
* Documentation</a>
389387
*/
390-
AqlQueryExplainEntity explainAqlQuery(String query, Map<String, Object> bindVars, ExplainAqlQueryOptions options);
388+
AqlQueryExplainEntity explainAqlQuery(String query, Map<String, ?> bindVars, ExplainAqlQueryOptions options);
391389

392390
/**
393391
* Parse an AQL query and return information about it This method is for query validation only. To actually query

‎core/src/main/java/com/arangodb/ArangoDatabaseAsync.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -146,11 +146,11 @@ public interface ArangoDatabaseAsync extends ArangoSerdeAccessor {
146146
*/
147147
CompletableFuture<Permissions> getPermissions(String user);
148148

149-
<T> CompletableFuture<ArangoCursorAsync<T>> query(String query, Class<T> type, Map<String, Object> bindVars, AqlQueryOptions options);
149+
<T> CompletableFuture<ArangoCursorAsync<T>> query(String query, Class<T> type, Map<String, ?> bindVars, AqlQueryOptions options);
150150

151151
<T> CompletableFuture<ArangoCursorAsync<T>> query(String query, Class<T> type, AqlQueryOptions options);
152152

153-
<T> CompletableFuture<ArangoCursorAsync<T>> query(String query, Class<T> type, Map<String, Object> bindVars);
153+
<T> CompletableFuture<ArangoCursorAsync<T>> query(String query, Class<T> type, Map<String, ?> bindVars);
154154

155155
<T> CompletableFuture<ArangoCursorAsync<T>> query(String query, Class<T> type);
156156

@@ -168,20 +168,20 @@ public interface ArangoDatabaseAsync extends ArangoSerdeAccessor {
168168
* @deprecated for removal, use {@link ArangoDatabaseAsync#explainAqlQuery(String, Map, AqlQueryExplainOptions)} instead
169169
*/
170170
@Deprecated
171-
CompletableFuture<AqlExecutionExplainEntity> explainQuery(String query, Map<String, Object> bindVars, AqlQueryExplainOptions options);
171+
CompletableFuture<AqlExecutionExplainEntity> explainQuery(String query, Map<String, ?> bindVars, AqlQueryExplainOptions options);
172172

173173
/**
174174
* Asynchronous version of {@link ArangoDatabase#explainAqlQuery(String, Map, AqlQueryExplainOptions)}
175175
*
176176
* @deprecated for removal, use {@link ArangoDatabaseAsync#explainAqlQuery(String, Map, ExplainAqlQueryOptions)} instead
177177
*/
178178
@Deprecated
179-
CompletableFuture<AqlQueryExplainEntity> explainAqlQuery(String query, Map<String, Object> bindVars, AqlQueryExplainOptions options);
179+
CompletableFuture<AqlQueryExplainEntity> explainAqlQuery(String query, Map<String, ?> bindVars, AqlQueryExplainOptions options);
180180

181181
/**
182182
* Asynchronous version of {@link ArangoDatabase#explainAqlQuery(String, Map, ExplainAqlQueryOptions)}
183183
*/
184-
CompletableFuture<AqlQueryExplainEntity> explainAqlQuery(String query, Map<String, Object> bindVars, ExplainAqlQueryOptions options);
184+
CompletableFuture<AqlQueryExplainEntity> explainAqlQuery(String query, Map<String, ?> bindVars, ExplainAqlQueryOptions options);
185185

186186
/**
187187
* Asynchronous version of {@link ArangoDatabase#parseQuery(String)}

‎core/src/main/java/com/arangodb/internal/ArangoDatabaseAsyncImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ public CompletableFuture<Permissions> getPermissions(final String user) {
169169

170170
@Override
171171
public <T> CompletableFuture<ArangoCursorAsync<T>> query(
172-
final String query, final Class<T> type, final Map<String, Object> bindVars, final AqlQueryOptions options) {
172+
final String query, final Class<T> type, final Map<String, ?> bindVars, final AqlQueryOptions options) {
173173
final InternalRequest request = queryRequest(query, bindVars, options);
174174
final HostHandle hostHandle = new HostHandle();
175175
return executorAsync().execute(() -> request, cursorEntityDeserializer(type), hostHandle)
@@ -182,7 +182,7 @@ public <T> CompletableFuture<ArangoCursorAsync<T>> query(String query, Class<T>
182182
}
183183

184184
@Override
185-
public <T> CompletableFuture<ArangoCursorAsync<T>> query(String query, Class<T> type, Map<String, Object> bindVars) {
185+
public <T> CompletableFuture<ArangoCursorAsync<T>> query(String query, Class<T> type, Map<String, ?> bindVars) {
186186
return query(query, type, bindVars, new AqlQueryOptions());
187187
}
188188

@@ -219,18 +219,18 @@ public <T> CompletableFuture<ArangoCursorAsync<T>> cursor(String cursorId, Class
219219

220220
@Override
221221
public CompletableFuture<AqlExecutionExplainEntity> explainQuery(
222-
final String query, final Map<String, Object> bindVars, final AqlQueryExplainOptions options) {
222+
final String query, final Map<String, ?> bindVars, final AqlQueryExplainOptions options) {
223223
return executorAsync().execute(() -> explainQueryRequest(query, bindVars, options), AqlExecutionExplainEntity.class);
224224
}
225225

226226
@Override
227227
public CompletableFuture<AqlQueryExplainEntity> explainAqlQuery(
228-
String query, Map<String, Object> bindVars, AqlQueryExplainOptions options) {
228+
String query, Map<String, ?> bindVars, AqlQueryExplainOptions options) {
229229
return executorAsync().execute(() -> explainQueryRequest(query, bindVars, options), AqlQueryExplainEntity.class);
230230
}
231231

232232
@Override
233-
public CompletableFuture<AqlQueryExplainEntity> explainAqlQuery(String query, Map<String, Object> bindVars, ExplainAqlQueryOptions options) {
233+
public CompletableFuture<AqlQueryExplainEntity> explainAqlQuery(String query, Map<String, ?> bindVars, ExplainAqlQueryOptions options) {
234234
return executorAsync().execute(() -> explainQueryRequest(query, bindVars, options), AqlQueryExplainEntity.class);
235235
}
236236

‎core/src/main/java/com/arangodb/internal/ArangoDatabaseImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -162,15 +162,15 @@ public Permissions getPermissions(final String user) {
162162

163163
@Override
164164
public <T> ArangoCursor<T> query(
165-
final String query, final Class<T> type, final Map<String, Object> bindVars, final AqlQueryOptions options) {
165+
final String query, final Class<T> type, final Map<String, ?> bindVars, final AqlQueryOptions options) {
166166
final InternalRequest request = queryRequest(query, bindVars, options);
167167
final HostHandle hostHandle = new HostHandle();
168168
final CursorEntity<T> result = executorSync().execute(request, cursorEntityDeserializer(type), hostHandle);
169169
return createCursor(result, type, options, hostHandle);
170170
}
171171

172172
@Override
173-
public <T> ArangoCursor<T> query(final String query, final Class<T> type, final Map<String, Object> bindVars) {
173+
public <T> ArangoCursor<T> query(final String query, final Class<T> type, final Map<String, ?> bindVars) {
174174
return query(query, type, bindVars, new AqlQueryOptions());
175175
}
176176

@@ -240,17 +240,17 @@ public void close(final String id) {
240240

241241
@Override
242242
public AqlExecutionExplainEntity explainQuery(
243-
final String query, final Map<String, Object> bindVars, final AqlQueryExplainOptions options) {
243+
final String query, final Map<String, ?> bindVars, final AqlQueryExplainOptions options) {
244244
return executorSync().execute(explainQueryRequest(query, bindVars, options), AqlExecutionExplainEntity.class);
245245
}
246246

247247
@Override
248-
public AqlQueryExplainEntity explainAqlQuery(String query, Map<String, Object> bindVars, AqlQueryExplainOptions options) {
248+
public AqlQueryExplainEntity explainAqlQuery(String query, Map<String, ?> bindVars, AqlQueryExplainOptions options) {
249249
return executorSync().execute(explainQueryRequest(query, bindVars, options), AqlQueryExplainEntity.class);
250250
}
251251

252252
@Override
253-
public AqlQueryExplainEntity explainAqlQuery(String query, Map<String, Object> bindVars, ExplainAqlQueryOptions options) {
253+
public AqlQueryExplainEntity explainAqlQuery(String query, Map<String, ?> bindVars, ExplainAqlQueryOptions options) {
254254
return executorSync().execute(explainQueryRequest(query, bindVars, options), AqlQueryExplainEntity.class);
255255
}
256256

‎core/src/main/java/com/arangodb/internal/InternalArangoDatabase.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ protected ResponseDeserializer<Permissions> getPermissionsResponseDeserialzer()
140140
Permissions.class);
141141
}
142142

143-
protected InternalRequest queryRequest(final String query, final Map<String, Object> bindVars,
143+
protected InternalRequest queryRequest(final String query, final Map<String, ?> bindVars,
144144
final AqlQueryOptions options) {
145145
final AqlQueryOptions opt = options != null ? options : new AqlQueryOptions();
146146
final InternalRequest request = request(name, RequestType.POST, PATH_API_CURSOR)
@@ -172,14 +172,14 @@ protected InternalRequest queryCloseRequest(final String id, final AqlQueryOptio
172172
return request;
173173
}
174174

175-
protected InternalRequest explainQueryRequest(final String query, final Map<String, Object> bindVars,
175+
protected InternalRequest explainQueryRequest(final String query, final Map<String, ?> bindVars,
176176
final AqlQueryExplainOptions options) {
177177
final AqlQueryExplainOptions opt = options != null ? options : new AqlQueryExplainOptions();
178178
return request(name, RequestType.POST, PATH_API_EXPLAIN)
179179
.setBody(getSerde().serialize(OptionsBuilder.build(opt, query, bindVars)));
180180
}
181181

182-
protected InternalRequest explainQueryRequest(final String query, final Map<String, Object> bindVars,
182+
protected InternalRequest explainQueryRequest(final String query, final Map<String, ?> bindVars,
183183
final ExplainAqlQueryOptions options) {
184184
final ExplainAqlQueryOptions opt = options != null ? options : new ExplainAqlQueryOptions();
185185
return request(name, RequestType.POST, PATH_API_EXPLAIN)

‎core/src/main/java/com/arangodb/model/AqlQueryExplainOptions.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
@Deprecated
3636
public final class AqlQueryExplainOptions {
3737

38-
private Map<String, Object> bindVars;
38+
private Map<String, ?> bindVars;
3939
private String query;
4040
private Options options;
4141

@@ -44,15 +44,15 @@ public AqlQueryExplainOptions() {
4444
}
4545

4646
@UserDataInside
47-
public Map<String, Object> getBindVars() {
47+
public Map<String, ?> getBindVars() {
4848
return bindVars;
4949
}
5050

5151
/**
5252
* @param bindVars key/value pairs representing the bind parameters
5353
* @return options
5454
*/
55-
AqlQueryExplainOptions bindVars(final Map<String, Object> bindVars) {
55+
AqlQueryExplainOptions bindVars(final Map<String, ?> bindVars) {
5656
this.bindVars = bindVars;
5757
return this;
5858
}

‎core/src/main/java/com/arangodb/model/AqlQueryOptions.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public final class AqlQueryOptions extends TransactionalOptions<AqlQueryOptions>
3636

3737
private Boolean allowDirtyRead;
3838
private Integer batchSize;
39-
private Map<String, Object> bindVars;
39+
private Map<String, ?> bindVars;
4040
private Boolean cache;
4141
private Boolean count;
4242
private Long memoryLimit;
@@ -87,7 +87,7 @@ public AqlQueryOptions batchSize(final Integer batchSize) {
8787
}
8888

8989
@UserDataInside
90-
public Map<String, Object> getBindVars() {
90+
public Map<String, ?> getBindVars() {
9191
return bindVars;
9292
}
9393

@@ -97,7 +97,7 @@ public Map<String, Object> getBindVars() {
9797
* variable {@code @@coll}, use {@code @coll} as the attribute name.
9898
* @return this
9999
*/
100-
AqlQueryOptions bindVars(final Map<String, Object> bindVars) {
100+
AqlQueryOptions bindVars(final Map<String, ?> bindVars) {
101101
this.bindVars = bindVars;
102102
return this;
103103
}

‎core/src/main/java/com/arangodb/model/ExplainAqlQueryOptions.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
*/
3333
public final class ExplainAqlQueryOptions {
3434

35-
private Map<String, Object> bindVars;
35+
private Map<String, ?> bindVars;
3636
private String query;
3737
private AqlQueryOptions.Options options;
3838

@@ -41,15 +41,15 @@ public ExplainAqlQueryOptions() {
4141
}
4242

4343
@UserDataInside
44-
public Map<String, Object> getBindVars() {
44+
public Map<String, ?> getBindVars() {
4545
return bindVars;
4646
}
4747

4848
/**
4949
* @param bindVars key/value pairs representing the bind parameters
5050
* @return options
5151
*/
52-
ExplainAqlQueryOptions bindVars(final Map<String, Object> bindVars) {
52+
ExplainAqlQueryOptions bindVars(final Map<String, ?> bindVars) {
5353
this.bindVars = bindVars;
5454
return this;
5555
}

‎core/src/main/java/com/arangodb/model/OptionsBuilder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,21 +71,21 @@ public static CollectionCreateOptions build(final CollectionCreateOptions option
7171
}
7272

7373
public static AqlQueryOptions build(final AqlQueryOptions options, final String query,
74-
final Map<String, Object> bindVars) {
74+
final Map<String, ?> bindVars) {
7575
return options.query(query).bindVars(bindVars);
7676
}
7777

7878
public static AqlQueryExplainOptions build(
7979
final AqlQueryExplainOptions options,
8080
final String query,
81-
final Map<String, Object> bindVars) {
81+
final Map<String, ?> bindVars) {
8282
return options.query(query).bindVars(bindVars);
8383
}
8484

8585
public static ExplainAqlQueryOptions build(
8686
final ExplainAqlQueryOptions options,
8787
final String query,
88-
final Map<String, Object> bindVars) {
88+
final Map<String, ?> bindVars) {
8989
return options.query(query).bindVars(bindVars);
9090
}
9191

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /