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_all("All options")
All options. 
 
boost::program_options::options_description g_visible("Allowed options")
Which will be shown to the user. 
 
void finalize()
It finalizes the TerraLib Platform. 
 
boost::program_options::options_description g_parameters("Parameters")
Group of parameters options. 
 
int main(int argc, char *argv[])
 
This file contains include headers for the TerraLib Common Runtime module. 
 
bool copy(std::string dsTypeOrigin, std::string dsConnStrOrigin, std::string dsTypeDestination, std::string dsConnStrDestination, std::vector< std::string * > datasets, std::string &errorMessage)
Copy. 
 
boost::program_options::variables_map g_vm
Map o options after parse. 
 
static TerraLib & getInstance()
It returns a reference to the singleton instance. 
 
void showError(std::string errorMessage)
 
Class with methods to manage the application. 
 
bool init(std::string &errorMessage)
Init the application. 
 
void initialize()
It initializes the TerraLib Platform.