Kieker 1.10

kieker.analysis.plugin.reader.filesystem
Class FSReader

java.lang.Object
  extended by kieker.analysis.analysisComponent.AbstractAnalysisComponent
      extended by kieker.analysis.plugin.AbstractPlugin
          extended by kieker.analysis.plugin.reader.AbstractReaderPlugin
              extended by kieker.analysis.plugin.reader.filesystem.FSReader
All Implemented Interfaces:
IAnalysisComponent, IPlugin, IReaderPlugin

public class FSReader
extends AbstractReaderPlugin

Filesystem reader which reads from multiple directories simultaneously ordered by the logging timestamp.

Since:
0.95a
Author:
Andre van Hoorn, Jan Waller

Nested Class Summary
 
Nested classes/interfaces inherited from interface kieker.analysis.plugin.IPlugin
IPlugin.PluginInputPortReference, IPlugin.STATE
 
Field Summary
static String CONFIG_PROPERTY_NAME_IGNORE_UNKNOWN_RECORD_TYPES
          The name of the configuration determining whether the reader ignores unknown record types or not.
static String CONFIG_PROPERTY_NAME_INPUTDIRS
          The name of the configuration determining the input directories for this plugin.
static IMonitoringRecord EOF
          This dummy record can be send to the reader's record queue to mark the end of the current file.
static String OUTPUT_PORT_NAME_RECORDS
          The name of the output port delivering the record read by this plugin.
 
Fields inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
CONFIG_NAME
 
Constructor Summary
FSReader(Configuration configuration, IProjectContext projectContext)
          Creates a new instance of this class using the given parameters.
 
Method Summary
 Configuration getCurrentConfiguration()
          This method should deliver a Configuration object containing the current configuration of this instance.
 boolean newMonitoringRecord(IMonitoringRecord record)
          This method is called for each new record by each ReaderThread.
 boolean read()
          Starts the reader.
 void terminate(boolean error)
          Initiates a termination of the plugin.
 
Methods inherited from class kieker.analysis.plugin.reader.AbstractReaderPlugin
init
 
Methods inherited from class kieker.analysis.plugin.AbstractPlugin
areAllRepositoryPortsConnected, connect, connect, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getIncomingPlugins, getPluginDescription, getPluginName, getState, isConnectionAllowed, shutdown, start
 
Methods inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
getName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface kieker.analysis.plugin.IPlugin
connect, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getName, getPluginDescription, getPluginName, getState
 

Field Detail

OUTPUT_PORT_NAME_RECORDS

public static final String OUTPUT_PORT_NAME_RECORDS
The name of the output port delivering the record read by this plugin.

See Also:
Constant Field Values

CONFIG_PROPERTY_NAME_INPUTDIRS

public static final String CONFIG_PROPERTY_NAME_INPUTDIRS
The name of the configuration determining the input directories for this plugin.

See Also:
Constant Field Values

CONFIG_PROPERTY_NAME_IGNORE_UNKNOWN_RECORD_TYPES

public static final String CONFIG_PROPERTY_NAME_IGNORE_UNKNOWN_RECORD_TYPES
The name of the configuration determining whether the reader ignores unknown record types or not.

See Also:
Constant Field Values

EOF

public static final IMonitoringRecord EOF
This dummy record can be send to the reader's record queue to mark the end of the current file.

Constructor Detail

FSReader

public FSReader(Configuration configuration,
                IProjectContext projectContext)
Creates a new instance of this class using the given parameters.

Parameters:
configuration - The configuration for this component.
projectContext - The project context for this component.
Method Detail

terminate

public void terminate(boolean error)
Initiates a termination of the plugin. This method is only used by the framework and should not be called manually. Use the method AnalysisController.terminate(boolean) instead. After receiving this notification, the plugin should terminate any running methods, e.g., read for readers.

Specified by:
terminate in interface IPlugin
Parameters:
error - Determines whether the plugin is terminated due to an error or not.

read

public boolean read()
Starts the reader. This method is intended to be a blocking operation, i.e., it is assumed that reading has finished before this method returns. The method should indicate an error by the return value false. In asynchronous scenarios, the IPlugin.terminate(boolean) method can be used to initiate the termination of this method.

Specified by:
read in interface IReaderPlugin
Returns:
true if reading was successful; false if an error occurred

newMonitoringRecord

public boolean newMonitoringRecord(IMonitoringRecord record)
This method is called for each new record by each ReaderThread.

Parameters:
record - The record to be processed.
Returns:
true if and only if the record has been handled correctly.

getCurrentConfiguration

public Configuration getCurrentConfiguration()
This method should deliver a Configuration object containing the current configuration of this instance. In other words: The constructor should be able to use the given object to initialize a new instance of this class with the same intern properties.

Specified by:
getCurrentConfiguration in interface IAnalysisComponent
Specified by:
getCurrentConfiguration in interface IPlugin
Specified by:
getCurrentConfiguration in class AbstractAnalysisComponent
Returns:
A completely filled configuration object.

Kieker 1.10

Copyright 2014 Kieker Project, http://kieker-monitoring.net