/** * Default constructor using a new instance of {@link ClassNameRegistryRepository}. */ public Dir2RecordsFilter() { this(new ClassNameRegistryRepository()); }
/** * @since 1.10 */ public ClassNameRegistryCreationFilter() { super(); this.mappingFileParser = new MappingFileParser(this.logger); }
public InputPort<File> getInputPort() { return this.classNameRegistryCreationFilter.getInputPort(); }
@Override @SuppressFBWarnings("OBL_UNSATISFIED_OBLIGATION") // Stream is closed by parseFromStream(..) method protected void execute(final File inputDir) { final File mappingFile = this.mappingFileParser.findMappingFile(inputDir); if (mappingFile == null) { this.logger.error("Directory '" + inputDir + "' does not exist or an I/O error occured."); return; } try { final ReaderRegistry<String> classNameRegistry = this.mappingFileParser.parseFromStream(new FileInputStream(mappingFile)); this.classNameRegistryRepository.put(inputDir, classNameRegistry); this.outputPort.send(inputDir); // final String filePrefix = this.mappingFileParser.getFilePrefixFromMappingFile(mappingFile); // context.put(this.filePrefixOutputPort, filePrefix); } catch (final FileNotFoundException e) { this.logger.error("Mapping file not found.", e); // and skip this directory } }
public Dir2RecordsFilter(final ClassNameRegistryRepository classNameRegistryRepository) { this.classNameRegistryRepository = classNameRegistryRepository; // does not yet work with more than one thread due to classNameRegistryRepository: classNameRegistryRepository is set after the ctor // create stages final ClassNameRegistryCreationFilter tempClassNameRegistryCreationFilter = new ClassNameRegistryCreationFilter(this.classNameRegistryRepository); final Directory2FilesFilter directory2FilesFilter = new Directory2FilesFilter(); final FileExtensionSwitch fileExtensionSwitch = new FileExtensionSwitch(); final DatFile2RecordFilter datFile2RecordFilter = new DatFile2RecordFilter(this.classNameRegistryRepository); final BinaryFile2RecordFilter binaryFile2RecordFilter = new BinaryFile2RecordFilter(this.classNameRegistryRepository); this.recordMerger = new Merger<>(); // store ports due to readability reasons final OutputPort<File> datFileOutputPort = fileExtensionSwitch.addFileExtension(FSUtil.DAT_FILE_EXTENSION); final OutputPort<File> binFileOutputPort = fileExtensionSwitch.addFileExtension(BinaryCompressionMethod.NONE.getFileExtension()); // connect ports by pipes this.connectPorts(tempClassNameRegistryCreationFilter.getOutputPort(), directory2FilesFilter.getInputPort()); this.connectPorts(directory2FilesFilter.getOutputPort(), fileExtensionSwitch.getInputPort()); this.connectPorts(datFileOutputPort, datFile2RecordFilter.getInputPort()); this.connectPorts(binFileOutputPort, binaryFile2RecordFilter.getInputPort()); this.connectPorts(datFile2RecordFilter.getOutputPort(), this.recordMerger.getNewInputPort()); this.connectPorts(binaryFile2RecordFilter.getOutputPort(), this.recordMerger.getNewInputPort()); // prepare pipeline this.classNameRegistryCreationFilter = tempClassNameRegistryCreationFilter; }
public IMonitoringRecord createRecordFromLine(final File textFile, final String line) throws MonitoringRecordException, IllegalRecordFormatException, MappingException, UnknownRecordTypeException { this.charBuffer.put(line); return this.createRecord(this.classNameRegistryRepository.get(textFile.getParentFile())); }
public DirWithBin2RecordFilter(final ClassNameRegistryRepository classNameRegistryRepository) { this.classNameRegistryRepository = classNameRegistryRepository; this.classNameRegistryCreationFilter = new ClassNameRegistryCreationFilter(classNameRegistryRepository); this.binaryFile2RecordFilter = new BinaryFile2RecordFilter(classNameRegistryRepository); }
/** * Closes the stream after reading. * * @param inputStream * @return reader registry */ public ReaderRegistry<String> parseFromStream(final InputStream inputStream) { final ReaderRegistry<String> classNameRegistry = new ReaderRegistry<>(); BufferedReader in = null; try { in = new BufferedReader(new InputStreamReader(inputStream, FSUtil.ENCODING)); String line; while ((line = in.readLine()) != null) { // NOPMD (assign) this.parseTextLine(line, classNameRegistry); } } catch (final IOException ex) { this.logger.error("Error reading mapping file", ex); } finally { if (in != null) { try { in.close(); } catch (final IOException ex) { this.logger.error("Exception while closing input stream for mapping file", ex); } } } return classNameRegistry; }
public ReadingComposite(final File importDirectory) { final InitialElementProducer<File> producer = new InitialElementProducer<>(importDirectory); this.reader = new Dir2RecordsFilter(new ClassNameRegistryRepository()); super.connectPorts(producer.getOutputPort(), this.reader.getInputPort()); }
public InputPort<File> getInputPort() { return this.classNameRegistryCreationFilter.getInputPort(); }
RecordFromBinaryFileCreator.LOGGER.info("reading file {}", binaryFile.getAbsolutePath()); final ReaderRegistry<String> registry = this.classNameRegistryRepository.get(binaryFile.getParentFile());
public ReadingComposite(final File importDirectory) { this.producer = new InitialElementProducer<>(importDirectory); this.reader = new Dir2RecordsFilter(new ClassNameRegistryRepository()); this.connectPorts(this.producer.getOutputPort(), this.reader.getInputPort()); }