28 #include "../../../../dataaccess/datasource/DataSource.h"
29 #include "../../../../dataaccess/datasource/DataSourceFactory.h"
30 #include "../../../../dataaccess/datasource/DataSourceInfo.h"
31 #include "../../../../dataaccess/datasource/DataSourceManager.h"
32 #include "../../../widgets/Exception.h"
33 #include "ui_MySQLCreatorDialogForm.h"
36 #include <QtGui/QMessageBox>
40 m_ui(new Ui::MySQLCreatorDialogForm)
46 m_ui->m_advancedOptionsGroupBox->hide();
68 throw te::qt::widgets::Exception(TR_QT_WIDGETS(
"Sorry! No data access driver loaded for MySQL data sources!"));
71 std::map<std::string, std::string> dsInfo;
73 getConnectionInfo(dsInfo);
79 catch(
const std::exception& e)
81 QMessageBox::warning(
this,
82 tr(
"TerraLib Qt Components"),
88 QMessageBox::warning(
this,
89 tr(
"TerraLib Qt Components"),
90 tr(
"Unknown error while opening MySQL database!"));
109 m_ui->m_advancedOptionsGroupBox->setVisible(t);
118 QString qstr = m_ui->m_hostNameLineEdit->text().trimmed();
121 connInfo[
"MY_HOST_NAME"] = qstr.toStdString();
124 qstr = m_ui->m_portLineEdit->text().trimmed();
127 connInfo[
"MY_PORT"] = qstr.toStdString();
130 qstr = m_ui->m_userNameLineEdit->text().trimmed();
133 connInfo[
"MY_USER_NAME"] = qstr.toStdString();
136 qstr = m_ui->m_passwordLineEdit->text().trimmed();
139 connInfo[
"MY_PASSWORD"] = qstr.toStdString();
142 qstr = m_ui->m_schemaNameComboBox->currentText().trimmed();
146 connInfo[
"MY_SCHEMA"] = qstr.toStdString();
149 qstr = m_ui->m_charsetComboBox->currentText().trimmed();
152 connInfo[
"MY_OPT_CHARSET_NAME"] = qstr.toStdString();
155 qstr = m_ui->m_newHostNameLineEdit->text().trimmed();
158 connInfo[
"MY_NEW_SCHEMA_HOST"] = qstr.toStdString();
161 qstr = m_ui->m_newPortLineEdit->text().trimmed();
164 connInfo[
"MY_NEW_SCHEMA_PORT"] = qstr.toStdString();
167 qstr = m_ui->m_newUserNameLineEdit->text().trimmed();
170 connInfo[
"MY_NEW_SCHEMA_USER_NAME"] = qstr.toStdString();
173 qstr = m_ui->m_newPasswordLineEdit->text().trimmed();
176 connInfo[
"MY_NEW_SCHEMA_PASSWORD"] = qstr.toStdString();
179 qstr = m_ui->m_newSchemaNameLineEdit->text().trimmed();
182 connInfo[
"MY_NEW_SCHEMA_NAME"] = qstr.toStdString();
185 qstr = m_ui->m_newCharsetComboBox->currentText().trimmed();
188 connInfo[
"MY_NEW_SCHEMA_CHARSET_NAME"] = qstr.toStdString();
191 qstr = m_ui->m_newCollateComboBox->currentText().trimmed();
194 connInfo[
"MY_NEW_SCHEMA_COLLATE_NAME"] = qstr.toStdString();
196 if(m_ui->m_createRasterMetadataCheckBox->isChecked())
197 connInfo[
"MY_NEW_SCHEMA_CREATE_TERRALIB_RASTER_METADATA_TABLES"] =
"TRUE";
199 if(m_ui->m_createOGCMetadataCheckBox->isChecked())
200 connInfo[
"MY_NEW_SCHEMA_CREATE_OGC_METADATA_TABLES"] =
"TRUE";
215 if(m_ui->m_userNameLineEdit->text() !=
"" && m_ui->m_passwordLineEdit->text() !=
"")
217 std::map<std::string, std::string> dsInfo;
218 getConnectionInfo(dsInfo);
221 std::vector<std::string> dbNames = te::da::DataSource::getDataSources(
"MYSQL", dsInfo);
223 for(std::size_t i = 0; i < dbNames.size(); i++)
224 m_ui->m_schemaNameComboBox->addItem(dbNames[i].c_str());
void helpPushButtonPressed()
static bool find(const std::string &dsType)
boost::shared_ptr< DataSource > DataSourcePtr
void passwordLineEditEditingFinished()
void closePushButtonPressed()
void applyPushButtonPressed()
const te::da::DataSourceInfoPtr & getDataSource() const
static std::auto_ptr< DataSource > create(const std::string &dsType, const std::map< std::string, std::string > &dsInfo)
It creates a new repository for a data source.
void advancedCreationOptionsCheckBoxToggled(bool t)
const te::da::DataSourcePtr & getDriver() const
MySQLCreatorDialog(QWidget *parent=0, Qt::WindowFlags f=0)
void getConnectionInfo(std::map< std::string, std::string > &connInfo) const
std::auto_ptr< Ui::MySQLCreatorDialogForm > m_ui
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr