KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVRemoteDataSetManager Class Reference

Detailed Description

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 22 of file KVRemoteDataSetManager.h.

#include <KVRemoteDataSetManager.h>

Inheritance diagram for KVRemoteDataSetManager:

Public Member Functions

 KVRemoteDataSetManager ()
 Default constructor.
 
virtual ~KVRemoteDataSetManager ()
 Destructor.
 
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.
 
KVDataSetGetDataSet (Int_t) const
 Return pointer to DataSet using index in list of all datasets, index>=0.
 
virtual Int_t GetNavailable () const
 
virtual Int_t GetNtotal () const
 
virtual KVDataAnalysisTaskGetTask (const Char_t *name)
 Return pointer to named data analysis task.
 
const KVNameValueListGetUserGroups ()
 
virtual Bool_t Init (KVDataRepository *=0)
 
virtual void Print (Option_t *opt="") const
 
virtual void Update ()
 

Private Member Functions

Bool_t OpenAvailableDatasetsFile ()
 

Private Attributes

TString fCurl
 full path to executable used to copy files
 

Constructor & Destructor Documentation

◆ KVRemoteDataSetManager()

KVRemoteDataSetManager::KVRemoteDataSetManager ( )

Default constructor.

Definition at line 25 of file KVRemoteDataSetManager.cpp.

◆ ~KVRemoteDataSetManager()

KVRemoteDataSetManager::~KVRemoteDataSetManager ( )
virtual

Destructor.

Definition at line 35 of file KVRemoteDataSetManager.cpp.

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 ( )
privatevirtual

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
private

full path to executable used to copy files

Definition at line 26 of file KVRemoteDataSetManager.h.