// //
/////////////////////////////////////////////////////////////////////////////////////////////////
-
+#include <cstdlib>
#include <TGrid.h>
#include <TGridResult.h>
#include <TFile.h>
// check DBFolder: trying to cd to DBFolder; if it does not exist, create it
if(!gGrid->Cd(fDBFolder.Data(),0)){
AliDebug(2,Form("Creating new folder <%s> ...",fDBFolder.Data()));
- if(!gGrid->Mkdir(fDBFolder.Data(),"",0)){
- AliError(Form("Cannot create folder <%s> !",fDBFolder.Data()));
+ TGridResult* res = gGrid->Command(Form("mkdir -p %s",fDBFolder.Data()));
+ TString result = res->GetKey(0,"__result__");
+ if(result == "0"){
+ AliFatal(Form("Cannot create folder <%s> !",fDBFolder.Data()));
+ return;
}
} else {
AliDebug(2,Form("Folder <%s> found",fDBFolder.Data()));
AliDebug(2,Form("pattern: %s", pattern.Data()));
TGridResult *res = gGrid->Query(fDBFolder, pattern, filter, "");
- AliCDBId validFileId;
- for(int i=0; i<res->GetEntries(); i++){
- TString filename = res->GetKey(i, "lfn");
- if(filename == "") continue;
- if(FilenameToId(filename, validFileId))
- validFileIds.AddLast(validFileId.Clone());
- }
- delete res;
+ if (res) {
+ AliCDBId validFileId;
+ for(int i=0; i<res->GetEntries(); i++){
+ TString filename = res->GetKey(i, "lfn");
+ if(filename == "") continue;
+ if(FilenameToId(filename, validFileId))
+ validFileIds.AddLast(validFileId.Clone());
+ }
+ delete res;
+ }
dataId = GetId(validFileIds, selectedId);
}
TGridResult *res = gGrid->Query(fDBFolder, pattern, filter, "");
+ if (!res) {
+ AliError("Grid query failed");
+ return;
+ }
+
AliCDBId validFileId;
for(int i=0; i<res->GetEntries(); i++){
TString filename = res->GetKey(i, "lfn");
else if (key.Contains("user",TString::kIgnoreCase)){
user = value;
}
- else if (key.Contains("folder",TString::kIgnoreCase)){
- dbFolder = value;
- }
else if (key.Contains("se",TString::kIgnoreCase)){
se = value;
}
- else if (key.Contains("cacheFold",TString::kIgnoreCase)){
+ else if (key.Contains("cacheF",TString::kIgnoreCase)){
cacheFolder = value;
if (!cacheFolder.EndsWith("/"))
cacheFolder += "/";
}
+ else if (key.Contains("folder",TString::kIgnoreCase)){
+ dbFolder = value;
+ }
else if (key.Contains("operateDisc",TString::kIgnoreCase)){
if(value == "kTRUE") {
operateDisconnected = kTRUE;
return NULL;
}
}
- else if (key.Contains("cacheSiz",TString::kIgnoreCase)){
+ else if (key.Contains("cacheS",TString::kIgnoreCase)){
if(value.IsDigit()) {
cacheSize = value.Atoi();
} else {