25 #include "../core/logger/Logger.h" 26 #include "../common/progress/TaskProgress.h" 28 #include "../dataaccess/dataset/DataSet.h" 29 #include "../dataaccess/dataset/DataSetType.h" 31 #include "../memory/DataSet.h" 32 #include "../memory/DataSetItem.h" 34 #include "../dataaccess/utils/Utils.h" 36 #include "../geometry/GeometryProperty.h" 41 #include <boost/thread.hpp> 53 , std::map<std::string, te::dt::AbstractData*> specificParams)
57 , m_dataSetType(dataSetType)
58 , m_outputDataSet(outputDataSet)
59 , m_outputDataSetType(outputDataSetType)
60 , m_outputDataSource(outputDataSource)
61 , m_specificParams(specificParams)
69 boost::lock_guard<boost::mutex> lock(
m_mtx);
89 nextGroup.push_back(item);
172 std::vector<std::string>::iterator it = std::find(
m_warnings.begin(),
m_warnings.end(), warning);
181 #ifdef TERRALIB_LOGGER_ENABLED 183 #endif // TERRALIB_LOGGER_ENABLED
te::da::DataSetType * getDataSetType()
void addOutput(std::vector< te::mem::DataSetItem * > &itemGroup)
te::mem::DataSetItem * createOutputItem()
A class that models the description of a dataset.
te::mem::DataSet * m_outputDataSet
#define TE_CORE_LOG_DEBUG(channel, message)
Use this tag in order to log a message to a specified logger with the DEBUG level.
void setValue(std::size_t i, te::dt::AbstractData *value)
It sets the value of the i-th property.
An abstract class for data providers like a DBMS, Web Services or a regular file. ...
bool getNextOutput(std::vector< te::mem::DataSetItem * > &nextOutput)
Class to manager group values in threads.
virtual bool move(std::size_t i)=0
It moves the dataset internal pointer to a given position.
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver...
boost::mutex m_mtxWarning
te::da::DataSetType * m_outputDataSetType
te::da::DataSet * m_dataSet
std::vector< std::string > m_warnings
std::map< std::string, std::vector< int > > m_groups
GroupThreadManager(const std::map< std::string, std::vector< int > > &groups, te::da::DataSet *dataSet, te::da::DataSetType *dataSetType, te::mem::DataSet *outputDataSet, te::da::DataSetType *outputDataSetType, te::da::DataSource *outputDataSource, std::map< std::string, te::dt::AbstractData * > specificParams)
std::size_t size() const
It returns the number of properties of the CompositeProperty.
te::da::DataSource * m_outputDataSource
std::vector< std::string > getWarnings()
An implementation of the DatasetItem class for the TerraLib In-Memory Data Access driver...
A dataset is the unit of information manipulated by the data access module of TerraLib.
te::da::DataSetType * getOutputDataSetType()
virtual std::unique_ptr< te::dt::AbstractData > getValue(std::size_t i) const
Method for retrieving any other type of data value stored in the data source.
bool getNextGroup(std::vector< te::mem::DataSetItem * > &nextGroup)
virtual bool isNull(std::size_t i) const =0
It checks if the attribute value is NULL.
void clear()
It clears all the dataset items.
te::mem::DataSet * getClearOutputDataSet()
void addWarning(const std::string &warning, const bool &appendIfExists=false)
te::da::DataSetType * m_dataSetType
std::vector< std::vector< te::mem::DataSetItem * > > m_outputQueue
te::da::DataSource * getOutputDataSource()
std::map< std::string, std::vector< int > >::iterator m_groupsIterator
const GroupThreadManager & operator=(const GroupThreadManager &)
std::map< std::string, te::dt::AbstractData * > getSpecificParameters()
std::map< std::string, te::dt::AbstractData * > m_specificParams