public OutputPort<IMonitoringRecord> getOutputPort() { return this.reader.getOutputPort(); }
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 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 ReadingComposite(final File importDirectory) { this.producer = new InitialElementProducer<>(importDirectory); this.reader = new Dir2RecordsFilter(new ClassNameRegistryRepository()); this.connectPorts(this.producer.getOutputPort(), this.reader.getInputPort()); }
public OutputPort<IMonitoringRecord> getOutputPort() { return this.reader.getOutputPort(); }