protected List<File> targetFiles(File targetDirectory) { ArrayList<File> generatedFiles = new ArrayList<File>(); DataSchemaResolver resolver = getSchemaResolver(); Map<String, DataSchemaLocation> nameToLocations = resolver.nameToDataSchemaLocations(); Map<String, NamedDataSchema> nameToSchema = resolver.bindings(); for (Map.Entry<String, DataSchemaLocation> entry : nameToLocations.entrySet()) { String fullName = entry.getKey(); DataSchemaLocation location = entry.getValue(); if (_sourceLocations.contains(location) || _sources.contains(fullName)) { NamedDataSchema schema = nameToSchema.get(fullName); if (schema instanceof RecordDataSchema) { RecordDataSchema recordDataSchema = (RecordDataSchema) schema; File generatedFile = fileForAvroSchema(fullName, targetDirectory); generatedFiles.add(generatedFile); String preTranslateSchemaText = recordDataSchema.toString(); String avroSchemaText = SchemaTranslator.dataToAvroSchemaJson(recordDataSchema, _options); _fileToAvroSchemaMap.put(generatedFile, avroSchemaText); String postTranslateSchemaText = recordDataSchema.toString(); assert(preTranslateSchemaText.equals(postTranslateSchemaText)); } } } return generatedFiles; }