diff --git a/processor/src/main/java/org/mapstruct/ap/MappingProcessor.java b/processor/src/main/java/org/mapstruct/ap/MappingProcessor.java index 9188fb417..9db2511ef 100644 --- a/processor/src/main/java/org/mapstruct/ap/MappingProcessor.java +++ b/processor/src/main/java/org/mapstruct/ap/MappingProcessor.java @@ -44,8 +44,8 @@ import javax.tools.Diagnostic.Kind; import org.mapstruct.ap.internal.model.Mapper; import org.mapstruct.ap.internal.option.Options; -import org.mapstruct.ap.internal.option.ReportingPolicy; import org.mapstruct.ap.internal.prism.MapperPrism; +import org.mapstruct.ap.internal.prism.ReportingPolicyPrism; import org.mapstruct.ap.internal.processor.DefaultModelElementProcessorContext; import org.mapstruct.ap.internal.processor.ModelElementProcessor; import org.mapstruct.ap.internal.processor.ModelElementProcessor.ProcessorContext; @@ -131,7 +131,7 @@ public class MappingProcessor extends AbstractProcessor { return new Options( Boolean.valueOf( processingEnv.getOptions().get( SUPPRESS_GENERATOR_TIMESTAMP ) ), Boolean.valueOf( processingEnv.getOptions().get( SUPPRESS_GENERATOR_VERSION_INFO_COMMENT ) ), - unmappedTargetPolicy != null ? ReportingPolicy.valueOf( unmappedTargetPolicy.toUpperCase() ) : null, + unmappedTargetPolicy != null ? ReportingPolicyPrism.valueOf( unmappedTargetPolicy.toUpperCase() ) : null, processingEnv.getOptions().get( DEFAULT_COMPONENT_MODEL ), Boolean.valueOf( processingEnv.getOptions().get( ALWAYS_GENERATE_SERVICE_FILE ) ) ); 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 13ad6037d..7ae9b1d56 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 @@ -54,10 +54,10 @@ import org.mapstruct.ap.internal.model.source.SelectionParameters; import org.mapstruct.ap.internal.model.source.SourceMethod; import org.mapstruct.ap.internal.model.source.SourceReference; import org.mapstruct.ap.internal.model.source.TargetReference; -import org.mapstruct.ap.internal.option.ReportingPolicy; import org.mapstruct.ap.internal.prism.BeanMappingPrism; import org.mapstruct.ap.internal.prism.CollectionMappingStrategyPrism; import org.mapstruct.ap.internal.prism.NullValueMappingStrategyPrism; +import org.mapstruct.ap.internal.prism.ReportingPolicyPrism; import org.mapstruct.ap.internal.util.MapperConfiguration; import org.mapstruct.ap.internal.util.Message; import org.mapstruct.ap.internal.util.Strings; @@ -508,7 +508,7 @@ public class BeanMappingMethod extends MappingMethod { return method.getResultType().getPropertyReadAccessors().get( propertyName ); } - private ReportingPolicy getUnmappedTargetPolicy() { + private ReportingPolicyPrism getUnmappedTargetPolicy() { MapperConfiguration mapperSettings = MapperConfiguration.getInstanceOn( ctx.getMapperTypeElement() ); return mapperSettings.unmappedTargetPolicy( ctx.getOptions() ); @@ -517,7 +517,7 @@ public class BeanMappingMethod extends MappingMethod { private void reportErrorForUnmappedTargetPropertiesIfRequired() { // fetch settings from element to implement - ReportingPolicy unmappedTargetPolicy = getUnmappedTargetPolicy(); + ReportingPolicyPrism unmappedTargetPolicy = getUnmappedTargetPolicy(); if ( !unprocessedTargetProperties.isEmpty() && unmappedTargetPolicy.requiresReport() ) { diff --git a/processor/src/main/java/org/mapstruct/ap/internal/option/Options.java b/processor/src/main/java/org/mapstruct/ap/internal/option/Options.java index abbb8f687..3444a6eef 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/option/Options.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/option/Options.java @@ -18,6 +18,7 @@ */ package org.mapstruct.ap.internal.option; +import org.mapstruct.ap.internal.prism.ReportingPolicyPrism; /** * The options passed to the code generator. @@ -28,12 +29,12 @@ package org.mapstruct.ap.internal.option; public class Options { private final boolean suppressGeneratorTimestamp; private final boolean suppressGeneratorVersionComment; - private final ReportingPolicy unmappedTargetPolicy; + private final ReportingPolicyPrism unmappedTargetPolicy; private final boolean alwaysGenerateSpi; private final String defaultComponentModel; public Options(boolean suppressGeneratorTimestamp, boolean suppressGeneratorVersionComment, - ReportingPolicy unmappedTargetPolicy, + ReportingPolicyPrism unmappedTargetPolicy, String defaultComponentModel, boolean alwaysGenerateSpi) { this.suppressGeneratorTimestamp = suppressGeneratorTimestamp; this.suppressGeneratorVersionComment = suppressGeneratorVersionComment; @@ -50,7 +51,7 @@ public class Options { return suppressGeneratorVersionComment; } - public ReportingPolicy getUnmappedTargetPolicy() { + public ReportingPolicyPrism getUnmappedTargetPolicy() { return unmappedTargetPolicy; } diff --git a/processor/src/main/java/org/mapstruct/ap/internal/option/ReportingPolicy.java b/processor/src/main/java/org/mapstruct/ap/internal/prism/ReportingPolicyPrism.java similarity index 83% rename from processor/src/main/java/org/mapstruct/ap/internal/option/ReportingPolicy.java rename to processor/src/main/java/org/mapstruct/ap/internal/prism/ReportingPolicyPrism.java index 1c4cbebdd..97a81f84d 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/option/ReportingPolicy.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/prism/ReportingPolicyPrism.java @@ -16,18 +16,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.mapstruct.ap.internal.option; +package org.mapstruct.ap.internal.prism; import javax.tools.Diagnostic; import javax.tools.Diagnostic.Kind; /** - * Possible issue reporting policies. Duplicates the enum of the same name from - * the core module as this can't be referenced here. + * Prism for the enum {@link org.mapstruct.ReportingPolicy}. * * @author Gunnar Morling */ -public enum ReportingPolicy { +public enum ReportingPolicyPrism { IGNORE( null, false, false ), WARN( Kind.WARNING, true, false ), @@ -37,7 +36,7 @@ public enum ReportingPolicy { private final boolean requiresReport; private final boolean failsBuild; - ReportingPolicy(Diagnostic.Kind diagnosticKind, boolean requiresReport, boolean failsBuild) { + ReportingPolicyPrism(Diagnostic.Kind diagnosticKind, boolean requiresReport, boolean failsBuild) { this.requiresReport = requiresReport; this.diagnosticKind = diagnosticKind; this.failsBuild = failsBuild; diff --git a/processor/src/main/java/org/mapstruct/ap/internal/util/MapperConfiguration.java b/processor/src/main/java/org/mapstruct/ap/internal/util/MapperConfiguration.java index 81037bc18..2c0b57ee4 100644 --- a/processor/src/main/java/org/mapstruct/ap/internal/util/MapperConfiguration.java +++ b/processor/src/main/java/org/mapstruct/ap/internal/util/MapperConfiguration.java @@ -28,13 +28,13 @@ import javax.lang.model.type.DeclaredType; import javax.lang.model.type.TypeMirror; import org.mapstruct.ap.internal.option.Options; -import org.mapstruct.ap.internal.option.ReportingPolicy; import org.mapstruct.ap.internal.prism.CollectionMappingStrategyPrism; import org.mapstruct.ap.internal.prism.MapperConfigPrism; import org.mapstruct.ap.internal.prism.MapperPrism; import org.mapstruct.ap.internal.prism.MappingInheritanceStrategyPrism; import org.mapstruct.ap.internal.prism.NullValueCheckStrategyPrism; import org.mapstruct.ap.internal.prism.NullValueMappingStrategyPrism; +import org.mapstruct.ap.internal.prism.ReportingPolicyPrism; /** * Provides an aggregated view to the settings given via {@link org.mapstruct.Mapper} and @@ -111,13 +111,13 @@ public class MapperConfiguration { return mapperPrism.imports(); } - public ReportingPolicy unmappedTargetPolicy(Options options) { + public ReportingPolicyPrism unmappedTargetPolicy(Options options) { if ( mapperPrism.values.unmappedTargetPolicy() != null ) { - return ReportingPolicy.valueOf( mapperPrism.unmappedTargetPolicy() ); + return ReportingPolicyPrism.valueOf( mapperPrism.unmappedTargetPolicy() ); } if ( mapperConfigPrism != null && mapperConfigPrism.values.unmappedTargetPolicy() != null ) { - return ReportingPolicy.valueOf( mapperConfigPrism.unmappedTargetPolicy() ); + return ReportingPolicyPrism.valueOf( mapperConfigPrism.unmappedTargetPolicy() ); } if ( options.getUnmappedTargetPolicy() != null ) { @@ -125,7 +125,7 @@ public class MapperConfiguration { } // fall back to default defined in the annotation - return ReportingPolicy.valueOf( mapperPrism.unmappedTargetPolicy() ); + return ReportingPolicyPrism.valueOf( mapperPrism.unmappedTargetPolicy() ); } public CollectionMappingStrategyPrism getCollectionMappingStrategy() { diff --git a/processor/src/test/java/org/mapstruct/ap/test/prism/EnumPrismsTest.java b/processor/src/test/java/org/mapstruct/ap/test/prism/EnumPrismsTest.java index 8b4411a95..7c5d65c7f 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/prism/EnumPrismsTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/prism/EnumPrismsTest.java @@ -26,10 +26,14 @@ import java.util.List; import org.junit.Test; import org.mapstruct.CollectionMappingStrategy; import org.mapstruct.MappingInheritanceStrategy; +import org.mapstruct.NullValueCheckStrategy; import org.mapstruct.NullValueMappingStrategy; +import org.mapstruct.ReportingPolicy; import org.mapstruct.ap.internal.prism.CollectionMappingStrategyPrism; import org.mapstruct.ap.internal.prism.MappingInheritanceStrategyPrism; +import org.mapstruct.ap.internal.prism.NullValueCheckStrategyPrism; import org.mapstruct.ap.internal.prism.NullValueMappingStrategyPrism; +import org.mapstruct.ap.internal.prism.ReportingPolicyPrism; /** * Test for manually created prisms on enumeration types @@ -44,15 +48,27 @@ public class EnumPrismsTest { } @Test - public void mapNullToDefaultStrategyPrismIsCorrect() { + public void mappingInheritanceStrategyPrismIsCorrect() { + assertThat( namesOf( MappingInheritanceStrategy.values() ) ).isEqualTo( + namesOf( MappingInheritanceStrategyPrism.values() ) ); + } + + @Test + public void nullValueCheckStrategyPrismIsCorrect() { + assertThat( namesOf( NullValueCheckStrategy.values() ) ).isEqualTo( + namesOf( NullValueCheckStrategyPrism.values() ) ); + } + + @Test + public void nullValueMappingStrategyPrismIsCorrect() { assertThat( namesOf( NullValueMappingStrategy.values() ) ).isEqualTo( namesOf( NullValueMappingStrategyPrism.values() ) ); } @Test - public void mapMappingInheritanceStrategyPrismIsCorrect() { - assertThat( namesOf( MappingInheritanceStrategy.values() ) ).isEqualTo( - namesOf( MappingInheritanceStrategyPrism.values() ) ); + public void reportingPolicyPrismIsCorrect() { + assertThat( namesOf( ReportingPolicy.values() ) ).isEqualTo( + namesOf( ReportingPolicyPrism.values() ) ); } private static List namesOf(Enum[] values) {