]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliCDBGrid.cxx
Added protections to avoid crashes with Print() when ESDEvent is fetched from the...
[u/mrichter/AliRoot.git] / STEER / AliCDBGrid.cxx
index be8820c1cdd6571f24bee574619f033434261501..f62e17fa53c9b74d9ad8f251e3777d61cb2da6d7 100644 (file)
@@ -64,9 +64,6 @@ fCleanupInterval(cleanupInterval)
                        AliInfo(Form("gGrid = %x; fGridUrl = %s; gGrid->GridUrl() = %s",gGrid,fGridUrl.Data(), gGrid->GridUrl()));
                        AliInfo(Form("fUser = %s; gGrid->GetUser() = %s",fUser.Data(), gGrid->GetUser()));
                }
-               AliDebug(2,Form("1. Grid Url = %s",fGridUrl.Data()));
-               if (fGridUrl == "raw://") fGridUrl = "alien://";
-               AliDebug(2,Form("2. Grid Url = %s (should be different from previous in cas eof raw)", fGridUrl.Data()));
                TGrid::Connect(fGridUrl.Data(),fUser.Data());
        }
 
@@ -873,15 +870,23 @@ void AliCDBGrid::QueryValidFiles()
                return;
        }
 
-       AliCDBId validFileId;
-       for(int i=0; i<res->GetEntries(); i++){
-               TString filename = res->GetKey(i, "lfn");
-               if(filename == "") continue;
-               AliDebug(2,Form("Found valid file: %s", filename.Data()));
-               Bool_t result = FilenameToId(filename, validFileId);
-               if(result) {
-                       fValidFileIds.AddLast(validFileId.Clone());
-               }
+       TIter next(res);
+       TMap *map;
+       while ((map = (TMap*)next())) {
+         TObjString *entry;
+         if ((entry = (TObjString *) ((TMap *)map)->GetValue("lfn"))) {
+           TString& filename = entry->String();
+           if(filename.IsNull()) continue;
+           AliDebug(2,Form("Found valid file: %s", filename.Data()));
+           AliCDBId *validFileId = new AliCDBId;
+           Bool_t result = FilenameToId(filename, *validFileId);
+           if(result) {
+             fValidFileIds.AddLast(validFileId);
+           }
+           else {
+             delete validFileId;
+           }
+         }
        }
        delete res;
 
@@ -1006,9 +1011,8 @@ Bool_t AliCDBGridFactory::Validate(const char* gridString) {
 // check if the string is valid Grid URI
 
         TRegexp gridPattern("^alien://.+$");
-        TRegexp gridRawPattern("^raw://.+$");
 
-        return (TString(gridString).Contains(gridPattern)||TString(gridString).Contains(gridRawPattern));
+        return TString(gridString).Contains(gridPattern);
 }
 
 //_____________________________________________________________________________
@@ -1020,7 +1024,6 @@ AliCDBParam* AliCDBGridFactory::CreateParameter(const char* gridString) {
        }
 
        TString buffer(gridString);
-       Bool_t rawFlag = kFALSE; // flag to say whether we are in the "raw://" case
 
        TString gridUrl         = "alien://";
        TString user            = "";
@@ -1042,10 +1045,6 @@ AliCDBParam* AliCDBGridFactory::CreateParameter(const char* gridString) {
                        if(entry.BeginsWith("alien://")) { // maybe it's a gridUrl!
                                gridUrl = entry;
                                continue;
-                       } else if(entry.BeginsWith("raw://")) { // maybe it's a gridRawUrl!
-                               gridUrl = entry;
-                               rawFlag = kTRUE;
-                               continue;
                        } else {
                                AliError(Form("Invalid entry! %s",entry.Data()));
                                continue;
@@ -1116,7 +1115,7 @@ AliCDBParam* AliCDBGridFactory::CreateParameter(const char* gridString) {
        AliDebug(2, Form("local cache size: %d", cacheSize));
        AliDebug(2, Form("local cache cleanup interval: %d", cleanupInterval));
 
-       if(dbFolder == "" && !rawFlag){
+       if(dbFolder == ""){
                AliError("Base folder must be specified!");
                return NULL;
        }
@@ -1201,7 +1200,6 @@ AliCDBGridParam::AliCDBGridParam(const char* gridUrl, const char* user, const ch
                        fDBFolder.Data(), fSE.Data(), fCacheFolder.Data(),
                        fOperateDisconnected, fCacheSize, fCleanupInterval);
 
-       AliDebug(2,Form("uri = %s", uri.Data()));
        SetURI(uri.Data());
 }