2 #include "../core/DSCopy.h"
8 #include <boost/program_options.hpp>
10 boost::program_options::variables_map
g_vm;
12 boost::program_options::options_description
g_parameters(
"Parameters");
14 boost::program_options::options_description
g_all(
"All options");
15 boost::program_options::options_description
g_visible(
"Allowed options");
19 std::cout <<
">>>> " << errorMessage <<
" <<<<" << std::endl << std::endl;
21 std::cout <<
"---------------------------" << std::endl;
24 int main(
int argc,
char* argv[])
26 std::string dsTypeOrigin =
"";
27 std::string connStrOrigin =
"";
28 std::string dsTypeDestination =
"";
29 std::string connStrDestination =
"";
30 std::vector<std::string> dataset = std::vector<std::string>();
31 std::vector<std::string> datasets = std::vector<std::string>();
36 std::cout << std::endl <<
"TerraLib Data Source Copy" << std::endl;
37 std::cout <<
"-------------------------" << std::endl << std::endl;
40 (
"ds-type-origin,o", boost::program_options::value<std::string>(),
"Origin Data Source Type: POSTGIS, MYSQL, GDAL, ...")
41 (
"conn-str-origin,s", boost::program_options::value<std::string>(),
"Origin Data Source Connection Infomation")
42 (
"ds-type-destination,d", boost::program_options::value<std::string>(),
"Destination Data Source Type: POSTGIS, MYSQL, GDAL, ...")
43 (
"conn-str-destination,t", boost::program_options::value<std::string>(),
"Destination Data Source Connection Infomation")
44 (
"dataset", boost::program_options::value<std::vector<std::string>>()->multitoken(),
"DataSet to be described")
45 (
"datasets", boost::program_options::value<std::vector<std::string>>()->multitoken(),
"List of one or more DataSets to be described")
51 boost::program_options::store(boost::program_options::parse_command_line(argc, argv,
g_all),
g_vm);
53 boost::program_options::notify(
g_vm);
55 if(
g_vm.count(
"help") ||
g_vm.empty())
58 std::cout <<
"---------------------------" << std::endl;
63 dsTypeOrigin = (
g_vm.count(
"ds-type-origin") != 0 ?
g_vm[
"ds-type-origin"].as<std::string>() : std::string());
64 connStrOrigin = (
g_vm.count(
"conn-str-origin") != 0 ?
g_vm[
"conn-str-origin"].as<std::string>() : std::string());
66 dsTypeDestination = (
g_vm.count(
"ds-type-destination") != 0 ?
g_vm[
"ds-type-destination"].as<std::string>() : std::string());
67 connStrDestination = (
g_vm.count(
"conn-str-destination") != 0 ?
g_vm[
"conn-str-destination"].as<std::string>() : std::string());
69 dataset =
g_vm.count(
"dataset") != 0 ?
g_vm[
"dataset"].as<std::vector<std::string>>() : std::vector<std::string>();
70 datasets =
g_vm.count(
"datasets") != 0 ?
g_vm[
"datasets"].as<std::vector<std::string>>() : std::vector<std::string>();
71 datasets.insert(datasets.end(), dataset.begin(), dataset.end());
74 if(dsTypeOrigin.empty())
76 showError(
"Comannd line error: ds-type-origin missing!");
79 if(dsTypeDestination.empty())
81 showError(
"Comannd line error: ds-type-destination missing!");
84 if(connStrOrigin.empty())
86 showError(
"Comannd line error: conn-str-origin missing!");
89 if(connStrDestination.empty())
91 showError(
"Comannd line error: conn-str-destination missing!");
98 std::vector<std::string*> datasetsP;
99 for(
size_t i = 0; i < datasets.size(); i++)
100 datasetsP.push_back(&datasets[i]);
102 std::string errorMessage;
106 if(!ds.
init(errorMessage))
112 if(!ds.
copy(dsTypeOrigin, connStrOrigin, dsTypeDestination, connStrDestination, datasetsP, errorMessage))
121 catch(std::exception& e)
123 std::cout <<
"The application concluded erroneously: " << e.what() << std::endl;
127 std::cout <<
"The application concluded unexpectedly!" << std::endl;
boost::program_options::options_description g_visible("Allowed options")
Which will be shown to the user.
boost::program_options::variables_map g_vm
Map o options after parse.
void showError(std::string errorMessage)
void finalize()
It finalizes the TerraLib Platform.
static TerraLib & getInstance()
It returns a reference to the singleton instance.
int main(int argc, char *argv[])
boost::program_options::options_description g_parameters("Parameters")
Group of parameters options.
void initialize()
It initializes the TerraLib Platform.
This file contains include headers for the TerraLib Common Runtime module.
boost::program_options::options_description g_all("All options")
All options.