diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index e229a7d06..8cf42e101 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -15,7 +15,13 @@ and this project adheres to https://semver.org/spec/v2.0.0.html[Semantic Version === Changes - Changes on the document entities persistence operations at the Eclipse JNoSQL DynamoDB Database - +- Update Apache solr driver to 9.9.0 +- Update Jedis to version 6.0.0 +- Update OrientDB driver to 3.2.42 +- Update MongoDB driver to 5.5.1 +- Update Infinispan driver to 15.2.5.Final +- Update Couchbase driver to 3.8.3 +- Update ArangoDB driver to 7.21.0 == [1.1.8] - 2025-05-21 diff --git a/jnosql-arangodb/pom.xml b/jnosql-arangodb/pom.xml index 3013aba9d..2ab898e49 100644 --- a/jnosql-arangodb/pom.xml +++ b/jnosql-arangodb/pom.xml @@ -28,8 +28,7 @@ The Eclipse JNoSQL layer to ArangoDB - 7.17.0 - + 7.21.0 diff --git a/jnosql-couchbase/pom.xml b/jnosql-couchbase/pom.xml index 724264f40..f9294ef65 100644 --- a/jnosql-couchbase/pom.xml +++ b/jnosql-couchbase/pom.xml @@ -48,7 +48,7 @@ com.couchbase.client java-client - 3.8.1 + 3.8.3 org.testcontainers diff --git a/jnosql-infinispan/pom.xml b/jnosql-infinispan/pom.xml index cbea1f12c..81c4c60a9 100644 --- a/jnosql-infinispan/pom.xml +++ b/jnosql-infinispan/pom.xml @@ -26,7 +26,7 @@ The Eclipse JNoSQL layer implementation for Infinispan - 15.1.1.Final + 15.2.5.Final diff --git a/jnosql-mongodb/pom.xml b/jnosql-mongodb/pom.xml index a6cefc56d..398addde3 100644 --- a/jnosql-mongodb/pom.xml +++ b/jnosql-mongodb/pom.xml @@ -28,7 +28,7 @@ The Eclipse JNoSQL layer to MongoDB - 5.2.1 + 5.5.1 diff --git a/jnosql-oracle-nosql/src/test/java/org/eclipse/jnosql/databases/oracle/integration/Contact.java b/jnosql-oracle-nosql/src/test/java/org/eclipse/jnosql/databases/oracle/integration/Contact.java new file mode 100644 index 000000000..4b8b0ee66 --- /dev/null +++ b/jnosql-oracle-nosql/src/test/java/org/eclipse/jnosql/databases/oracle/integration/Contact.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2025 Contributors to the Eclipse Foundation + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and Apache License v2.0 which accompanies this distribution. + * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html + * and the Apache License v2.0 is available at http://www.opensource.org/licenses/apache2.0.php. + * + * You may elect to redistribute this code under either of these licenses. + * + * Contributors: + * + * Otavio Santana + */ +package org.eclipse.jnosql.databases.oracle.integration; + +import jakarta.nosql.Column; +import jakarta.nosql.Entity; +import jakarta.nosql.Id; +import org.eclipse.jnosql.databases.oracle.communication.ContactType; + +@Entity +public record Contact(@Id String id, @Column String name, @Column ContactType type) { + + +} diff --git a/jnosql-oracle-nosql/src/test/java/org/eclipse/jnosql/databases/oracle/integration/ContactRepository.java b/jnosql-oracle-nosql/src/test/java/org/eclipse/jnosql/databases/oracle/integration/ContactRepository.java new file mode 100644 index 000000000..b1e8eb3c2 --- /dev/null +++ b/jnosql-oracle-nosql/src/test/java/org/eclipse/jnosql/databases/oracle/integration/ContactRepository.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2025 Contributors to the Eclipse Foundation + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and Apache License v2.0 which accompanies this distribution. + * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html + * and the Apache License v2.0 is available at http://www.opensource.org/licenses/apache2.0.php. + * + * You may elect to redistribute this code under either of these licenses. + * + * Contributors: + * + * Otavio Santana + */ +package org.eclipse.jnosql.databases.oracle.integration; + +import jakarta.data.repository.BasicRepository; +import jakarta.data.repository.Param; +import jakarta.data.repository.Query; +import jakarta.data.repository.Repository; +import org.eclipse.jnosql.databases.oracle.communication.ContactType; + +import java.util.List; + +@Repository +public interface ContactRepository extends BasicRepository { + + @Query("where type = :type") + List findByType(@Param("type") ContactType type); +} diff --git a/jnosql-oracle-nosql/src/test/java/org/eclipse/jnosql/databases/oracle/integration/OracleNoSQLTemplateIntegrationTest.java b/jnosql-oracle-nosql/src/test/java/org/eclipse/jnosql/databases/oracle/integration/OracleNoSQLTemplateIntegrationTest.java index 048e5e51e..b5d7d7fb7 100644 --- a/jnosql-oracle-nosql/src/test/java/org/eclipse/jnosql/databases/oracle/integration/OracleNoSQLTemplateIntegrationTest.java +++ b/jnosql-oracle-nosql/src/test/java/org/eclipse/jnosql/databases/oracle/integration/OracleNoSQLTemplateIntegrationTest.java @@ -17,6 +17,7 @@ import jakarta.inject.Inject; import org.assertj.core.api.SoftAssertions; +import org.eclipse.jnosql.databases.oracle.communication.ContactType; import org.eclipse.jnosql.databases.oracle.communication.Database; import org.eclipse.jnosql.databases.oracle.communication.OracleNoSQLConfigurations; import org.eclipse.jnosql.databases.oracle.mapping.OracleNoSQLTemplate; @@ -32,7 +33,9 @@ import org.jboss.weld.junit5.auto.EnableAutoWeld; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfSystemProperty; +import org.junit.jupiter.params.ParameterizedTest; +import java.util.List; import java.util.Optional; import static java.util.UUID.randomUUID; @@ -54,6 +57,9 @@ class OracleNoSQLTemplateIntegrationTest { @Inject private OracleNoSQLTemplate template; + @Inject + private ContactRepository contactRepository; + static { System.setProperty(OracleNoSQLConfigurations.HOST.get(), Database.INSTANCE.host()); System.setProperty(MappingConfigurations.DOCUMENT_DATABASE.get(), "library"); @@ -136,6 +142,36 @@ void shouldUpdateNullValues(){ softly.assertThat(optional).get().extracting(Magazine::edition).isEqualTo(2); }); } + + @ParameterizedTest + @org.junit.jupiter.params.provider.EnumSource(ContactType.class) + void shouldFindByType(ContactType type){ + var contact = new Contact(randomUUID().toString(), "Otavio Santana", type); + template.insert(contact); + + List entities = template.select(Contact.class).where("type").eq(type).result(); + + SoftAssertions.assertSoftly(softly -> { + softly.assertThat(entities).isNotNull(); + softly.assertThat(entities).allMatch(e -> e.type().equals(type)); + }); + + } + + @ParameterizedTest + @org.junit.jupiter.params.provider.EnumSource(ContactType.class) + void shouldFindByTypeUsingRepository(ContactType type){ + var contact = new Contact(randomUUID().toString(), "Otavio Santana", type); + contactRepository.save(contact); + + List entities = contactRepository.findByType(type); + + SoftAssertions.assertSoftly(softly -> { + softly.assertThat(entities).isNotNull(); + softly.assertThat(entities).allMatch(e -> e.type().equals(type)); + }); + + } diff --git a/jnosql-orientdb/pom.xml b/jnosql-orientdb/pom.xml index 2b82d5602..f77cf3843 100644 --- a/jnosql-orientdb/pom.xml +++ b/jnosql-orientdb/pom.xml @@ -34,7 +34,7 @@ com.orientechnologies orientdb-graphdb - 3.2.39 + 3.2.42 ${project.groupId} diff --git a/jnosql-redis/pom.xml b/jnosql-redis/pom.xml index c2ed7a277..c4d452a33 100644 --- a/jnosql-redis/pom.xml +++ b/jnosql-redis/pom.xml @@ -37,7 +37,7 @@ redis.clients jedis - 5.2.0 + 6.0.0 ${project.groupId} diff --git a/jnosql-solr/pom.xml b/jnosql-solr/pom.xml index 7ea203ef4..f026d985b 100644 --- a/jnosql-solr/pom.xml +++ b/jnosql-solr/pom.xml @@ -38,7 +38,7 @@ org.apache.solr solr-solrj - 9.7.0 + 9.9.0 org.testcontainers diff --git a/pom.xml b/pom.xml index 5e283ec47..30f2e3106 100644 --- a/pom.xml +++ b/pom.xml @@ -39,7 +39,7 @@ - 1.21.0 + 1.21.3 false https://raw.githubusercontent.com/eclipse/jnosql-databases/refs/heads/main/pmd/pmd-rules.xml