TDataSetManagerFile Implementation of TDataSetManager handling datasets from root files under a specific directory path
TDataSetManagerFile(const char* group = 0, const char* user = 0, const char* ins = 0) | |
virtual | ~TDataSetManagerFile() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
static TString | TDataSetManager::CreateUri(const char* dsGroup = 0, const char* dsUser = 0, const char* dsName = 0, const char* dsTree = 0) |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual Bool_t | ExistsDataSet(const char* uri) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual TFileCollection* | GetDataSet(const char* uri, const char* srv = 0) |
TFileCollection* | GetDataSet(const char* group, const char* user, const char* dsName, UInt_t option = 0, TMD5** checksum = 0) |
virtual TMap* | GetDataSets(const char* uri, UInt_t = 0) |
TMap* | GetDataSets(const char* group, const char* user, UInt_t option = 0) |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual Long64_t | TDataSetManager::GetGroupQuota(const char* group) |
virtual TMap* | TDataSetManager::GetGroupQuotaMap() |
virtual Long64_t | TDataSetManager::GetGroupUsed(const char* group) |
virtual const char* | TObject::GetIconName() const |
virtual const char* | TObject::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
virtual TMap* | TDataSetManager::GetSubDataSets(const char* uri, const char* excludeservers) |
virtual const char* | TObject::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual void | TDataSetManager::MonitorUsedSpace(TVirtualMonitoringWriter* monitoring) |
virtual Bool_t | TObject::Notify() |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
TObject& | TObject::operator=(const TObject& rhs) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | ParseInitOpts(const char* opts) |
Bool_t | TDataSetManager::ParseUri(const char* uri, TString* dsGroup = 0, TString* dsUser = 0, TString* dsName = 0, TString* dsTree = 0, Bool_t onlyCurrent = kFALSE, Bool_t wildcards = kFALSE) |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual Int_t | RegisterDataSet(const char* uri, TFileCollection* dataSet, const char* opt) |
virtual Bool_t | RemoveDataSet(const char* uri) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
virtual Int_t | ScanDataSet(const char* uri, UInt_t option = 0) |
Int_t | ScanDataSet(TFileCollection* dataset, UInt_t option, Int_t filesmax = -1) |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | TDataSetManager::ShowDataSets(const char* uri = "*", const char* opt = "") |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual void | TDataSetManager::ShowQuota(const char* opt) |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
Int_t | WriteDataSet(const char* group, const char* user, const char* dsName, TFileCollection* dataset, UInt_t option = 0, TMD5* checksum = 0) |
Bool_t | BrowseDataSets(const char* group, const char* user, UInt_t option, TObject* target) |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
Bool_t | ExistsDataSet(const char* group, const char* user, const char* dsName) |
const char* | GetDataSetPath(const char* group, const char* user, const char* dsName) |
virtual TMap* | TDataSetManager::GetGroupUsedMap() |
Int_t | TDataSetManager::GetNDisapparedFiles() const |
Int_t | TDataSetManager::GetNOpenedFiles() const |
Int_t | TDataSetManager::GetNTouchedFiles() const |
void | TDataSetManager::GetQuota(const char* group, const char* user, const char* dsName, TFileCollection* dataset) |
virtual TMap* | TDataSetManager::GetUserUsedMap() |
void | TObject::MakeZombie() |
void | TDataSetManager::PrintDataSet(TFileCollection* fc, Int_t popt = 0) |
void | TDataSetManager::PrintUsedSpace() |
Bool_t | TDataSetManager::ReadGroupConfig(const char* cf = 0) |
Bool_t | RemoveDataSet(const char* group, const char* user, const char* dsName) |
Int_t | ScanDataSet(const char* group, const char* user, const char* dsName, UInt_t option) |
static Long64_t | TDataSetManager::ToBytes(const char* size = 0) |
virtual void | UpdateUsedSpace() |
enum TDataSetManager::EDataSetStatusBits { | kCheckQuota | |
kAllowRegister | ||
kAllowVerify | ||
kTrustInfo | ||
kIsSandbox | ||
}; | ||
enum TDataSetManager::EDataSetWorkOpts { | kDebug | |
kShowDefault | ||
kPrint | ||
kExport | ||
kQuotaUpdate | ||
kSetDefaultTree | ||
kReopen | ||
kTouch | ||
kMaxFiles | ||
kReadShort | ||
kFileMustExist | ||
}; | ||
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
Long64_t | TDataSetManager::fAvgFileSize | Average file size to be used to estimate the dataset size (in MB) |
TUri | TDataSetManager::fBase | Base URI used to parse dataset names |
TString | TDataSetManager::fCommonGroup | Group that stores the COMMON datasets |
TString | TDataSetManager::fCommonUser | User that stores the COMMON datasets |
TString | TDataSetManager::fGroup | Group to which the owner of this session belongs |
TString | TDataSetManager::fGroupConfigFile | Path to the group config file |
TMap | TDataSetManager::fGroupQuota | Group quotas (read from config file) |
TMap | TDataSetManager::fGroupUsed | <group> --> <used bytes> (TParameter) |
Long_t | TDataSetManager::fMTimeGroupConfig | Last modification of the group config file |
Int_t | TDataSetManager::fNDisappearedFiles | Number of files disappared in the last ScanDataSet operation |
Int_t | TDataSetManager::fNOpenedFiles | Number of files opened in the last ScanDataSet operation |
Int_t | TDataSetManager::fNTouchedFiles | Number of files touched in the last ScanDataSet operation |
TString | TDataSetManager::fUser | Owner of the session |
TMap | TDataSetManager::fUserUsed | <group> --> <map of users> --> <value> |
static TString | TDataSetManager::fgCommonDataSetTag | Name for common datasets, default: COMMON |
Main constructor
Parse the input string and set the init bits accordingly Format is dir:<datasetdir> [mss:<mss-url>] [opt:<base-options>] The <datasetdir> is mandatory. See TDataSetManager::ParseInitOpts for the available base options. The base options are laready initialized by the base constructor
Adds the dataset in the folder of group, user to the list in target The unsigned int 'option' is forwarded to GetDataSet and BrowseDataSet. Available options (to be .or.ed): kPrint print the dataset content kQuotaUpdate update quotas kExport use export naming NB1: options "kPrint", "kQuoatUpdate" and "kExport" are mutually exclusive NB2: for options "kPrint" and "kQuotaUpdate" return is null.
General purpose call to go through the existing datasets. If <user> is 0 or "*", act on all datasets for the given <group>. If <group> is 0 or "*", act on all datasets. Action depends on option; available options: kExport Return a TMap object containing all the information about datasets in the form: { <group>, <map of users> } | { <map of datasets>, <dataset>} (<dataset> are TFileCollection objects) kShowDefault as kExport with in addition a default selection including the datasets from the current user, the ones from the group and the common ones kPrint print the dataset content; no output is returned kQuotaUpdate update {group, user} quotas; no output is returned NB1: options "kPrint", "kQuoatUpdate" and "kExport" are mutually exclusive NB2: for options "kPrint" and "kQuoatUpdate" return is null.
Returns the dataset <dsName> of user <user> in group <group> . If checksum is non-zero, it will contain the pointer to a TMD5 sum object with the checksum of the file, has to be deleted by the user. If option has the bi kReadShort set, the shortobject is read, that does not contain the list of files. This is much faster.
Writes indicated dataset. If option has the bit kFileMustExist set, the file must still exist, otherwise the new dataset is not written (returns 3 in this case). If checksum is non-zero the files current checksum is checked against it, if it does not match the file is not written (the function returns 2 in this case, if the file has disappeared it is also not written (i.e. checksum implies the bit kFileMustExist set in option). Returns != 0 for success, 0 for error
Removes the indicated dataset
Checks if the indicated dataset exits
Register a dataset, perfoming quota checkings and verification, if required. Fails if a dataset with the same name already exists, unless 'opts' contains 'O', in which case the old dataset is overwritten. If 'opts' contains 'V' the dataset files are also verified (if the dataset manager is configured to allow so). If 'opts' contains 'T' the in the dataset object (status bits, meta,...) is trusted, i.e. not reset (if the dataset manager is configured to allow so). By default the dataset is not verified. Returns 0 on success, -1 on failure
Scans the dataset indicated by <uri> and returns the number of missing files. Returns -1 if any failure occurs, >= 0 on success. For more details, see documentation of ScanDataSet(TFileCollection *dataset, const char *option)
See documentation of ScanDataSet(TFileCollection *dataset, UInt_t option)
Updates the information in a dataset by opening all files that are not yet marked staged creates metadata for each tree in the opened file Available options (to be .or.ed) kMaxFiles process a maximum of 'filesmax' files kReopen opens also files that are marked staged kTouch opens and touches files that are marked staged; implies kReopen Return code negative in case of error -1 dataset not found -2 could not write dataset after verification positive in case of success 1 dataset was not changed 2 dataset was changed The number of opened, touched, disappeared files can be retrieved by GetNTouchedFiles(), GetNOpenedFiles(), GetNDisapparedFiles()
Returns all datasets for the <group> and <user> specified by <uri>. If <user> is 0, it returns all datasets for the given <group>. If <group> is 0, it returns all datasets. The returned TMap contains: <group> --> <map of users> --> <map of datasets> --> <dataset> (TFileCollection) The unsigned int 'option' is forwarded to GetDataSet and BrowseDataSet. Available options (to be .or.ed): kShowDefault a default selection is shown that include the ones from the current user, the ones from the group and the common ones kPrint print the dataset content kQuotaUpdate update quotas kExport use export naming NB1: options "kPrint", "kQuoatUpdate" and "kExport" are mutually exclusive NB2: for options "kPrint" and "kQuoatUpdate" return is null.
Utility function used in various methods for user dataset upload.