Applied DedicatedMapperFacade concept which allows fast caching fo a
resolved MapperStrategy for a given set of inputs.
Applied test from GeDA mapping benchmark, modified for Orika
DedicatedMapperFacade
Added non-cyclic Orika to benchmark
Updated benchmark to include Graph, Point, Segment example
Added additional method signatures for DedicatedMapperFacade to allow
passing in context
Applied changes to used DedicatedMapperFacade in generated code;
also leveraged javolution ObjectFactory for MappingContexts to avoid
unnecessary allocation of MappingContexts which is expensive..
some initial work for passing MappingContext into code generation
functions to track progress and possibly determine when memorizing
mapped objects can be avoided
Added newObjectA and newObjectB to DedicatedMapperFacade so object
factories don't have to be resolved each time an instance is needed
Added RegexPropertyResolver which allows specifying pattern for
read/write method matching.
Refactored core property resolution logic into PropertyResolver
abstract, and extended IntrospectorPropertyResolver from it for better
extensibility
Updated benchmark
Applied proposed changes to support ad-hoc property definitions in-line
with test cases
fix to handle proper expressions for ad-hoc properties
Updated naming to use 'AdHoc' instead of 'Dynamic'
Changed name "Dedicated" to "Bound" which makes more sense.
Added test cases for bound mapper.
Added strategy caching for multi-occurrence mapping to avoid
re-resolving strategy on each element.
renamed methods for more consistency with existing MapperFacade;
updated boundmapperfacade test cases to use all BoundMapperFacade
instances for mapping
Updated benchmarks to match 1.2.3-SNAPSHOT version code changes
updated git to ignore .settings folder
Included optional shade plugin definition for producing
orika-core-standalone.jar (commented out for now)
Returned deprecated Converter to it's original signature; though at this
point, since it was mistakenly migrated earlier, it may just be worth
removing it altogether.
Applied MappedTypePair to Converter so it could be easily sorted.
Added SortedSet extension of SortedCollection to support ordering of
Converters with respect to class hierarchy, so that the most specific
converter able to convert a pair is the one resolved, regardless of
registration order.
Applied fixes to ordering of mapper generation code to move
primitive<=>wrapper mapping up into the section with copy-by-reference,
since it is essentially the same (this fixes issues that can arise when
enabling built-in converters by default)
Changed built-in converters to be enabled by default
Separated the comparators used for Mapper, MapperKey and Converter into
a single class with shared compare logic
Removed converter resolution from ObjectFactoryGenerator -- it is done
via the call to CodeSourceBuilder, in consistent order, same as used for
mappers
Performance fix to MapperFacade.resolveMapperStrategy to avoid
converting Class to Type until after the MapperKey lookup has already
failed
bumped version to 1.3.0-SNAPSHOT
removed benchmarks sub-project (now in a separate project)
moved javassist dependency to use the newer 'org.javassist' groupId
which is more compatible with other dependencies
Added capability to call 'register()' from the fluid ClassMapBuilder
instance, which allows for more concise mapping definition
Added capability to map beans to maps and vise-versa