edu.isi.pegasus.planner.catalog.replica.impl
public class MRC extends Object implements ReplicaCatalog
To use it set
pegasus.catalog.replica MRCEach associated replica catalog can be configured via properties as follows.
The user associates a variable name referred to as [value] for each of the catalogs, where [value] is any legal identifier (concretely [A-Za-z][_A-Za-z0-9]*) For each associated replica catalogs the user specifies the following properties.
pegasus.catalog.replica.mrc.[value] to specify the type of replica catalog.
pegasus.catalog.replica.mrc.[value].key to specify a property name key for a
particular catalog
For example, if a user wants to query two lrc's at the same time he/she can specify as follows
pegasus.catalog.replica.mrc.lrc1 LRC
pegasus.catalog.replica.mrc.lrc2.url rls://sukhna
pegasus.catalog.replica.mrc.lrc2 LRC
pegasus.catalog.replica.mrc.lrc2.url rls://smarty
In the above example, lrc1, lrc2 are any valid identifier names and url is the property key that needed to be specified.
| Modifier and Type | Field and Description |
|---|---|
protected LogManager |
mLogger
The handle to the logging manager.
|
protected List |
mRCList
The list of replica catalogs that need to be queried for.
|
static String |
PROPERTY_PREFIX
The prefix for the property subset for connecting to the individual
catalogs.
|
static String |
TYPE_KEY
The property key that designates the type of replica catalog to connect
to.
|
BATCH_KEY, c_prefix, DB_PREFIX, PROXY_KEYDB_ALL_PREFIX| Constructor and Description |
|---|
MRC()
The default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
int |
clear()
Removes everything from the catalogs.
|
void |
close()
Explicitely free resources before the garbage collection hits.
|
boolean |
connect(Properties props)
Establishes a link between the implementation and the thing the
implementation is build upon.
|
protected boolean |
connect(String name,
Properties properties)
Connects to an individual replica catalog.
|
int |
delete(Map x,
boolean matchAttributes)
Deletes multiple mappings into the replica catalog.
|
int |
delete(String lfn,
ReplicaCatalogEntry tuple)
Deletes a very specific mapping from the replica catalog.
|
int |
delete(String lfn,
String pfn)
Deletes a specific mapping from the replica catalog.
|
int |
delete(String lfn,
String name,
Object value)
Deletes all PFN entries for a given LFN from the replica catalog where
the PFN attribute is found, and matches exactly the object value.
|
int |
deleteByResource(String lfn,
String handle)
Deletes all PFN entries for a given LFN from the replica catalog where
the resource handle is found.
|
protected String |
getKey(String key,
String prefix)
Returns the key with the prefix stripped off.
|
protected String |
getName(String key)
Returns the name from the key.
|
int |
insert(Map x)
Inserts multiple mappings into the replica catalog.
|
int |
insert(String lfn,
ReplicaCatalogEntry tuple)
Inserts a new mapping into the replica catalog.
|
int |
insert(String lfn,
String pfn,
String handle)
Inserts a new mapping into the replica catalog.
|
boolean |
isClosed()
Predicate to check, if the connection with the catalog's
implementation is still active.
|
Set |
list()
Lists all logical filenames in the catalog.
|
Set |
list(String constraint)
Lists a subset of all logical filenames in the catalog.
|
Map |
lookup(Map constraints)
Retrieves multiple entries for a given logical filename, up to the
complete catalog.
|
Map |
lookup(Set lfns)
Retrieves multiple entries for a given logical filename, up to the
complete catalog.
|
Map |
lookup(Set lfns,
String handle)
Retrieves multiple entries for a given logical filename, up to the
complete catalog.
|
Collection |
lookup(String lfn)
Retrieves all entries for a given LFN from the replica catalog.
|
String |
lookup(String lfn,
String handle)
Retrieves the entry for a given filename and resource handle from the
replica catalog.
|
Map |
lookupNoAttributes(Set lfns)
Retrieves multiple entries for a given logical filename, up to the
complete catalog.
|
Map |
lookupNoAttributes(Set lfns,
String handle)
Retrieves multiple entries for a given logical filename, up to the
complete catalog.
|
Set |
lookupNoAttributes(String lfn)
Retrieves all entries for a given LFN from the replica catalog.
|
protected Iterator |
rcIterator()
Returns an iterator to iterate through the list of ReplicaCatalogs that
MRC is associated with.
|
int |
remove(Set lfns)
Removes all mappings for a set of LFNs.
|
int |
remove(String lfn)
Removes all mappings for an LFN from the replica catalog.
|
int |
removeByAttribute(String handle)
Removes all entries associated with a particular resource handle.
|
int |
removeByAttribute(String name,
Object value)
Removes all entries from the replica catalog where the PFN attribute
is found, and matches exactly the object value.
|
public static final String PROPERTY_PREFIX
public static final String TYPE_KEY
protected List mRCList
protected LogManager mLogger
public int clear()
clear in interface ReplicaCatalogpublic void close()
public boolean connect(Properties props)
protected boolean connect(String name, Properties properties)
name - the name given by the user in the properties file.properties - the properties to use for connecting.protected Iterator rcIterator()
protected String getName(String key)
key - Stringprotected String getKey(String key, String prefix)
key - the keyprefix - StringTYPE_KEYpublic int delete(String lfn, String name, Object value)
delete in interface ReplicaCataloglfn - is the logical filename to look for.name - is the PFN attribute name to look for.value - is an exact match of the attribute value to match.public int delete(String lfn, ReplicaCatalogEntry tuple)
delete in interface ReplicaCataloglfn - is the logical filename in the tuple.tuple - is a description of the PFN and its attributes.public int delete(Map x, boolean matchAttributes)
delete in interface ReplicaCatalogx - is a map from logical filename string to list of replica
catalog entries.matchAttributes - whether mapping should be deleted only if all
attributes match.ReplicaCatalogEntrypublic int delete(String lfn, String pfn)
delete in interface ReplicaCataloglfn - is the logical filename in the tuple.pfn - is the physical filename in the tuple.public int deleteByResource(String lfn, String handle)
deleteByResource in interface ReplicaCataloglfn - is the logical filename to look for.handle - is the resource handlepublic int insert(String lfn, String pfn, String handle)
insert in interface ReplicaCataloglfn - is the logical filename under which to book the entry.pfn - is the physical filename associated with it.handle - is a resource handle where the PFN resides.UnsupportedOperationExceptionReplicaCatalog.insert( String, ReplicaCatalogEntry ),
ReplicaCatalogEntrypublic int insert(String lfn, ReplicaCatalogEntry tuple)
insert in interface ReplicaCataloglfn - is the logical filename under which to book the entry.tuple - is the physical filename and associated PFN attributes.UnsupportedOperationExceptionpublic int insert(Map x)
insert in interface ReplicaCatalogx - is a map from logical filename string to list of replica
catalog entries.UnsupportedOperationExceptionReplicaCatalogEntrypublic boolean isClosed()
isClosed in interface CatalogCatalog.close()public Set list(String constraint)
list in interface ReplicaCatalogconstraint - is a constraint for the logical filename only. It
is a string that has some meaning to the implementing system. This
can be a SQL wildcard for queries, or a regular expression for
Java-based memory collections.public Set list()
list in interface ReplicaCatalogpublic String lookup(String lfn, String handle)
lookup in interface ReplicaCataloglfn - is the logical filename to obtain information for.handle - is the resource handle to obtain entries for.null
if no match was found.public Collection lookup(String lfn)
lookup in interface ReplicaCataloglfn - is the logical filename to obtain information for.ReplicaCatalogEntrypublic Map lookup(Set lfns, String handle)
lookup in interface ReplicaCataloglfns - is a set of logical filename strings to look up.handle - is the resource handle, restricting the LFNs.ReplicaCatalogEntrypublic Map lookup(Map constraints)
lookup in interface ReplicaCatalogconstraints - is mapping of keys 'lfn', 'pfn', or any attribute
name, e.g. the resource handle 'site', to a string that has some
meaning to the implementing system. This can be a SQL wildcard for
queries, or a regular expression for Java-based memory collections.
Unknown keys are ignored. Using an empty map requests the complete
catalog.ReplicaCatalogEntrypublic Map lookup(Set lfns)
lookup in interface ReplicaCataloglfns - is a set of logical filename strings to look up.ReplicaCatalogEntrypublic Set lookupNoAttributes(String lfn)
lookupNoAttributes in interface ReplicaCataloglfn - is the logical filename to obtain information for.public Map lookupNoAttributes(Set lfns)
lookupNoAttributes in interface ReplicaCataloglfns - is a set of logical filename strings to look up.public Map lookupNoAttributes(Set lfns, String handle)
lookupNoAttributes in interface ReplicaCataloglfns - is a set of logical filename strings to look up.handle - is the resource handle, restricting the LFNs.public int remove(String lfn)
remove in interface ReplicaCataloglfn - is the logical filename to remove all mappings for.public int remove(Set lfns)
remove in interface ReplicaCataloglfns - is a set of logical filename to remove all mappings for.public int removeByAttribute(String name, Object value)
removeByAttribute in interface ReplicaCatalogname - is the PFN attribute name to look for.value - is an exact match of the attribute value to match.public int removeByAttribute(String handle)
removeByAttribute in interface ReplicaCataloghandle - is the site handle to remove all entries for.ReplicaCatalog.removeByAttribute( String, Object )