Class FileStorageReader
- java.lang.Object
-
- org.ow2.clif.storage.lib.filestorage.FileStorageReader
-
- All Implemented Interfaces:
StorageRead
public class FileStorageReader extends java.lang.Object implements StorageRead
Implementation of the StorageRead interface for the filestorage package.- Author:
- Bruno Dillenseger
-
-
Field Summary
Fields Modifier and Type Field Description protected java.math.BigIntegereventIteratorKeyprotected java.util.Map<java.math.BigInteger,org.ow2.clif.storage.lib.filestorage.FileStorageReader.EventIterator>eventIteratorsprotected java.lang.StringtestDirbase-
Fields inherited from interface org.ow2.clif.storage.api.StorageRead
STORAGE_READ
-
-
Constructor Summary
Constructors Constructor 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
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseEventIterator(java.io.Serializable iteratorKey)Discards the iterator associated to the given key, possibly releasing resources.longcountEvents(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.FilegetBladeDir(java.lang.String testName, java.lang.String bladeId)java.util.PropertiesgetBladeProperties(java.lang.String testName, java.lang.String bladeId)Gets the java system properties for the given blade from the given test runprotected java.io.FilegetEventClassFile(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.FilegetEventFile(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel)java.io.SerializablegetEventIterator(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.FilegetTestDir(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 booleanisCommentLine(java.lang.String line)
-
-
-
Constructor Detail
-
FileStorageReader
public FileStorageReader() throws ClifExceptionCreates a new access to CLIF storage, using the default storage directory location.- Throws:
ClifException- if the default directory does not exist or is not readable- See Also:
ExecutionContext,FileStorageCommons
-
FileStorageReader
public FileStorageReader(java.lang.String path, boolean create) throws ClifExceptionCreates a new access to CLIF storage- Parameters:
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.- Throws:
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.- See Also:
ExecutionContext,FileStorageCommons
-
-
Method Detail
-
getTestDir
protected java.io.File getTestDir(java.lang.String testName)
-
getBladeDir
protected java.io.File getBladeDir(java.lang.String testName, java.lang.String bladeId)
-
getEventFile
protected java.io.File getEventFile(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel)
-
getEventClassFile
protected java.io.File getEventClassFile(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel)
-
isCommentLine
protected boolean isCommentLine(java.lang.String line)
-
getTests
public TestDescriptor[] getTests(TestFilter filter) throws ClifException
Description copied from interface:StorageReadGets a list of test runs matching a given filter.- Specified by:
getTestsin interfaceStorageRead- Parameters:
filter- only tests matching this filter will be retained- Returns:
- a browser object to browse among available test execution results
- Throws:
ClifException
-
getTestPlan
public BladeDescriptor[] getTestPlan(java.lang.String testName, BladeFilter filter) throws ClifException
Description copied from interface:StorageReadGets the test plan definition for a given test run name.- Specified by:
getTestPlanin interfaceStorageRead- Parameters:
testName- the test run namefilter- retains only blades (injectors, probes) accepted by this filter. If null, all blades are retained.- Returns:
- an array of descriptors for blades composing the test run and accepted by the optional filter.
- Throws:
ClifException
-
getBladeProperties
public java.util.Properties getBladeProperties(java.lang.String testName, java.lang.String bladeId) throws ClifExceptionDescription copied from interface:StorageReadGets the java system properties for the given blade from the given test run- Specified by:
getBladePropertiesin interfaceStorageRead- Parameters:
testName- the test run namebladeId- the blade identifier- Returns:
- the Java system properties for the given blade
- Throws:
ClifException- See Also:
TestDescriptor.getName(),BladeDescriptor.getId()
-
getEventFieldLabels
public java.lang.String[] getEventFieldLabels(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel)Description copied from interface:StorageReadGets the labels of fields hold by a given event type.- Specified by:
getEventFieldLabelsin interfaceStorageRead- Parameters:
testName- the test run namebladeId- the blade identifier from the given test runeventTypeLabel- the label of the event type- Returns:
- an array of event field labels provided by the given event type
-
getEventIterator
public java.io.Serializable getEventIterator(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel, EventFilter filter) throws ClifExceptionDescription copied from interface:StorageReadCreates an event iterator.- Specified by:
getEventIteratorin interfaceStorageRead- Parameters:
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.- Returns:
- the iterator key to be used to iterate on getting events, and then to discard the iterator when done
- Throws:
ClifException- the given test, blade, or event type could not be found- See Also:
StorageRead.getNextEvents(Serializable, int),StorageRead.closeEventIterator(Serializable)
-
getNextEvents
public BladeEvent[] getNextEvents(java.io.Serializable iteratorKey, int count) throws ClifException
Description copied from interface:StorageReadGets next events from the given event iterator.- Specified by:
getNextEventsin interfaceStorageRead- Parameters:
iteratorKey- the key for the target event iteratorcount- the number of event to get (at most)- Returns:
- selected events
- Throws:
ClifException- See Also:
StorageRead.getEventIterator(String, String, String, EventFilter),StorageRead.closeEventIterator(Serializable)
-
closeEventIterator
public void closeEventIterator(java.io.Serializable iteratorKey)
Description copied from interface:StorageReadDiscards the iterator associated to the given key, possibly releasing resources.- Specified by:
closeEventIteratorin interfaceStorageRead- Parameters:
iteratorKey- the key for the target event iterator
-
getEvents
public BladeEvent[] getEvents(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel, EventFilter filter, long fromIndex, int count) throws ClifException
Description copied from interface:StorageReadRetrieves a given number of events matching a given filter, from a given index.- Specified by:
getEventsin interfaceStorageRead- Parameters:
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.- Returns:
- selected blade events
- Throws:
ClifException
-
countEvents
public long countEvents(java.lang.String testName, java.lang.String bladeId, java.lang.String eventTypeLabel, EventFilter filter) throws ClifExceptionDescription copied from interface:StorageReadCounts the number of available events matching a given filter.- Specified by:
countEventsin interfaceStorageRead- Parameters:
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.- Returns:
- the number of available blade events matching the provided filter.
- Throws:
ClifException
-
-