private void addDefaultCustomConverters(Configuration globalConfiguration) { if (globalConfiguration.getCustomConverters() != null && globalConfiguration.getCustomConverters().findConverter(UUID.class, UUID.class) == null) { CustomConverterDescription defaultUUIDConverter = new CustomConverterDescription(); defaultUUIDConverter.setClassA(UUID.class); defaultUUIDConverter.setClassB(UUID.class); defaultUUIDConverter.setType(ByReferenceConverter.class); globalConfiguration.getCustomConverters().addConverter(defaultUUIDConverter); } }
public LoadMappingsResult load(List<MappingFileData> mappings) { Configuration globalConfiguration = findConfiguration(mappings); ClassMappings customMappings = new ClassMappings(); // Decorate the raw ClassMap objects and create ClassMap "prime" instances for (MappingFileData mappingFileData : mappings) { List<ClassMap> classMaps = mappingFileData.getClassMaps(); ClassMappings customMappingsPrime = mappingsParser.processMappings(classMaps, globalConfiguration); customMappings.addAll(customMappingsPrime); } // Add default mappings using matching property names if wildcard policy // is true. The addDefaultFieldMappings will check the wildcard policy of each classmap ClassMapBuilder.addDefaultFieldMappings(customMappings, globalConfiguration); Set<CustomConverterDescription> customConverterDescriptions = new LinkedHashSet<CustomConverterDescription>(); // build up custom converter description objects if (globalConfiguration.getCustomConverters() != null && globalConfiguration.getCustomConverters().getConverters() != null) { for (CustomConverterDescription cc : globalConfiguration.getCustomConverters().getConverters()) { customConverterDescriptions.add(cc); } } // iterate through the classmaps and set all of the custom converters on them for (Entry<CacheKeyFactory.CacheKey, ClassMap> entry : customMappings.getAll().entrySet()) { ClassMap classMap = entry.getValue(); if (classMap.getCustomConverters() != null) { classMap .getCustomConverters() .setConverters(new ArrayList<CustomConverterDescription>(customConverterDescriptions)); } else { classMap.setCustomConverters(new CustomConverterContainer()); classMap .getCustomConverters() .setConverters(new ArrayList<CustomConverterDescription>(customConverterDescriptions)); } } addDefaultCustomConverters(globalConfiguration); return new LoadMappingsResult(customMappings, globalConfiguration); }