Skip to content
Snippets Groups Projects
Commit cc601ff3 authored by Christian Wulf's avatar Christian Wulf
Browse files

added AbstractRecordFileReader

parent f1d12548
No related branches found
No related tags found
No related merge requests found
#FindBugs User Preferences
#Mon Jun 15 14:22:22 CEST 2015
#Wed Jun 24 10:24:19 CEST 2015
detector_threshold=3
effort=max
excludefilter0=.fbExcludeFilterFile|true
......
......
......@@ -48,6 +48,12 @@ public class MappingFileParser {
this.logger = logger;
}
/**
* Closes the stream after reading.
*
* @param inputStream
* @return
*/
public ClassNameRegistry parseFromStream(final InputStream inputStream) {
final ClassNameRegistry classNameRegistry = new ClassNameRegistry();
......
......
package teetime.stage.io.filesystem;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import teetime.framework.AbstractConsumerStage;
import teetime.stage.className.ClassNameRegistry;
import teetime.stage.className.ClassNameRegistryRepository;
import teetime.stage.className.MappingFileParser;
public abstract class AbstractRecordFileReader extends AbstractConsumerStage<File> {
private final ClassNameRegistryRepository classNameRegistryRepository;
private final MappingFileParser mappingFileParser;
public AbstractRecordFileReader(final ClassNameRegistryRepository classNameRegistryRepository) {
this.classNameRegistryRepository = classNameRegistryRepository;
this.mappingFileParser = new MappingFileParser(logger);
}
@Override
protected void execute(final File recordFile) {
ClassNameRegistry classNameRegistry = getClassNameRegistry(recordFile);
reconstructRecords(classNameRegistry);
}
private ClassNameRegistry getClassNameRegistry(final File recordFile) {
final File mapFile = mappingFileParser.findMappingFile(recordFile.getParentFile());
ClassNameRegistry classNameRegistry = classNameRegistryRepository.get(mapFile);
if (null == classNameRegistry) {
try {
final FileInputStream inputStream = new FileInputStream(mapFile);
classNameRegistry = mappingFileParser.parseFromStream(inputStream);
classNameRegistryRepository.put(mapFile, classNameRegistry);
} catch (FileNotFoundException e) {
logger.error("", e);
}
}
return classNameRegistry;
}
protected abstract void reconstructRecords(ClassNameRegistry classNameRegistry);
}
......@@ -43,7 +43,6 @@ public class Dir2RecordsFilterTest {
}
}
@SuppressWarnings("deprecation")
class ReadingComposite extends AbstractCompositeStage {
private final InitialElementProducer<File> producer;
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment