Assets 2
  • [fix] Fix potential resource leak in DataManagerImpl.

@adrienlauer adrienlauer released this May 4, 2018 · 4 commits to master since this release

Assets 2
  • [new] Java 9 compatibility.
  • [new] Add sorting support to BaseInMemoryRepository.
  • [chg] Make SizePicker (specialization for page-based pagination) extend LimitPicker.
  • [fix] ComparableSpecification and its descendant were not properly evaluating the comparison result.

@adrienlauer adrienlauer released this Dec 5, 2017 · 15 commits to master since this release

Assets 2
  • [new] Paginator can now paginate streams and iterables of arbitrary objects (not only aggregates through repositories).

@adrienlauer adrienlauer released this Dec 4, 2017 · 16 commits to master since this release

Assets 2
  • [chg] The class configuration defaultRepository and defaultAssembler are now real defaults and don't clash with code-based bindings anymore.

@adrienlauer adrienlauer released this Dec 1, 2017 · 17 commits to master since this release

Assets 2
  • [new] Add business-migrate module to help migration from 3.x based projects.

@adrienlauer adrienlauer released this Nov 30, 2017 · 18 commits to master since this release

Assets 2
  • [new] A default implementation of getId() has been added in BaseEntity which searches for a field named "id" or annotated with @Identity.
  • [new] DDD specifications have been added.
  • [new] A specification builder allows to create DDD specifications with a fluent DSL.
  • [new] Add SPI and base infrastructure for specification translation.
  • [new] New methods in the Repository interface allow to work on multiple aggregates with specifications.
  • [new] Business framework now takes advantage of Java 8 features (notably streams and optional).
  • [new] FluentAssembler can now assemble and merge streams of objects among other useful types (arrays, lists, sets, slices, pages and arbitrary collections).
  • [new] A pagination DSL injectable through the Paginator interface has been added.
  • [new] Add an in-memory default implementation of repository (useful for testing or other specific use-cases).
  • [new] Annotating an implementation with @Overriding will allow it to override an existing similar implementation.
  • [new] It is now possible to specify the qualifier of the identity generator directly on the identity field.
  • [chg] Extracted ModelMapper automatic assemblers to a separate add-on.
  • [brk] The @MatchingFactoryParameter annotation has been renamed to @FactoryArgument.
  • [brk] The @MatchingEntityId annotation has been renamed to @AggregateId.
  • [brk] The typeIndex() method of @FactoryArgument and @AggregateId annotations has been renamed to aggregateIndex().
  • [brk] The Assembler methods assembleDtoFromAggregate(), assembleDtoFromAggregate() and mergeAggregateWithDto() have been renamed to createDtoFromAggregate(), mergeAggregateIntoDto() and mergeDtoIntoAggregate() respectively.
  • [brk] The BaseAssembler and BaseTupleAssembler now follow the Assembler interface (no more do*() methods).
  • [brk] The getEntityId() method of Entity has been renamed to getId().
  • [brk] The Repository interface has been refactored as a collection-like interface.
  • [brk] The Factory and GenericFactory interfaces are merged into a unique Factory interface.
  • [brk] The DomainObject interface has been removed.
  • [brk] The old pagination API has been removed.
  • [brk] Intermediate interfaces of FluentAssembler DSL have been renamed.
  • [brk] Generic events have been replaced by domain-only events.
  • [brk] The interface IdentityHandler has been renamed to IdentityGenerator to better reflect its responsibility.
  • [brk] The source parameter from @Identity annotation has been removed. This is better done in class configuration.
  • [brk] The handler parameter of the @Identity annotation has been renamed generator.

@adrienlauer adrienlauer released this Apr 30, 2017 · 101 commits to master since this release

Assets 2
  • [new] It is now possible to assemble a list of DTOs to aggregates coming both from repository and factory.
  • [chg] When assembling a DTO list, aggregates coming both from repository and factory and allowed by default.

@adrienlauer adrienlauer released this Feb 26, 2017 · 109 commits to master since this release

Assets 2
  • [fix] Fix transitive dependency to poms SNAPSHOT.

@adrienlauer adrienlauer released this Jan 12, 2017 · 110 commits to master since this release

Assets 2
  • [brk] DomainEvent class is renamed BaseDomainEvent and implements a new interface named DomainEvent.

@adrienlauer adrienlauer released this Dec 13, 2016 · 114 commits to master since this release

Assets 2
  • [brk] Update to SeedStack 16.11 new configuration system.
  • [brk] The class configuration property identity.handler-qualifier becomes identityHandler.
  • [brk] The class configuration property default-repository becomes defaultRepository.
  • [brk] The qualifier for SimpleUUIDHandler identity handler is renamed from simple-UUID to simpleUUID.
  • [brk] The qualifier for InMemorySequenceHandler identity handler is renamed from inmemory-sequence to inMemorySequence.
  • [chg] Base classes containing implementation have been moved from the specs module to the core module.