bool PostgresqlTableConnector::loadMetaData(IlwisObject *data, const IOOptions& options)
{
    Table *table = static_cast<Table *>(data);
    IOOptions iooptions = options.isEmpty() ? this->ioOptions() : options;
    PostgresqlTableLoader loader = PostgresqlTableLoader(source(), iooptions);
    return loader.loadMetadata(table);
}
bool PostgresqlFeatureConnector::loadData(IlwisObject *data, const IOOptions& options)
{
    if ( _binaryIsLoaded)
        return true;
    FeatureCoverage *fcoverage = static_cast<FeatureCoverage *>(data);
    IOOptions iooptions = options.isEmpty() ? this->ioOptions() : options;
    PostgresqlFeatureCoverageLoader loader = PostgresqlFeatureCoverageLoader(sourceRef(), iooptions);
    bool ok = loader.loadData(fcoverage);
    _binaryIsLoaded = ok;
    return ok;
}
bool PostgresqlTableConnector::loadData(IlwisObject *data,const IOOptions& options)
{
    Table *table = static_cast<Table *>(data);
    IOOptions iooptions = options.isEmpty() ? this->ioOptions() : options;
    PostgresqlTableLoader loader = PostgresqlTableLoader(source(), iooptions);
    if ( !loader.loadMetadata(table)) {
        return false;
    }
    bool ok = loader.loadData(table);
    _binaryIsLoaded = ok;
    return ok;
}
bool PostgresqlFeatureConnector::loadMetaData(IlwisObject *data, const IOOptions &options)
{

    FeatureCoverage *fcoverage = static_cast<FeatureCoverage *>(data);
    IOOptions iooptions = options.isEmpty() ? this->ioOptions() : options;
    PostgresqlFeatureCoverageLoader loader = PostgresqlFeatureCoverageLoader(sourceRef(), iooptions);
    if ( !loader.loadMetadata(fcoverage)) {
        ERROR1(ERR_NO_INITIALIZED_1, sourceRef().name());
        return false;
    }

    return true;
}
Example #5
0
bool CatalogConnector::loadDataSingleThread(IlwisObject *obj, const IOOptions &options){
    Catalog *cat = static_cast<Catalog *>(obj);
    kernel()->issues()->log(QString(TR("Scanning %1")).arg(sourceRef().url(true).toString()),IssueObject::itMessage);
    for(const auto& explorer : _dataProviders){

        // TODO clear security issues which may arise here, as
        // all _dataProviders gets passed the ioptions probably
        // not indendet for them

        IOOptions iooptions = options.isEmpty() ? ioOptions() : options;
        std::vector<Resource> items = explorer->loadItems(iooptions);
        cat->addItemsPrivate(items);
        mastercatalog()->addItems(items);



    }
    return true;
}
bool PostgresqlTableConnector::store(IlwisObject *data, const IOOptions& options)
{
    Table *table = static_cast<Table *>(data);
    IOOptions iooptions = options.isEmpty() ? this->ioOptions() : options;
    PostgresqlParameters params (_resource.url(true).toString());
    PostgresqlDatabaseUtil pgUtil(params);
    SqlStatementHelper sqlHelper(params);
    QList<QString> primaryKeys;
    pgUtil.getPrimaryKeys(primaryKeys);
    sqlHelper.addCreateTempTableStmt("data_level_0");
    sqlHelper.addInsertChangedDataToTempTableStmt("data_level_0", table);
    sqlHelper.addUpdateStmt(primaryKeys, "data_level_0", table);
    sqlHelper.addInsertStmt(primaryKeys, "data_level_0", table);

    // TODO delete deleted rows

    //qDebug() << "SQL: " << sqlHelper->sql();

    pgUtil.doQuery(sqlHelper.sql());

    return true;
}
bool WfsFeatureConnector::loadData(IlwisObject *data, const IOOptions &options)
{
    qDebug() << "WfsFeatureConnector::loadData()";

    IOOptions iooptions = options.isEmpty() ? ioOptions() : options;
    //if(!loadMetaData(data, iooptions))
    //    return false;

    FeatureCoverage *fcoverage = static_cast<FeatureCoverage *>(data);

    QUrl featureUrl = sourceRef().url(true);
    WebFeatureService wfs(featureUrl);

    QUrlQuery queryFeature(featureUrl);
    SPWfsResponse response = wfs.getFeature(queryFeature);
    WfsFeatureParser featureParser(response, fcoverage);

    featureParser.context(_context);
    featureParser.parseFeatureMembers();

    _binaryIsLoaded = true;
    return _binaryIsLoaded;
}