8 #include <boost/program_options.hpp>
10 boost::program_options::variables_map
g_vm;
12 boost::program_options::options_description
g_help(
"Help");
13 boost::program_options::options_description
g_functions(
"Functions");
14 boost::program_options::options_description
g_parameters(
"Parameters");
16 boost::program_options::options_description
g_all(
"All options");
17 boost::program_options::options_description
g_hidden(
"Hidden options");
18 boost::program_options::options_description
g_visible(
"Allowed options");
20 int main(
int argc,
char* argv[])
25 std::string dstype =
"";
26 std::string connstr =
"";
27 std::vector<std::string> dataset;
28 std::vector<std::string> datasets;
29 bool dsParams =
false;
30 bool listdatasets =
false;
32 bool pkDetails =
false;
33 bool fkDetails =
false;
34 bool ukDetails =
false;
35 bool idxDetails =
false;
36 bool ccDetails =
false;
38 std::cout << std::endl <<
"TerraLib Data Source Info" << std::endl;
39 std::cout <<
"-------------------------" << std::endl << std::endl;
42 (
"list-datasets",
"Show a DataSet list of a DataSource")
43 (
"show-all",
"Show all Data Source informations")
44 (
"show-ds-params",
"Show all Data Source parameters required")
49 (
"ds-type", boost::program_options::value<std::string>(),
"Data Source Type: POSTGIS, MYSQL, GDAL, ...")
50 (
"conn-str", boost::program_options::value<std::string>(),
"Connection Infomation")
51 (
"dataset", boost::program_options::value<std::vector<std::string>>()->multitoken(),
"DataSet to be described")
52 (
"datasets", boost::program_options::value<std::vector<std::string>>()->multitoken(),
"List of one or more DataSets to be described")
53 (
"pk-details",
"Show Primary Key Details")
54 (
"fk-details",
"Show Foreign Key Details")
55 (
"uk-details",
"Show Unique Key Details")
56 (
"idx-details",
"Show Indexes Details")
57 (
"cc-details",
"Show Check Contraints Details")
65 boost::program_options::store(boost::program_options::parse_command_line(argc, argv,
g_all),
g_vm);
67 boost::program_options::notify(
g_vm);
69 if(
g_vm.count(
"help") ||
g_vm.empty())
72 std::cout <<
"---------------------------" << std::endl;
76 dstype =
g_vm.count(
"ds-type") != 0 ?
g_vm[
"ds-type"].as<std::string>() : std::string();
77 connstr =
g_vm.count(
"conn-str") != 0 ?
g_vm[
"conn-str"].as<std::string>() : std::string();
78 dataset =
g_vm.count(
"dataset") != 0 ?
g_vm[
"dataset"].as<std::vector<std::string>>() : std::vector<std::string>();
79 datasets =
g_vm.count(
"datasets") != 0 ?
g_vm[
"datasets"].as<std::vector<std::string>>() : std::vector<std::string>();
80 datasets.insert(datasets.end(), dataset.begin(), dataset.end());
81 dsParams =
g_vm.count(
"show-ds-params")?
true:
false;
82 listdatasets =
g_vm.count(
"list-datasets") ?
true :
false;
83 showAll =
g_vm.count(
"show-all") ?
true :
false;
85 pkDetails =
g_vm.count(
"pk-details")?
true:
false;
86 fkDetails =
g_vm.count(
"fk-details")?
true:
false;
87 ukDetails =
g_vm.count(
"uk-details")?
true:
false;
88 idxDetails =
g_vm.count(
"idx-details")?
true:
false;
89 ccDetails =
g_vm.count(
"cc-details")?
true:
false;
99 else if(!dstype.empty() && !connstr.empty())
101 if(!pm.
init(dstype, connstr))
104 std::cout <<
"---------------------------" << std::endl;
110 pm.
printAllInfo(pkDetails, fkDetails, ukDetails, idxDetails, ccDetails);
112 else if(!datasets.empty())
114 pm.
printDataSetInfo(datasets, pkDetails, fkDetails, ukDetails, idxDetails, ccDetails);
123 std::cout <<
"Command Line Error: ds-type missing!" << std::endl;
124 std::cout <<
"---------------------------" << std::endl;
129 std::cout <<
"Command Line Error: conn-str missing!" << std::endl;
130 std::cout <<
"---------------------------" << std::endl;
138 catch(std::exception& e)
140 std::cout <<
"The application concluded erroneously: " << e.what() << std::endl;
144 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::options_description g_functions("Functions")
Group of functions options.
bool init(std::string dstype, std::string connstr)
Init.
boost::program_options::variables_map g_vm
Map o options after parse.
Class with methods to print the Data SOurce information.
void printDataSetInfo(std::vector< std::string > dataSetNameList, bool pkDetails, bool fkDetails, bool ukDetails, bool idxDetails, bool ccDetails)
Print Data Set Informations.
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_hidden("Hidden options")
Which will not be shown to the user.
boost::program_options::options_description g_parameters("Parameters")
Group of parameters options.
void printDataSetNameList()
Print Data Set Name List.
void initialize()
It initializes the TerraLib Platform.
void printAllInfo(bool pkDetails, bool fkDetails, bool ukDetails, bool idxDetails, bool ccDetails)
Print All Data Source Informations.
Informations printing manager.
This file contains include headers for the TerraLib Common Runtime module.
boost::program_options::options_description g_help("Help")
Group of help options.
boost::program_options::options_description g_all("All options")
All options.
void printDataSourceParameters(std::string dsType)
Print Data Source Parameters.