]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliCDBPath.cxx
AddTrial method added, changed trials to unsigned int
[u/mrichter/AliRoot.git] / STEER / AliCDBPath.cxx
index ce3956eba3f9cd3d62aae60550a17c41a41e4685..317c2aa175ab597528ec988eccaf098d8a799613 100644 (file)
@@ -150,9 +150,9 @@ void AliCDBPath::InitPath() {
 
        } 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 = "*";
                
@@ -183,10 +183,12 @@ void AliCDBPath::InitPath() {
        
        if (!fIsValid) {
                AliInfo(Form("Invalid AliCDBPath <%s>!", fPath.Data()));
+       } else {        
+               fPath = Form("%s/%s/%s", fLevel0.Data(), fLevel1.Data(), fLevel2.Data());
        }
        
        delete anArray;
-
+       
        Init();
 }
 
@@ -200,7 +202,7 @@ AliCDBPath::~AliCDBPath() {
 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);   
 }
@@ -249,7 +251,27 @@ Bool_t AliCDBPath::Level2Comprises(const TString& str) const {
 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;
+       }
+
+}