10 #include "KVDataTransfer.h"
11 #include "KVDataSet.h"
12 #include "KVDataRepositoryManager.h"
13 #include "KVDataSetManager.h"
15 #include "TPluginManager.h"
33 fSourceRep = fTargetRep = 0;
62 const Char_t* target_rep)
85 if (!gDataRepositoryManager) {
92 ::Error(
"KVDataTransfer::NewTransfer",
93 "Unknown source data repository: %s", source_rep);
99 ::Error(
"KVDataTransfer::NewTransfer",
100 "Unknown target data repository: %s", target_rep);
103 TString uri =
"sftp";
117 if (transfer_exec ==
"") {
118 ::Error(
"KVDataTransfer::NewTransfer",
119 "No file transfer executable to perform transfer");
133 tran->SetTransferExec(transfer_exec);
161 "Status not OK. Data transfer aborted.");
175 set_dataset_pointer(
nullptr);
217 "No dataset defined for transfer. Choose dataset first.");
223 "No data type defined for transfer. Choose type of data to transfer first.");
229 "No runlist defined for transfer. Choose runs to transfer first.");
234 CheckTargetRepository();
236 WriteTransferScript();
241 if (fCmdFile !=
"") gSystem->Unlink(fCmdFile.Data());
258 void KVDataTransfer::CheckTargetRepository()
264 Bool_t update = kFALSE;
287 void KVDataTransfer::init()
300 void KVDataTransfer::set_dataset_name(
const Char_t* name)
306 _set_dataset_pointer(
nullptr);
328 void KVDataTransfer::set_dataset_pointer(
KVDataSet* ds)
338 _set_dataset_pointer(ds);
349 "Dataset %s is not available for analysis", ds->GetName());
350 _set_dataset_pointer(
nullptr);
Bool_t IsType(const Char_t *typ, bool case_insensitive=false) const
static TPluginHandler * LoadPlugin(const Char_t *base, const Char_t *uri="0")
const KVString & GetDataType() const
void SetSubmit(Bool_t yes=kTRUE)
void SetQuit(Bool_t yes=kTRUE)
void SetDataType(const Char_t *name)
void SetMenus(Bool_t on=kTRUE)
Manages access to one or more data repositories.
KVDataSetRepository * GetRepository(const TString &name) const
Base class for managing repositories of data.
TString GetFileTransferType() const
returns protocol used for remote file transfer
TString GetFileTransferExec() const
returns full path to executable used for remote file transfer
Bool_t IsChooseTask() const
Bool_t IsChooseRuns() const
void SetDataSet(KVDataSet *ds)
void ChooseRuns(KVDBSystem *system=nullptr, const Char_t *data_type="")
void ChooseSystem(const Char_t *data_type="")
const run_index_list & GetRunList() const
void SetChooseSystem(Bool_t yes=kTRUE)
const KVDataSet * GetDataSet() const
void SetChooseRuns(Bool_t yes=kTRUE)
void SetSystem(KVDBSystem *syst)
Set the System used in the analysis.
Bool_t IsChooseDataSet() const
Bool_t IsChooseSystem() const
void SetChooseDataSet(Bool_t yes=kTRUE)
void SetChooseTask(Bool_t yes=kTRUE)
KVDataSet * GetDataSet(Int_t) const
Return pointer to DataSet using index in list of all datasets, index>=0.
A repository for experimental datasets.
void MakeSubdirectory(const KVDataSet *dataset, const TString &datatype="")
KVDataSetManager * GetDataSetManager() const
Return pointer to data set manager for this repository.
Manage an experimental dataset corresponding to a given experiment or campaign.
Bool_t IsAvailable() const
KVDataSetRepository * GetRepository() const
Get pointer to data repository in which dataset is stored.
void UpdateAvailableRuns(const KVString &type)
Base class for transferring data between data repositories.
virtual void TransferRuns()
static KVDataTransfer * NewTransfer(const Char_t *source_rep, const Char_t *target_rep)
void Error(UserClass p, const char *location, const char *va_(fmt),...)