public class SRBQueryMD extends TypedAtomicActor
Query the metadata. Get all files satisfying the conditions. Queries the SRB metadata from a specific location with user defined conditions.
The conditions are generated as follows:
SRBCreateQueryInterface: Creates an html interface for querying the SRB metadata. Will be replaced with a jsp page within a Kepler server.
SRBCreateQueryConditions: Creates conditions for querying the SRB metadata from a user xml string conditions, returned by the BrowserUI actor.
The following actor expects as input a reference to the SRB file system. This reference connection is obtained via the SRBConnect Actor in Kepler. See SRBConnect and its documentation.
The file reference system is created with a unique SRB user account and with this connection reference as input the SRBQueryMD actor is able to gain access to the SRB file space. Once an alive SRB file connection system has been established the actor gets the remote SRB file/directory and the appropriate metadata conditions. The SRB files are then queried with the metadata constraints via jargon API methods.
Actor Input: Accepts a reference to the SRB files system, an SRB remote file/directory path and conditions.
There exist separate conditions format for metadatas for datasets, collections and pre-defined metadata.
The conditions for files and directories are specified as follows: { metadata for datasets, "|", metadata for collections, "|", predefined metadata}
E.g. {"a = 5", "b = 3", "|", "x = 8", "|", "owner = efrat"}
Straight slashes ("|") separate between the different metadata types. Both slashes are MANDATORY, even if no condition is specified!
The following operators apply: =, !=, not=, <, lt, num_lt, <=, le, num_le, >, gt, num_gt, >=, ge, num_ge, in, notin, not_in, between, num_between, notbetween, not_between, num_not_between, like, notlike, not_like, in, contains, notin, not_in, , not_contains sounds_like, sounds_not_like, sounds_not_like
Actor Output: Returns an array of all the file paths satisfying the constraints.
The following actor accesses SRB file reference system and SRB file space with the SRB Jargon API provided. The JARGON is a pure API for developing programs with a data grid interface and I/O for SRB file systems.
Further information on SRBEntity.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
TypedIOPort |
conditions
{"dataset_att op val", "|","collection_att op val", "|",
"predefined_att op val"}
The conditions for files and directories are specified as follows:
Straight slashes ("|") separate between the different metadata types.
|
TypedIOPort |
filePaths
Matching files paths.
|
TypedIOPort |
srbFilePath
Collection path to begin querying from
|
TypedIOPort |
SRBFileSystem
pointer to the SRB file system.
|
_typesValid
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
SRBQueryMD(CompositeEntity container,
java.lang.String name)
Construct a constant source with the given container and name.
|
Modifier and Type | Method and Description |
---|---|
void |
fire()
Returns an array of all the file paths satisfying the constraints.
|
void |
initialize()
Initialize the srb file system to null.
|
void |
wrapup()
Disconnect from SRB.
|
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, preinitialize, removeInitializable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public TypedIOPort SRBFileSystem
public TypedIOPort srbFilePath
public TypedIOPort conditions
The conditions for files and directories are specified as follows: Straight slashes ("|") separate between the different metadata types. Both slashes are MANDATORY, even if no condition was specified! { metadata for datasets, "|", metadata for collections, "|", predefined metadata} E.g. {"a = 5", "b > 3", "|", "x < 8", "|", "owner = efrat"}
The following operators apply: =, !=, not=, <, lt, num_lt, <=, le, num_le, >, gt, num_gt, >=, ge, num_ge, in, notin, not_in, between, num_between, notbetween, not_between, num_not_between, like, notlike, not_like, in, contains, notin, not_in, , not_contains sounds_like, sounds_not_like, sounds_not_like
public TypedIOPort filePaths
public SRBQueryMD(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container
- The container.name
- The name of this actor.IllegalActionException
- If the entity cannot be contained by the proposed
container.NameDuplicationException
- If the container already has an actor with this name.public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor<TypedIOPort>
IllegalActionException
- If it is thrown if the SRB file cannot be accessed or the
current directory cannot be broadcasted.public void initialize() throws IllegalActionException
initialize
in interface Initializable
initialize
in class AtomicActor<TypedIOPort>
IllegalActionException
- If a derived class throws it.public void wrapup()
wrapup
in interface Initializable
wrapup
in class AtomicActor<TypedIOPort>