From a6106d1281d2cd166104733d2b7c6d33980b3e14 Mon Sep 17 00:00:00 2001 From: Ben Zegveld Date: Thu, 8 Feb 2024 20:27:55 +0100 Subject: [PATCH 1/8] #2788 unmapped source properties for forgedMethods now contains information about the forged method. --- .../ap/internal/model/BeanMappingMethod.java | 115 ++++++++++-------- .../mapstruct/ap/internal/util/Message.java | 2 + .../AbstractSourceTargetMapperPrivate.java | 3 +- .../AbstractSourceTargetMapperProtected.java | 3 +- .../ReferencedAccessibilityTest.java | 22 +++- .../SourceTargetMapperDefaultOther.java | 3 +- .../SourceTargetMapperDefaultSame.java | 3 +- .../referenced/SourceTargetMapperPrivate.java | 3 +- .../SourceTargetMapperProtected.java | 3 +- 9 files changed, 95 insertions(+), 62 deletions(-) diff --git a/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java b/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java index ee347ef35e..8b1b998bde 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java @@ -1682,53 +1682,19 @@ private void reportErrorForUnmappedTargetPropertiesIfRequired() { } else if ( !unprocessedTargetProperties.isEmpty() && unmappedTargetPolicy.requiresReport() ) { - if ( !( method instanceof ForgedMethod ) ) { - Message msg = unmappedTargetPolicy.getDiagnosticKind() == Diagnostic.Kind.ERROR ? - Message.BEANMAPPING_UNMAPPED_TARGETS_ERROR : Message.BEANMAPPING_UNMAPPED_TARGETS_WARNING; - Object[] args = new Object[] { - MessageFormat.format( - "{0,choice,1#property|1 unmappedProperties, + Message unmappedPropertiesMsg, + Message unmappedForgedPropertiesMsg) { + if ( !( method instanceof ForgedMethod ) ) { Object[] args = new Object[] { MessageFormat.format( "{0,choice,1#property|1 Date: Sun, 11 Feb 2024 12:19:22 +0100 Subject: [PATCH 2/8] #2788 Removed incorrect test location. --- .../AbstractSourceTargetMapperPrivate.java | 3 +-- .../AbstractSourceTargetMapperProtected.java | 3 +-- .../ReferencedAccessibilityTest.java | 22 +++---------------- .../SourceTargetMapperDefaultOther.java | 3 +-- .../SourceTargetMapperDefaultSame.java | 3 +-- .../referenced/SourceTargetMapperPrivate.java | 3 +-- .../SourceTargetMapperProtected.java | 3 +-- 7 files changed, 9 insertions(+), 31 deletions(-) diff --git a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/AbstractSourceTargetMapperPrivate.java b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/AbstractSourceTargetMapperPrivate.java index 8a3bc49913..507e63a957 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/AbstractSourceTargetMapperPrivate.java +++ b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/AbstractSourceTargetMapperPrivate.java @@ -7,14 +7,13 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; -import org.mapstruct.ReportingPolicy; import org.mapstruct.factory.Mappers; /** * * @author Sjaak Derksen */ -@Mapper(unmappedSourcePolicy = ReportingPolicy.WARN) +@Mapper public abstract class AbstractSourceTargetMapperPrivate extends SourceTargetmapperPrivateBase { public static final AbstractSourceTargetMapperPrivate INSTANCE = diff --git a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/AbstractSourceTargetMapperProtected.java b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/AbstractSourceTargetMapperProtected.java index c8d300972a..ef5df10285 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/AbstractSourceTargetMapperProtected.java +++ b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/AbstractSourceTargetMapperProtected.java @@ -7,14 +7,13 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; -import org.mapstruct.ReportingPolicy; import org.mapstruct.factory.Mappers; /** * * @author Sjaak Derksen */ -@Mapper(unmappedSourcePolicy = ReportingPolicy.WARN) +@Mapper public abstract class AbstractSourceTargetMapperProtected extends SourceTargetmapperProtectedBase { public static final AbstractSourceTargetMapperProtected INSTANCE = diff --git a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/ReferencedAccessibilityTest.java b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/ReferencedAccessibilityTest.java index 4c610e7920..3cd62a8b4f 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/ReferencedAccessibilityTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/ReferencedAccessibilityTest.java @@ -21,7 +21,6 @@ * @author Sjaak Derksen */ @WithClasses( { Source.class, Target.class, ReferencedSource.class, ReferencedTarget.class } ) -@IssueKey("2788") public class ReferencedAccessibilityTest { @RegisterExtension @@ -35,13 +34,8 @@ public class ReferencedAccessibilityTest { diagnostics = { @Diagnostic(type = SourceTargetMapperPrivate.class, kind = javax.tools.Diagnostic.Kind.WARNING, - line = 23, + line = 22, message = "Unmapped target property: \"bar\". Mapping from property " + - "\"ReferencedSource referencedSource\" to \"ReferencedTarget referencedTarget\"."), - @Diagnostic(type = SourceTargetMapperPrivate.class, - kind = javax.tools.Diagnostic.Kind.WARNING, - line = 23, - message = "Unmapped source property: \"foo\". Mapping from property " + "\"ReferencedSource referencedSource\" to \"ReferencedTarget referencedTarget\".") } ) @@ -67,13 +61,8 @@ public void shouldBeAbleToAccessProtectedMethodInReferencedInSamePackage() { } diagnostics = { @Diagnostic(type = SourceTargetMapperDefaultOther.class, kind = javax.tools.Diagnostic.Kind.WARNING, - line = 25, + line = 24, message = "Unmapped target property: \"bar\". Mapping " + - "from property \"ReferencedSource referencedSource\" to \"ReferencedTarget referencedTarget\"."), - @Diagnostic(type = SourceTargetMapperDefaultOther.class, - kind = javax.tools.Diagnostic.Kind.WARNING, - line = 25, - message = "Unmapped source property: \"foo\". Mapping " + "from property \"ReferencedSource referencedSource\" to \"ReferencedTarget referencedTarget\".") } ) @@ -94,13 +83,8 @@ public void shouldBeAbleToAccessProtectedMethodInBase() { } diagnostics = { @Diagnostic(type = AbstractSourceTargetMapperPrivate.class, kind = javax.tools.Diagnostic.Kind.WARNING, - line = 24, + line = 23, message = "Unmapped target property: \"bar\". Mapping from property " + - "\"ReferencedSource referencedSource\" to \"ReferencedTarget referencedTarget\"."), - @Diagnostic(type = AbstractSourceTargetMapperPrivate.class, - kind = javax.tools.Diagnostic.Kind.WARNING, - line = 24, - message = "Unmapped source property: \"foo\". Mapping from property " + "\"ReferencedSource referencedSource\" to \"ReferencedTarget referencedTarget\".") } ) diff --git a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperDefaultOther.java b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperDefaultOther.java index 32961902f7..682a258e3d 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperDefaultOther.java +++ b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperDefaultOther.java @@ -7,7 +7,6 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; -import org.mapstruct.ReportingPolicy; import org.mapstruct.ap.test.accessibility.referenced.a.ReferencedMapperDefaultOther; import org.mapstruct.factory.Mappers; @@ -15,7 +14,7 @@ * * @author Sjaak Derksen */ -@Mapper(uses = ReferencedMapperDefaultOther.class, unmappedSourcePolicy = ReportingPolicy.WARN) +@Mapper(uses = ReferencedMapperDefaultOther.class) public interface SourceTargetMapperDefaultOther { SourceTargetMapperDefaultOther INSTANCE = diff --git a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperDefaultSame.java b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperDefaultSame.java index 767c383e29..536f45d5be 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperDefaultSame.java +++ b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperDefaultSame.java @@ -7,14 +7,13 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; -import org.mapstruct.ReportingPolicy; import org.mapstruct.factory.Mappers; /** * * @author Sjaak Derksen */ -@Mapper(uses = ReferencedMapperDefaultSame.class, unmappedSourcePolicy = ReportingPolicy.WARN) +@Mapper(uses = ReferencedMapperDefaultSame.class) public interface SourceTargetMapperDefaultSame { SourceTargetMapperDefaultSame INSTANCE = Mappers.getMapper( SourceTargetMapperDefaultSame.class ); diff --git a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperPrivate.java b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperPrivate.java index 122f846ce9..4615ff3e6f 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperPrivate.java +++ b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperPrivate.java @@ -7,14 +7,13 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; -import org.mapstruct.ReportingPolicy; import org.mapstruct.factory.Mappers; /** * * @author Sjaak Derksen */ -@Mapper(uses = ReferencedMapperPrivate.class, unmappedSourcePolicy = ReportingPolicy.WARN) +@Mapper(uses = ReferencedMapperPrivate.class) public interface SourceTargetMapperPrivate { SourceTargetMapperPrivate INSTANCE = Mappers.getMapper( SourceTargetMapperPrivate.class ); diff --git a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperProtected.java b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperProtected.java index b91a50af7a..c18c6127e4 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperProtected.java +++ b/processor/src/test/java/org/mapstruct/ap/test/accessibility/referenced/SourceTargetMapperProtected.java @@ -7,14 +7,13 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; -import org.mapstruct.ReportingPolicy; import org.mapstruct.factory.Mappers; /** * * @author Sjaak Derksen */ -@Mapper(uses = ReferencedMapperProtected.class, unmappedSourcePolicy = ReportingPolicy.WARN) +@Mapper(uses = ReferencedMapperProtected.class) public interface SourceTargetMapperProtected { SourceTargetMapperProtected INSTANCE = Mappers.getMapper( SourceTargetMapperProtected.class ); From b05359e11d17767a7ba413060083352e16932234 Mon Sep 17 00:00:00 2001 From: Ben Zegveld Date: Sun, 11 Feb 2024 12:54:43 +0100 Subject: [PATCH 3/8] #2788 introduced tests at DottedErrorMessageTest. (1/2 due to renames) --- .../nestedbeans/DottedErrorMessageTest.java | 277 ++++++++++++++---- ...SourceCollectionElementPropertyMapper.java | 17 ++ .../UnmappableSourceDeepListMapper.java | 17 ++ .../UnmappableSourceDeepMapKeyMapper.java | 17 ++ .../UnmappableSourceDeepMapValueMapper.java | 17 ++ .../UnmappableSourceDeepNestingMapper.java | 17 ++ ...r.java => UnmappableSourceEnumMapper.java} | 2 +- .../UnmappableSourceValuePropertyMapper.java | 17 ++ ...argetCollectionElementPropertyMapper.java} | 2 +- ...va => UnmappableTargetDeepListMapper.java} | 2 +- ... => UnmappableTargetDeepMapKeyMapper.java} | 2 +- ...> UnmappableTargetDeepMapValueMapper.java} | 2 +- ...=> UnmappableTargetDeepNestingMapper.java} | 4 +- ... UnmappableTargetValuePropertyMapper.java} | 2 +- ...tWarnCollectionElementPropertyMapper.java} | 7 +- ...> UnmappableTargetWarnDeepListMapper.java} | 7 +- ...UnmappableTargetWarnDeepMapKeyMapper.java} | 7 +- ...mappableTargetWarnDeepMapValueMapper.java} | 7 +- ...nmappableTargetWarnDeepNestingMapper.java} | 7 +- ...appableTargetWarnValuePropertyMapper.java} | 7 +- 20 files changed, 365 insertions(+), 72 deletions(-) create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceCollectionElementPropertyMapper.java create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepListMapper.java create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepMapKeyMapper.java create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepMapValueMapper.java create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepNestingMapper.java rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/{UnmappableEnumMapper.java => UnmappableSourceEnumMapper.java} (96%) create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceValuePropertyMapper.java rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/{UnmappableCollectionElementPropertyMapper.java => UnmappableTargetCollectionElementPropertyMapper.java} (81%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/{UnmappableDeepListMapper.java => UnmappableTargetDeepListMapper.java} (86%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/{UnmappableDeepMapKeyMapper.java => UnmappableTargetDeepMapKeyMapper.java} (85%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/{UnmappableDeepMapValueMapper.java => UnmappableTargetDeepMapValueMapper.java} (85%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/{UnmappableDeepNestingMapper.java => UnmappableTargetDeepNestingMapper.java} (76%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/{UnmappableValuePropertyMapper.java => UnmappableTargetValuePropertyMapper.java} (84%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/{UnmappableWarnCollectionElementPropertyMapper.java => UnmappableTargetWarnCollectionElementPropertyMapper.java} (55%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/{UnmappableWarnDeepListMapper.java => UnmappableTargetWarnDeepListMapper.java} (56%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/{UnmappableWarnDeepMapKeyMapper.java => UnmappableTargetWarnDeepMapKeyMapper.java} (56%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/{UnmappableWarnDeepMapValueMapper.java => UnmappableTargetWarnDeepMapValueMapper.java} (56%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/{UnmappableWarnDeepNestingMapper.java => UnmappableTargetWarnDeepNestingMapper.java} (56%) rename processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/{UnmappableWarnValuePropertyMapper.java => UnmappableTargetWarnValuePropertyMapper.java} (56%) diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/DottedErrorMessageTest.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/DottedErrorMessageTest.java index f98da19a75..fd40064bb6 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/DottedErrorMessageTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/DottedErrorMessageTest.java @@ -38,25 +38,37 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.WheelDto; import org.mapstruct.ap.test.nestedbeans.unmappable.Word; import org.mapstruct.ap.test.nestedbeans.unmappable.WordDto; -import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableCollectionElementPropertyMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableDeepListMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableDeepMapKeyMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableDeepMapValueMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableDeepNestingMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableEnumMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableValuePropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableSourceCollectionElementPropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableSourceDeepListMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableSourceDeepMapKeyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableSourceDeepMapValueMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableSourceDeepNestingMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableSourceEnumMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableSourceValuePropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableTargetCollectionElementPropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableTargetDeepListMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableTargetDeepMapKeyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableTargetDeepMapValueMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableTargetDeepNestingMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.erroneous.UnmappableTargetValuePropertyMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.ignore.UnmappableIgnoreCollectionElementPropertyMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.ignore.UnmappableIgnoreDeepListMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.ignore.UnmappableIgnoreDeepMapKeyMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.ignore.UnmappableIgnoreDeepMapValueMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.ignore.UnmappableIgnoreDeepNestingMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.ignore.UnmappableIgnoreValuePropertyMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableWarnCollectionElementPropertyMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableWarnDeepListMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableWarnDeepMapKeyMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableWarnDeepMapValueMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableWarnDeepNestingMapper; -import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableWarnValuePropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableSourceWarnCollectionElementPropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableSourceWarnDeepListMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableSourceWarnDeepMapKeyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableSourceWarnDeepMapValueMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableSourceWarnDeepNestingMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableSourceWarnValuePropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableTargetWarnCollectionElementPropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableTargetWarnDeepListMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableTargetWarnDeepMapKeyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableTargetWarnDeepMapValueMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableTargetWarnDeepNestingMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableTargetWarnValuePropertyMapper; import org.mapstruct.ap.testutil.ProcessorTest; import org.mapstruct.ap.testutil.WithClasses; import org.mapstruct.ap.testutil.compilation.annotation.CompilationResult; @@ -88,12 +100,12 @@ public class DottedErrorMessageTest { @ProcessorTest @WithClasses({ - UnmappableDeepNestingMapper.class + UnmappableTargetDeepNestingMapper.class }) @ExpectedCompilationOutcome( value = CompilationResult.FAILED, diagnostics = { - @Diagnostic(type = UnmappableDeepNestingMapper.class, + @Diagnostic(type = UnmappableTargetDeepNestingMapper.class, kind = javax.tools.Diagnostic.Kind.ERROR, line = 14, message = "Unmapped target property: \"rgb\". Mapping from " + PROPERTY + @@ -101,17 +113,17 @@ public class DottedErrorMessageTest { " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepNestingMapper'.") } ) - public void testDeepNestedBeans() { + public void testTargetDeepNestedBeans() { } @ProcessorTest @WithClasses({ - UnmappableDeepListMapper.class + UnmappableTargetDeepListMapper.class }) @ExpectedCompilationOutcome( value = CompilationResult.FAILED, diagnostics = { - @Diagnostic(type = UnmappableDeepListMapper.class, + @Diagnostic(type = UnmappableTargetDeepListMapper.class, kind = javax.tools.Diagnostic.Kind.ERROR, line = 14, message = "Unmapped target property: \"left\". Mapping from " + COLLECTION_ELEMENT + @@ -119,17 +131,17 @@ public void testDeepNestedBeans() { " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepListMapper'.") } ) - public void testIterables() { + public void testTargetIterables() { } @ProcessorTest @WithClasses({ - UnmappableDeepMapKeyMapper.class + UnmappableTargetDeepMapKeyMapper.class }) @ExpectedCompilationOutcome( value = CompilationResult.FAILED, diagnostics = { - @Diagnostic(type = UnmappableDeepMapKeyMapper.class, + @Diagnostic(type = UnmappableTargetDeepMapKeyMapper.class, kind = javax.tools.Diagnostic.Kind.ERROR, line = 14, message = "Unmapped target property: \"pronunciation\". Mapping from " + MAP_KEY + @@ -137,17 +149,17 @@ public void testIterables() { " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepMapKeyMapper'.") } ) - public void testMapKeys() { + public void testTargetMapKeys() { } @ProcessorTest @WithClasses({ - UnmappableDeepMapValueMapper.class + UnmappableTargetDeepMapValueMapper.class }) @ExpectedCompilationOutcome( value = CompilationResult.FAILED, diagnostics = { - @Diagnostic(type = UnmappableDeepMapValueMapper.class, + @Diagnostic(type = UnmappableTargetDeepMapValueMapper.class, kind = javax.tools.Diagnostic.Kind.ERROR, line = 14, message = "Unmapped target property: \"pronunciation\". Mapping from " + MAP_VALUE + @@ -155,17 +167,17 @@ public void testMapKeys() { " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepMapValueMapper'.") } ) - public void testMapValues() { + public void testTargetMapValues() { } @ProcessorTest @WithClasses({ - UnmappableCollectionElementPropertyMapper.class + UnmappableTargetCollectionElementPropertyMapper.class }) @ExpectedCompilationOutcome( value = CompilationResult.FAILED, diagnostics = { - @Diagnostic(type = UnmappableCollectionElementPropertyMapper.class, + @Diagnostic(type = UnmappableTargetCollectionElementPropertyMapper.class, kind = javax.tools.Diagnostic.Kind.ERROR, line = 14, message = "Unmapped target property: \"color\". Mapping from " + PROPERTY + @@ -173,17 +185,17 @@ public void testMapValues() { " Occured at 'UserDto userToUserDto(User user)' in 'BaseCollectionElementPropertyMapper'.") } ) - public void testCollectionElementProperty() { + public void testTargetCollectionElementProperty() { } @ProcessorTest @WithClasses({ - UnmappableValuePropertyMapper.class + UnmappableTargetValuePropertyMapper.class }) @ExpectedCompilationOutcome( value = CompilationResult.FAILED, diagnostics = { - @Diagnostic(type = UnmappableValuePropertyMapper.class, + @Diagnostic(type = UnmappableTargetValuePropertyMapper.class, kind = javax.tools.Diagnostic.Kind.ERROR, line = 14, message = "Unmapped target property: \"color\". Mapping from " + PROPERTY + @@ -191,17 +203,125 @@ public void testCollectionElementProperty() { " Occured at 'UserDto userToUserDto(User user)' in 'BaseValuePropertyMapper'.") } ) - public void testMapValueProperty() { + public void testTargetMapValueProperty() { } @ProcessorTest @WithClasses({ - UnmappableEnumMapper.class + UnmappableSourceDeepNestingMapper.class }) @ExpectedCompilationOutcome( value = CompilationResult.FAILED, diagnostics = { - @Diagnostic(type = UnmappableEnumMapper.class, + @Diagnostic(type = UnmappableSourceDeepNestingMapper.class, + kind = javax.tools.Diagnostic.Kind.ERROR, + line = 16, + message = "Unmapped source property: \"cmyk\". Mapping from " + PROPERTY + + " \"Color house.roof.color\" to \"ColorDto house.roof.color\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepNestingMapper'.") + } + ) + public void testSourceDeepNestedBeans() { + } + + @ProcessorTest + @WithClasses({ + UnmappableSourceDeepListMapper.class + }) + @ExpectedCompilationOutcome( + value = CompilationResult.FAILED, + diagnostics = { + @Diagnostic(type = UnmappableSourceDeepListMapper.class, + kind = javax.tools.Diagnostic.Kind.ERROR, + line = 16, + message = "Unmapped source property: \"right\". Mapping from " + COLLECTION_ELEMENT + + " \"Wheel car.wheels\" to \"WheelDto car.wheels\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepListMapper'.") + } + ) + public void testSourceIterables() { + } + + @ProcessorTest + @WithClasses({ + UnmappableSourceDeepMapKeyMapper.class + }) + @ExpectedCompilationOutcome( + value = CompilationResult.FAILED, + diagnostics = { + @Diagnostic(type = UnmappableSourceDeepMapKeyMapper.class, + kind = javax.tools.Diagnostic.Kind.ERROR, + line = 16, + message = "Unmapped source property: \"meaning\". Mapping from " + MAP_KEY + + " \"Word dictionary.wordMap{:key}\" to \"WordDto dictionary.wordMap{:key}\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepMapKeyMapper'.") + } + ) + public void testSourceMapKeys() { + } + + @ProcessorTest + @WithClasses({ + UnmappableSourceDeepMapValueMapper.class + }) + @ExpectedCompilationOutcome( + value = CompilationResult.FAILED, + diagnostics = { + @Diagnostic(type = UnmappableSourceDeepMapValueMapper.class, + kind = javax.tools.Diagnostic.Kind.ERROR, + line = 16, + message = "Unmapped source property: \"meaning\". Mapping from " + MAP_VALUE + + " \"ForeignWord dictionary.wordMap{:value}\" to \"ForeignWordDto dictionary.wordMap{:value}\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepMapValueMapper'.") + } + ) + public void testSourceMapValues() { + } + + @ProcessorTest + @WithClasses({ + UnmappableSourceCollectionElementPropertyMapper.class + }) + @ExpectedCompilationOutcome( + value = CompilationResult.FAILED, + diagnostics = { + @Diagnostic(type = UnmappableSourceCollectionElementPropertyMapper.class, + kind = javax.tools.Diagnostic.Kind.ERROR, + line = 16, + message = "Unmapped source property: \"size\". Mapping from " + PROPERTY + + " \"Info computers[].info\" to \"InfoDto computers[].info\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseCollectionElementPropertyMapper'.") + } + ) + public void testSourceCollectionElementProperty() { + } + + @ProcessorTest + @WithClasses({ + UnmappableSourceValuePropertyMapper.class + }) + @ExpectedCompilationOutcome( + value = CompilationResult.FAILED, + diagnostics = { + @Diagnostic(type = UnmappableSourceValuePropertyMapper.class, + kind = javax.tools.Diagnostic.Kind.ERROR, + line = 16, + message = "Unmapped source property: \"size\". Mapping from " + PROPERTY + + " \"Info catNameMap{:value}.info\" to \"InfoDto catNameMap{:value}.info\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseValuePropertyMapper'.") + } + ) + public void testSourceMapValueProperty() { + } + + @ProcessorTest + @WithClasses({ + UnmappableSourceEnumMapper.class + }) + @ExpectedCompilationOutcome( + value = CompilationResult.FAILED, + diagnostics = { + @Diagnostic(type = UnmappableSourceEnumMapper.class, kind = javax.tools.Diagnostic.Kind.ERROR, line = 25, message = @@ -211,54 +331,54 @@ public void testMapValueProperty() { ) } ) - public void testMapEnumProperty() { + public void testSourceMapEnumProperty() { } @ProcessorTest @WithClasses({ - UnmappableWarnDeepNestingMapper.class, - UnmappableWarnDeepListMapper.class, - UnmappableWarnDeepMapKeyMapper.class, - UnmappableWarnDeepMapValueMapper.class, - UnmappableWarnCollectionElementPropertyMapper.class, - UnmappableWarnValuePropertyMapper.class + UnmappableTargetWarnDeepNestingMapper.class, + UnmappableTargetWarnDeepListMapper.class, + UnmappableTargetWarnDeepMapKeyMapper.class, + UnmappableTargetWarnDeepMapValueMapper.class, + UnmappableTargetWarnCollectionElementPropertyMapper.class, + UnmappableTargetWarnValuePropertyMapper.class }) @ExpectedCompilationOutcome( value = CompilationResult.SUCCEEDED, diagnostics = { - @Diagnostic(type = UnmappableWarnDeepNestingMapper.class, + @Diagnostic(type = UnmappableTargetWarnDeepNestingMapper.class, kind = javax.tools.Diagnostic.Kind.WARNING, - line = 13, + line = 16, message = "Unmapped target property: \"rgb\". Mapping from " + PROPERTY + " \"Color house.roof.color\" to \"ColorDto house.roof.color\"." + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepNestingMapper'."), - @Diagnostic(type = UnmappableWarnDeepListMapper.class, + @Diagnostic(type = UnmappableTargetWarnDeepListMapper.class, kind = javax.tools.Diagnostic.Kind.WARNING, - line = 13, + line = 16, message = "Unmapped target property: \"left\". Mapping from " + COLLECTION_ELEMENT + " \"Wheel car.wheels\" to \"WheelDto car.wheels\"." + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepListMapper'."), - @Diagnostic(type = UnmappableWarnDeepMapKeyMapper.class, + @Diagnostic(type = UnmappableTargetWarnDeepMapKeyMapper.class, kind = javax.tools.Diagnostic.Kind.WARNING, - line = 13, + line = 16, message = "Unmapped target property: \"pronunciation\". Mapping from " + MAP_KEY + " \"Word dictionary.wordMap{:key}\" to \"WordDto dictionary.wordMap{:key}\"." + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepMapKeyMapper'."), - @Diagnostic(type = UnmappableWarnDeepMapValueMapper.class, + @Diagnostic(type = UnmappableTargetWarnDeepMapValueMapper.class, kind = javax.tools.Diagnostic.Kind.WARNING, - line = 13, + line = 16, message = "Unmapped target property: \"pronunciation\". Mapping from " + MAP_VALUE + " \"ForeignWord dictionary.wordMap{:value}\" to \"ForeignWordDto dictionary.wordMap{:value}\"." + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepMapValueMapper'."), - @Diagnostic(type = UnmappableWarnCollectionElementPropertyMapper.class, + @Diagnostic(type = UnmappableTargetWarnCollectionElementPropertyMapper.class, kind = javax.tools.Diagnostic.Kind.WARNING, - line = 13, + line = 16, message = "Unmapped target property: \"color\". Mapping from " + PROPERTY + " \"Info computers[].info\" to \"InfoDto computers[].info\"." + " Occured at 'UserDto userToUserDto(User user)' in 'BaseCollectionElementPropertyMapper'."), - @Diagnostic(type = UnmappableWarnValuePropertyMapper.class, + @Diagnostic(type = UnmappableTargetWarnValuePropertyMapper.class, kind = javax.tools.Diagnostic.Kind.WARNING, - line = 13, + line = 16, message = "Unmapped target property: \"color\". Mapping from " + PROPERTY + " \"Info catNameMap{:value}.info\" to \"InfoDto catNameMap{:value}.info\"." + " Occured at 'UserDto userToUserDto(User user)' in 'BaseValuePropertyMapper'.") @@ -267,6 +387,59 @@ public void testMapEnumProperty() { public void testWarnUnmappedTargetProperties() { } + @ProcessorTest + @WithClasses({ + UnmappableSourceWarnDeepNestingMapper.class, + UnmappableSourceWarnDeepListMapper.class, + UnmappableSourceWarnDeepMapKeyMapper.class, + UnmappableSourceWarnDeepMapValueMapper.class, + UnmappableSourceWarnCollectionElementPropertyMapper.class, + UnmappableSourceWarnValuePropertyMapper.class + }) + @ExpectedCompilationOutcome( + value = CompilationResult.SUCCEEDED, + diagnostics = { + @Diagnostic(type = UnmappableSourceWarnDeepNestingMapper.class, + kind = javax.tools.Diagnostic.Kind.WARNING, + line = 16, + message = "Unmapped source property: \"cmyk\". Mapping from " + PROPERTY + + " \"Color house.roof.color\" to \"ColorDto house.roof.color\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepNestingMapper'."), + @Diagnostic(type = UnmappableSourceWarnDeepListMapper.class, + kind = javax.tools.Diagnostic.Kind.WARNING, + line = 16, + message = "Unmapped source property: \"right\". Mapping from " + COLLECTION_ELEMENT + + " \"Wheel car.wheels\" to \"WheelDto car.wheels\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepListMapper'."), + @Diagnostic(type = UnmappableSourceWarnDeepMapKeyMapper.class, + kind = javax.tools.Diagnostic.Kind.WARNING, + line = 16, + message = "Unmapped source property: \"meaning\". Mapping from " + MAP_KEY + + " \"Word dictionary.wordMap{:key}\" to \"WordDto dictionary.wordMap{:key}\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepMapKeyMapper'."), + @Diagnostic(type = UnmappableSourceWarnDeepMapValueMapper.class, + kind = javax.tools.Diagnostic.Kind.WARNING, + line = 16, + message = "Unmapped source property: \"meaning\". Mapping from " + MAP_VALUE + + " \"ForeignWord dictionary.wordMap{:value}\" to \"ForeignWordDto dictionary.wordMap{:value}\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseDeepMapValueMapper'."), + @Diagnostic(type = UnmappableSourceWarnCollectionElementPropertyMapper.class, + kind = javax.tools.Diagnostic.Kind.WARNING, + line = 16, + message = "Unmapped source property: \"size\". Mapping from " + PROPERTY + + " \"Info computers[].info\" to \"InfoDto computers[].info\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseCollectionElementPropertyMapper'."), + @Diagnostic(type = UnmappableSourceWarnValuePropertyMapper.class, + kind = javax.tools.Diagnostic.Kind.WARNING, + line = 16, + message = "Unmapped source property: \"size\". Mapping from " + PROPERTY + + " \"Info catNameMap{:value}.info\" to \"InfoDto catNameMap{:value}.info\"." + + " Occured at 'UserDto userToUserDto(User user)' in 'BaseValuePropertyMapper'.") + } + ) + public void testWarnUnmappedSourceProperties() { + } + @ProcessorTest @WithClasses({ UnmappableIgnoreDeepNestingMapper.class, diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceCollectionElementPropertyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceCollectionElementPropertyMapper.java new file mode 100644 index 0000000000..4696dbca7c --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceCollectionElementPropertyMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.erroneous; + +import static org.mapstruct.ReportingPolicy.ERROR; +import static org.mapstruct.ReportingPolicy.IGNORE; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseCollectionElementPropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = ERROR ) +public abstract class UnmappableSourceCollectionElementPropertyMapper extends BaseCollectionElementPropertyMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepListMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepListMapper.java new file mode 100644 index 0000000000..95485fada2 --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepListMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.erroneous; + +import static org.mapstruct.ReportingPolicy.ERROR; +import static org.mapstruct.ReportingPolicy.IGNORE; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepListMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = ERROR ) +public abstract class UnmappableSourceDeepListMapper extends BaseDeepListMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepMapKeyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepMapKeyMapper.java new file mode 100644 index 0000000000..2cb9c30dc8 --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepMapKeyMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.erroneous; + +import static org.mapstruct.ReportingPolicy.ERROR; +import static org.mapstruct.ReportingPolicy.IGNORE; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepMapKeyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = ERROR ) +public abstract class UnmappableSourceDeepMapKeyMapper extends BaseDeepMapKeyMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepMapValueMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepMapValueMapper.java new file mode 100644 index 0000000000..1cc2df3d41 --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepMapValueMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.erroneous; + +import static org.mapstruct.ReportingPolicy.ERROR; +import static org.mapstruct.ReportingPolicy.IGNORE; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepMapValueMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = ERROR ) +public abstract class UnmappableSourceDeepMapValueMapper extends BaseDeepMapValueMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepNestingMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepNestingMapper.java new file mode 100644 index 0000000000..d166610445 --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceDeepNestingMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.erroneous; + +import static org.mapstruct.ReportingPolicy.ERROR; +import static org.mapstruct.ReportingPolicy.IGNORE; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepNestingMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = ERROR ) +public abstract class UnmappableSourceDeepNestingMapper extends BaseDeepNestingMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableEnumMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceEnumMapper.java similarity index 96% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableEnumMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceEnumMapper.java index 1733c9af0b..8fcb737ee4 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableEnumMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceEnumMapper.java @@ -20,7 +20,7 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.UserDto; @Mapper -public abstract class UnmappableEnumMapper { +public abstract class UnmappableSourceEnumMapper { abstract UserDto userToUserDto(User user); diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceValuePropertyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceValuePropertyMapper.java new file mode 100644 index 0000000000..25be366250 --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableSourceValuePropertyMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.erroneous; + +import static org.mapstruct.ReportingPolicy.ERROR; +import static org.mapstruct.ReportingPolicy.IGNORE; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseValuePropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = ERROR ) +public abstract class UnmappableSourceValuePropertyMapper extends BaseValuePropertyMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableCollectionElementPropertyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetCollectionElementPropertyMapper.java similarity index 81% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableCollectionElementPropertyMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetCollectionElementPropertyMapper.java index 493442cae0..9b9017d140 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableCollectionElementPropertyMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetCollectionElementPropertyMapper.java @@ -11,5 +11,5 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; @Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) -public abstract class UnmappableCollectionElementPropertyMapper extends BaseCollectionElementPropertyMapper { +public abstract class UnmappableTargetCollectionElementPropertyMapper extends BaseCollectionElementPropertyMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepListMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepListMapper.java similarity index 86% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepListMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepListMapper.java index 275d043cfb..486094e800 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepListMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepListMapper.java @@ -11,5 +11,5 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; @Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) -public abstract class UnmappableDeepListMapper extends BaseDeepListMapper { +public abstract class UnmappableTargetDeepListMapper extends BaseDeepListMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepMapKeyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapKeyMapper.java similarity index 85% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepMapKeyMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapKeyMapper.java index c26fbb7df6..5badc3bafe 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepMapKeyMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapKeyMapper.java @@ -11,5 +11,5 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; @Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) -public abstract class UnmappableDeepMapKeyMapper extends BaseDeepMapKeyMapper { +public abstract class UnmappableTargetDeepMapKeyMapper extends BaseDeepMapKeyMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepMapValueMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapValueMapper.java similarity index 85% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepMapValueMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapValueMapper.java index 4c9c8d9f93..f2f911d224 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepMapValueMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapValueMapper.java @@ -11,5 +11,5 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; @Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) -public abstract class UnmappableDeepMapValueMapper extends BaseDeepMapValueMapper { +public abstract class UnmappableTargetDeepMapValueMapper extends BaseDeepMapValueMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepNestingMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepNestingMapper.java similarity index 76% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepNestingMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepNestingMapper.java index 00b0401ee5..dfe2fb80e6 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableDeepNestingMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepNestingMapper.java @@ -10,6 +10,6 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepNestingMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) -public abstract class UnmappableDeepNestingMapper extends BaseDeepNestingMapper { +@Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR, unmappedSourcePolicy = ReportingPolicy.IGNORE) +public abstract class UnmappableTargetDeepNestingMapper extends BaseDeepNestingMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableValuePropertyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetValuePropertyMapper.java similarity index 84% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableValuePropertyMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetValuePropertyMapper.java index dd657c8569..aeaab4a354 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableValuePropertyMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetValuePropertyMapper.java @@ -11,5 +11,5 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; @Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) -public abstract class UnmappableValuePropertyMapper extends BaseValuePropertyMapper { +public abstract class UnmappableTargetValuePropertyMapper extends BaseValuePropertyMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnCollectionElementPropertyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnCollectionElementPropertyMapper.java similarity index 55% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnCollectionElementPropertyMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnCollectionElementPropertyMapper.java index 64610a61f8..e656dac371 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnCollectionElementPropertyMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnCollectionElementPropertyMapper.java @@ -5,10 +5,13 @@ */ package org.mapstruct.ap.test.nestedbeans.unmappable.warn; +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + import org.mapstruct.Mapper; import org.mapstruct.ap.test.nestedbeans.unmappable.BaseCollectionElementPropertyMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class) -public abstract class UnmappableWarnCollectionElementPropertyMapper extends BaseCollectionElementPropertyMapper { +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = WARN, unmappedSourcePolicy = IGNORE ) +public abstract class UnmappableTargetWarnCollectionElementPropertyMapper extends BaseCollectionElementPropertyMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepListMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepListMapper.java similarity index 56% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepListMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepListMapper.java index 6ca1ce71da..abf4d4ac78 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepListMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepListMapper.java @@ -5,10 +5,13 @@ */ package org.mapstruct.ap.test.nestedbeans.unmappable.warn; +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + import org.mapstruct.Mapper; import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepListMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class) -public abstract class UnmappableWarnDeepListMapper extends BaseDeepListMapper { +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = WARN, unmappedSourcePolicy = IGNORE ) +public abstract class UnmappableTargetWarnDeepListMapper extends BaseDeepListMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepMapKeyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepMapKeyMapper.java similarity index 56% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepMapKeyMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepMapKeyMapper.java index a010ac05ed..bb5370dd7f 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepMapKeyMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepMapKeyMapper.java @@ -5,10 +5,13 @@ */ package org.mapstruct.ap.test.nestedbeans.unmappable.warn; +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + import org.mapstruct.Mapper; import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepMapKeyMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class) -public abstract class UnmappableWarnDeepMapKeyMapper extends BaseDeepMapKeyMapper { +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = WARN, unmappedSourcePolicy = IGNORE ) +public abstract class UnmappableTargetWarnDeepMapKeyMapper extends BaseDeepMapKeyMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepMapValueMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepMapValueMapper.java similarity index 56% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepMapValueMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepMapValueMapper.java index 53e60c6687..b202adcde7 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepMapValueMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepMapValueMapper.java @@ -5,10 +5,13 @@ */ package org.mapstruct.ap.test.nestedbeans.unmappable.warn; +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + import org.mapstruct.Mapper; import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepMapValueMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class) -public abstract class UnmappableWarnDeepMapValueMapper extends BaseDeepMapValueMapper { +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = WARN, unmappedSourcePolicy = IGNORE ) +public abstract class UnmappableTargetWarnDeepMapValueMapper extends BaseDeepMapValueMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepNestingMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepNestingMapper.java similarity index 56% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepNestingMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepNestingMapper.java index 50d0b366b0..99ff003c1a 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnDeepNestingMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnDeepNestingMapper.java @@ -5,10 +5,13 @@ */ package org.mapstruct.ap.test.nestedbeans.unmappable.warn; +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + import org.mapstruct.Mapper; import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepNestingMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class) -public abstract class UnmappableWarnDeepNestingMapper extends BaseDeepNestingMapper { +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = WARN, unmappedSourcePolicy = IGNORE ) +public abstract class UnmappableTargetWarnDeepNestingMapper extends BaseDeepNestingMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnValuePropertyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnValuePropertyMapper.java similarity index 56% rename from processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnValuePropertyMapper.java rename to processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnValuePropertyMapper.java index f2877b215b..a339768492 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableWarnValuePropertyMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableTargetWarnValuePropertyMapper.java @@ -5,10 +5,13 @@ */ package org.mapstruct.ap.test.nestedbeans.unmappable.warn; +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + import org.mapstruct.Mapper; import org.mapstruct.ap.test.nestedbeans.unmappable.BaseValuePropertyMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class) -public abstract class UnmappableWarnValuePropertyMapper extends BaseValuePropertyMapper { +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = WARN, unmappedSourcePolicy = IGNORE ) +public abstract class UnmappableTargetWarnValuePropertyMapper extends BaseValuePropertyMapper { } From 41110bb579b80a91cf407cd9fd9d61b3a89a1578 Mon Sep 17 00:00:00 2001 From: Ben Zegveld Date: Sun, 11 Feb 2024 12:54:50 +0100 Subject: [PATCH 4/8] #2788 introduced tests at DottedErrorMessageTest. (2/2 due to renames) --- ...urceWarnCollectionElementPropertyMapper.java | 17 +++++++++++++++++ .../UnmappableSourceWarnDeepListMapper.java | 17 +++++++++++++++++ .../UnmappableSourceWarnDeepMapKeyMapper.java | 17 +++++++++++++++++ .../UnmappableSourceWarnDeepMapValueMapper.java | 17 +++++++++++++++++ .../UnmappableSourceWarnDeepNestingMapper.java | 17 +++++++++++++++++ ...UnmappableSourceWarnValuePropertyMapper.java | 17 +++++++++++++++++ 6 files changed, 102 insertions(+) create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnCollectionElementPropertyMapper.java create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepListMapper.java create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepMapKeyMapper.java create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepMapValueMapper.java create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepNestingMapper.java create mode 100644 processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnValuePropertyMapper.java diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnCollectionElementPropertyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnCollectionElementPropertyMapper.java new file mode 100644 index 0000000000..23d12b18d2 --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnCollectionElementPropertyMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.warn; + +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseCollectionElementPropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = WARN ) +public abstract class UnmappableSourceWarnCollectionElementPropertyMapper extends BaseCollectionElementPropertyMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepListMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepListMapper.java new file mode 100644 index 0000000000..1c72e38ff0 --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepListMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.warn; + +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepListMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = WARN ) +public abstract class UnmappableSourceWarnDeepListMapper extends BaseDeepListMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepMapKeyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepMapKeyMapper.java new file mode 100644 index 0000000000..bc4f5daa46 --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepMapKeyMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.warn; + +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepMapKeyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = WARN ) +public abstract class UnmappableSourceWarnDeepMapKeyMapper extends BaseDeepMapKeyMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepMapValueMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepMapValueMapper.java new file mode 100644 index 0000000000..08dc43edec --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepMapValueMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.warn; + +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepMapValueMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = WARN ) +public abstract class UnmappableSourceWarnDeepMapValueMapper extends BaseDeepMapValueMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepNestingMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepNestingMapper.java new file mode 100644 index 0000000000..61cbc3900b --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnDeepNestingMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.warn; + +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepNestingMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = WARN ) +public abstract class UnmappableSourceWarnDeepNestingMapper extends BaseDeepNestingMapper { +} diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnValuePropertyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnValuePropertyMapper.java new file mode 100644 index 0000000000..fd4f81c97d --- /dev/null +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/warn/UnmappableSourceWarnValuePropertyMapper.java @@ -0,0 +1,17 @@ +/* + * Copyright MapStruct Authors. + * + * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.mapstruct.ap.test.nestedbeans.unmappable.warn; + +import static org.mapstruct.ReportingPolicy.IGNORE; +import static org.mapstruct.ReportingPolicy.WARN; + +import org.mapstruct.Mapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.BaseValuePropertyMapper; +import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; + +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = IGNORE, unmappedSourcePolicy = WARN ) +public abstract class UnmappableSourceWarnValuePropertyMapper extends BaseValuePropertyMapper { +} From efa7d79ba4b11ba271aa14607f6cfbfa7a05e202 Mon Sep 17 00:00:00 2001 From: Ben Zegveld Date: Sun, 11 Feb 2024 13:00:35 +0100 Subject: [PATCH 5/8] #2788 fixed line length and UnmappableTarget's still assume source properties are by default ignored. --- .../UnmappableTargetCollectionElementPropertyMapper.java | 2 +- .../unmappable/erroneous/UnmappableTargetDeepListMapper.java | 2 +- .../unmappable/erroneous/UnmappableTargetDeepMapKeyMapper.java | 2 +- .../erroneous/UnmappableTargetDeepMapValueMapper.java | 2 +- .../unmappable/erroneous/UnmappableTargetDeepNestingMapper.java | 2 +- .../erroneous/UnmappableTargetValuePropertyMapper.java | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetCollectionElementPropertyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetCollectionElementPropertyMapper.java index 9b9017d140..5198324cbe 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetCollectionElementPropertyMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetCollectionElementPropertyMapper.java @@ -10,6 +10,6 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.BaseCollectionElementPropertyMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR ) public abstract class UnmappableTargetCollectionElementPropertyMapper extends BaseCollectionElementPropertyMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepListMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepListMapper.java index 486094e800..993e30ec60 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepListMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepListMapper.java @@ -10,6 +10,6 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepListMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR ) public abstract class UnmappableTargetDeepListMapper extends BaseDeepListMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapKeyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapKeyMapper.java index 5badc3bafe..e30533d00d 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapKeyMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapKeyMapper.java @@ -10,6 +10,6 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepMapKeyMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR ) public abstract class UnmappableTargetDeepMapKeyMapper extends BaseDeepMapKeyMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapValueMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapValueMapper.java index f2f911d224..f46651dbc1 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapValueMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepMapValueMapper.java @@ -10,6 +10,6 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepMapValueMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR ) public abstract class UnmappableTargetDeepMapValueMapper extends BaseDeepMapValueMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepNestingMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepNestingMapper.java index dfe2fb80e6..736aef3d84 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepNestingMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetDeepNestingMapper.java @@ -10,6 +10,6 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.BaseDeepNestingMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR, unmappedSourcePolicy = ReportingPolicy.IGNORE) +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR ) public abstract class UnmappableTargetDeepNestingMapper extends BaseDeepNestingMapper { } diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetValuePropertyMapper.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetValuePropertyMapper.java index aeaab4a354..e43f7d2e1a 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetValuePropertyMapper.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/unmappable/erroneous/UnmappableTargetValuePropertyMapper.java @@ -10,6 +10,6 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.BaseValuePropertyMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.RoofTypeMapper; -@Mapper(uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR) +@Mapper( uses = RoofTypeMapper.class, unmappedTargetPolicy = ReportingPolicy.ERROR ) public abstract class UnmappableTargetValuePropertyMapper extends BaseValuePropertyMapper { } From 275c840528271b561f544ac09367595fdc4e2447 Mon Sep 17 00:00:00 2001 From: Zegveld <41897697+Zegveld@users.noreply.github.com> Date: Sun, 11 Feb 2024 13:11:07 +0100 Subject: [PATCH 6/8] Update processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java Co-authored-by: Filip Hrisafov --- .../ap/internal/model/BeanMappingMethod.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java b/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java index 8b1b998bde..0138cd1c30 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java @@ -1713,14 +1713,16 @@ private ReportingPolicyGem getUnmappedSourcePolicy() { private void reportErrorForUnmappedSourcePropertiesIfRequired() { ReportingPolicyGem unmappedSourcePolicy = getUnmappedSourcePolicy(); if ( !unprocessedSourceProperties.isEmpty() && unmappedSourcePolicy.requiresReport() ) { - Message unmappedPropertiesMsg = - unmappedSourcePolicy.getDiagnosticKind() == Diagnostic.Kind.ERROR ? - Message.BEANMAPPING_UNMAPPED_SOURCES_ERROR : - Message.BEANMAPPING_UNMAPPED_SOURCES_WARNING; - Message unmappedForgedPropertiesMsg = - unmappedSourcePolicy.getDiagnosticKind() == Diagnostic.Kind.ERROR ? - Message.BEANMAPPING_UNMAPPED_FORGED_SOURCES_ERROR : - Message.BEANMAPPING_UNMAPPED_FORGED_SOURCES_WARNING; + Message unmappedPropertiesMsg; + Message unmappedForgedPropertiesMsg; + if ( unmappedSourcePolicy.getDiagnosticKind() == Diagnostic.Kind.ERROR ) { + unmappedPropertiesMsg = Message.BEANMAPPING_UNMAPPED_SOURCES_ERROR; + unmappedForgedPropertiesMsg = Message.BEANMAPPING_UNMAPPED_FORGED_SOURCES_ERROR; + } + else { + unmappedPropertiesMsg = Message.BEANMAPPING_UNMAPPED_SOURCES_WARNING; + unmappedForgedPropertiesMsg = Message.BEANMAPPING_UNMAPPED_FORGED_SOURCES_WARNING; + } reportErrorForUnmappedProperties( unprocessedSourceProperties, From 11a1e14ae2acef56d459ddcdd56ec9711482d2bf Mon Sep 17 00:00:00 2001 From: Zegveld <41897697+Zegveld@users.noreply.github.com> Date: Sun, 11 Feb 2024 13:11:15 +0100 Subject: [PATCH 7/8] Update processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java Co-authored-by: Filip Hrisafov --- .../ap/internal/model/BeanMappingMethod.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java b/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java index 0138cd1c30..4ac4ccb124 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/model/BeanMappingMethod.java @@ -1682,14 +1682,16 @@ private void reportErrorForUnmappedTargetPropertiesIfRequired() { } else if ( !unprocessedTargetProperties.isEmpty() && unmappedTargetPolicy.requiresReport() ) { - Message unmappedPropertiesMsg = - unmappedTargetPolicy.getDiagnosticKind() == Diagnostic.Kind.ERROR ? - Message.BEANMAPPING_UNMAPPED_TARGETS_ERROR : - Message.BEANMAPPING_UNMAPPED_TARGETS_WARNING; - Message unmappedForgedPropertiesMsg = - unmappedTargetPolicy.getDiagnosticKind() == Diagnostic.Kind.ERROR ? - Message.BEANMAPPING_UNMAPPED_FORGED_TARGETS_ERROR : - Message.BEANMAPPING_UNMAPPED_FORGED_TARGETS_WARNING; + Message unmappedPropertiesMsg; + Message unmappedForgedPropertiesMsg; + if ( unmappedTargetPolicy.getDiagnosticKind() == Diagnostic.Kind.ERROR ) { + unmappedPropertiesMsg = Message.BEANMAPPING_UNMAPPED_TARGETS_ERROR; + unmappedForgedPropertiesMsg = Message.BEANMAPPING_UNMAPPED_FORGED_TARGETS_ERROR; + } + else { + unmappedPropertiesMsg = Message.BEANMAPPING_UNMAPPED_TARGETS_WARNING; + unmappedForgedPropertiesMsg = Message.BEANMAPPING_UNMAPPED_FORGED_TARGETS_WARNING; + } reportErrorForUnmappedProperties( unprocessedTargetProperties, From 394cb01c170ef9696195e91e74cba4e10bea9c12 Mon Sep 17 00:00:00 2001 From: Ben Zegveld Date: Sun, 11 Feb 2024 13:17:36 +0100 Subject: [PATCH 8/8] #2788 added issuekey annotations --- .../ap/test/nestedbeans/DottedErrorMessageTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/DottedErrorMessageTest.java b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/DottedErrorMessageTest.java index fd40064bb6..571f3feade 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/DottedErrorMessageTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/nestedbeans/DottedErrorMessageTest.java @@ -69,6 +69,7 @@ import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableTargetWarnDeepMapValueMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableTargetWarnDeepNestingMapper; import org.mapstruct.ap.test.nestedbeans.unmappable.warn.UnmappableTargetWarnValuePropertyMapper; +import org.mapstruct.ap.testutil.IssueKey; import org.mapstruct.ap.testutil.ProcessorTest; import org.mapstruct.ap.testutil.WithClasses; import org.mapstruct.ap.testutil.compilation.annotation.CompilationResult; @@ -206,6 +207,7 @@ public void testTargetCollectionElementProperty() { public void testTargetMapValueProperty() { } + @IssueKey( "2788" ) @ProcessorTest @WithClasses({ UnmappableSourceDeepNestingMapper.class @@ -224,6 +226,7 @@ public void testTargetMapValueProperty() { public void testSourceDeepNestedBeans() { } + @IssueKey( "2788" ) @ProcessorTest @WithClasses({ UnmappableSourceDeepListMapper.class @@ -242,6 +245,7 @@ public void testSourceDeepNestedBeans() { public void testSourceIterables() { } + @IssueKey( "2788" ) @ProcessorTest @WithClasses({ UnmappableSourceDeepMapKeyMapper.class @@ -260,6 +264,7 @@ public void testSourceIterables() { public void testSourceMapKeys() { } + @IssueKey( "2788" ) @ProcessorTest @WithClasses({ UnmappableSourceDeepMapValueMapper.class @@ -278,6 +283,7 @@ public void testSourceMapKeys() { public void testSourceMapValues() { } + @IssueKey( "2788" ) @ProcessorTest @WithClasses({ UnmappableSourceCollectionElementPropertyMapper.class @@ -296,6 +302,7 @@ public void testSourceMapValues() { public void testSourceCollectionElementProperty() { } + @IssueKey( "2788" ) @ProcessorTest @WithClasses({ UnmappableSourceValuePropertyMapper.class @@ -387,6 +394,7 @@ public void testSourceMapEnumProperty() { public void testWarnUnmappedTargetProperties() { } + @IssueKey( "2788" ) @ProcessorTest @WithClasses({ UnmappableSourceWarnDeepNestingMapper.class,