27 #include "../../../../core/translator/Translator.h" 28 #include "../../../../core/uri/URI.h" 29 #include "../../../../core/uri/Utils.h" 30 #include "../../../../dataaccess/datasource/DataSource.h" 31 #include "../../../../dataaccess/datasource/DataSourceFactory.h" 32 #include "../../../../dataaccess/datasource/DataSourceInfo.h" 33 #include "../../../../dataaccess/datasource/DataSourceManager.h" 34 #include "../../../widgets/Exception.h" 36 #include "ui_WMSConnectorDialogForm.h" 39 #include <boost/algorithm/string/case_conv.hpp> 40 #include <boost/uuid/random_generator.hpp> 41 #include <boost/uuid/uuid_io.hpp> 42 #include <boost/lexical_cast.hpp> 45 #include <QMessageBox> 49 m_ui(new
Ui::WMSConnectorDialogForm)
82 if(!connInfo.
uri().empty())
83 m_ui->m_serverLineEdit->setText(QString::fromUtf8(connInfo.
uri().c_str()));
85 m_ui->m_datasourceTitleLineEdit->setText(QString::fromUtf8(
m_datasource->getTitle().c_str()));
87 m_ui->m_dataSourceDescriptionTextEdit->setText(QString::fromUtf8(
m_datasource->getDescription().c_str()));
97 throw te::qt::widgets::Exception(
TE_TR(
"Sorry! No data access driver loaded for WMS data sources!"));
108 throw te::qt::widgets::Exception(
TE_TR(
"Could not open WMS data source due to an unknown error!"));
110 QString title =
m_ui->m_datasourceTitleLineEdit->text().trimmed();
113 title =
m_ui->m_serverLineEdit->text().trimmed();
122 boost::uuids::basic_random_generator<boost::mt19937> gen;
123 boost::uuids::uuid u = gen();
124 std::string dsId = boost::uuids::to_string(u);
129 m_datasource->setDescription(
m_ui->m_dataSourceDescriptionTextEdit->toPlainText().trimmed().toUtf8().data());
138 m_datasource->setDescription(
m_ui->m_dataSourceDescriptionTextEdit->toPlainText().trimmed().toUtf8().data());
141 catch(
const std::exception& e)
143 QMessageBox::warning(
this,
144 tr(
"TerraLib Qt Components"),
149 QMessageBox::warning(
this,
150 tr(
"TerraLib Qt Components"),
151 tr(
"Unknown error while opening WMS data source!"));
163 throw te::qt::widgets::Exception(
TE_TR(
"Sorry! No data access driver loaded for WMS data sources!"));
169 throw te::qt::widgets::Exception(
TE_TR(
"Could not open WMS server!"));
173 QMessageBox::information(
this,
174 tr(
"TerraLib Qt Components"),
175 tr(
"Data source is ok!"));
179 catch(
const std::exception& e)
181 QMessageBox::warning(
this,
182 tr(
"TerraLib Qt Components"),
187 QMessageBox::warning(
this,
188 tr(
"TerraLib Qt Components"),
189 tr(
"Unknown error while testing WMS data source!"));
195 QMessageBox::warning(
this,
196 tr(
"TerraLib Qt Components"),
197 tr(
"Not implemented yet!\nWe will provide it soon!"));
204 qstr =
m_ui->m_serverLineEdit->text().trimmed();
205 std::string strURI(
"WMS:");
208 throw te::qt::widgets::Exception(
TE_TR(
"Please select a feature file first!"));
210 strURI += qstr.toUtf8().data();
static std::unique_ptr< DataSource > make(const std::string &driver, const te::core::URI &connInfo)
std::auto_ptr< Ui::WMSConnectorDialogForm > m_ui
static bool find(const std::string &dsType)
boost::shared_ptr< DataSource > DataSourcePtr
void set(const te::da::DataSourceInfoPtr &ds)
void helpPushButtonPressed()
static te::dt::Date ds(2010, 01, 01)
#define TE_TR(message)
It marks a string in order to get translated.
const te::da::DataSourceInfoPtr & getDataSource() const
te::da::DataSourcePtr m_driver
const te::da::DataSourcePtr & getDriver() const
WMSConnectorDialog(QWidget *parent=0, Qt::WindowFlags f=0)
const std::string & uri() const
Retrieving the full URI.
A class for representing an Uniform Resource Identifier (URI).
void openPushButtonPressed()
te::da::DataSourceInfoPtr m_datasource
A class that represents a data source component.
const std::string getConnectionInfo() const
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr
void testPushButtonPressed()