} else if (paramCount == 2) {
fLevel0 = ((TObjString*) anArray->At(0))->GetString();
- TString aString = ((TObjString*) anArray->At(1))->GetString();
+ TString bString = ((TObjString*) anArray->At(1))->GetString();
- if (IsWord(fLevel0) && aString == "*") {
+ if (IsWord(fLevel0) && bString == "*") {
fLevel1 = "*";
fLevel2 = "*";
if (!fIsValid) {
AliInfo(Form("Invalid AliCDBPath <%s>!", fPath.Data()));
+ } else {
+ fPath = Form("%s/%s/%s", fLevel0.Data(), fLevel1.Data(), fLevel2.Data());
}
delete anArray;
-
+
Init();
}
Bool_t AliCDBPath::IsWord(const TString& str) {
// check if string is a word
- TRegexp pattern("^[a-zA-Z0-9_.]+$");
+ TRegexp pattern("^[a-zA-Z0-9_.-]+$");
return str.Contains(pattern);
}
Bool_t AliCDBPath::Comprises(const AliCDBPath& other) const {
// check if path is wildcard and comprises other
- return Level0Comprises(other.fLevel0)
+ return Level0Comprises(other.fLevel0)
&& Level1Comprises(other.fLevel1)
&& Level2Comprises(other.fLevel2);
}
+
+//_____________________________________________________________________________
+const char* AliCDBPath::GetLevel(Int_t i) const {
+// return level i of the path
+
+ switch (i) {
+ case 0:
+ return fLevel0.Data();
+ break;
+ case 1:
+ return fLevel1.Data();
+ break;
+ case 2:
+ return fLevel2.Data();
+ break;
+ default:
+ return 0;
+ }
+
+}