4 #include "../../../core/Exception.h" 5 #include "../../../../raster/RasterProperty.h" 48 const std::string& ,
const std::string& ,
57 const std::string& ,
const std::string& ,
89 std::vector<std::string> layerNames;
91 std::map<std::string, te::ws::ogc::wms::Layer>::const_iterator it;
95 layerNames.push_back(it->first);
115 for(
unsigned int i = 0; i < rootLayer.
m_layers.size(); i++)
124 std::vector<std::string> dataSetNames;
135 return layers.size();
149 type->
add(rasterProp);
151 return std::unique_ptr<te::da::DataSetType>(type);
156 boost::ptr_vector<te::dt::Property> properties;
158 std::unique_ptr<te::da::DataSetType> type =
getDataSetType(datasetName);
160 const std::vector<te::dt::Property*>& props = type->getProperties();
161 for(std::size_t i = 0; i < props.size(); ++i)
162 properties.push_back(props[i]->clone());
169 std::unique_ptr<te::da::DataSetType> type =
getDataSetType(datasetName);
171 const std::vector<te::dt::Property*>& props = type->getProperties();
172 for(std::size_t i = 0; i < props.size(); ++i)
174 if(props[i]->getName() == name)
175 return std::unique_ptr<te::dt::Property>(props[i]->clone());
183 std::unique_ptr<te::da::DataSetType> type =
getDataSetType(datasetName);
185 const std::vector<te::dt::Property*>& props = type->getProperties();
187 if(propertyPos >= props.size())
190 return std::unique_ptr<te::dt::Property>(props[propertyPos]->clone());
195 std::vector<std::string> propertyNames;
197 std::unique_ptr<te::da::DataSetType> type =
getDataSetType(datasetName);
199 const std::vector<te::dt::Property*>& props = type->getProperties();
200 for(std::size_t i = 0; i < props.size(); ++i)
201 propertyNames.push_back(props[i]->getName());
203 return propertyNames;
213 std::vector<std::string> propertyNames = this->
getPropertyNames(datasetName);
215 if(std::find(propertyNames.begin(), propertyNames.end(), name) != propertyNames.end())
432 const std::string& ,
const std::string& )
434 return std::unique_ptr<te::gm::Envelope>();
438 const std::string& , std::size_t )
440 return std::unique_ptr<te::gm::Envelope>();
468 const std::map<std::string, std::string>& )
475 const std::map<std::string, std::string>& )
493 const std::map<std::string, std::string>& ,
507 const std::vector<std::size_t>& ,
509 const std::map<std::string, std::string>& ,
std::vector< std::string > getForeignKeyNames(const std::string &datasetName)
It gets the foreign key names of the given dataset.
void setTitle(const std::string &title)
It sets a human descriptive title for the DataSetType.
boost::int64_t getLastGeneratedId()
It returns the last id generated by an insertion command.
void dropDataSet(const std::string &name)
It removes the dataset schema from the data source.
void add(const std::string &datasetName, te::da::DataSet *d, const std::map< std::string, std::string > &options, std::size_t limit=0, bool enableProgress=true)
It adds data items to the dataset in the data source.
std::unique_ptr< te::da::Sequence > getSequence(const std::string &name)
It gets the sequence with the given name in the data source.
void dropProperty(const std::string &datasetName, const std::string &name)
It removes a property from the given dataset.
std::size_t getNumberOfItems(const std::string &datasetName)
It retrieves the number of items of the given dataset.
bool dataSetExists(const std::string &name)
It checks if a dataset with the given name exists in the data source.
std::unique_ptr< te::da::ForeignKey > getForeignKey(const std::string &datasetName, const std::string &name)
It retrieves the foreign key from the given dataset.
bool propertyExists(const std::string &datasetName, const std::string &name)
It checks if a property with the given name exists in the dataset.
std::vector< std::string > getUniqueKeyNames(const std::string &datasetName)
It gets the unique key names of the given dataset.
std::vector< std::string > getIndexNames(const std::string &datasetName)
It gets the index names of the given dataset.
std::unique_ptr< te::da::DataSet > getDataSet(const std::string &name, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It gets the dataset identified by the given name. A dataset can be connected or disconnected. A connected dataset, after its creation through the data source transactor, continues to depend on the connection given by its associated data source. Differently, a disconnected dataset, after its creation, no more depends of the connection given by the data source, and it continues to live after the connection has been released to the data source.
void dropIndex(const std::string &datasetName, const std::string &idxName)
It removes the index from the dataset schema.
void dropPrimaryKey(const std::string &datasetName)
It removes the primary key constraint from the dataset schema.
A class that models the description of a dataset.
void rollBack()
It aborts the transaction. Any changes will be rolled-back.
void dropForeignKey(const std::string &datasetName, const std::string &fkName)
It removes the foreign key constraint from the dataset schema.
std::unique_ptr< te::da::Index > getIndex(const std::string &datasetName, const std::string &name)
It gets the index with the given name from the dataset.
std::unique_ptr< te::da::BatchExecutor > getBatchExecutor()
It creates a batch command executor.
std::vector< std::string > getSequenceNames()
It gets the sequence names available in the data source.
bool checkConstraintExists(const std::string &datasetName, const std::string &name)
It checks if a check-constraint with the given name exists in the data source.
void dropUniqueKey(const std::string &datasetName, const std::string &name)
It removes the unique key constraint from the dataset.
void execute(const te::da::Query &command)
It executes the specified command using a generic query representation.
std::unique_ptr< te::da::DataSetType > getDataSetType(const std::string &name)
It gets information about the given dataset.
void renameProperty(const std::string &datasetName, const std::string &propertyName, const std::string &newPropertyName)
It renames a property of the given dataset.
SpatialRelation
Spatial relations between geometric objects.
std::unique_ptr< te::da::UniqueKey > getUniqueKey(const std::string &datasetName, const std::string &name)
It gets the unique key in the dataset with the given name.
It describes a sequence (a number generator).
A class that describes a check constraint.
An abstract class for data providers like a DBMS, Web Services or a regular file. ...
#define TE_TR(message)
It marks a string in order to get translated.
void update(const std::string &datasetName, te::da::DataSet *dataset, const std::vector< std::size_t > &properties, const te::da::ObjectIdSet *oids, const std::map< std::string, std::string > &options, std::size_t limit=0)
It updates the contents of a dataset for the set of data items.
std::vector< Layer > m_layers
std::size_t getNumberOfProperties(const std::string &datasetName)
It gets the number of properties of the given dataset.
void begin()
It starts a new transaction.
std::shared_ptr< te::ws::ogc::WMSClient > m_wms
void dropSequence(const std::string &name)
It removes the sequence from the data source.
It models a property definition.
void optimize(const std::map< std::string, std::string > &opInfo)
For some data access drivers, this method will perform some operations to optimize the data storage...
boost::error_info< struct tag_error_description, std::string > ErrorDescription
The base type for error report messages.
void remove(const std::string &datasetName, const te::da::ObjectIdSet *oids=0)
It removes all the informed items from the dataset.
The Capability WMS 1.3.0 struct.
void addCheckConstraint(const std::string &datasetName, te::da::CheckConstraint *cc)
It adds a check constraint to the dataset.
bool indexExists(const std::string &datasetName, const std::string &name)
It checks if an index with the given name exists in the dataset.
std::vector< std::string > getPropertyNames(const std::string &datasetName)
It gets the property names of the given dataset.
void addPrimaryKey(const std::string &datasetName, te::da::PrimaryKey *pk)
It adds a primary key constraint to the dataset schema.
AccessPolicy
Supported data access policies (can be used as bitfield).
TraverseType
A dataset can be traversed in two ways:
void addForeignKey(const std::string &datasetName, te::da::ForeignKey *fk)
It adds a foreign key constraint to a dataset.
void cancel()
It requests that the data source stop the processing of the current command.
std::unique_ptr< te::da::PrimaryKey > getPrimaryKey(const std::string &datasetName)
It retrieves the primary key of the dataset.
An Envelope defines a 2D rectangular region.
This class represents a set of unique ids created in the same context. i.e. from the same data set...
te::da::DataSourceCapabilities capabilities
bool isDataSetNameValid(const std::string &datasetName)
It returns true if the given string is a valid dataset name.
std::unique_ptr< te::da::CheckConstraint > getCheckConstraint(const std::string &datasetName, const std::string &name)
It gets the check constraint of the dataset with the given name.
void addProperty(const std::string &datasetName, te::dt::Property *p)
It adds a new property to the dataset schema.
te::da::DataSource * getDataSource() const
It returns the parent data source of the transactor.
Transactor(const std::shared_ptr< te::ws::ogc::WMSClient > wms)
The Layer WMS 1.3.0 struct.
boost::ptr_vector< te::dt::Property > getProperties(const std::string &datasetName)
It retrieves the properties of the dataset.
void dropCheckConstraint(const std::string &datasetName, const std::string &name)
It removes the check constraint from the dataset.
It models a foreign key constraint for a DataSetType.
std::vector< std::string > getCheckConstraintNames(const std::string &datasetName)
It gets the check constraint names of the given dataset.
void commit()
It commits the transaction.
It describes a unique key (uk) constraint.
std::map< std::string, te::ws::ogc::wms::Layer > m_layerMap
bool uniqueKeyExists(const std::string &datasetName, const std::string &name)
It checks if a unique key with the given name exists in the dataset.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
A Select models a query to be used when retrieving data from a DataSource.
bool isInTransaction() const
It returns true if a transaction is in progress, otherwise, it returns false.
Base exception class for WS Core Runtime Library.
bool primaryKeyExists(const std::string &datasetName, const std::string &name)
It checks if a primary key exists in the dataset.
void addIndex(const std::string &datasetName, te::da::Index *idx, const std::map< std::string, std::string > &options)
It adds an index to the dataset.
void add(Constraint *c)
It adds a new constraint.
A dataset is the unit of information manipulated by the data access module of TerraLib.
bool isPropertyNameValid(const std::string &propertyName)
It checks if the given property name is valid.
Implementation of the transactor for the WS OGC WMS.
It describes a primary key (pk) constraint.
std::string escape(const std::string &value)
It escapes a string for using in commands and queries.
std::unique_ptr< te::da::DataSet > query(const te::da::Select &q, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It executes a query that may return some data using a generic query. A dataset can be connected or di...
bool hasDataSets()
It checks if the data source has any dataset.
std::size_t getNumberOfDataSets()
It retrieves the number of data sets available in the data source.
void addUniqueKey(const std::string &datasetName, te::da::UniqueKey *uk)
It adds a unique key constraint to the dataset.
std::vector< std::string > getDataSetNames()
It It gets the dataset names available in the data source.
te::ws::ogc::wms::Layer getLayerByName(const std::string &layerName)
std::unique_ptr< te::da::PreparedQuery > getPrepared(const std::string &qName=std::string(""))
It creates a prepared query object that may be used for query commands (select, insert, update and delete) that are used repeatedly.
void addSequence(te::da::Sequence *sequence)
It creates a new sequence in the data source.
std::vector< std::string > getLayerNames()
std::unique_ptr< te::gm::Envelope > getExtent(const std::string &datasetName, const std::string &propertyName)
It retrieves the bounding rectangle of the spatial property for the given dataset.
std::unique_ptr< te::dt::Property > getProperty(const std::string &datasetName, const std::string &name)
It retrieves the property with the given name from the dataset.
void createDataSet(te::da::DataSetType *dt, const std::map< std::string, std::string > &options)
It creates the dataset schema definition in the target data source.
void createLayerMap(const te::ws::ogc::wms::Layer &rootLayer)
A Query is independent from the data source language/dialect.
It describes an index associated to a DataSetType.
void renameDataSet(const std::string &name, const std::string &newName)
It renames a dataset.
bool foreignKeyExists(const std::string &datasetName, const std::string &name)
It checks if a foreign key with the given name exists in the data source.
void cloneDataSet(const std::string &name, const std::string &cloneName, const std::map< std::string, std::string > &options)
It clones the dataset in the data source.
bool sequenceExists(const std::string &name)
It checks if a sequence with the given name exists in the data source.