Skip to content

Commit 7b53a84

Browse files
committed
feat: update document bean
Signed-off-by: Otavio Santana <[email protected]>
1 parent 06319e8 commit 7b53a84

File tree

6 files changed

+34
-46
lines changed

6 files changed

+34
-46
lines changed

jnosql-orientdb/src/main/java/org/eclipse/jnosql/databases/orientdb/mapping/OrientDBDocumentRepositoryProxy.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.orientdb.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,7 +39,7 @@ class OrientDBDocumentRepositoryProxy<T, K> extends AbstractDocumentRepositoryPr
3839

3940
private final OrientDBTemplate template;
4041

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

4344
private final Class<?> repositoryType;
4445

@@ -48,20 +49,20 @@ class OrientDBDocumentRepositoryProxy<T, K> extends AbstractDocumentRepositoryPr
4849

4950

5051
OrientDBDocumentRepositoryProxy(OrientDBTemplate template, Class<?> repositoryType,
51-
PageableRepository<?, ?> repository, Converters converters,
52+
Converters converters,
5253
EntitiesMetadata entitiesMetadata) {
5354
this.template = template;
5455
this.typeClass = Class.class.cast(ParameterizedType.class.cast(repositoryType.getGenericInterfaces()[0])
5556
.getActualTypeArguments()[0]);
56-
this.repository = repository;
5757
this.repositoryType = repositoryType;
5858
this.converters = converters;
5959
this.entityMetadata = entitiesMetadata.get(typeClass);
60+
this.repository = DocumentRepositoryProxy.DocumentRepository.of(template, entityMetadata);
6061
}
6162

6263

6364
@Override
64-
protected PageableRepository getRepository() {
65+
protected AbstractRepository<T, K> repository() {
6566
return repository;
6667
}
6768

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

7374
@Override
74-
protected Converters getConverters() {
75+
protected Converters converters() {
7576
return converters;
7677
}
7778

7879
@Override
79-
protected EntityMetadata getEntityMetadata() {
80+
protected EntityMetadata entityMetadata() {
8081
return entityMetadata;
8182
}
8283

8384
@Override
84-
protected JNoSQLDocumentTemplate getTemplate() {
85+
protected JNoSQLDocumentTemplate template() {
8586
return template;
8687
}
8788

jnosql-orientdb/src/main/java/org/eclipse/jnosql/databases/orientdb/mapping/OrientDBRepositoryBean.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@
1414
*/
1515
package org.eclipse.jnosql.databases.orientdb.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;
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 OrientDBRepositoryBean extends AbstractBean<OrientDBCrudRepository> {
31+
class OrientDBRepositoryBean<T, K> extends AbstractBean<OrientDBCrudRepository<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-
OrientDBRepositoryBean(Class type) {
40+
OrientDBRepositoryBean(Class<T> type) {
4341
this.type = type;
4442
this.types = Collections.singleton(type);
4543
}
@@ -49,16 +47,14 @@ public Class<?> getBeanClass() {
4947
return type;
5048
}
5149

50+
@SuppressWarnings("unchecked")
5251
@Override
53-
public OrientDBCrudRepository create(CreationalContext<OrientDBCrudRepository> creationalContext) {
52+
public OrientDBCrudRepository<T, K> create(CreationalContext<OrientDBCrudRepository<T, K>> creationalContext) {
5453
OrientDBTemplate template = getInstance(OrientDBTemplate.class);
55-
DocumentRepositoryProducer producer = getInstance(DocumentRepositoryProducer.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-
OrientDBDocumentRepositoryProxy handler = new OrientDBDocumentRepositoryProxy(template, type, repository,
60-
converters, entitiesMetadata);
61-
return (OrientDBCrudRepository) Proxy.newProxyInstance(type.getClassLoader(),
56+
OrientDBDocumentRepositoryProxy<T, K> handler = new OrientDBDocumentRepositoryProxy<>(template, type, converters, entitiesMetadata);
57+
return (OrientDBCrudRepository<T, K>) Proxy.newProxyInstance(type.getClassLoader(),
6258
new Class[]{type},
6359
handler);
6460
}

jnosql-orientdb/src/test/java/org/eclipse/jnosql/databases/orientdb/mapping/OrientDBDocumentRepositoryProxyTest.java

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

5555
private OrientDBTemplate template;
5656

57-
@Inject
58-
private DocumentRepositoryProducer producer;
59-
6057
@Inject
6158
private EntitiesMetadata entitiesMetadata;
6259

@@ -69,9 +66,8 @@ public class OrientDBDocumentRepositoryProxyTest {
6966
@BeforeEach
7067
public void setUp() {
7168
this.template = Mockito.mock(OrientDBTemplate.class);
72-
PersonRepository personRepository = producer.get(PersonRepository.class, template);
7369
OrientDBDocumentRepositoryProxy handler = new OrientDBDocumentRepositoryProxy(template,
74-
PersonRepository.class, personRepository, converters, entitiesMetadata);
70+
PersonRepository.class, converters, entitiesMetadata);
7571

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

jnosql-solr/src/main/java/org/eclipse/jnosql/databases/solr/mapping/SolrRepositoryBean.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.solr.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;
2321
import org.eclipse.jnosql.mapping.metadata.EntitiesMetadata;
2422
import org.eclipse.jnosql.mapping.core.spi.AbstractBean;
2523

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

3230

33-
class SolrRepositoryBean extends AbstractBean<SolrRepository> {
31+
class SolrRepositoryBean<T, K> extends AbstractBean<SolrRepository<T, K>> {
3432

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

3735

3836
private final Set<Type> types;
3937

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

43-
SolrRepositoryBean(Class type) {
41+
SolrRepositoryBean(Class<T> type) {
4442
this.type = type;
4543
this.types = Collections.singleton(type);
4644
}
@@ -51,15 +49,14 @@ public Class<?> getBeanClass() {
5149
}
5250

5351

52+
@SuppressWarnings("unchecked")
5453
@Override
55-
public SolrRepository create(CreationalContext<SolrRepository> creationalContext) {
54+
public SolrRepository<T, K> create(CreationalContext<SolrRepository<T, K>> creationalContext) {
5655
SolrTemplate template = getInstance(SolrTemplate.class);
57-
DocumentRepositoryProducer producer = getInstance(DocumentRepositoryProducer.class);
58-
PageableRepository<Object, Object> repository = producer.get((Class<PageableRepository<Object, Object>>) type, template);
5956
Converters converters = getInstance(Converters.class);
6057
EntitiesMetadata entitiesMetadata = getInstance(EntitiesMetadata.class);
61-
SolrRepositoryProxy handler = new SolrRepositoryProxy(template, type, repository, converters, entitiesMetadata);
62-
return (SolrRepository) Proxy.newProxyInstance(type.getClassLoader(),
58+
SolrRepositoryProxy<T, K> handler = new SolrRepositoryProxy<>(template, type, converters, entitiesMetadata);
59+
return (SolrRepository<T, K>) Proxy.newProxyInstance(type.getClassLoader(),
6360
new Class[]{type},
6461
handler);
6562
}

jnosql-solr/src/main/java/org/eclipse/jnosql/databases/solr/mapping/SolrRepositoryProxy.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.solr.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;
@@ -37,7 +38,7 @@ class SolrRepositoryProxy<T, K> extends AbstractDocumentRepositoryProxy<T, K> {
3738

3839
private final SolrTemplate template;
3940

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

4243
private final Class<?> repositoryType;
4344

@@ -46,20 +47,20 @@ class SolrRepositoryProxy<T, K> extends AbstractDocumentRepositoryProxy<T, K> {
4647
private final EntityMetadata entityMetadata;
4748

4849

49-
SolrRepositoryProxy(SolrTemplate template, Class<?> repositoryType, PageableRepository<?, ?> repository,
50+
SolrRepositoryProxy(SolrTemplate template, Class<?> repositoryType,
5051
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.repositoryType = repositoryType;
5858
this.entityMetadata = entitiesMetadata.get(typeClass);
59+
this.repository = DocumentRepositoryProxy.DocumentRepository.of(template, entityMetadata);
5960
}
6061

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

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

7172
@Override
72-
protected Converters getConverters() {
73+
protected Converters converters() {
7374
return converters;
7475
}
7576

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

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

jnosql-solr/src/test/java/org/eclipse/jnosql/databases/solr/mapping/SolrRepositoryProxyTest.java

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

5555
private SolrTemplate template;
5656

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

@@ -70,7 +67,7 @@ public void setUp() {
7067
this.template = Mockito.mock(SolrTemplate.class);
7168

7269
SolrRepositoryProxy handler = new SolrRepositoryProxy(template,
73-
PersonRepository.class, producer.get(PersonRepository.class, template), converters, entitiesMetadata);
70+
PersonRepository.class, converters, entitiesMetadata);
7471

7572
when(template.insert(any(Person.class))).thenReturn(new Person());
7673
when(template.insert(any(Person.class), any(Duration.class))).thenReturn(new Person());

0 commit comments

Comments
 (0)