Skip to content

Commit

Permalink
Avoid split packages on MongoDB with Panache
Browse files Browse the repository at this point in the history
  • Loading branch information
loicmathieu committed Jul 19, 2021
1 parent dc60271 commit 7f7b3b7
Show file tree
Hide file tree
Showing 20 changed files with 60 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@
import io.quarkus.mongodb.deployment.MongoClientNameBuildItem;
import io.quarkus.mongodb.deployment.MongoUnremovableClientsBuildItem;
import io.quarkus.mongodb.panache.MongoEntity;
import io.quarkus.mongodb.panache.PanacheMongoRecorder;
import io.quarkus.mongodb.panache.ProjectionFor;
import io.quarkus.mongodb.panache.common.PanacheMongoRecorder;
import io.quarkus.mongodb.panache.jackson.ObjectIdDeserializer;
import io.quarkus.mongodb.panache.jackson.ObjectIdSerializer;
import io.quarkus.panache.common.deployment.EntityField;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.antlr.v4.runtime.CharStreams;
import org.antlr.v4.runtime.CommonTokenStream;

import io.quarkus.mongodb.panache.runtime.MongoPropertyUtil;
import io.quarkus.mongodb.panache.common.runtime.MongoPropertyUtil;
import io.quarkus.panacheql.internal.HqlLexer;
import io.quarkus.panacheql.internal.HqlParser;
import io.quarkus.panacheql.internal.HqlParserBaseVisitor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package io.quarkus.mongodb.panache;
package io.quarkus.mongodb.panache.common;

import java.util.Map;

import io.quarkus.mongodb.panache.runtime.MongoPropertyUtil;
import io.quarkus.mongodb.panache.common.runtime.MongoPropertyUtil;
import io.quarkus.runtime.annotations.Recorder;

@Recorder
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.quarkus.mongodb.panache.reactive.runtime;
package io.quarkus.mongodb.panache.common.reactive.runtime;

import java.util.List;
import java.util.Optional;
Expand All @@ -11,7 +11,7 @@
import com.mongodb.client.model.Collation;

import io.quarkus.mongodb.FindOptions;
import io.quarkus.mongodb.panache.runtime.MongoPropertyUtil;
import io.quarkus.mongodb.panache.common.runtime.MongoPropertyUtil;
import io.quarkus.mongodb.reactive.ReactiveMongoCollection;
import io.quarkus.panache.common.Page;
import io.quarkus.panache.common.Range;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package io.quarkus.mongodb.panache.reactive.runtime;
package io.quarkus.mongodb.panache.common.reactive.runtime;

import static io.quarkus.mongodb.panache.runtime.BeanUtils.beanName;
import static io.quarkus.mongodb.panache.runtime.BeanUtils.clientFromArc;
import static io.quarkus.mongodb.panache.runtime.BeanUtils.getDatabaseName;
import static io.quarkus.mongodb.panache.common.runtime.BeanUtils.beanName;
import static io.quarkus.mongodb.panache.common.runtime.BeanUtils.clientFromArc;
import static io.quarkus.mongodb.panache.common.runtime.BeanUtils.getDatabaseName;

import java.util.ArrayList;
import java.util.Arrays;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.quarkus.mongodb.panache.reactive.runtime;
package io.quarkus.mongodb.panache.common.reactive.runtime;

import java.util.Map;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.quarkus.mongodb.panache.runtime;
package io.quarkus.mongodb.panache.common.runtime;

import java.lang.annotation.Annotation;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.quarkus.mongodb.panache.runtime;
package io.quarkus.mongodb.panache.common.runtime;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
package io.quarkus.mongodb.panache.runtime;

import static io.quarkus.mongodb.panache.runtime.BeanUtils.beanName;
import static io.quarkus.mongodb.panache.runtime.BeanUtils.clientFromArc;
import static io.quarkus.mongodb.panache.runtime.BeanUtils.getDatabaseName;
package io.quarkus.mongodb.panache.common.runtime;

import java.util.ArrayList;
import java.util.Arrays;
Expand Down Expand Up @@ -342,7 +338,7 @@ ClientSession getSession(Class<?> entityClass) {

private ClientSession registerClientSession(MongoEntity mongoEntity, TransactionSynchronizationRegistry registry) {
TransactionManager transactionManager = Arc.container().instance(TransactionManager.class).get();
MongoClient client = clientFromArc(mongoEntity, MongoClient.class, false);
MongoClient client = BeanUtils.clientFromArc(mongoEntity, MongoClient.class, false);
ClientSession clientSession = client.startSession();
clientSession.startTransaction();//TODO add txoptions from annotation
registry.putResource(SESSION_KEY, clientSession);
Expand Down Expand Up @@ -381,7 +377,7 @@ private MongoCollection mongoCollection(Object entity) {
}

private MongoDatabase mongoDatabase(MongoEntity entity) {
MongoClient mongoClient = clientFromArc(entity, MongoClient.class, false);
MongoClient mongoClient = BeanUtils.clientFromArc(entity, MongoClient.class, false);
if (entity != null && !entity.database().isEmpty()) {
return mongoClient.getDatabase(entity.database());
}
Expand All @@ -390,10 +386,10 @@ private MongoDatabase mongoDatabase(MongoEntity entity) {
}

private String getDefaultDatabaseName(MongoEntity entity) {
return defaultDatabaseName.computeIfAbsent(beanName(entity), new Function<String, String>() {
return defaultDatabaseName.computeIfAbsent(BeanUtils.beanName(entity), new Function<String, String>() {
@Override
public String apply(String beanName) {
return getDatabaseName(entity, beanName);
return BeanUtils.getDatabaseName(entity, beanName);
}
});
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.quarkus.mongodb.panache.runtime;
package io.quarkus.mongodb.panache.common.runtime;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.quarkus.mongodb.panache.runtime;
package io.quarkus.mongodb.panache.common.runtime;

import java.util.Map;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.quarkus.mongodb.panache.runtime;
package io.quarkus.mongodb.panache.common.runtime;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.*;

import java.time.LocalDate;
import java.time.LocalDateTime;
Expand All @@ -13,18 +13,41 @@
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Stream;

import org.bson.Document;
import org.bson.codecs.pojo.annotations.BsonProperty;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import io.quarkus.mongodb.panache.PanacheQuery;
import com.mongodb.client.ClientSession;
import com.mongodb.client.MongoCollection;

import io.quarkus.mongodb.panache.PanacheUpdate;
import io.quarkus.panache.common.Parameters;

class MongoOperationsTest {

private final MongoOperations<PanacheQuery<?>, PanacheUpdate> operations = new JavaMongoOperations();
private final MongoOperations<Object, PanacheUpdate> operations = new MongoOperations() {
@Override
protected List<?> list(Object o) {
return null;
}

@Override
protected Stream<?> stream(Object o) {
return null;
}

@Override
protected Object createUpdate(MongoCollection collection, Class entityClass, Document docUpdate) {
return null;
}

@Override
protected Object createQuery(MongoCollection collection, ClientSession session, Document query, Document sortDoc) {
return null;
}
};

private static class DemoObj {
public String field;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ package io.quarkus.mongodb.panache.kotlin.reactive.runtime

import io.quarkus.mongodb.panache.kotlin.reactive.ReactivePanacheQuery
import io.quarkus.mongodb.panache.reactive.ReactivePanacheUpdate
import io.quarkus.mongodb.panache.reactive.runtime.ReactiveMongoOperations
import io.quarkus.mongodb.panache.reactive.runtime.ReactivePanacheUpdateImpl
import io.quarkus.mongodb.panache.common.reactive.runtime.ReactiveMongoOperations
import io.quarkus.mongodb.panache.common.reactive.runtime.ReactivePanacheUpdateImpl
import io.quarkus.mongodb.reactive.ReactiveMongoCollection
import io.smallrye.mutiny.Multi
import io.smallrye.mutiny.Uni
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.quarkus.mongodb.panache.kotlin.reactive.runtime

import io.quarkus.mongodb.panache.reactive.runtime.CommonReactivePanacheQueryImpl
import io.quarkus.mongodb.panache.common.reactive.runtime.CommonReactivePanacheQueryImpl
import io.quarkus.mongodb.reactive.ReactiveMongoCollection
import org.bson.conversions.Bson
import io.smallrye.mutiny.Uni
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import com.mongodb.client.ClientSession
import com.mongodb.client.MongoCollection
import io.quarkus.mongodb.panache.PanacheUpdate
import io.quarkus.mongodb.panache.kotlin.PanacheQuery
import io.quarkus.mongodb.panache.runtime.MongoOperations
import io.quarkus.mongodb.panache.runtime.PanacheUpdateImpl
import io.quarkus.mongodb.panache.common.runtime.MongoOperations
import io.quarkus.mongodb.panache.common.runtime.PanacheUpdateImpl
import org.bson.Document
import java.util.stream.Stream

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import com.mongodb.client.ClientSession
import com.mongodb.client.MongoCollection
import com.mongodb.client.model.Collation
import io.quarkus.mongodb.panache.kotlin.PanacheQuery
import io.quarkus.mongodb.panache.runtime.CommonPanacheQueryImpl
import io.quarkus.mongodb.panache.common.runtime.CommonPanacheQueryImpl
import io.quarkus.panache.common.Page
import org.bson.conversions.Bson
import java.util.stream.Stream
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

import org.bson.Document;

import io.quarkus.mongodb.panache.common.reactive.runtime.ReactiveMongoOperations;
import io.quarkus.mongodb.panache.common.reactive.runtime.ReactivePanacheUpdateImpl;
import io.quarkus.mongodb.panache.reactive.ReactivePanacheQuery;
import io.quarkus.mongodb.panache.reactive.ReactivePanacheUpdate;
import io.quarkus.mongodb.reactive.ReactiveMongoCollection;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.mongodb.ReadPreference;
import com.mongodb.client.model.Collation;

import io.quarkus.mongodb.panache.common.reactive.runtime.CommonReactivePanacheQueryImpl;
import io.quarkus.mongodb.panache.reactive.ReactivePanacheQuery;
import io.quarkus.mongodb.reactive.ReactiveMongoCollection;
import io.quarkus.panache.common.Page;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@

import io.quarkus.mongodb.panache.PanacheQuery;
import io.quarkus.mongodb.panache.PanacheUpdate;
import io.quarkus.mongodb.panache.common.runtime.MongoOperations;
import io.quarkus.mongodb.panache.common.runtime.PanacheUpdateImpl;

public class JavaMongoOperations extends MongoOperations<PanacheQuery<?>, PanacheUpdate> {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.mongodb.client.model.Collation;

import io.quarkus.mongodb.panache.PanacheQuery;
import io.quarkus.mongodb.panache.common.runtime.CommonPanacheQueryImpl;
import io.quarkus.panache.common.Page;

public class PanacheQueryImpl<Entity> implements PanacheQuery<Entity> {
Expand Down

0 comments on commit 7f7b3b7

Please sign in to comment.