27 #include "../../../dataaccess/dataset/DataSet.h" 28 #include "../../../dataaccess/dataset/DataSetAdapter.h" 29 #include "../../../dataaccess/dataset/DataSetType.h" 30 #include "../../../dataaccess/dataset/DataSetTypeConverter.h" 31 #include "../../../dataaccess/datasource/DataSource.h" 32 #include "../../../dataaccess/datasource/DataSourceInfo.h" 33 #include "../../../dataaccess/datasource/DataSourceManager.h" 34 #include "../../../dataaccess/datasource/DataSourceTransactor.h" 35 #include "../../../dataaccess/utils/Utils.h" 36 #include "../../../geometry/GeometryProperty.h" 37 #include "../../../qt/widgets/dataset/selector/DataSetSelectorWizardPage.h" 38 #include "../../../qt/widgets/datasource/selector/DataSourceSelectorWidget.h" 39 #include "../../../qt/widgets/datasource/selector/DataSourceSelectorWizardPage.h" 40 #include "../../../qt/widgets/help/HelpPushButton.h" 41 #include "../../../qt/widgets/utils/ScopedCursor.h" 46 #include "ui_DataExchangerWizardForm.h" 47 #include "ui_DataExchangeSummaryWizardPageForm.h" 48 #include "ui_DataSetOptionsWizardPageForm.h" 49 #include "ui_DataSourceSelectorWidgetForm.h" 56 #include <QAbstractButton> 57 #include <QMessageBox> 58 #include <QVBoxLayout> 62 m_ui(new
Ui::DataExchangerWizardForm)
82 m_datasetSelectorPage->setSubTitle(tr(
"Please, select the datasets you want to transfer to another data source"));
108 connect(this->button(QWizard::NextButton), SIGNAL(pressed()),
this, SLOT(
next()));
109 connect(this->button(QWizard::BackButton), SIGNAL(pressed()),
this, SLOT(
back()));
110 connect(this->button(QWizard::CommitButton), SIGNAL(pressed()),
this, SLOT(commit()));
115 this->setButton(QWizard::HelpButton, helpButton);
124 return QWizard::nextId();
131 if(datasources.empty())
139 if (ds.get() ==
nullptr)
151 std::list<te::da::DataSourceInfoPtr> datasources =
m_targetSelectorPage->getSelectorWidget()->getSelecteds();
153 if(datasources.empty())
161 if (ds.get() ==
nullptr)
173 this->setOption(QWizard::HaveCustomButton1,
false);
188 this->setOption(QWizard::HaveCustomButton1,
false);
219 if(ids.get() ==
nullptr)
224 if(idatasource.get() ==
nullptr)
227 if (!idatasource->isOpened())
233 if(ods.get() ==
nullptr)
238 if(odatasource.get() ==
nullptr)
241 if (!odatasource->isOpened())
245 std::list<DataExchangeStatus> result;
247 std::map<te::da::DataSetTypePtr, te::da::DataSetTypeConverter*> odatasets =
m_datasetOptionsPage->getDatasets();
249 std::map<te::da::DataSetTypePtr, te::da::DataSetTypeConverter*>::iterator it = odatasets.begin();
251 while(it != odatasets.end())
256 std::unique_ptr<te::da::DataSourceTransactor> t;
260 std::map<std::string, std::string> nopt;
265 std::unique_ptr<te::da::DataSet> dataset(idatasource->getDataSet(idset->getName()));
267 t = odatasource->getTransactor();
272 t->createDataSet(odset, nopt);
276 if(dataset->moveBeforeFirst())
277 t->add(odset->
getName(), dsAdapter.get(), nopt);
282 double diffInSec = difftime(curtime, startTime);
283 boost::chrono::duration<double> sec(diffInSec);
290 result.push_back(status);
294 catch(
const std::exception& e)
301 result.push_back(status);
312 result.push_back(status);
boost::shared_ptr< DataSetType > DataSetTypePtr
boost::shared_ptr< DataSource > DataSourcePtr
A class that models the description of a dataset.
static te::dt::Date ds(2010, 01, 01)
static DataSourceManager & getInstance()
It returns a reference to the singleton instance.
TEDATAACCESSEXPORT DataSetAdapter * CreateAdapter(DataSet *ds, DataSetTypeConverter *converter, bool isOwner=false)
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr
const std::string & getName() const
It returns the property name.