Comparing nitrite:main...lamba92:main · nitrite/nitrite-java

Commits on May 15, 2024

  1. Improve DocumentFormat and add Pair components' handlers

    This commit includes enhancements in DocumentFormat and addition of operators for Pair components. The modifications in DocumentFormat make it stricter by enforcing checks on map keys and making sure they are of type String. The commit also adds operators for first and second components of a Pair.
    
    Update JVM vendor in buildlogic file
    
    This commit changes the JVM vendor specification in the nitrite-java's build-logic file. Previously, the vendor was set to AdoptOpenJdk, and this
    
    Add Foojay's Java toolchain resolver to the build configuration
    
    To ensure we use a consistent JDK version across different build environments, we've added Foojay's Java toolchain resolver to the build configuration. Specifically, version 0.8.0 was added to settings.gradle.kts. Furthermore, toolchain settings were added to java-conventions.gradle.kts to specify language version 17, and AdoptOpenJDK as the JVM vendor.
    
    Update Kotlin serialization and repository handling
    
    This commit involves updates in Kotlin serialization and repository. Changes include the introduction of a DocumentFormat file, enhancement in DocumentEncoder and DocumentDecoder files, and other minor bug fixes in different modules. The update queried check on encoded strings for test mapping and precise adjustments on nitrite collection and repository handling.
    
    Added nitrite-java submodule to fix repo issue
    Configuration menu

    Browse the repository at this point in the history

Commits on May 16, 2024

  1. Refactor DocumentFormat and introduce DocumentFormatConfiguration

    The DocumentFormat has been refactored for better configuration, modularizing it and encapsulating related parameters in the newly introduced DocumentFormatConfiguration class. Also, DocumentFormatBuilder has been introduced to enable the creation of DocumentFormat instances with custom configuration.
    Configuration menu

    Browse the repository at this point in the history

  2. Add feature to disable repository type validation

    A new feature has been implemented that allows developers to disable the repository type validation in the Nitrite database. This is particularly useful when dealing with objects that cannot be converted to a Nitrite Document, as it prevents Nitrite from throwing an exception. The feature is enabled by default and can be disabled using the `disableRepositoryTypeValidation()` method in the `NitriteBuilder` class. This change also includes updates to the respective test cases and documentation.
    Configuration menu

    Browse the repository at this point in the history

Commits on May 17, 2024

  1. Renamed variable and removed unused imports

    The 'repositoryValidation' variable in the 'Builder.kt' file was renamed to 'validateRepositories' for improved clarity. Additionally, removed unnecessary imports from 'KotlinXSerializationMapperTest.kt' to optimize the code.
    Configuration menu

    Browse the repository at this point in the history

  2. Add deepPut option to DocumentFormat serialization

    This commit introduces a new property `allowDeepPut` to the DocumentFormat serialization methodology. This configures whether deep puts are allowed during the JSON to Document conversion process. Also, accompanying changes have been made to the corresponding SerializationMapper tests to verify the functionality of the added property.
    Configuration menu

    Browse the repository at this point in the history

  3. Add serialization support for NitriteId

    A new serializer has been added for NitriteId, making it possible to serialize and deserialize this object type. To accommodate this change, some updates were necessary in KotlinXSerializationMapperTest where the "_id" field now receives a NitriteId instead of a string. Changes made should increase the flexibility and capabilities of the library.
    Configuration menu

    Browse the repository at this point in the history

  4. Add Json serialization for NitriteId and refactor tests

    The NitriteId is now parsed into Json objects for serialization in the DocumentFormat file. Additionally, the KotlinXSerializationMapperTest file was refactored, including replacing TestData with KotlinxTestData, the usage of new functions and removal of unused ones.
    Configuration menu

    Browse the repository at this point in the history

Commits on May 21, 2024

  1. Invert allowDeepPut configuration in DocumentFormat

    The logic for the encoding to Document in the DocumentFormat class of the potassium-nitrite module has been adjusted. Specifically, the 'allowDeepPut' configuration of the 'JsonObject' conversion to a 'Document' has been inverted for more flexible encoding options.
    Configuration menu

    Browse the repository at this point in the history