Skip to content

Commit 5f871f6

Browse files
committed
Revert base repo change
1 parent 777f6d9 commit 5f871f6

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

morphia/src/main/java/org/seedstack/mongodb/morphia/BaseMorphiaRepository.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,15 @@
77
*/
88
package org.seedstack.mongodb.morphia;
99

10+
import com.google.inject.Injector;
11+
import com.google.inject.Key;
1012
import org.mongodb.morphia.Datastore;
1113
import org.seedstack.business.domain.AggregateRoot;
1214
import org.seedstack.business.domain.BaseRepository;
15+
import org.seedstack.mongodb.morphia.internal.MorphiaUtils;
16+
import org.seedstack.seed.Application;
17+
18+
import javax.inject.Inject;
1319

1420
/**
1521
* This class can serve as a base class for Morphia repositories. It provides methods for common CRUD operations as
@@ -20,7 +26,14 @@
2026
2127
*/
2228
public abstract class BaseMorphiaRepository<A extends AggregateRoot<K>, K> extends BaseRepository<A, K> {
23-
private final Datastore datastore;
29+
private Datastore datastore;
30+
31+
public BaseMorphiaRepository() {
32+
}
33+
34+
public BaseMorphiaRepository(Class<A> aggregateRootClass, Class<K> kClass) {
35+
super(aggregateRootClass, kClass);
36+
}
2437

2538
/**
2639
* Provides access to the Morphia data store for implementing custom data access methods.
@@ -31,9 +44,9 @@ protected Datastore getDatastore() {
3144
return datastore;
3245
}
3346

34-
public BaseMorphiaRepository(Class<A> aggregateRootClass, Class<K> kClass, Datastore datastore) {
35-
super(aggregateRootClass, kClass);
36-
this.datastore = datastore;
47+
@Inject
48+
private void initDatastore(Application application, Injector injector) {
49+
datastore = injector.getInstance(Key.get(Datastore.class, MorphiaUtils.getMongoDatastore(application, getAggregateRootClass())));
3750
}
3851

3952
@Override

morphia/src/main/java/org/seedstack/mongodb/morphia/internal/DefaultMorphiaRepository.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77
*/
88
package org.seedstack.mongodb.morphia.internal;
99

10-
import com.google.inject.Injector;
11-
import com.google.inject.Key;
1210
import com.google.inject.assistedinject.Assisted;
13-
import org.mongodb.morphia.Datastore;
1411
import org.seedstack.business.domain.AggregateRoot;
1512
import org.seedstack.business.spi.GenericImplementation;
1613
import org.seedstack.mongodb.morphia.BaseMorphiaRepository;
@@ -42,16 +39,10 @@ public class DefaultMorphiaRepository<AGGREGATE extends AggregateRoot<KEY>, KEY>
4239
* Constructs a DefaultMongodbRepository.
4340
*
4441
* @param genericClasses the resolved generics for the aggregate root class and the key class
45-
* @param application injected implementation of {@link Application}
46-
* @param injector injector Guice injector.
4742
*/
4843
@SuppressWarnings("unchecked")
4944
@Inject
50-
public DefaultMorphiaRepository(@Assisted Object[] genericClasses, Application application, Injector injector) {
51-
super(
52-
(Class) genericClasses.clone()[0],
53-
(Class) genericClasses.clone()[0],
54-
injector.getInstance(Key.get(Datastore.class, MorphiaUtils.getMongoDatastore(application, (Class) genericClasses.clone()[0])))
55-
);
45+
public DefaultMorphiaRepository(@Assisted Object[] genericClasses) {
46+
super((Class) genericClasses.clone()[0], (Class) genericClasses.clone()[1]);
5647
}
5748
}

0 commit comments

Comments
 (0)