public class FileStorageReader extends java.lang.Object implements StorageRead
Modifier and Type | Field and Description |
---|---|
protected java.math.BigInteger |
eventIteratorKey |
protected java.util.Map<java.math.BigInteger,org.ow2.clif.storage.lib.filestorage.FileStorageReader.EventIterator> |
eventIterators |
protected java.lang.String |
testDirbase |
STORAGE_READ
Constructor and Description |
---|
FileStorageReader()
Creates a new access to CLIF storage, using the default
storage directory location.
|
FileStorageReader(java.lang.String path,
boolean create)
Creates a new access to CLIF storage
|
Modifier and Type | Method and Description |
---|---|
void |
closeEventIterator(java.io.Serializable iteratorKey)
Discards the iterator associated to the given key, possibly releasing resources.
|
long |
countEvents(java.lang.String testName,
java.lang.String bladeId,
java.lang.String eventTypeLabel,
EventFilter filter)
Counts the number of available events matching a given filter.
|
protected java.io.File |
getBladeDir(java.lang.String testName,
java.lang.String bladeId) |
java.util.Properties |
getBladeProperties(java.lang.String testName,
java.lang.String bladeId)
Gets the java system properties for the given blade from the given test run
|
protected java.io.File |
getEventClassFile(java.lang.String testName,
java.lang.String bladeId,
java.lang.String eventTypeLabel) |
java.lang.String[] |
getEventFieldLabels(java.lang.String testName,
java.lang.String bladeId,
java.lang.String eventTypeLabel)
Gets the labels of fields hold by a given event type.
|
protected java.io.File |
getEventFile(java.lang.String testName,
java.lang.String bladeId,
java.lang.String eventTypeLabel) |
java.io.Serializable |
getEventIterator(java.lang.String testName,
java.lang.String bladeId,
java.lang.String eventTypeLabel,
EventFilter filter)
Creates an event iterator.
|
BladeEvent[] |
getEvents(java.lang.String testName,
java.lang.String bladeId,
java.lang.String eventTypeLabel,
EventFilter filter,
long fromIndex,
int count)
Retrieves a given number of events matching a given filter, from a given index.
|
BladeEvent[] |
getNextEvents(java.io.Serializable iteratorKey,
int count)
Gets next events from the given event iterator.
|
protected java.io.File |
getTestDir(java.lang.String testName) |
BladeDescriptor[] |
getTestPlan(java.lang.String testName,
BladeFilter filter)
Gets the test plan definition for a given test run name.
|
TestDescriptor[] |
getTests(TestFilter filter)
Gets a list of test runs matching a given filter.
|
protected boolean |
isCommentLine(java.lang.String line) |
protected java.util.Map<java.math.BigInteger,org.ow2.clif.storage.lib.filestorage.FileStorageReader.EventIterator> eventIterators
protected java.math.BigInteger eventIteratorKey
protected java.lang.String testDirbase
public FileStorageReader() throws ClifException
ClifException
- if the default directory does
not exist or is not readableExecutionContext
,
FileStorageCommons
public FileStorageReader(java.lang.String path, boolean create) throws ClifException
path
- the target storage directory, either relative to the
CLIF context's default directory, or absolute. When null, the
default storage location is used.create
- when true, the target storage directory will be
created if it does not exist already. When false, the target
directory must exist.ClifException
- the default directory does not exist
and the create parameter is false, or the default directory
does not exist and could not be created.ExecutionContext
,
FileStorageCommons
protected java.io.File getTestDir(java.lang.String testName)
protected java.io.File getBladeDir(java.lang.String testName, java.lang.String bladeId)
protected java.io.File getEventFile(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel)
protected java.io.File getEventClassFile(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel)
protected boolean isCommentLine(java.lang.String line)
public TestDescriptor[] getTests(TestFilter filter) throws ClifException
StorageRead
getTests
in interface StorageRead
filter
- only tests matching this filter will be retainedClifException
public BladeDescriptor[] getTestPlan(java.lang.String testName, BladeFilter filter) throws ClifException
StorageRead
getTestPlan
in interface StorageRead
testName
- the test run namefilter
- retains only blades (injectors, probes) accepted by this filter. If null,
all blades are retained.ClifException
public java.util.Properties getBladeProperties(java.lang.String testName, java.lang.String bladeId) throws ClifException
StorageRead
getBladeProperties
in interface StorageRead
testName
- the test run namebladeId
- the blade identifierClifException
TestDescriptor.getName()
,
BladeDescriptor.getId()
public java.lang.String[] getEventFieldLabels(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel)
StorageRead
getEventFieldLabels
in interface StorageRead
testName
- the test run namebladeId
- the blade identifier from the given test runeventTypeLabel
- the label of the event typepublic java.io.Serializable getEventIterator(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel, EventFilter filter) throws ClifException
StorageRead
getEventIterator
in interface StorageRead
testName
- the test name to retrieve events frombladeId
- the blade identifier in this test to retrieve events fromeventTypeLabel
- the type label of the retrieved eventsfilter
- the filter object to be used for event selection. If null, the iterator
will return all events. The filter object may throw a NoMoreEvent exception, in which
case current iterator step stops and currently selected events are returned.ClifException
- the given test, blade, or event type could not be foundStorageRead.getNextEvents(Serializable, int)
,
StorageRead.closeEventIterator(Serializable)
public BladeEvent[] getNextEvents(java.io.Serializable iteratorKey, int count) throws ClifException
StorageRead
getNextEvents
in interface StorageRead
iteratorKey
- the key for the target event iteratorcount
- the number of event to get (at most)ClifException
StorageRead.getEventIterator(String, String, String, EventFilter)
,
StorageRead.closeEventIterator(Serializable)
public void closeEventIterator(java.io.Serializable iteratorKey)
StorageRead
closeEventIterator
in interface StorageRead
iteratorKey
- the key for the target event iteratorpublic BladeEvent[] getEvents(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel, EventFilter filter, long fromIndex, int count) throws ClifException
StorageRead
getEvents
in interface StorageRead
testName
- the test name to retrieve events frombladeId
- the blade identifier in this test to retrieve events fromeventTypeLabel
- the type label of the retrieved eventsfilter
- the filter object to be used for event selection.
If null, all events are selected. If the filter throws a NoMoreEvent exception,
the selection process stops, and currently selected events are returned.fromIndex
- the index of the first event to be considered (in other words, events
in range 0..fromIndex-1 are ignored). If negative and count parameter is greater than zero,
then the latest events will be retrieved.count
- the maximum number of events to retrieve. If negative, the number of retrieved
events is not limited.ClifException
public long countEvents(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel, EventFilter filter) throws ClifException
StorageRead
countEvents
in interface StorageRead
testName
- the test name to retrieve events frombladeId
- the blade identifier in this test to retrieve events fromeventTypeLabel
- the type label of the retrieved eventsfilter
- the filter object to be used for event selection. If null, all events
are counted. Counting stops before completion if the filter object throws a NoMoreEvent
exception, in which case count value before exception is returned.ClifException