#include "AliCDBStorage.h"
#include "AliCDBManager.h"
+#include "AliCDBMetaData.h"
class AliCDBGrid: public AliCDBStorage {
friend class AliCDBGridFactory;
public:
- virtual Bool_t IsReadOnly() const {return kFALSE;};
- virtual Bool_t HasSubVersion() const {return kFALSE;};
+ virtual Bool_t IsReadOnly() const {return kFALSE;}
+ virtual Bool_t HasSubVersion() const {return kFALSE;}
virtual Bool_t Contains(const char* path) const;
-
+ virtual Int_t GetLatestVersion(const char* path, Int_t run);
+ virtual Int_t GetLatestSubVersion(const char* path, Int_t run, Int_t version);
+ virtual Bool_t IdToFilename(const AliCDBId& id, TString& filename) const;
+
protected:
virtual AliCDBEntry* GetEntry(const AliCDBId& queryId);
AliCDBGrid(const AliCDBGrid& db);
AliCDBGrid& operator = (const AliCDBGrid& db);
- Bool_t FilenameToId(const char* filename, AliCDBRunRange& runRange, Int_t& version);
- Bool_t IdToFilename(const AliCDBRunRange& runRange, Int_t version, TString& filename);
+ Bool_t FilenameToId(TString& filename, AliCDBId& id);
Bool_t PrepareId(AliCDBId& id);
- Bool_t GetId(const AliCDBId& query, AliCDBId& result);
+ AliCDBId* GetId(const TObjArray& validFileIds, const AliCDBId& query);
+ AliCDBEntry* GetEntryFromFile(TString& filename, AliCDBId* dataId);
+
+ Bool_t AddTag(TString& foldername, const char* tagname);
+ Bool_t TagFileId(TString& filename, const AliCDBId* id);
+ Bool_t TagFileMetaData(TString& filename, const AliCDBMetaData* md);
+ void MakeQueryFilter(Int_t firstRun, Int_t lastRun, const AliCDBMetaData* md, TString& result) const;
- void GetEntriesForLevel0(const char* level0, const AliCDBId& query, TList* result);
- void GetEntriesForLevel1(const char* level0, const char* level1,
- const AliCDBId& query, TList* result);
+ virtual void QueryValidFiles();
TString fGridUrl; // Grid Url ("alien://aliendb4.cern.ch:9000")
TString fUser; // User
TString fDBFolder; // path of the DB folder
- TString fSE; // Storage Element
+ TString fSE; // Storage Element
ClassDef(AliCDBGrid, 0) // access class to a DataBase in an AliEn storage
};
virtual Bool_t Validate(const char* gridString);
virtual AliCDBParam* CreateParameter(const char* gridString);
+ virtual ~AliCDBGridFactory(){}
protected:
virtual AliCDBStorage* Create(const AliCDBParam* param);
public:
AliCDBGridParam();
- AliCDBGridParam(const char* gridUrl, const char* user,
+ AliCDBGridParam(const char* gridUrl, const char* user,
const char* dbFolder, const char* se);
virtual ~AliCDBGridParam();
TString fGridUrl; // Grid url "Host:port"
TString fUser; // User
TString fDBFolder; // path of the DB folder
- TString fSE; // Storage Element
+ TString fSE; // Storage Element
ClassDef(AliCDBGridParam, 0);
};