Skip to content

Commit 675e912

Browse files
authored
Merge pull request #261 from eclipse/update-operation-api
Update Operation at JnoSQL database
2 parents 6aacfaa + 7b53a84 commit 675e912

File tree

18 files changed

+127
-143
lines changed

18 files changed

+127
-143
lines changed

jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/mapping/ArangoDBDocumentRepositoryProxy.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@
1515
package org.eclipse.jnosql.databases.arangodb.mapping;
1616

1717

18-
import jakarta.data.repository.PageableRepository;
1918
import org.eclipse.jnosql.mapping.core.Converters;
19+
import org.eclipse.jnosql.mapping.core.query.AbstractRepository;
2020
import org.eclipse.jnosql.mapping.document.JNoSQLDocumentTemplate;
2121
import org.eclipse.jnosql.mapping.document.query.AbstractDocumentRepositoryProxy;
22+
import org.eclipse.jnosql.mapping.document.query.DocumentRepositoryProxy;
2223
import org.eclipse.jnosql.mapping.metadata.EntitiesMetadata;
2324
import org.eclipse.jnosql.mapping.metadata.EntityMetadata;
2425
import org.eclipse.jnosql.mapping.core.repository.DynamicReturn;
@@ -38,49 +39,50 @@ class ArangoDBDocumentRepositoryProxy<T, K> extends AbstractDocumentRepositoryPr
3839

3940
private final ArangoDBTemplate template;
4041

41-
private final PageableRepository<?, ?> repository;
42+
private final AbstractRepository<?, ?> repository;
4243

43-
private final Class<?> repositoryType;
44+
private final Class<?> type;
4445

4546
private final Converters converters;
4647

4748
private final EntityMetadata entityMetadata;
4849

49-
ArangoDBDocumentRepositoryProxy(ArangoDBTemplate template, Class<?> repositoryType,
50-
PageableRepository<?, ?> repository, Converters converters,
50+
ArangoDBDocumentRepositoryProxy(ArangoDBTemplate template,
51+
Class<?> type,
52+
Converters converters,
5153
EntitiesMetadata entitiesMetadata) {
5254
this.template = template;
53-
this.typeClass = Class.class.cast(ParameterizedType.class.cast(repositoryType.getGenericInterfaces()[0])
55+
this.typeClass = Class.class.cast(ParameterizedType.class.cast(type.getGenericInterfaces()[0])
5456
.getActualTypeArguments()[0]);
55-
this.repository = repository;
56-
this.repositoryType = repositoryType;
57+
this.type = type;
5758
this.converters = converters;
5859
this.entityMetadata = entitiesMetadata.get(typeClass);
60+
this.repository = DocumentRepositoryProxy.DocumentRepository.of(template, entityMetadata);
5961
}
6062

6163

6264
@Override
63-
protected PageableRepository getRepository() {
65+
protected AbstractRepository repository() {
6466
return repository;
6567
}
6668

6769
@Override
6870
protected Class<?> repositoryType() {
69-
return repositoryType;
71+
return type;
7072
}
7173

7274
@Override
73-
protected Converters getConverters() {
75+
protected Converters converters() {
7476
return converters;
7577
}
7678

7779
@Override
78-
protected EntityMetadata getEntityMetadata() {
80+
protected EntityMetadata entityMetadata() {
7981
return entityMetadata;
8082
}
8183

8284
@Override
83-
protected JNoSQLDocumentTemplate getTemplate() {
85+
protected JNoSQLDocumentTemplate template() {
8486
return template;
8587
}
8688

jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/mapping/ArangoDBRepositoryBean.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,12 @@
1414
*/
1515
package org.eclipse.jnosql.databases.arangodb.mapping;
1616

17-
import jakarta.data.repository.PageableRepository;
1817
import jakarta.enterprise.context.spi.CreationalContext;
1918
import jakarta.enterprise.inject.Default;
2019
import jakarta.enterprise.util.AnnotationLiteral;
2120
import org.eclipse.jnosql.mapping.core.Converters;
22-
import org.eclipse.jnosql.mapping.document.query.DocumentRepositoryProducer;
23-
import org.eclipse.jnosql.mapping.metadata.EntitiesMetadata;
2421
import org.eclipse.jnosql.mapping.core.spi.AbstractBean;
22+
import org.eclipse.jnosql.mapping.metadata.EntitiesMetadata;
2523

2624
import java.lang.annotation.Annotation;
2725
import java.lang.reflect.Proxy;
@@ -30,9 +28,9 @@
3028
import java.util.Set;
3129

3230

33-
class ArangoDBRepositoryBean extends AbstractBean<ArangoDBRepository> {
31+
class ArangoDBRepositoryBean<T, K> extends AbstractBean<ArangoDBRepository<T, K>> {
3432

35-
private final Class type;
33+
private final Class<T> type;
3634

3735

3836
private final Set<Type> types;
@@ -50,16 +48,15 @@ public Class<?> getBeanClass() {
5048
return type;
5149
}
5250

51+
@SuppressWarnings("unchecked")
5352
@Override
54-
public ArangoDBRepository create(CreationalContext<ArangoDBRepository> creationalContext) {
53+
public ArangoDBRepository<T, K> create(CreationalContext<ArangoDBRepository<T, K>> creationalContext) {
5554
ArangoDBTemplate template = getInstance(ArangoDBTemplate.class);
56-
DocumentRepositoryProducer producer = getInstance(DocumentRepositoryProducer.class);
5755
Converters converters = getInstance(Converters.class);
5856
EntitiesMetadata entitiesMetadata = getInstance(EntitiesMetadata.class);
59-
PageableRepository<Object, Object> repository = producer.get((Class<PageableRepository<Object, Object>>) type, template);
6057

61-
ArangoDBDocumentRepositoryProxy handler = new ArangoDBDocumentRepositoryProxy(template,type, repository, converters, entitiesMetadata);
62-
return (ArangoDBRepository) Proxy.newProxyInstance(type.getClassLoader(),
58+
ArangoDBDocumentRepositoryProxy<T, K> handler = new ArangoDBDocumentRepositoryProxy<>(template, type, converters, entitiesMetadata);
59+
return (ArangoDBRepository<T,K>) Proxy.newProxyInstance(type.getClassLoader(),
6360
new Class[]{type},
6461
handler);
6562
}

jnosql-arangodb/src/test/java/org/eclipse/jnosql/databases/arangodb/mapping/ArangoDBDocumentRepositoryProxyTest.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import jakarta.inject.Inject;
1818
import org.assertj.core.api.Assertions;
1919
import org.eclipse.jnosql.mapping.core.Converters;
20+
import org.eclipse.jnosql.mapping.core.query.AbstractRepository;
2021
import org.eclipse.jnosql.mapping.document.DocumentEntityConverter;
2122
import org.eclipse.jnosql.mapping.document.query.DocumentRepositoryProducer;
2223
import org.eclipse.jnosql.mapping.document.spi.DocumentExtension;
@@ -55,10 +56,6 @@
5556
public class ArangoDBDocumentRepositoryProxyTest {
5657

5758
private ArangoDBTemplate template;
58-
59-
@Inject
60-
private DocumentRepositoryProducer producer;
61-
6259
@Inject
6360
private EntitiesMetadata entitiesMetadata;
6461

@@ -72,9 +69,8 @@ public class ArangoDBDocumentRepositoryProxyTest {
7269
public void setUp() {
7370
this.template = Mockito.mock(ArangoDBTemplate.class);
7471

75-
PersonRepository personRepository = producer.get(PersonRepository.class, template);
7672
ArangoDBDocumentRepositoryProxy handler = new ArangoDBDocumentRepositoryProxy<>(template,
77-
PersonRepository.class, personRepository, converters, entitiesMetadata);
73+
PersonRepository.class, converters, entitiesMetadata);
7874

7975
when(template.insert(any(Person.class))).thenReturn(new Person());
8076
when(template.insert(any(Person.class), any(Duration.class))).thenReturn(new Person());

jnosql-cassandra/src/main/java/org/eclipse/jnosql/databases/cassandra/mapping/CassandraRepositoryBean.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@
1414
*/
1515
package org.eclipse.jnosql.databases.cassandra.mapping;
1616

17-
import jakarta.data.repository.PageableRepository;
1817
import jakarta.enterprise.context.spi.CreationalContext;
1918
import jakarta.enterprise.inject.Default;
2019
import jakarta.enterprise.util.AnnotationLiteral;
2120
import org.eclipse.jnosql.mapping.core.Converters;
22-
import org.eclipse.jnosql.mapping.column.query.ColumnRepositoryProducer;
2321
import org.eclipse.jnosql.mapping.metadata.EntitiesMetadata;
2422
import org.eclipse.jnosql.mapping.core.spi.AbstractBean;
2523

@@ -30,16 +28,16 @@
3028
import java.util.Set;
3129

3230

33-
class CassandraRepositoryBean extends AbstractBean<CassandraRepository> {
31+
class CassandraRepositoryBean<T, K> extends AbstractBean<CassandraRepository<T, K>> {
3432

35-
private final Class<?> type;
33+
private final Class<T> type;
3634

3735
private final Set<Type> types;
3836

3937
private final Set<Annotation> qualifiers = Collections.singleton(new AnnotationLiteral<Default>() {
4038
});
4139

42-
CassandraRepositoryBean(Class<?> type) {
40+
CassandraRepositoryBean(Class<T> type) {
4341
this.type = type;
4442
this.types = Collections.singleton(type);
4543
}
@@ -49,16 +47,15 @@ public Class<?> getBeanClass() {
4947
return type;
5048
}
5149

50+
@SuppressWarnings("unchecked")
5251
@Override
53-
public CassandraRepository create(CreationalContext<CassandraRepository> creationalContext) {
52+
public CassandraRepository<T, K> create(CreationalContext<CassandraRepository<T, K>> creationalContext) {
5453
CassandraTemplate template = getInstance(CassandraTemplate.class);
55-
ColumnRepositoryProducer producer = getInstance(ColumnRepositoryProducer.class);
56-
PageableRepository<?,?> repository = producer.get((Class<PageableRepository<Object, Object>>) type, template);
5754
Converters converters = getInstance(Converters.class);
5855
EntitiesMetadata entitiesMetadata = getInstance(EntitiesMetadata.class);
59-
CassandraRepositoryProxy handler = new CassandraRepositoryProxy(template, type, repository,
56+
CassandraRepositoryProxy<T, K> handler = new CassandraRepositoryProxy<>(template, type,
6057
converters, entitiesMetadata);
61-
return (CassandraRepository) Proxy.newProxyInstance(type.getClassLoader(),
58+
return (CassandraRepository<T, K>) Proxy.newProxyInstance(type.getClassLoader(),
6259
new Class[]{type},
6360
handler);
6461
}

jnosql-cassandra/src/main/java/org/eclipse/jnosql/databases/cassandra/mapping/CassandraRepositoryProxy.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@
1515
package org.eclipse.jnosql.databases.cassandra.mapping;
1616

1717

18-
import jakarta.data.repository.PageableRepository;
18+
import org.eclipse.jnosql.mapping.column.query.ColumnRepositoryProxy;
1919
import org.eclipse.jnosql.mapping.core.Converters;
2020
import org.eclipse.jnosql.mapping.column.JNoSQLColumnTemplate;
2121
import org.eclipse.jnosql.mapping.column.query.AbstractColumnRepositoryProxy;
22+
import org.eclipse.jnosql.mapping.core.query.AbstractRepository;
2223
import org.eclipse.jnosql.mapping.metadata.EntitiesMetadata;
2324
import org.eclipse.jnosql.mapping.metadata.EntityMetadata;
2425
import org.eclipse.jnosql.mapping.core.repository.DynamicReturn;
@@ -37,7 +38,7 @@ class CassandraRepositoryProxy<T, K> extends AbstractColumnRepositoryProxy<T, K>
3738

3839
private final CassandraTemplate template;
3940

40-
private final PageableRepository<T,?> repository;
41+
private final AbstractRepository<T,K> repository;
4142

4243
private final Converters converters;
4344

@@ -46,25 +47,25 @@ class CassandraRepositoryProxy<T, K> extends AbstractColumnRepositoryProxy<T, K>
4647
private final Class<?> repositoryType;
4748

4849
CassandraRepositoryProxy(CassandraTemplate template, Class<?> repositoryType,
49-
PageableRepository<T, ?> repository,
5050
Converters converters, EntitiesMetadata entitiesMetadata) {
5151

5252
this.template = template;
5353
this.typeClass = Class.class.cast(ParameterizedType.class.cast(repositoryType.getGenericInterfaces()[0])
5454
.getActualTypeArguments()[0]);
55-
this.repository = repository;
55+
5656
this.converters = converters;
5757
this.entityMetadata = entitiesMetadata.get(typeClass);
5858
this.repositoryType = repositoryType;
59+
this.repository = ColumnRepositoryProxy.ColumnRepository.of(template, entityMetadata);
5960
}
6061

6162
@Override
62-
protected PageableRepository getRepository() {
63+
protected AbstractRepository<T, K> repository() {
6364
return repository;
6465
}
6566

6667
@Override
67-
protected Converters getConverters() {
68+
protected Converters converters() {
6869
return converters;
6970
}
7071

@@ -74,12 +75,12 @@ protected Class<?> repositoryType() {
7475
}
7576

7677
@Override
77-
protected EntityMetadata getEntityMetadata() {
78+
protected EntityMetadata entityMetadata() {
7879
return entityMetadata;
7980
}
8081

8182
@Override
82-
protected JNoSQLColumnTemplate getTemplate() {
83+
protected JNoSQLColumnTemplate template() {
8384
return template;
8485
}
8586

jnosql-cassandra/src/test/java/org/eclipse/jnosql/databases/cassandra/mapping/CassandraRepositoryProxyTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,6 @@ public class CassandraRepositoryProxyTest {
5454

5555
private CassandraTemplate template;
5656

57-
@Inject
58-
private ColumnRepositoryProducer producer;
59-
6057
@Inject
6158
private Converters converters;
6259

@@ -68,9 +65,8 @@ public class CassandraRepositoryProxyTest {
6865
@BeforeEach
6966
public void setUp() {
7067
this.template = Mockito.mock(CassandraTemplate.class);
71-
PersonRepository personRepository = producer.get(PersonRepository.class, template);
7268
CassandraRepositoryProxy handler = new CassandraRepositoryProxy(template,
73-
PersonRepository.class, personRepository, converters, entitiesMetadata);
69+
PersonRepository.class, converters, entitiesMetadata);
7470

7571
when(template.insert(any(Person.class))).thenReturn(new Person());
7672
when(template.insert(any(Person.class), any(Duration.class))).thenReturn(new Person());

jnosql-couchbase/src/main/java/org/eclipse/jnosql/databases/couchbase/mapping/CouchbaseDocumentRepositoryProxy.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@
1616

1717

1818
import com.couchbase.client.java.json.JsonObject;
19-
import jakarta.data.repository.PageableRepository;
2019
import org.eclipse.jnosql.mapping.core.Converters;
20+
import org.eclipse.jnosql.mapping.core.query.AbstractRepository;
2121
import org.eclipse.jnosql.mapping.document.JNoSQLDocumentTemplate;
2222
import org.eclipse.jnosql.mapping.document.query.AbstractDocumentRepositoryProxy;
23+
import org.eclipse.jnosql.mapping.document.query.DocumentRepositoryProxy;
2324
import org.eclipse.jnosql.mapping.metadata.EntitiesMetadata;
2425
import org.eclipse.jnosql.mapping.metadata.EntityMetadata;
2526
import org.eclipse.jnosql.mapping.core.repository.DynamicReturn;
@@ -32,13 +33,13 @@
3233
import static org.eclipse.jnosql.mapping.core.repository.DynamicReturn.toSingleResult;
3334

3435

35-
class CouchbaseDocumentRepositoryProxy<T, K>extends AbstractDocumentRepositoryProxy<T, K> {
36+
class CouchbaseDocumentRepositoryProxy<T, K> extends AbstractDocumentRepositoryProxy<T, K> {
3637

3738
private final Class<T> typeClass;
3839

3940
private final CouchbaseTemplate template;
4041

41-
private final PageableRepository<?, ?> repository;
42+
private final AbstractRepository<T, K> repository;
4243

4344
private final Converters converters;
4445

@@ -47,20 +48,20 @@ class CouchbaseDocumentRepositoryProxy<T, K>extends AbstractDocumentRepositoryPr
4748
private final Class<?> repositoryType;
4849

4950
CouchbaseDocumentRepositoryProxy(CouchbaseTemplate template, Class<?> repositoryType,
50-
PageableRepository<?, ?> repository, Converters converters,
51+
Converters converters,
5152
EntitiesMetadata entitiesMetadata) {
5253
this.template = template;
5354
this.typeClass = Class.class.cast(ParameterizedType.class.cast(repositoryType.getGenericInterfaces()[0])
5455
.getActualTypeArguments()[0]);
55-
this.repository = repository;
5656
this.converters = converters;
5757
this.entityMetadata = entitiesMetadata.get(typeClass);
5858
this.repositoryType = repositoryType;
59+
this.repository = DocumentRepositoryProxy.DocumentRepository.of(template, entityMetadata);
5960
}
6061

6162

6263
@Override
63-
protected PageableRepository getRepository() {
64+
protected AbstractRepository<T, K> repository() {
6465
return repository;
6566
}
6667

@@ -70,17 +71,17 @@ protected Class<?> repositoryType() {
7071
}
7172

7273
@Override
73-
protected Converters getConverters() {
74+
protected Converters converters() {
7475
return converters;
7576
}
7677

7778
@Override
78-
protected EntityMetadata getEntityMetadata() {
79+
protected EntityMetadata entityMetadata() {
7980
return entityMetadata;
8081
}
8182

8283
@Override
83-
protected JNoSQLDocumentTemplate getTemplate() {
84+
protected JNoSQLDocumentTemplate template() {
8485
return template;
8586
}
8687

0 commit comments

Comments
 (0)