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 <claus.ib...@gmail.com> 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