private List<MappingFileData> loadFromFiles(List<String> mappingFiles) { MappingFileReader mappingFileReader = new MappingFileReader(XMLParserFactory.getInstance()); List<MappingFileData> mappingFileDataList = new ArrayList<MappingFileData>(); if (mappingFiles != null && mappingFiles.size() > 0) { log.info("Using the following xml files to load custom mappings for the bean mapper instance: {}", mappingFiles); for (String mappingFileName : mappingFiles) { log.info("Trying to find xml mapping file: {}", mappingFileName); URL url = MappingValidator.validateURL(mappingFileName); log.info("Using URL [" + url + "] to load custom xml mappings"); MappingFileData mappingFileData = mappingFileReader.read(url); log.info("Successfully loaded custom xml mappings from URL: [{}]", url); mappingFileDataList.add(mappingFileData); } } return mappingFileDataList; }
/** * Add mapping XML from InputStream resources for mapping not stored in * files (e.g. from database.) The InputStream will be read immediately to * internally create MappingFileData objects so that the InputStreams may be * closed after the call to this method. * * @param xmlStream Dozer mapping XML InputStream */ public void addMapping(InputStream xmlStream) { checkIfInitialized(); MappingStreamReader fileReader = new MappingStreamReader(XMLParserFactory.getInstance()); MappingFileData mappingFileData = fileReader.read(xmlStream); builderMappings.add(mappingFileData); }