Skip to content

Commit e528aad

Browse files
committed
feat: updaste arangodb repository
Signed-off-by: Otavio Santana <[email protected]>
1 parent 6aacfaa commit e528aad

File tree

3 files changed

+26
-26
lines changed

3 files changed

+26
-26
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: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@
1919
import jakarta.enterprise.inject.Default;
2020
import jakarta.enterprise.util.AnnotationLiteral;
2121
import org.eclipse.jnosql.mapping.core.Converters;
22+
import org.eclipse.jnosql.mapping.core.query.AbstractRepository;
23+
import org.eclipse.jnosql.mapping.core.query.AbstractRepositoryProxy;
2224
import org.eclipse.jnosql.mapping.document.query.DocumentRepositoryProducer;
25+
import org.eclipse.jnosql.mapping.document.query.DocumentRepositoryProxy;
2326
import org.eclipse.jnosql.mapping.metadata.EntitiesMetadata;
2427
import org.eclipse.jnosql.mapping.core.spi.AbstractBean;
2528

@@ -30,9 +33,9 @@
3033
import java.util.Set;
3134

3235

33-
class ArangoDBRepositoryBean extends AbstractBean<ArangoDBRepository> {
36+
class ArangoDBRepositoryBean<T, K> extends AbstractBean<ArangoDBRepository<T, K>> {
3437

35-
private final Class type;
38+
private final Class<T> type;
3639

3740

3841
private final Set<Type> types;
@@ -50,16 +53,15 @@ public Class<?> getBeanClass() {
5053
return type;
5154
}
5255

56+
@SuppressWarnings("unchecked")
5357
@Override
54-
public ArangoDBRepository create(CreationalContext<ArangoDBRepository> creationalContext) {
58+
public ArangoDBRepository<T, K> create(CreationalContext<ArangoDBRepository<T, K>> creationalContext) {
5559
ArangoDBTemplate template = getInstance(ArangoDBTemplate.class);
56-
DocumentRepositoryProducer producer = getInstance(DocumentRepositoryProducer.class);
5760
Converters converters = getInstance(Converters.class);
5861
EntitiesMetadata entitiesMetadata = getInstance(EntitiesMetadata.class);
59-
PageableRepository<Object, Object> repository = producer.get((Class<PageableRepository<Object, Object>>) type, template);
6062

61-
ArangoDBDocumentRepositoryProxy handler = new ArangoDBDocumentRepositoryProxy(template,type, repository, converters, entitiesMetadata);
62-
return (ArangoDBRepository) Proxy.newProxyInstance(type.getClassLoader(),
63+
ArangoDBDocumentRepositoryProxy<T, K> handler = new ArangoDBDocumentRepositoryProxy<>(template, type, converters, entitiesMetadata);
64+
return (ArangoDBRepository<T,K>) Proxy.newProxyInstance(type.getClassLoader(),
6365
new Class[]{type},
6466
handler);
6567
}

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());

0 commit comments

Comments
 (0)