Skip to content

Commit c2e04f3

Browse files
committed
updtes orientdb API
1 parent b561d1b commit c2e04f3

File tree

6 files changed

+61
-57
lines changed

6 files changed

+61
-57
lines changed

orientdb-driver/src/main/java/org/jnosql/diana/orientdb/document/DefaultOrientDBDocumentCollectionManager.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import java.util.List;
3434
import java.util.Map;
3535
import java.util.Objects;
36+
import java.util.stream.Stream;
3637
import java.util.stream.StreamSupport;
3738

3839
import static java.util.Objects.requireNonNull;
@@ -123,7 +124,7 @@ public void delete(DocumentDeleteQuery query) {
123124

124125

125126
@Override
126-
public List<DocumentEntity> select(DocumentQuery query) {
127+
public Stream<DocumentEntity> select(DocumentQuery query) {
127128
requireNonNull(query, "query is required");
128129
QueryOSQLFactory.QueryResult orientQuery = QueryOSQLFactory.to(query);
129130

@@ -139,7 +140,7 @@ public List<DocumentEntity> select(DocumentQuery query) {
139140
.map(o -> OrientDBConverter.convert((ODocument) o))
140141
.forEach(entities::add);
141142
}
142-
return entities;
143+
return entities.stream();
143144
}
144145
}
145146

@@ -157,24 +158,23 @@ public long count(String documentCollection) {
157158
}
158159

159160
@Override
160-
public List<DocumentEntity> sql(String query, Object... params) {
161+
public Stream<DocumentEntity> sql(String query, Object... params) {
161162
requireNonNull(query, "query is required");
162163
try (ODatabaseSession tx = pool.acquire();
163164
OResultSet resultSet = tx.command(query, params)) {
164-
return OrientDBConverter.convert(resultSet);
165+
return OrientDBConverter.convert(resultSet).stream();
165166
}
166167

167168
}
168169

169170
@Override
170-
public List<DocumentEntity> sql(String query, Map<String, Object> params) {
171+
public Stream<DocumentEntity> sql(String query, Map<String, Object> params) {
171172
requireNonNull(query, "query is required");
172173
requireNonNull(params, "params is required");
173174

174175
try (ODatabaseSession tx = pool.acquire();
175176
OResultSet resultSet = tx.command(query, params)) {
176-
return OrientDBConverter.convert(resultSet);
177-
177+
return OrientDBConverter.convert(resultSet).stream();
178178
}
179179
}
180180

orientdb-driver/src/main/java/org/jnosql/diana/orientdb/document/DefaultOrientDBDocumentCollectionManagerAsync.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import java.util.Map;
3232
import java.util.Objects;
3333
import java.util.function.Consumer;
34+
import java.util.stream.Stream;
3435

3536
import static com.orientechnologies.orient.core.db.ODatabase.OPERATION_MODE.ASYNCHRONOUS;
3637
import static java.util.Objects.requireNonNull;
@@ -143,13 +144,12 @@ public void delete(DocumentDeleteQuery query, Consumer<Void> callBack) throws Ex
143144
}
144145

145146
@Override
146-
public void select(DocumentQuery query, Consumer<List<DocumentEntity>> callBack) throws ExecuteAsyncQueryException, UnsupportedOperationException {
147+
public void select(DocumentQuery query, Consumer<Stream<DocumentEntity>> callBack) throws ExecuteAsyncQueryException, UnsupportedOperationException {
147148
requireNonNull(query, "query is required");
148149
requireNonNull(callBack, "callBack is required");
149150
ODatabaseSession tx = pool.acquire();
150-
QueryOSQLFactory.QueryResultAsync orientQuery = toAsync(query, l -> callBack.accept(l.stream()
151-
.map(OrientDBConverter::convert)
152-
.collect(toList())));
151+
QueryOSQLFactory.QueryResultAsync orientQuery = toAsync(query, l -> callBack.accept(l
152+
.map(OrientDBConverter::convert)));
153153
tx.command(orientQuery.getQuery()).execute(orientQuery.getParams());
154154
}
155155

orientdb-driver/src/main/java/org/jnosql/diana/orientdb/document/OrientDBDocumentCollectionManager.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
import jakarta.nosql.document.DocumentEntity;
2020
import jakarta.nosql.document.DocumentQuery;
2121

22-
import java.util.List;
2322
import java.util.Map;
23+
import java.util.stream.Stream;
2424

2525
/**
2626
* The orientdb implementation to {@link DocumentCollectionManager}, this implementation
@@ -38,7 +38,7 @@ public interface OrientDBDocumentCollectionManager extends DocumentCollectionMan
3838
* @return the query result
3939
* @throws NullPointerException when either query or params are null
4040
*/
41-
List<DocumentEntity> sql(String query, Object... params);
41+
Stream<DocumentEntity> sql(String query, Object... params);
4242

4343
/**
4444
* Find using query
@@ -48,7 +48,7 @@ public interface OrientDBDocumentCollectionManager extends DocumentCollectionMan
4848
* @return the query result
4949
* @throws NullPointerException when either query or params are null
5050
*/
51-
List<DocumentEntity> sql(String query, Map<String, Object> params);
51+
Stream<DocumentEntity> sql(String query, Map<String, Object> params);
5252

5353
/**
5454
* Execute live query

orientdb-driver/src/main/java/org/jnosql/diana/orientdb/document/QueryOSQLFactory.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import java.util.Collections;
2828
import java.util.List;
2929
import java.util.function.Consumer;
30+
import java.util.stream.Stream;
3031

3132
import static java.util.Arrays.asList;
3233

@@ -41,7 +42,7 @@ static QueryResult to(DocumentQuery documentQuery) {
4142
return new QueryResult(query.getQuery(), query.getParams(), query.getIds());
4243
}
4344

44-
static QueryResultAsync toAsync(DocumentQuery documentQuery, Consumer<List<ODocument>> callBack) {
45+
static QueryResultAsync toAsync(DocumentQuery documentQuery, Consumer<Stream<ODocument>> callBack) {
4546
Query query = QueryOSQLConverter.select(documentQuery);
4647

4748
return new QueryResultAsync(new OSQLAsynchQuery<>(query.getQuery(), new OCommandResultListener() {
@@ -56,7 +57,7 @@ public boolean result(Object iRecord) {
5657

5758
@Override
5859
public void end() {
59-
callBack.accept(documents);
60+
callBack.accept(documents.stream());
6061
}
6162

6263
@Override

orientdb-driver/src/test/java/org/jnosql/diana/orientdb/document/OrientDBDocumentCollectionManagerAsyncTest.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,11 @@
1414
*/
1515
package org.jnosql.diana.orientdb.document;
1616

17-
import org.awaitility.Awaitility;
1817
import jakarta.nosql.document.Document;
19-
import jakarta.nosql.document.DocumentCollectionManager;
2018
import jakarta.nosql.document.DocumentDeleteQuery;
2119
import jakarta.nosql.document.DocumentEntity;
2220
import jakarta.nosql.document.DocumentQuery;
21+
import org.awaitility.Awaitility;
2322
import org.jnosql.diana.document.Documents;
2423
import org.junit.jupiter.api.AfterEach;
2524
import org.junit.jupiter.api.BeforeEach;
@@ -34,11 +33,13 @@
3433
import java.util.concurrent.atomic.AtomicLong;
3534
import java.util.concurrent.atomic.AtomicReference;
3635
import java.util.function.Consumer;
36+
import java.util.stream.Collectors;
37+
import java.util.stream.Stream;
3738

38-
import static org.awaitility.Awaitility.await;
39-
import static org.hamcrest.Matchers.notNullValue;
4039
import static jakarta.nosql.document.DocumentDeleteQuery.delete;
4140
import static jakarta.nosql.document.DocumentQuery.select;
41+
import static org.awaitility.Awaitility.await;
42+
import static org.hamcrest.Matchers.notNullValue;
4243
import static org.jnosql.diana.orientdb.document.DocumentConfigurationUtils.getAsync;
4344
import static org.junit.jupiter.api.Assertions.assertEquals;
4445
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -69,11 +70,11 @@ public void shouldInsertAsync() {
6970
Document id = entity.find("name").get();
7071

7172
DocumentQuery query = select().from(COLLECTION_NAME).where(id.getName()).eq(id.get()).build();
72-
AtomicReference<List<DocumentEntity>> entities = new AtomicReference<>();
73+
AtomicReference<Stream<DocumentEntity>> entities = new AtomicReference<>();
7374
entityManagerAsync.select(query, entities::set);
7475

7576
await().until(() -> entities.get() != null);
76-
assertFalse(entities.get().isEmpty());
77+
assertFalse(entities.get().collect(Collectors.toList()).isEmpty());
7778

7879
}
7980

@@ -145,10 +146,10 @@ public void shouldRemoveEntityAsync() {
145146

146147
entityManagerAsync.delete(deleteQuery, c -> condition.set(true));
147148
await().untilTrue(condition);
148-
AtomicReference<List<DocumentEntity>> entities = new AtomicReference<>();
149+
AtomicReference<Stream<DocumentEntity>> entities = new AtomicReference<>();
149150
entityManagerAsync.select(query, entities::set);
150151
await().until(() -> entities.get() != null);
151-
assertTrue(entities.get().isEmpty());
152+
assertTrue(entities.get().collect(Collectors.toList()).isEmpty());
152153
}
153154

154155
@Test
@@ -164,10 +165,10 @@ public void shouldRemoveEntityAsyncWithoutCallback() throws InterruptedException
164165

165166
entityManagerAsync.delete(deleteQuery);
166167
Thread.sleep(1000L);
167-
AtomicReference<List<DocumentEntity>> entities = new AtomicReference<>();
168+
AtomicReference<Stream<DocumentEntity>> entities = new AtomicReference<>();
168169
entityManagerAsync.select(query, entities::set);
169170
await().until(() -> entities.get() != null);
170-
assertTrue(entities.get().isEmpty());
171+
assertTrue(entities.get().collect(Collectors.toList()).isEmpty());
171172
}
172173

173174
@Test
@@ -176,12 +177,12 @@ public void shouldFindAsync() {
176177
entityManagerAsync.insert(getEntity(), entity::set);
177178
await().until(() -> entity.get() != null);
178179

179-
AtomicReference<List<DocumentEntity>> reference = new AtomicReference<>();
180+
AtomicReference<Stream<DocumentEntity>> reference = new AtomicReference<>();
180181
DocumentQuery query = select().from(COLLECTION_NAME).build();
181182
entityManagerAsync.select(query, reference::set);
182-
await().until(reference::get, notNullValue(List.class));
183+
await().until(reference::get, notNullValue(Stream.class));
183184

184-
assertFalse(reference.get().isEmpty());
185+
assertFalse(reference.get().collect(Collectors.toList()).isEmpty());
185186
}
186187

187188
@Test
@@ -219,7 +220,6 @@ public void shouldFindAsyncWithNativeQueryMapParam() {
219220
assertFalse(reference.get().isEmpty());
220221
}
221222

222-
223223
@Test
224224
public void shouldCount() {
225225
AtomicReference<DocumentEntity> entityAtomic = new AtomicReference<>();

0 commit comments

Comments
 (0)