This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 1fca009f73e CAMEL-21559, mongodb: insertOne instead of replaceOne when
saving without _id
1fca009f73e is described below
commit 1fca009f73e426ebf15f901c483f7ab096d38c5f
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Dec 19 09:03:21 2024 +0100
CAMEL-21559, mongodb: insertOne instead of replaceOne when saving without
_id
---
.../camel/component/mongodb/MongoDbProducer.java | 63 +++++++++++-----------
.../mongodb/integration/MongoDbOperationsIT.java | 41 +++++++-------
2 files changed, 53 insertions(+), 51 deletions(-)
diff --git
a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbProducer.java
b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbProducer.java
index bddbdec15a2..9383d8e3ae0 100644
---
a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbProducer.java
+++
b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbProducer.java
@@ -16,28 +16,15 @@
*/
package org.apache.camel.component.mongodb;
-import static com.mongodb.client.model.Filters.eq;
-import static org.apache.camel.component.mongodb.MongoDbConstants.BATCH_SIZE;
-import static org.apache.camel.component.mongodb.MongoDbConstants.COLLECTION;
-import static
org.apache.camel.component.mongodb.MongoDbConstants.COLLECTION_INDEX;
-import static org.apache.camel.component.mongodb.MongoDbConstants.CRITERIA;
-import static org.apache.camel.component.mongodb.MongoDbConstants.DATABASE;
-import static
org.apache.camel.component.mongodb.MongoDbConstants.FIELDS_PROJECTION;
-import static org.apache.camel.component.mongodb.MongoDbConstants.LIMIT;
-import static org.apache.camel.component.mongodb.MongoDbConstants.MONGO_ID;
-import static org.apache.camel.component.mongodb.MongoDbConstants.MULTIUPDATE;
-import static org.apache.camel.component.mongodb.MongoDbConstants.NUM_TO_SKIP;
-import static org.apache.camel.component.mongodb.MongoDbConstants.OID;
-import static
org.apache.camel.component.mongodb.MongoDbConstants.OPERATION_HEADER;
-import static org.apache.camel.component.mongodb.MongoDbConstants.OPTIONS;
-import static
org.apache.camel.component.mongodb.MongoDbConstants.RECORDS_AFFECTED;
-import static
org.apache.camel.component.mongodb.MongoDbConstants.RECORDS_MATCHED;
-import static
org.apache.camel.component.mongodb.MongoDbConstants.RESULT_PAGE_SIZE;
-import static
org.apache.camel.component.mongodb.MongoDbConstants.RESULT_TOTAL_SIZE;
-import static
org.apache.camel.component.mongodb.MongoDbConstants.RETURN_DOCUMENT;
-import static org.apache.camel.component.mongodb.MongoDbConstants.SORT_BY;
-import static org.apache.camel.component.mongodb.MongoDbConstants.UPSERT;
-import static org.apache.camel.component.mongodb.MongoDbConstants.WRITERESULT;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EnumMap;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
import com.mongodb.client.AggregateIterable;
import com.mongodb.client.DistinctIterable;
@@ -56,15 +43,6 @@ import com.mongodb.client.model.WriteModel;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.InsertOneResult;
import com.mongodb.client.result.UpdateResult;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.EnumMap;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
import org.apache.camel.Exchange;
import org.apache.camel.InvalidPayloadException;
import org.apache.camel.Processor;
@@ -78,6 +56,29 @@ import org.bson.conversions.Bson;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static com.mongodb.client.model.Filters.eq;
+import static org.apache.camel.component.mongodb.MongoDbConstants.BATCH_SIZE;
+import static org.apache.camel.component.mongodb.MongoDbConstants.COLLECTION;
+import static
org.apache.camel.component.mongodb.MongoDbConstants.COLLECTION_INDEX;
+import static org.apache.camel.component.mongodb.MongoDbConstants.CRITERIA;
+import static org.apache.camel.component.mongodb.MongoDbConstants.DATABASE;
+import static
org.apache.camel.component.mongodb.MongoDbConstants.FIELDS_PROJECTION;
+import static org.apache.camel.component.mongodb.MongoDbConstants.LIMIT;
+import static org.apache.camel.component.mongodb.MongoDbConstants.MONGO_ID;
+import static org.apache.camel.component.mongodb.MongoDbConstants.MULTIUPDATE;
+import static org.apache.camel.component.mongodb.MongoDbConstants.NUM_TO_SKIP;
+import static org.apache.camel.component.mongodb.MongoDbConstants.OID;
+import static
org.apache.camel.component.mongodb.MongoDbConstants.OPERATION_HEADER;
+import static org.apache.camel.component.mongodb.MongoDbConstants.OPTIONS;
+import static
org.apache.camel.component.mongodb.MongoDbConstants.RECORDS_AFFECTED;
+import static
org.apache.camel.component.mongodb.MongoDbConstants.RECORDS_MATCHED;
+import static
org.apache.camel.component.mongodb.MongoDbConstants.RESULT_PAGE_SIZE;
+import static
org.apache.camel.component.mongodb.MongoDbConstants.RESULT_TOTAL_SIZE;
+import static
org.apache.camel.component.mongodb.MongoDbConstants.RETURN_DOCUMENT;
+import static org.apache.camel.component.mongodb.MongoDbConstants.SORT_BY;
+import static org.apache.camel.component.mongodb.MongoDbConstants.UPSERT;
+import static org.apache.camel.component.mongodb.MongoDbConstants.WRITERESULT;
+
/**
* The MongoDb producer.
*/
diff --git
a/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/integration/MongoDbOperationsIT.java
b/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/integration/MongoDbOperationsIT.java
index b2a67b55e7b..2e3fbdb4839 100644
---
a/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/integration/MongoDbOperationsIT.java
+++
b/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/integration/MongoDbOperationsIT.java
@@ -16,32 +16,16 @@
*/
package org.apache.camel.component.mongodb.integration;
-import static com.mongodb.client.model.Accumulators.sum;
-import static com.mongodb.client.model.Aggregates.group;
-import static com.mongodb.client.model.Aggregates.match;
-import static com.mongodb.client.model.Filters.eq;
-import static com.mongodb.client.model.Filters.or;
-import static com.mongodb.client.model.Updates.combine;
-import static com.mongodb.client.model.Updates.currentTimestamp;
-import static com.mongodb.client.model.Updates.set;
-import static org.apache.camel.component.mongodb.MongoDbConstants.CRITERIA;
-import static org.apache.camel.component.mongodb.MongoDbConstants.MONGO_ID;
-import static org.apache.camel.test.junit5.TestSupport.assertListSize;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertInstanceOf;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import java.util.Arrays;
+import java.util.Formatter;
+import java.util.HashMap;
+import java.util.List;
import com.mongodb.MongoClientSettings;
import com.mongodb.client.model.Filters;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.InsertOneResult;
import com.mongodb.client.result.UpdateResult;
-import java.util.Arrays;
-import java.util.Formatter;
-import java.util.HashMap;
-import java.util.List;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
@@ -57,6 +41,23 @@ import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import static com.mongodb.client.model.Accumulators.sum;
+import static com.mongodb.client.model.Aggregates.group;
+import static com.mongodb.client.model.Aggregates.match;
+import static com.mongodb.client.model.Filters.eq;
+import static com.mongodb.client.model.Filters.or;
+import static com.mongodb.client.model.Updates.combine;
+import static com.mongodb.client.model.Updates.currentTimestamp;
+import static com.mongodb.client.model.Updates.set;
+import static org.apache.camel.component.mongodb.MongoDbConstants.CRITERIA;
+import static org.apache.camel.component.mongodb.MongoDbConstants.MONGO_ID;
+import static org.apache.camel.test.junit5.TestSupport.assertListSize;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
public class MongoDbOperationsIT extends AbstractMongoDbITSupport implements
ConfigurableRoute {
@BeforeEach