diff --git a/core-common/src/main/java/org/mapstruct/BeanMapping.java b/core-common/src/main/java/org/mapstruct/BeanMapping.java index cf0a35388..841b5edcc 100644 --- a/core-common/src/main/java/org/mapstruct/BeanMapping.java +++ b/core-common/src/main/java/org/mapstruct/BeanMapping.java @@ -27,6 +27,8 @@ import java.lang.annotation.Target; /** * Configures the mapping between two bean types. * + *

Note: either @BeanMapping#resultType or @BeanMapping#qualifiedBy must be specified

+ * * @author Sjaak Derksen */ @Target( ElementType.METHOD ) diff --git a/processor/src/main/java/org/mapstruct/ap/model/source/BeanMapping.java b/processor/src/main/java/org/mapstruct/ap/model/source/BeanMapping.java index d2a49fef4..05ff4a0c4 100644 --- a/processor/src/main/java/org/mapstruct/ap/model/source/BeanMapping.java +++ b/processor/src/main/java/org/mapstruct/ap/model/source/BeanMapping.java @@ -46,7 +46,7 @@ public class BeanMapping { if ( !resultTypeIsDefined && beanMapping.qualifiedBy().isEmpty() ) { messager.printMessage( Diagnostic.Kind.ERROR, - "'resultType' and 'qualifiedBy' are are are undefined in @BeanMapping, " + "'resultType' and 'qualifiedBy' are undefined in @BeanMapping, " + "define at least one of them.", method ); diff --git a/processor/src/main/resources/org.mapstruct.ap.model.GeneratedType.ftl b/processor/src/main/resources/org.mapstruct.ap.model.GeneratedType.ftl index d46306e85..1b60e51f2 100644 --- a/processor/src/main/resources/org.mapstruct.ap.model.GeneratedType.ftl +++ b/processor/src/main/resources/org.mapstruct.ap.model.GeneratedType.ftl @@ -33,10 +33,11 @@ import ${importedType.importName}; <#nt><@includeModel object=annotation/> <#lt>${accessibility.keyword} class ${name}<#if superClassName??> extends ${superClassName}<#if interfaceName??> implements ${interfaceName} { -<#list fields as field> +<#list fields as field> <#nt> <@includeModel object=field/> + <#list methods as method> <#nt> <@includeModel object=method/> diff --git a/processor/src/test/java/org/mapstruct/ap/test/collection/erroneous/ErroneousCollectionMappingTest.java b/processor/src/test/java/org/mapstruct/ap/test/collection/erroneous/ErroneousCollectionMappingTest.java index 5706c8d58..1dabfecf3 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/collection/erroneous/ErroneousCollectionMappingTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/collection/erroneous/ErroneousCollectionMappingTest.java @@ -65,7 +65,7 @@ public class ErroneousCollectionMappingTest { @Diagnostic(type = EmptyItererableMappingMapper.class, kind = Kind.ERROR, line = 35, - messageRegExp = "'dateformat' and 'qualifiedBy' are are are undefined in @IterableMapping, " + messageRegExp = "'dateformat' and 'qualifiedBy' are undefined in @IterableMapping, " + "define at least one of them.") } ) diff --git a/processor/src/test/java/org/mapstruct/ap/test/selection/qualifier/QualifierTest.java b/processor/src/test/java/org/mapstruct/ap/test/selection/qualifier/QualifierTest.java index 685bbf037..58bd4bd1e 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/selection/qualifier/QualifierTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/selection/qualifier/QualifierTest.java @@ -186,7 +186,7 @@ public class QualifierTest { @Diagnostic( type = ErroneousMovieFactoryMapper.class, kind = Kind.ERROR, line = 37, - messageRegExp = "'resultType' and 'qualifiedBy' are are are undefined in @BeanMapping, " + messageRegExp = "'resultType' and 'qualifiedBy' are undefined in @BeanMapping, " + "define at least one of them." ) } )