1123 Commits

Author SHA1 Message Date
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
104ebf88da Add a FreeBuilder specific AccessNamingStrategy
The builder created by FreeBuilder have different fluent methods created.
When using FreeBuilder one needs to use the JavaBean convention for the getters (as otherwise MapStruct won't recognize them),
this leads to FreeBuilder creating fluent setters that start with set (so we can safely ignore all other fluent setters)
2018-11-03 08:55:10 +01: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
Florian Tavares
71e9bd3699 #1301 code improvements / adaptations after language-level upgrade 2018-10-19 20:36:07 +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
6d5243dc2f #1551 Use javax.annotation.processing.Generated if it is available and source version is at least RELEASE_9 2018-10-13 19:07:24 +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
3da85bc178
#1596 Missing builder type import (#1602) 2018-09-02 22:19:21 +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
ded8d88c73
#1578 Rename isBuilderSetter to isFluentSetter in the DefaultAccessorNamingStrategy 2018-08-18 21:58: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
e29c25e5cb [maven-release-plugin] prepare for next development iteration 2018-07-15 19:51:45 +02:00
Filip Hrisafov
c189aa7bb5 [maven-release-plugin] prepare release 1.3.0.Beta1 2018-07-15 19:51:44 +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
tomoya-yokota
fc5f937a71 Fix Method name typo 2018-07-01 23:24:01 +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
7a3f6d973e
#1473 Make sure that the SPIs are lazy initialized in the AnnotationProcessorContext 2018-05-03 23:15:23 +02:00
Filip Hrisafov
b6905d5168 Make sure we have a conflicting test with adder 2018-05-03 21:51:37 +02:00
Filip Hrisafov
84bf019fdf More detailed check for adder in builde 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
Filip Hrisafov
7306c52529 #1415 Use Immutables AccesorNamingStrategy and BuilderProvider when immutables are present
This allows out of the box support for Immutables by picking the right default strategy when immutables are present
2018-05-01 18:26:34 +02:00