eclipse / jnosql

Eclipse JNoSQL is a framework which has the goal to help Java developers to create Jakarta EE applications with NoSQL.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support ArangoDB Driver 7.0

otaviojava opened this issue · comments

A first snapshot release of ArangoDB Java Driver version 7.0 has been published, see https://github.com/arangodb/arangodb-java-driver/releases/tag/v7.0.0-SNAPSHOT-1.

Please keep in mind that this is a snapshot release. It is suited for testing purposes only and is NOT for production usage. It is solely meant to allow users and libraries maintainers trying out the new features and reviewing the API changes, before the general availability of the stable release.

You might consider verifying if your project is compatible with it and can benefit from the new added features.

Here you can find a detailed description of the new features and API changes:
https://github.com/arangodb/arangodb-java-driver/blob/v7/docs

Feedback and questions are welcome in our dedicated driverdev Slack channel (https://arangodb-community.slack.com/archives/C1R1A2TFC).

--
Michele Rastelli
Java Engineer
ArangoDB GmbH

Ref: https://github.com/eclipse/jnosql-communication-driver/issues/201

Hi @otaviojava ,

ArangoDB Java Driver version 7.0 reached RC stage and the API can now be considered final: https://github.com/arangodb/arangodb-java-driver/releases/tag/v7.0.0-RC.3

Among other improvements, the following features migth be interesting for this project:

  • a new Serialization API with:
    • support to serialize and deserialize Jackson types (com.fasterxml.jackson.databind.JsonNode and its subclasses) or their shaded variants
    • dataformat-agnostic interface ArangoSerde for serializing and deserializing user data. I.e. this can be implemented using JSON-B and/or interpreting Jakarta NoSQL Mapping API annotations
  • a new Configuration API, which could be implemented to integrate with MicroProfile Config
  • a shaded variant of the driver, beneficial in case of transitive dependencies convergence problems

Feedback and questions are welcome!

Version 7.0.0 has been just released.

Hello @otaviojava , I was looking to the implementation and we are still using the 6.20.0, can I work on this update? If it make sense for the release version

Hey @obrunojava, sure go ahead.

@otaviojava hello otavio, how you doing?
Just an update:

I've been working on this one, I think the major change for us right now is that the DbName.of() method was deleted (removed DbName in favor of plain strings). I've been changing things and running the tests, almost like a tdd process.

arangoDB.db(DbName.of(bucketName)) change to arangoDB.db(bucketName)

[experimental update] - this one I am checking to see if its ok to change, this BaseDocument is used a lot in the DefaultArangoDBDocumentoManager, but it some methods change it.

Like this one doesnt return a DocumentCreateEntity typed
DocumentCreateEntity<BaseDocument> to DocumentCreateEntity<Void> arandoDocument = arangoDB.db(database)

Those

arangoDB.db(DbName.of(database)).query(delete.getQuery(), delete.getValues(), null, BaseDocument.class)

change to

    `arangoDB.db(database).query(delete.getQuery(), BaseDocument.class,   delete.getValues());`

mostly because the position of the arguments of query method were wrong for the 7.0 version.
changed order of arguments in ArangoDatabase.query() overloads

But as I said, those are experimental, because I dont know if they are going to be like this in the final version rs

@obrunojava, as @rashtao said, they released the final version.

Thank you for the update.

All the changes in ArangoDB Java driver version 7 are now final.
You can find the latest released versions here: https://github.com/arangodb/arangodb-java-driver/releases

From an architectural standpoint, I wrote above about some potential improvements.

Feel free to reach out in case you need help.

@obrunojava, how is the upgrade process going?
Do you need any help with it?
How about you open a PR with what you have so that we can work together?

I created the Update, and it is merged at the main branch.

We are moving to release a new version next week.

Hi @otaviojava, I so sorry I didnt answer you about the task, as I told Max I was having family troubles last moth, I lost my grandfather and had to deal with a lot of other small problems related to that, so I had to suddenly stop the task (and basically all my online presence).

I am slowing returning to my projects and I'll look foward to help you guys on this one in the future. Again, I am sorry about this. :(

Hey @obrunojava my condolences.
It happens, don't I hope we get better and back as ASAP.