mirror of
https://github.com/mapstruct/mapstruct.git
synced 2025-07-12 00:00:08 +08:00
Rename o.m.a.i.option.ReportingPolicy to o.m.a.i.prism.ReportingPolicyPrism and add missing prism enum tests.
This commit is contained in:
parent
8071723bae
commit
e57f4c9e5c
@ -44,8 +44,8 @@ import javax.tools.Diagnostic.Kind;
|
|||||||
|
|
||||||
import org.mapstruct.ap.internal.model.Mapper;
|
import org.mapstruct.ap.internal.model.Mapper;
|
||||||
import org.mapstruct.ap.internal.option.Options;
|
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.MapperPrism;
|
||||||
|
import org.mapstruct.ap.internal.prism.ReportingPolicyPrism;
|
||||||
import org.mapstruct.ap.internal.processor.DefaultModelElementProcessorContext;
|
import org.mapstruct.ap.internal.processor.DefaultModelElementProcessorContext;
|
||||||
import org.mapstruct.ap.internal.processor.ModelElementProcessor;
|
import org.mapstruct.ap.internal.processor.ModelElementProcessor;
|
||||||
import org.mapstruct.ap.internal.processor.ModelElementProcessor.ProcessorContext;
|
import org.mapstruct.ap.internal.processor.ModelElementProcessor.ProcessorContext;
|
||||||
@ -131,7 +131,7 @@ public class MappingProcessor extends AbstractProcessor {
|
|||||||
return new Options(
|
return new Options(
|
||||||
Boolean.valueOf( processingEnv.getOptions().get( SUPPRESS_GENERATOR_TIMESTAMP ) ),
|
Boolean.valueOf( processingEnv.getOptions().get( SUPPRESS_GENERATOR_TIMESTAMP ) ),
|
||||||
Boolean.valueOf( processingEnv.getOptions().get( SUPPRESS_GENERATOR_VERSION_INFO_COMMENT ) ),
|
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 ),
|
processingEnv.getOptions().get( DEFAULT_COMPONENT_MODEL ),
|
||||||
Boolean.valueOf( processingEnv.getOptions().get( ALWAYS_GENERATE_SERVICE_FILE ) )
|
Boolean.valueOf( processingEnv.getOptions().get( ALWAYS_GENERATE_SERVICE_FILE ) )
|
||||||
);
|
);
|
||||||
|
@ -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.SourceMethod;
|
||||||
import org.mapstruct.ap.internal.model.source.SourceReference;
|
import org.mapstruct.ap.internal.model.source.SourceReference;
|
||||||
import org.mapstruct.ap.internal.model.source.TargetReference;
|
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.BeanMappingPrism;
|
||||||
import org.mapstruct.ap.internal.prism.CollectionMappingStrategyPrism;
|
import org.mapstruct.ap.internal.prism.CollectionMappingStrategyPrism;
|
||||||
import org.mapstruct.ap.internal.prism.NullValueMappingStrategyPrism;
|
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.MapperConfiguration;
|
||||||
import org.mapstruct.ap.internal.util.Message;
|
import org.mapstruct.ap.internal.util.Message;
|
||||||
import org.mapstruct.ap.internal.util.Strings;
|
import org.mapstruct.ap.internal.util.Strings;
|
||||||
@ -508,7 +508,7 @@ public class BeanMappingMethod extends MappingMethod {
|
|||||||
return method.getResultType().getPropertyReadAccessors().get( propertyName );
|
return method.getResultType().getPropertyReadAccessors().get( propertyName );
|
||||||
}
|
}
|
||||||
|
|
||||||
private ReportingPolicy getUnmappedTargetPolicy() {
|
private ReportingPolicyPrism getUnmappedTargetPolicy() {
|
||||||
MapperConfiguration mapperSettings = MapperConfiguration.getInstanceOn( ctx.getMapperTypeElement() );
|
MapperConfiguration mapperSettings = MapperConfiguration.getInstanceOn( ctx.getMapperTypeElement() );
|
||||||
|
|
||||||
return mapperSettings.unmappedTargetPolicy( ctx.getOptions() );
|
return mapperSettings.unmappedTargetPolicy( ctx.getOptions() );
|
||||||
@ -517,7 +517,7 @@ public class BeanMappingMethod extends MappingMethod {
|
|||||||
private void reportErrorForUnmappedTargetPropertiesIfRequired() {
|
private void reportErrorForUnmappedTargetPropertiesIfRequired() {
|
||||||
|
|
||||||
// fetch settings from element to implement
|
// fetch settings from element to implement
|
||||||
ReportingPolicy unmappedTargetPolicy = getUnmappedTargetPolicy();
|
ReportingPolicyPrism unmappedTargetPolicy = getUnmappedTargetPolicy();
|
||||||
|
|
||||||
if ( !unprocessedTargetProperties.isEmpty() && unmappedTargetPolicy.requiresReport() ) {
|
if ( !unprocessedTargetProperties.isEmpty() && unmappedTargetPolicy.requiresReport() ) {
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.mapstruct.ap.internal.option;
|
package org.mapstruct.ap.internal.option;
|
||||||
|
|
||||||
|
import org.mapstruct.ap.internal.prism.ReportingPolicyPrism;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The options passed to the code generator.
|
* The options passed to the code generator.
|
||||||
@ -28,12 +29,12 @@ package org.mapstruct.ap.internal.option;
|
|||||||
public class Options {
|
public class Options {
|
||||||
private final boolean suppressGeneratorTimestamp;
|
private final boolean suppressGeneratorTimestamp;
|
||||||
private final boolean suppressGeneratorVersionComment;
|
private final boolean suppressGeneratorVersionComment;
|
||||||
private final ReportingPolicy unmappedTargetPolicy;
|
private final ReportingPolicyPrism unmappedTargetPolicy;
|
||||||
private final boolean alwaysGenerateSpi;
|
private final boolean alwaysGenerateSpi;
|
||||||
private final String defaultComponentModel;
|
private final String defaultComponentModel;
|
||||||
|
|
||||||
public Options(boolean suppressGeneratorTimestamp, boolean suppressGeneratorVersionComment,
|
public Options(boolean suppressGeneratorTimestamp, boolean suppressGeneratorVersionComment,
|
||||||
ReportingPolicy unmappedTargetPolicy,
|
ReportingPolicyPrism unmappedTargetPolicy,
|
||||||
String defaultComponentModel, boolean alwaysGenerateSpi) {
|
String defaultComponentModel, boolean alwaysGenerateSpi) {
|
||||||
this.suppressGeneratorTimestamp = suppressGeneratorTimestamp;
|
this.suppressGeneratorTimestamp = suppressGeneratorTimestamp;
|
||||||
this.suppressGeneratorVersionComment = suppressGeneratorVersionComment;
|
this.suppressGeneratorVersionComment = suppressGeneratorVersionComment;
|
||||||
@ -50,7 +51,7 @@ public class Options {
|
|||||||
return suppressGeneratorVersionComment;
|
return suppressGeneratorVersionComment;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ReportingPolicy getUnmappedTargetPolicy() {
|
public ReportingPolicyPrism getUnmappedTargetPolicy() {
|
||||||
return unmappedTargetPolicy;
|
return unmappedTargetPolicy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,18 +16,17 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package org.mapstruct.ap.internal.option;
|
package org.mapstruct.ap.internal.prism;
|
||||||
|
|
||||||
import javax.tools.Diagnostic;
|
import javax.tools.Diagnostic;
|
||||||
import javax.tools.Diagnostic.Kind;
|
import javax.tools.Diagnostic.Kind;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Possible issue reporting policies. Duplicates the enum of the same name from
|
* Prism for the enum {@link org.mapstruct.ReportingPolicy}.
|
||||||
* the core module as this can't be referenced here.
|
|
||||||
*
|
*
|
||||||
* @author Gunnar Morling
|
* @author Gunnar Morling
|
||||||
*/
|
*/
|
||||||
public enum ReportingPolicy {
|
public enum ReportingPolicyPrism {
|
||||||
|
|
||||||
IGNORE( null, false, false ),
|
IGNORE( null, false, false ),
|
||||||
WARN( Kind.WARNING, true, false ),
|
WARN( Kind.WARNING, true, false ),
|
||||||
@ -37,7 +36,7 @@ public enum ReportingPolicy {
|
|||||||
private final boolean requiresReport;
|
private final boolean requiresReport;
|
||||||
private final boolean failsBuild;
|
private final boolean failsBuild;
|
||||||
|
|
||||||
ReportingPolicy(Diagnostic.Kind diagnosticKind, boolean requiresReport, boolean failsBuild) {
|
ReportingPolicyPrism(Diagnostic.Kind diagnosticKind, boolean requiresReport, boolean failsBuild) {
|
||||||
this.requiresReport = requiresReport;
|
this.requiresReport = requiresReport;
|
||||||
this.diagnosticKind = diagnosticKind;
|
this.diagnosticKind = diagnosticKind;
|
||||||
this.failsBuild = failsBuild;
|
this.failsBuild = failsBuild;
|
@ -28,13 +28,13 @@ import javax.lang.model.type.DeclaredType;
|
|||||||
import javax.lang.model.type.TypeMirror;
|
import javax.lang.model.type.TypeMirror;
|
||||||
|
|
||||||
import org.mapstruct.ap.internal.option.Options;
|
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.CollectionMappingStrategyPrism;
|
||||||
import org.mapstruct.ap.internal.prism.MapperConfigPrism;
|
import org.mapstruct.ap.internal.prism.MapperConfigPrism;
|
||||||
import org.mapstruct.ap.internal.prism.MapperPrism;
|
import org.mapstruct.ap.internal.prism.MapperPrism;
|
||||||
import org.mapstruct.ap.internal.prism.MappingInheritanceStrategyPrism;
|
import org.mapstruct.ap.internal.prism.MappingInheritanceStrategyPrism;
|
||||||
import org.mapstruct.ap.internal.prism.NullValueCheckStrategyPrism;
|
import org.mapstruct.ap.internal.prism.NullValueCheckStrategyPrism;
|
||||||
import org.mapstruct.ap.internal.prism.NullValueMappingStrategyPrism;
|
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
|
* Provides an aggregated view to the settings given via {@link org.mapstruct.Mapper} and
|
||||||
@ -111,13 +111,13 @@ public class MapperConfiguration {
|
|||||||
return mapperPrism.imports();
|
return mapperPrism.imports();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ReportingPolicy unmappedTargetPolicy(Options options) {
|
public ReportingPolicyPrism unmappedTargetPolicy(Options options) {
|
||||||
if ( mapperPrism.values.unmappedTargetPolicy() != null ) {
|
if ( mapperPrism.values.unmappedTargetPolicy() != null ) {
|
||||||
return ReportingPolicy.valueOf( mapperPrism.unmappedTargetPolicy() );
|
return ReportingPolicyPrism.valueOf( mapperPrism.unmappedTargetPolicy() );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( mapperConfigPrism != null && mapperConfigPrism.values.unmappedTargetPolicy() != null ) {
|
if ( mapperConfigPrism != null && mapperConfigPrism.values.unmappedTargetPolicy() != null ) {
|
||||||
return ReportingPolicy.valueOf( mapperConfigPrism.unmappedTargetPolicy() );
|
return ReportingPolicyPrism.valueOf( mapperConfigPrism.unmappedTargetPolicy() );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( options.getUnmappedTargetPolicy() != null ) {
|
if ( options.getUnmappedTargetPolicy() != null ) {
|
||||||
@ -125,7 +125,7 @@ public class MapperConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// fall back to default defined in the annotation
|
// fall back to default defined in the annotation
|
||||||
return ReportingPolicy.valueOf( mapperPrism.unmappedTargetPolicy() );
|
return ReportingPolicyPrism.valueOf( mapperPrism.unmappedTargetPolicy() );
|
||||||
}
|
}
|
||||||
|
|
||||||
public CollectionMappingStrategyPrism getCollectionMappingStrategy() {
|
public CollectionMappingStrategyPrism getCollectionMappingStrategy() {
|
||||||
|
@ -26,10 +26,14 @@ import java.util.List;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.mapstruct.CollectionMappingStrategy;
|
import org.mapstruct.CollectionMappingStrategy;
|
||||||
import org.mapstruct.MappingInheritanceStrategy;
|
import org.mapstruct.MappingInheritanceStrategy;
|
||||||
|
import org.mapstruct.NullValueCheckStrategy;
|
||||||
import org.mapstruct.NullValueMappingStrategy;
|
import org.mapstruct.NullValueMappingStrategy;
|
||||||
|
import org.mapstruct.ReportingPolicy;
|
||||||
import org.mapstruct.ap.internal.prism.CollectionMappingStrategyPrism;
|
import org.mapstruct.ap.internal.prism.CollectionMappingStrategyPrism;
|
||||||
import org.mapstruct.ap.internal.prism.MappingInheritanceStrategyPrism;
|
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.NullValueMappingStrategyPrism;
|
||||||
|
import org.mapstruct.ap.internal.prism.ReportingPolicyPrism;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test for manually created prisms on enumeration types
|
* Test for manually created prisms on enumeration types
|
||||||
@ -44,15 +48,27 @@ public class EnumPrismsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@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(
|
assertThat( namesOf( NullValueMappingStrategy.values() ) ).isEqualTo(
|
||||||
namesOf( NullValueMappingStrategyPrism.values() ) );
|
namesOf( NullValueMappingStrategyPrism.values() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void mapMappingInheritanceStrategyPrismIsCorrect() {
|
public void reportingPolicyPrismIsCorrect() {
|
||||||
assertThat( namesOf( MappingInheritanceStrategy.values() ) ).isEqualTo(
|
assertThat( namesOf( ReportingPolicy.values() ) ).isEqualTo(
|
||||||
namesOf( MappingInheritanceStrategyPrism.values() ) );
|
namesOf( ReportingPolicyPrism.values() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<String> namesOf(Enum<?>[] values) {
|
private static List<String> namesOf(Enum<?>[] values) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user