#include "AliCDBStorage.h"
#include "AliCDBManager.h"
-class AliCDBMetaData;
+#include "AliCDBMetaData.h"
class AliCDBGrid: public AliCDBStorage {
friend class AliCDBGridFactory;
protected:
virtual AliCDBEntry* GetEntry(const AliCDBId& queryId);
+ virtual AliCDBId* GetEntryId(const AliCDBId& queryId);
virtual TList* GetEntries(const AliCDBId& queryId);
virtual Bool_t PutEntry(AliCDBEntry* entry);
virtual TList* GetIdListFromFile(const char* fileName);
private:
-
- AliCDBGrid(const char *gridUrl, const char *user, const char* dbFolder, const char *se);
+
+ AliCDBGrid(const char *gridUrl, const char *user, const char* dbFolder,
+ const char *se, const char* cacheFolder, Bool_t operateDisconnected,
+ Long64_t cacheSize, Long_t cleanupInterval);
virtual ~AliCDBGrid();
Bool_t FilenameToId(TString& filename, AliCDBId& id);
Bool_t PrepareId(AliCDBId& id);
- AliCDBId* GetId(const TList& validFileIds, const AliCDBId& query);
- AliCDBEntry* GetEntryFromFile(TString& filename, const AliCDBId* dataId);
+ AliCDBId* GetId(const TObjArray& validFileIds, const AliCDBId& query);
+ AliCDBEntry* GetEntryFromFile(TString& filename, AliCDBId* dataId);
+ // TODO use AliEnTag classes!
Bool_t AddTag(TString& foldername, const char* tagname);
Bool_t TagFileId(TString& filename, const AliCDBId* id);
Bool_t TagFileMetaData(TString& filename, const AliCDBMetaData* md);
+ Bool_t TagShortLived(TString& filename, Bool_t value);
-// Bool_t CheckVersion(const AliCDBId& query, AliCDBId* idToCheck, AliCDBId* result);
-
- void MakeQueryFilter(Int_t firstRun, Int_t lastRun, const AliCDBPath& pathFilter, Int_t version,
- const AliCDBMetaData* md, TString& result) const;
+ void MakeQueryFilter(Int_t firstRun, Int_t lastRun, const AliCDBMetaData* md, TString& result) const;
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 fGridUrl; // Grid Url ("alien://aliendb4.cern.ch:9000")
+ TString fUser; // User
+ TString fDBFolder; // path of the DB folder
+ TString fSE; // Storage Element
+ TString fCacheFolder; // local cache folder
+ Bool_t fOperateDisconnected; // Operate disconnected flag
+ Long64_t fCacheSize; // local cache size (in bytes)
+ Long_t fCleanupInterval; // local cache cleanup interval
-ClassDef(AliCDBGrid, 0) // access class to a DataBase in an AliEn storage
+ClassDef(AliCDBGrid, 0) // access class to a DataBase in an AliEn storage
};
/////////////////////////////////////////////////////////////////////
public:
AliCDBGridParam();
AliCDBGridParam(const char* gridUrl, const char* user,
- const char* dbFolder, const char* se);
+ const char* dbFolder, const char* se,
+ const char* cacheFolder, Bool_t operateDisconnected,
+ Long64_t cacheSize, Long_t cleanupInterval);
virtual ~AliCDBGridParam();
- const TString& GridUrl() const {return fGridUrl;};
- const TString& GetUser() const {return fUser;};
- const TString& GetDBFolder() const {return fDBFolder;};
- const TString& GetSE() const {return fSE;};
+ const TString& GridUrl() const {return fGridUrl;}
+ const TString& GetUser() const {return fUser;}
+ const TString& GetDBFolder() const {return fDBFolder;}
+ const TString& GetSE() const {return fSE;}
+ const TString& GetCacheFolder() const {return fCacheFolder;}
+ Bool_t GetOperateDisconnected() const {return fOperateDisconnected;}
+ Long64_t GetCacheSize() const {return fCacheSize;}
+ Long_t GetCleanupInterval() const {return fCleanupInterval;}
virtual AliCDBParam* CloneParam() const;
virtual Bool_t IsEqual(const TObject* obj) const;
private:
- TString fGridUrl; // Grid url "Host:port"
- TString fUser; // User
- TString fDBFolder; // path of the DB folder
- TString fSE; // Storage Element
+ TString fGridUrl; // Grid url "Host:port"
+ TString fUser; // User
+ TString fDBFolder; // path of the DB folder
+ TString fSE; // Storage Element
+ TString fCacheFolder; // Cache folder
+ Bool_t fOperateDisconnected; // Operate disconnected flag
+ Long64_t fCacheSize; // local cache size (in bytes)
+ Long_t fCleanupInterval; // local cache cleanup interval
ClassDef(AliCDBGridParam, 0);
};