Skip to content

External conversions mapper methods are not generated in adapter class #53

@myatmin

Description

@myatmin

Environment

  • Mapstruct: 1.5.2.Final
  • Mapstruct Sprint Extension: 0.1.2
  • Compiler: Eclipse JDT (IDE) 1.4.100.v20220318-0906
  • Java Language Server - Java: 17.0.4 (Microsoft)
  • Source/Target - Java: 11.0.15 (Temurin)
  • IDE: VSCode

Configuration Code

@MapperConfig(componentModel = "spring")
@SpringMapperConfig(
    externalConversions = @ExternalConversion(sourceType = String.class, targetType = Locale.class))
public interface MapstructConfig {}

Log Output

!ENTRY org.eclipse.jdt.apt.pluggable.core 4 1 2022-08-30 02:26:34.062
!MESSAGE Exception thrown by Java annotation processor org.mapstruct.extensions.spring.converter.ConverterMapperProcessor@2c971632
!STACK 0
java.lang.Exception: java.lang.ClassCastException: class org.eclipse.jdt.internal.compiler.apt.model.AnnotationValueImpl cannot be cast to class javax.lang.model.element.AnnotationMirror (org.eclipse.jdt.internal.compiler.apt.model.AnnotationValueImpl is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @61817efb; javax.lang.model.element.AnnotationMirror is in module java.compiler of loader 'platform')
	at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:172)
	at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.round(RoundDispatcher.java:124)
	at org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:172)
	at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:138)
	at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:953)
	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:450)
	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:379)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.compile(IncrementalImageBuilder.java:371)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:311)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.incrementalBuildLoop(IncrementalImageBuilder.java:190)
	at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:147)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:290)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:213)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1024)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:254)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:311)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:400)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:403)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:514)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:462)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:544)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:161)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:255)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.lang.ClassCastException: class org.eclipse.jdt.internal.compiler.apt.model.AnnotationValueImpl cannot be cast to class javax.lang.model.element.AnnotationMirror (org.eclipse.jdt.internal.compiler.apt.model.AnnotationValueImpl is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @61817efb; javax.lang.model.element.AnnotationMirror is in module java.compiler of loader 'platform')
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at org.mapstruct.extensions.spring.converter.ConverterMapperProcessor.toSourceTargetTypeNamePairs(ConverterMapperProcessor.java:104)
	at java.base/java.util.Optional.map(Optional.java:260)
	at org.mapstruct.extensions.spring.converter.ConverterMapperProcessor.getExternalConversionMappings(ConverterMapperProcessor.java:95)
	at org.mapstruct.extensions.spring.converter.ConverterMapperProcessor.buildDescriptor(ConverterMapperProcessor.java:77)
	at org.mapstruct.extensions.spring.converter.ConverterMapperProcessor.process(ConverterMapperProcessor.java:63)
	at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:142)
	... 26 more

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions