581 Commits

Author SHA1 Message Date
Sjaak Derksen
3c079e412a
#1707 fix for not defining local variable in stream-iterable mapping (#1708) 2019-02-10 10:31:51 +01:00
Sjaak Derksen
07c7a29adc
#1700 Optimizing code for adders and stream adders (#1701) 2019-01-29 20:02:23 +01:00
Sjaak Derksen
0981959ff0
#1699 add sensible defaults to NullValuePropertyMapping.SET_TO_DEFAULT (#1702) 2019-01-28 22:47:37 +01:00
Sjaak Derksen
57caee250f
#1685 completing nullvaluepropertymappingstrategy (#1697) 2019-01-27 21:09:44 +01:00
Filip Hrisafov
73a1ab1e8a
#1681 Do not call finaliser method on return when @MappingTarget is not a builder 2019-01-20 17:05:52 +01:00
Sjaak Derksen
743361ca45
#1650 cannot find symbol nested mapping mappingtarget (#1671)
* #1650 reproducer

* #1650 fix cannot-find-symbol

* #1650 reproducer, extended
2018-12-20 21:12:37 +01:00
Arne Seime
e2915c864e #1665 Box any primitives before attempting type comparison for adder accessors 2018-12-11 18:33:50 +01:00
Taras Mychaskiw
780fd73928 #1656 Support for mapping between String and java.time Duration, Period, Instant 2018-12-08 20:25:42 +01:00
Filip Hrisafov
d1fe65dbad #1660 Consider only public not static accessor methods as possible getter, setter, presence check and / or adder methods 2018-12-01 21:26:55 +01:00
Filip Hrisafov
a3ba57c372
#1648 Source properties defined in Mapping should not be reported as unmapped 2018-11-18 10:11:11 +01:00
Sjaak Derksen
cf668bea77
#1576 Delay determining whether a Type needs to be imported & java.time cleanup (#1642) 2018-11-06 07:36:09 +00:00
Filip Hrisafov
3ff4ebd60a #1640 Add init method with MapStructProcessingEnvironment to the BuilderProvider for initializing the Elements and Types 2018-11-03 15:48:16 +01:00
Sjaak Derksen
1266796921
#1504 adding position hints for ambiguous mapping methods (#1639) 2018-11-03 08:57:42 +00:00
Filip Hrisafov
6f19d56155 #1566, #1253 Add support for initializing the AccessorNamingStrategy with Elements and Types and use Types for determining fluent setters
* This allows using generic builders
2018-11-03 08:55:10 +01:00
Sjaak Derksen
e69647f756
#5 controlling lossy conversions (also solving #1504 partially and #1458) 2018-11-02 07:56:51 +00:00
Filip Hrisafov
ec413118d6
Update build with latest dependencies and Java 8 baseline: (#1636)
* Do not use maven-processor-plugin and use the maven-compiler-plugin annotationProcessors instead
* Update NoPackageCyclesRule and exclude tests
* Update checkstyle to 8.14 and remove FIleContentsHolder module and move SuppressionCommentFilter to the TreeWalker
* Update assertj to 3.11.1 and replace usage of RuntimeIOException (from AssertJ) with UncheckedIOException (from java 8)
* Add how to import MapStruct into IntelliJ and Eclipse into the readme
2018-10-28 21:39:35 +01:00
Filip Hrisafov
de13634cce
#1478 Use source property name for the adder iterator 2018-10-28 14:55:41 +01:00
Filip Hrisafov
2acbe0f5e8
#1633 Add support for an alternative line in the diagnostics report
* This should be used as a last resort when the compilers report the diagnostic on a wrong line
* The NullValuePropertyMappingTest uses repeatable annotations that reports errors on wrong lines in javac JDK-8042710
2018-10-28 08:01:44 +01:00
Sjaak Derksen
288813fc3c
#1306 Add new NullValuePropertyMappingStrategy which leaves @MappingTarget untouched (#1618) 2018-10-25 22:14:26 +01:00
Sjaak Derksen
a09d980773
#1593 additional testcase to test multiple source arguments icw @MappingConfig (#1630) 2018-10-20 11:21:13 +01:00
Sivaraman Viswanathan
9f8c0749d1 #1591 Add support for mapping java.time.LocalDate to java.sql.Date 2018-10-15 21:41:53 +02:00
Filip Hrisafov
0e0fd313e5 #1594 Add test case to show that it has been fixed 2018-10-13 10:27:49 +02:00
Filip Hrisafov
f17ddcfb18 #1608 Make sure that property names for fluent setters starting with is are handled properly (#1620) 2018-10-13 07:54:09 +01:00
neoXfire
6b3cbaae9e #1595 Support for conversion between java.time.Instant and java.util.Date (#1622) 2018-10-12 20:10:25 +01:00
Sjaak Derksen
459f57e805
#1571 apply nullvaluecheck strategy on all relevant levels 2018-09-24 23:35:35 +02:00
Sebastian
30c2dadec7 #1561 add support for adders in combination with streams
- Extended Type#getAlternativeTargetAccessors to recognize stream read
  accessors for which no corresponding setter exists
  (there is only an add method)
- Extended SourceRHS#getSourceTypeForMatching to return the
  correct source type for streams too
- Add StreamAdderWrapper to map Stream -> Adder
- Extended PropertyMapping$PropertyMappingBuilder#assignToPlainViaAdder
  to return StreamAdderWrapper if source type is stream
2018-09-24 22:23:34 +02:00
Sjaak Derksen
5a4990c474
#1456 apply source presence tracking recursively (in nested source) 2018-09-22 14:06:53 +02:00
Sjaak Derksen
13aa947421
#1569 Reproducer missing Immubable buildertype import (#1605) 2018-09-12 16:26:09 +02:00
Sjaak Derksen
bd2c206f7f
#1590 ArrayList missing as import for NVMS.RETURN_DEFAULT (#1598) 2018-08-29 21:11:22 +02:00
Filip Hrisafov
04576de1d1
#1552 Stop processing source parameters for unprocessed defined properties when a mapping is found 2018-08-18 19:58:02 +02:00
Sjaak Derksen
10f855fa9e
#1532 using fields and constructor fragments optimizing DataTypeFactory usage 2018-08-14 23:53:41 +02:00
Sjaak Derksen
5c2e049478
#1558 Annotations ElementType.TYPE_USE not handled correctly 2018-08-14 06:56:59 +02:00
Filip Hrisafov
e056311c1a
#1569 Make sure that converting Java 8 LocalDate to Date generates correct code
* ZoneOffset instead of ZoneId needs to be imported when performing a conversion from LocalDate to Date
2018-08-13 21:21:04 +02:00
Saheb Preet Singh
08067b7f17 #1524 replaced java.beans.Introspector with a custom IntrospectorUtils class to avoid java.desktop module 2018-08-11 22:19:21 +02:00
Christian Bandowski
6b89539ff6 #1541 Fix NPE when using varargs in mapping methods 2018-07-24 18:19:42 +02:00
Filip Hrisafov
12bfff8f46 #1411 Fix expected line in Diagnostic after reducing the test files copyright headers 2018-07-15 19:29:28 +02:00
MapStruct Team
b35126e609 #1411 Update copyright header on all files
* Use new shorter copyright header without a year
* Use SLASHSTAR_STYLE for Java files
2018-07-15 19:29:28 +02:00
Sjaak Derksen
58a2aa94bb
#1482 allowing generic self references in types when matching 2018-07-14 16:27:10 +02:00
Filip Hrisafov
ef270caecb
#1479 Add support for Builders with multiple build methods (#1498)
* Add new @Builder annotation for defining a build method
* When there are multiple build methods look for a method named `build` and if found use it
* If @Builder is defined than look for a build method with the defined method
* When a type has multiple builder creation methods throw an exception and don't use the builder

Defaulting to a method named `build` will make sure that a correct method is selected for:
* FreeBuilder - it has two methods: `build` and `buildPartial`
* Protobuf - it has three methods: `getDefaultInstanceForType`, `build` and `buildPartial`
2018-07-12 23:16:53 +02:00
Christian Bandowski
508de6733e #1523 dont lose timezone mapping Calendar to XMLGregorianCalendar 2018-06-21 22:32:36 +02:00
sjaakd
e67c849c17 #1398 allowing @ObjectFactory methods on context 2018-05-24 20:28:14 +02:00
Christian Bandowski
db851701ef #1454 add more tests for builder lifecycle methods 2018-05-17 21:39:38 +02:00
Christian Bandowski
eeddc17de4 #537 add unit test 2018-05-09 22:28:16 +02:00
sjaakd
6fbc4cf253 #1180 non existing (nested) property in shared config 2018-05-08 23:18:18 +02:00
Filip Hrisafov
771debee88
#1453 Make sure that we always forge iterable / map mapping methods without bounds
When generating collection / map mapping methods make sure that the method result type is without bounds
2018-05-06 22:03:16 +02:00
sjaakd
45cc87849b #1458 reporting error detail from literal assignment 2018-05-05 22:56:00 +02:00
Christian Bandowski
b291907918 #1460 Ensures the FQN will be used for SimpleConversion if required
* Added getReferenceName() to Type which returns simple or fully-qualified-name
* Use getReferenceName() in all SimpleConversions
* Added testcase that is not working without these changes
* Added ConversionUtils with a lot of helper methods to create the "reference names" used in SimpleConversions
2018-05-05 20:42:37 +02:00
Filip Hrisafov
bf31ec72de
#1338 Using an adder with non generic source collection should work 2018-05-04 08:09:37 +02:00
Filip Hrisafov
b6905d5168 Make sure we have a conflicting test with adder 2018-05-03 21:51:37 +02:00
Filip Hrisafov
adde6826a6 #1449 Adders should not be considered as builder setter methods 2018-05-03 21:51:37 +02:00