AliCDBManager.h/cxx: Changes in behaviour when setting default storage to "raw:/...
authorzampolli <zampolli@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 5 Oct 2009 10:48:44 +0000 (10:48 +0000)
committerzampolli <zampolli@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 5 Oct 2009 10:48:44 +0000 (10:48 +0000)
storage ("alien://") is not set, postponing everything when
AliCDBManager::SetRun() is called.

AliCDBGrid.cxx: Corresponding removal of lines now obsolete.

STEER/AliCDBGrid.cxx
STEER/AliCDBManager.cxx
STEER/AliCDBManager.h

index be8820c..c91ca2a 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());
        }
 
@@ -1006,9 +1003,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 +1016,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 +1037,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 +1107,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 +1192,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());
 }
 
index c63140c..f8e6dc1 100644 (file)
 #include "AliCDBLocal.h"
 #include "AliCDBGrid.h"
 #include "AliCDBEntry.h"
-#include "AliCDBMetaData.h"
 #include "AliCDBHandler.h"
 
 #include <TObjString.h>
-#include <TSystem.h>
 #include <TSAXParser.h>
 #include <TFile.h>
 #include <TUUID.h>
+#include <TGrid.h>
 
 ClassImp(AliCDBParam)
 
@@ -333,7 +332,12 @@ void AliCDBManager::SetDefaultStorage(const char* dbString) {
 
        // checking whether we are in the raw case
        TString dbStringTemp(dbString);
-       if (dbStringTemp == "raw://") fRaw = kTRUE;
+       if (dbStringTemp == "raw://")
+       {
+               fRaw = kTRUE;
+               AliInfo("Setting the run-number will set the corresponding OCDB for raw data reconstruction.");
+               return;
+       }
 
        AliCDBStorage* bckStorage = fDefaultStorage;
        
@@ -447,6 +451,13 @@ void AliCDBManager::SetDefaultStorageFromRun(Int_t run) {
        }       
 
        // retrieve XML file from alien
+       if(!gGrid) {
+           TGrid::Connect("alien://","");
+           if(!gGrid) {
+               AliError("Connection to alien failed!");
+               return;
+           }
+       }
        TUUID uuid;
        TString rndname = "/tmp/";
        rndname += "OCDBFolderXML.";
@@ -911,7 +922,7 @@ TList* AliCDBManager::GetAll(const AliCDBId& query) {
 }
 
 //_____________________________________________________________________________
-Bool_t AliCDBManager::Put(TObject* object, AliCDBId& id,  AliCDBMetaData* metaData, DataType type){
+Bool_t AliCDBManager::Put(TObject* object, AliCDBId& id, AliCDBMetaData* metaData, const DataType type){
 // store an AliCDBEntry object into the database
 
        if (object==0x0) {
@@ -1043,7 +1054,7 @@ void AliCDBManager::SetRun(Int_t run)
 // Sets current run number.
 // When the run number changes the caching is cleared.
        
-       if (fRun == run)
+       if(fRun == run)
                return;
   
        if(fLock && fRun >= 0) {
@@ -1051,13 +1062,14 @@ void AliCDBManager::SetRun(Int_t run)
        }       
                
        fRun = run;
-       if (fRaw){
+       if(fRaw){
                // here the LHCPeriod xml file is parsed; the string containing the correct period is returned; the default storage is set
                if (fStartRunLHCPeriod <= run && fEndRunLHCPeriod >= run){
                        AliInfo("LHCPeriod alien folder for current run already in memory");
-               }
-               else {
+               }else{
                        SetDefaultStorageFromRun(run);
+                       if(fEntryCache.GetEntries()!=0) ClearCache();
+                       return;
                }
        }
        ClearCache();
index c056586..22bd2b8 100644 (file)
@@ -13,6 +13,7 @@
 #include <TObject.h>
 #include <TList.h>
 #include <TMap.h>
+#include <TSystem.h>
 
 class AliCDBEntry;
 class AliCDBId;
@@ -91,7 +92,7 @@ class AliCDBManager: public TObject {
                                 Int_t version = -1, Int_t subVersion = -1); 
 
        Bool_t Put(TObject* object, AliCDBId& id,
-                       AliCDBMetaData* metaData, DataType type=kPrivate);
+                       AliCDBMetaData* metaData, const DataType type=kPrivate);
        Bool_t Put(AliCDBEntry* entry, DataType type=kPrivate);
 
        void SetCacheFlag(Bool_t cacheFlag) {fCache=cacheFlag;}