-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
It seems that MapStruct tries to map on inheritance (Object).
Below is example of an error trace when there are a lot of suposed qualifying methods:
ERROR] /C:/sjaak/git/bhr/bhrgt_v1_0/transform/src/main/java/nl/bro/transform/bhrgt/BhrGTCommonJaxbToDtoMapper.java:[256,30] Ambiguous mapping methods found for mapping collection element to java.lang.Object: nl.broservices.xsd.brocommon.v_3_0.OrganizationType map(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DisciplineType toDisciplineType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.HorizontalPositioningMethodType toHorizontalPositioningMethodType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.LocalVerticalReferencePointType toLocalVerticalReferencePointType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.PeatTypeType toPeatTypeType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.RockTypeType toRockTypeType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.StopCriterionType toStopCriterionType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SurveyPurposeType toSurveyPurposeType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SurveyProcedureType toSurveyProcedure(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.VerticalPositioningMethodType toVerticalPositioningMethodType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DeliveryContextType toDeliveryContextType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.VerticalDatumType toVerticalDatumStatusType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.TemporaryChangeType toTemporaryChangeType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.FluidMudLayerPositioningMethodType toFluidMudLayerPositioningMethodType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.PositionOnGroundBodyType toPositionOnGroundBodyType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.ColourType toColourType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SoilUseType toSoilUseType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.BoringProcedureType toBoringProcedureType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.PreparationType toPreparationType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.FlushingAdditiveType toFlushingAdditiveType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SamplingProcedureType toSamplingProcedureType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.ExcavatedMaterialType toExcavatedMaterialType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.BoringTechniqueType toBoringTechniqueType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.PreTreatmentType toPreTreatmentType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SamplingMethodType toSamplingMethodType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SamplingQualityType toSamplingQualityType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SamplerTypeType toSamplerTypeType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.CasingMaterialType toCasingMaterialType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.BackfillMaterialType toBackfillMaterialType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.CementTypeType toCementTypeType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DescriptionProcedureType toDescriptionProcedureType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DescriptionQualityType toDescriptionQuality(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DescriptionLocationType toDescriptionLocationType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DescribedMaterialType toDescribedMaterialType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SampleMoistnessType toSampleMoistnessType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.BoundaryPositioningMethodType toBoundaryPositioningMethodType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.ActivityTypeType toActivityTypeType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SpecialMaterialType toSpecialMaterialType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.BeddingType toBeddingType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.GeotechnicalSoilNameType toGeotechnicalSoilNameType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SoilNameNEN5104Type toSoilNameNEN5104Type(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.GravelContentClassNEN5104Type toGravelContentClassNEN5104Type(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.OrganicMatterContentClassNEN5104Type toOrganicMatterContentClassNEN5104Type(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.InterbeddingType toInterbeddingType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.CarbonateContentClassType toCarbonateContentClassType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.OrganicMatterContentClassType toOrganicMatterContentClassType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.MixingTypeType toMixingTypeType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.GravelMedianClassType toGravelMedianClassType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.FineGravelContentClassType toFineGravelContentClassType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.ModeratelyCoarseGravelContentClassType toModeratelyCoarseGravelContentClassType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.VeryCoarseGravelContentClassType toVeryCoarseGravelContentClassType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SandMedianClassType toSandMedianClassType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SandDeviationType toSandDeviationNEN5104Type(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.OrganicSoilTextureType toOrganicSoilTextureType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.FineSoilConsistencyType toFineSoilConsistencyType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.OrganicSoilConsistencyType toOrganicSoilConsistencyType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.OrganicSoilTensileStrengthType toOrganicSoilTensileStrengthType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.GeotechnicalDepositionalCharacteristicType toGeotechnicalDepositionalCharacteristicType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.VoidDistributionType toVoidDistributionType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.StabilityType toStabilityType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.StrengthClassType toStrengthClassType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DiscontinuityTypeType toDiscontinuityTypeType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.ApertureClassType toApertureClassType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.InfillMaterialType toInfillMaterialType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DiscolourationType toDiscolourationType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DisintegrationType toDisintegrationType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DecompositionType toDecompositionType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SizeFractionType toSizeFractionType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.AngularityType toAngularityType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.SphericityType toSphericityType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.RoughnessType toRoughnessType(java.lang.String value), nl.broservices.xsd.bhrgtcommon.v_1_0.DepositionalAgeType toDepositionalAgeType(java.lang.String value), nl.broservices.xsd.brocommon.v_3_0.IndicationYesNoEnumeration nl.bro.transform.common.BroEnumMapper.toIndicationYesNoEnumeration(java.lang.String in), nl.broservices.xsd.brocommon.v_3_0.IndicationYesNoUnknownEnumeration nl.bro.transform.common.BroEnumMapper.toIndicationYesNoUnknownEnumeration(java.lang.String in), nl.broservices.xsd.brocommon.v_3_0.QualityRegimeEnumeration nl.bro.transform.common.BroEnumMapper.toQualityRegimeEnumeration(java.lang.String in), nl.broservices.xsd.brocommon.v_3_0.IntakeResponseTypeEnumeration nl.bro.transform.common.BroEnumMapper.toIntakeResponseTypeEnumeration(java.lang.String in), nl.broservices.xsd.brocommon.v_3_0.DispatchResponseTypeEnumeration nl.bro.transform.common.BroEnumMapper.toDispatchResponseTypeEnumeration(java.lang.String in), nl.broservices.xsd.brocommon.v_3_0.RegistrationStatusType nl.bro.transform.common.BroCodeWithAuthorityTypeMapper.toRegistrationStatusType(java.lang.String value), nl.broservices.xsd.brocommon.v_3_0.CoordinateTransformationType nl.bro.transform.common.BroCodeWithAuthorityTypeMapper.toCoordinateTransformationType(java.lang.String value).
Its hard to find the true cause, which is probably that MapStruct cannot find a matching method. I'm wondering whether we should qualify methods based on Object at all (or bail out earlier in the matching process).