KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
KVRemoteDataSetManager Class Reference

Manage datasets stored in a remote data repository.

Created by KVClassFactory on Thu Sep 7 15:16:29 2006 Author: John Frankland

Definition at line 21 of file KVRemoteDataSetManager.h.

Public Member Functions

 KVRemoteDataSetManager ()
 Default constructor. More...
 
virtual ~ KVRemoteDataSetManager ()
 
virtual void CheckAvailability ()
 
- Public Member Functions inherited from KVDataSetManager
 KVDataSetManager ()
 
virtual ~ KVDataSetManager ()
 
virtual Bool_t CheckUser (const Char_t *groupname, const Char_t *username="")
 
KVDataAnalysisTaskGetAnalysisTaskAny (const Char_t *keywords) const
 
virtual KVDataSetGetAvailableDataSet (Int_t) const
 
KVDataSetGetDataSet (const Char_t *)
 Return pointer to DataSet using name. More...
 
KVDataSetGetDataSet (Int_t) const
 Return pointer to DataSet using index in list of all datasets, index>=0. More...
 
virtual Int_t GetNavailable () const
 
virtual Int_t GetNtotal () const
 
virtual KVDataAnalysisTaskGetTask (const Char_t *name)
 Return pointer to named data analysis task. More...
 
const KVNameValueListGetUserGroups ()
 
virtual Bool_t Init (KVDataRepository *=0)
 
virtual void Print (Option_t *opt="") const
 
virtual void Update ()
 

Protected Member Functions

Bool_t OpenAvailableDatasetsFile ()
 
- Protected Member Functions inherited from KVDataSetManager
virtual Bool_t CheckCacheStatus ()
 
const KVSeqCollectionGetAnalysisTaskList () const
 
virtual KVDataSetNewDataSet ()
 Creates and returns pointer to new data set object. More...
 
virtual Bool_t ReadAvailableDatasetsFile ()
 
virtual Bool_t ReadDataSetList ()
 
virtual Bool_t ReadTaskList ()
 
virtual void ReadUserGroups ()
 

Protected Attributes

TString fCurl
 full path to executable used to copy files More...
 
- Protected Attributes inherited from KVDataSetManager
Bool_t fCacheAvailable
 kTRUE if caching is activated for parent repository More...
 
TString fCacheFileName
 name of cache file ( = [repository name].available.datasets) More...
 
std::ifstream fDatasets
 for reading cached repository available datasets file More...
 
KVUniqueNameList fDataSets
 list of datasets handled by manager More...
 
std::vector< Int_tfIndex
 array of indices of available datasets More...
 
UInt_t fMaxCacheTime
 maximum allowed age of cache file in seconds More...
 
Int_t fNavailable
 number of available datasets More...
 
KVDataRepositoryfRepository
 the repository for which data sets are handled More...
 
KVUniqueNameList fTasks
 list of all known analysis tasks More...
 
KVNameValueList fUserGroups
 list of user groups More...
 

#include <KVRemoteDataSetManager.h>

Inheritance diagram for KVRemoteDataSetManager:
Inheritance graph
[legend]

Constructor & Destructor Documentation

◆ KVRemoteDataSetManager()

KVRemoteDataSetManager::KVRemoteDataSetManager ( )

Default constructor.

Definition at line 25 of file KVRemoteDataSetManager.cpp.

◆ ~ KVRemoteDataSetManager()

virtual KVRemoteDataSetManager::~ KVRemoteDataSetManager ( )
virtual

Member Function Documentation

◆ CheckAvailability()

void KVRemoteDataSetManager::CheckAvailability ( )
virtual

Check availability of datasets in repository associated to this data set manager For remote data sets/repositories, this is done by transferring from the remote machine the file $KVROOT/KVFiles/[repository name].available.datasets and reading from it the datasets and subdirectories which are present on the remote machine. Example file: INDRA_camp1 : root INDRA_camp2 : INDRA_camp4 : INDRA_camp5 : raw,recon,ident,root INDRA_e416a : raw, INDRA_e475s :

Reimplemented from KVDataSetManager.

Definition at line 163 of file KVRemoteDataSetManager.cpp.

◆ OpenAvailableDatasetsFile()

Bool_t KVRemoteDataSetManager::OpenAvailableDatasetsFile ( )
protectedvirtual

Transfers file $KVROOT/KVFiles/[repository name].available.datasets from remote machine containing info on available datasets and associated subdirectories in remote data repository. Copies to local working directory and opens for reading, if all goes well (returns kTRUE). Returns kFALSE in case of problems.

N.B. If 'curl' is used to transfer the file, we check for HTML code in the file It can happen that 'curl' itself does not give an error when the web server is down, but transfers a file which looks like this: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body>

Forbidden

You don't have permission to access /KaliVedaDoc/ccali.available.datasets on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.


<address>Apache/2.0.53 (Unix) mod_ssl/2.0.53 OpenSSL/0.9.7a DAV/2 PHP/5.1.6 mod_python/3.2.8 Python/2.4.2 mod_jk/1.2.15 mod_perl/2.0.2 Perl/v5.8.7 Server at indra.in2p3.fr Port 80</address> </body></html>

Reimplemented from KVDataSetManager.

Definition at line 66 of file KVRemoteDataSetManager.cpp.

Member Data Documentation

◆ fCurl

TString KVRemoteDataSetManager::fCurl
protected

full path to executable used to copy files

Definition at line 25 of file KVRemoteDataSetManager.h.


The documentation for this class was generated from the following files: