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:
Andreas Gudian 2016-09-04 12:32:22 +02:00
parent 8071723bae
commit e57f4c9e5c
6 changed files with 38 additions and 22 deletions

View File

@ -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 ) )
);

View 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.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() ) {

View File

@ -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;
}

View File

@ -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;

View File

@ -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() {

View File

@ -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<String> namesOf(Enum<?>[] values) {