965 Commits

Author SHA1 Message Date
Prasanth Omanakuttan
68571de01b Update Typos in java-doc
Closes #2989
2022-08-29 21:32:00 +02:00
Orange Add
3cc2aa7675
#2825 Fix SubclassMapping stackoverflow exception 2022-08-28 12:41:25 +02:00
Orange Add
ac356cab25
#2983 Add @AnnotateWith support to non bean mapping methods 2022-08-28 12:33:46 +02:00
Filip Hrisafov
4fa66229d9
#2990 Stabilise top level imports 2022-08-26 19:35:54 +02:00
Filip Hrisafov
853e7b27df
#2925 Fix IllegalArgumentException when resolving generic parameters
When resolving the parameter for a method like:

```
<T> Optional<T> from(T value)
```

There was an exception in javac because getting a DeclaredType from an Optional
with a primitive type argument throws an exception.
Therefore, when assigning the type arguments we get the boxed equivalent.
This problem does not happen in the Eclipse compiler
2022-08-24 19:39:09 +02:00
Filip Hrisafov
71b1a7b8a2 #2945 Stabilise top level imports
Make sure that GeneratedType always gets the imported types
from a Type before adding them
2022-08-24 19:38:40 +02:00
Filip Hrisafov
b24e831cf0
#2937 Fix conditional check for collections with adders 2022-08-24 19:11:52 +02:00
Filip Hrisafov
237543c47c
#2897 Always import types defined in Mapper#imports 2022-08-24 18:59:31 +02:00
Filip Hrisafov
874bf1fd2c
#2950 Add support for Jakarta CDI 2022-08-24 18:38:44 +02:00
Filip Hrisafov
ef4c26b075
#2949 Do not inverse inherit BeanMapping#ignoreUnmappedSourceProperties 2022-08-24 18:36:43 +02:00
Hakan
54321d6e66
#2839 Keep thrown types when creating a new ForgedMethod with the same arguments
This fixes a compilation error when mapping fields with the same type due to not wrapping in a `try-catch` block
2022-08-20 15:23:32 +02:00
Prasanth Omanakuttan
46900cabde
Update Typos in javadoc (#2958) 2022-08-20 13:37:43 +02:00
Zegveld
17997ef617
#2901: Fix @TargetType annotation on a @Condition annotated method for a Collection value 2022-08-20 13:01:47 +02:00
Zegveld
849085e026
#1574: Support for annotating the generated code with custom annotations
Add new `@AnnotateWith` annotation.
This annotation can be used to instruct the MapStruct processor
to generate custom annotations in the generated code.
2022-08-20 12:59:38 +02:00
Nikola Ivačič
8fa286fe4c #2688: Support accessing to the target property name 2022-08-01 19:17:33 +02:00
Ben Zegveld
88745d151e #2882: target type is now correctly passed on through the MethodReferencePresenceCheck to the MethodReference. 2022-06-18 23:32:26 +02:00
Sergei Portnov
406ae3fc13
#2891 Fix subclass mapping while superclass has non-empty constructor
Co-authored-by: Filip Hrisafov <filip.hrisafov@gmail.com>
2022-06-18 18:47:07 +02:00
Filip Hrisafov
98eb46aee9
#2880 Fix missing import for array mapping methods
Co-authored-by: Martin Kamp Jensen <martin.kamp.jensen@se.com>
2022-06-18 13:59:03 +02:00
Filip Hrisafov
fa800926e7 #2837 Add support for text blocks in expressions 2022-06-18 12:32:05 +02:00
Filip Hrisafov
46b78bfe59 #2867 Fix NPE when reporting message on parent mappers 2022-06-05 08:35:31 +02:00
Zegveld
437a70d6df
#2807: Include LifeCycleMethod importTypes in the list of importTypes. (#2808)
Co-authored-by: Ben Zegveld <Ben.Zegveld@gmail.com>
2022-04-08 20:57:40 +02:00
Filip Hrisafov
6604617730 #2794 Compile error when condition expression used with constant or expression 2022-04-03 15:20:00 +02:00
Zegveld
03d44b5a87
#2795: use 'includeModel' for the 'sourcePresenceCheckerReference' in the 'UpdateWrapper'. (#2796)
* #2795: use 'includeModel' for the 'sourcePresenceCheckerReference' in the 'UpdateWrapper'.
* Simplify the tests

Co-authored-by: Ben Zegveld <Ben.Zegveld@gmail.com>
Co-authored-by: Filip Hrisafov <filip.hrisafov@gmail.com>
2022-04-02 18:55:06 +02:00
Zegveld
2473c3eaaa
#2797: Add the nested type import types in the NestedPropertyMappingMethod
* #2797: Reproduction scenario
* Add the nested type import types in the NestedPropertyMappingMethod

Co-authored-by: Ben Zegveld <Ben.Zegveld@gmail.com>
Co-authored-by: Filip Hrisafov <filip.hrisafov@gmail.com>
2022-04-02 11:59:25 +02:00
Chris DeLashmutt
ab52867831
#2748 Support mapping map keys with invalid chars for methods 2022-03-19 11:51:19 +01:00
Filip Hrisafov
ad00adfa86
#2538 Allow using 2 step mappings with only one of the 2 methods being qualified 2022-03-12 23:57:17 +01:00
Zegveld
0a69492983
#2755: use raw Type when calling a static method. (#2762) 2022-03-12 18:02:01 +01:00
Zegveld
b6a3aa1512
#2758: fallback to param.variableName if ext.targetBeanName is not present in MethodReference handling. (#2759) 2022-03-12 18:01:15 +01:00
Zegveld
7bb85d05c0
2696: Invert @SubclassMappings with @InheritInverseConfiguration. (#2708)
* #2696: Added support for '@InheritInverseConfiguration' with '@SubclassMappings'.
* #2696: Overriding of inverse inheritence implemented. New order has preference over inherited order.
2022-02-06 20:03:23 +01:00
Filip Hrisafov
2a2c11e871
#2629 Use ModuleElement when getting type element
Prior to this MapStruct would only use `Elements#getTypeElement`.
With this PR if the mapper being generated is within a module MapStruct will use that module
for the methods that are needed (getTypeElement and getPackageElement).

Adapt the build to require a minimum Java 11 for building the processor module.
Adapt the GitHub actions to properly run integration tests with Java 8
Ignore Java 9 usages for the animal-sniffer-plugin
2022-01-30 20:52:22 +01:00
Filip Hrisafov
37835a5607
#2677 Use type without bounds when looking for read / presence accessor in a SourceReference 2022-01-30 20:49:05 +01:00
Filip Hrisafov
12070186a4 #2567 Add support for Jakarta Injection
Support for Jakarta is done in 2 ways:

* current jsr330 component model - In this case Jakarta Inject will be used if javax.inject is not available
* new jakarta component model - In this case Jakarta Inject will always be used
2022-01-30 13:31:50 +01:00
Filip Hrisafov
aed3ff5295 #1997 Use builders to construct empty objects in update wrapper 2022-01-30 12:38:42 +01:00
Filip Hrisafov
5f4d355838
#1661 Add support for globally disabling builders 2022-01-29 11:46:34 +01:00
Zegveld
9105041522
#2668: Added support for collections and maps with a no-args constructor (#2671)
#2668: Added support for collections and maps with a no-args constructor. Added a compiler error in case of a collection or map without either a no-arg constructor or a copy constructor.
2022-01-29 00:37:24 +01:00
Justyna
b22efd9ad7
#2674: Add check if method without implementation doesn’t have @AfterMapping / @BeforeMapping annotation 2022-01-24 14:17:24 +01:00
Valentin Kulesh
42cfa05c40
#2704 Fix broken reference to constants within nested enums 2021-12-26 11:22:05 +01:00
Zegveld
ea45666d66
#2673: Fix optional wrapping pattern throwing exception when primitive types are present
MethodMatcher incorrectly reported that a primitive type matches a candidate for a type var
2021-12-11 14:16:19 +01:00
Filip Hrisafov
5de813c16f #2666 Presence Check should be applied to source parameters when used in @Mapping 2021-12-04 12:37:15 +01:00
Filip Hrisafov
00df0bc3d0
#2680 Refactor accessors
Split the `PresenceCheck`s accessor from the current `Accessor`.
Introduce a `ReadAccessor` that would allow us to more easily implement certain things.
Remove `MAP_GET` and `MAP_CONTAINS` from the AccessorType and use the new refactored mechanism
2021-12-03 19:13:41 +01:00
Filip Hrisafov
13bc0c023c
#2553 Support source property paths for maps 2021-11-20 08:48:08 +01:00
Filip Hrisafov
29008e12bf #2005 Parameter type should only be checked if we are mapping from a single argument source 2021-11-20 08:00:32 +01:00
Filip Hrisafov
735a5bef6a
#2225 Add support for suppressing the generation of the timestamp through Mapper and MapperConfig 2021-11-06 09:21:16 +01:00
Filip Hrisafov
166eb699c7 #1752 Always return mapping target when using update methods with return 2021-10-31 17:41:49 +01:00
Filip Hrisafov
907d605160 #2624 Nested target methods should be inherited for forged Map to Bean methods 2021-10-31 17:11:54 +01:00
Zegveld
ca2529f862
#598: Errors/Warnings now end up in the @Mapper annotated class. (#2634)
#598: Errors/Warnings now end up in the @Mapper annotated class.

Co-authored-by: Ben Zegveld <Ben.Zegveld@gmail.com>
2021-10-31 16:46:35 +01:00
Henning Pöttker
e32fc8c283 #2351 NullValueMappingStrategy for Maps and Iterables
With two new parameters for Mapper and MapperConfig, it is now possible to override the nullValueMappingStrategy specifically for MapMapping and IterableMapping.
2021-10-30 13:36:26 +02:00
Filip Hrisafov
80d26a1a9c
#148, #1386, #2593 Only import top level classes
Instead of importing all classes, inner classes will be used through their top level classes only.
This also fixes the problem in #2593 since inner classes are no longer imported but used through their top classes
2021-10-25 08:22:26 +02:00
Filip Hrisafov
564455ee45 #2596 Record components should have the highest priority for read accessors 2021-10-25 08:21:18 +02:00
Filip Hrisafov
935c03e822 #2614 Do not use FQN when mapping Stream to Array 2021-10-25 08:20:59 +02:00