@Override public void newEndOfFileRecord() { this.newMonitoringRecord(EOF); } }
public List<IMonitoringRecord> runAnalysis(final File workingDirectory) throws IllegalStateException, AnalysisConfigurationException { final File[] directories = workingDirectory.listFiles(FILE_FILTER); if (null == directories) { return Collections.emptyList(); } final Configuration conf = new Configuration(); final AnalysisController analysisController = new AnalysisController(); try { conf.setProperty(AsciiLogReader.CONFIG_PROPERTY_NAME_INPUTDIRS, Configuration.toProperty(directories)); final AsciiLogReader reader = new AsciiLogReader(conf, analysisController); final ListCollectionFilter<IMonitoringRecord> collectionSink = new ListCollectionFilter<>( new Configuration(), analysisController); analysisController.connect(reader, AsciiLogReader.OUTPUT_PORT_NAME_RECORDS, collectionSink, ListCollectionFilter.INPUT_PORT_NAME); analysisController.run(); return collectionSink.getList(); } finally { this.deleteTempoararyFiles(directories); } }
private List<IMonitoringRecord> readLog(final String[] monitoringLogDirs) throws AnalysisConfigurationException { final AnalysisController analysisController = new AnalysisController(); final Configuration readerConfiguration = new Configuration(); readerConfiguration.setProperty(AsciiLogReader.CONFIG_PROPERTY_NAME_INPUTDIRS, Configuration.toProperty(monitoringLogDirs)); readerConfiguration.setProperty(AsciiLogReader.CONFIG_PROPERTY_NAME_IGNORE_UNKNOWN_RECORD_TYPES, "false"); final AbstractReaderPlugin reader = new AsciiLogReader(readerConfiguration, analysisController); final ListCollectionFilter<IMonitoringRecord> sinkPlugin = new ListCollectionFilter<>(new Configuration(), analysisController); analysisController.connect(reader, AsciiLogReader.OUTPUT_PORT_NAME_RECORDS, sinkPlugin, ListCollectionFilter.INPUT_PORT_NAME); analysisController.run(); Assert.assertEquals(AnalysisController.STATE.TERMINATED, analysisController.getState()); return sinkPlugin.getList(); } }
@Override public void newEndOfFileRecord() { this.newMonitoringRecord(EOF); } }