Skip to content

Commit

Permalink
log OGR errors in QgsVectorFileWriter::addFeature
Browse files Browse the repository at this point in the history
  • Loading branch information
jef-n committed May 26, 2012
1 parent 7a29f3c commit c7f341e
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/core/qgsvectorfilewriter.cpp
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include "qgsfeature.h" #include "qgsfeature.h"
#include "qgsgeometry.h" #include "qgsgeometry.h"
#include "qgslogger.h" #include "qgslogger.h"
#include "qgsmessagelog.h"
#include "qgscoordinatereferencesystem.h" #include "qgscoordinatereferencesystem.h"
#include "qgsvectorfilewriter.h" #include "qgsvectorfilewriter.h"


Expand Down Expand Up @@ -468,7 +469,7 @@ bool QgsVectorFileWriter::addFeature( QgsFeature& feature )
.arg( ogrField ) .arg( ogrField )
.arg( QMetaType::typeName( attrValue.type() ) ) .arg( QMetaType::typeName( attrValue.type() ) )
.arg( attrValue.toString() ); .arg( attrValue.toString() );
QgsDebugMsg( mErrorMessage ); QgsMessageLog::logMessage( mErrorMessage, QObject::tr( "OGR" ) );
mError = ErrFeatureWriteFailed; mError = ErrFeatureWriteFailed;
return false; return false;
} }
Expand All @@ -493,21 +494,21 @@ bool QgsVectorFileWriter::addFeature( QgsFeature& feature )


if ( !mGeom2 ) if ( !mGeom2 )
{ {
QgsDebugMsg( QString( "Failed to create empty geometry for type %1 (OGR error: %2)" ).arg( geom->wkbType() ).arg( CPLGetLastErrorMsg() ) );
mErrorMessage = QObject::tr( "Feature geometry not imported (OGR error: %1)" ) mErrorMessage = QObject::tr( "Feature geometry not imported (OGR error: %1)" )
.arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ); .arg( QString::fromUtf8( CPLGetLastErrorMsg() ) );
mError = ErrFeatureWriteFailed; mError = ErrFeatureWriteFailed;
QgsMessageLog::logMessage( mErrorMessage, QObject::tr( "OGR" ) );
OGR_F_Destroy( poFeature ); OGR_F_Destroy( poFeature );
return false; return false;
} }


OGRErr err = OGR_G_ImportFromWkb( mGeom2, geom->asWkb(), geom->wkbSize() ); OGRErr err = OGR_G_ImportFromWkb( mGeom2, geom->asWkb(), geom->wkbSize() );
if ( err != OGRERR_NONE ) if ( err != OGRERR_NONE )
{ {
QgsDebugMsg( QString( "Failed to import geometry from WKB: %1 (OGR error: %2)" ).arg( err ).arg( CPLGetLastErrorMsg() ) );
mErrorMessage = QObject::tr( "Feature geometry not imported (OGR error: %1)" ) mErrorMessage = QObject::tr( "Feature geometry not imported (OGR error: %1)" )
.arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ); .arg( QString::fromUtf8( CPLGetLastErrorMsg() ) );
mError = ErrFeatureWriteFailed; mError = ErrFeatureWriteFailed;
QgsMessageLog::logMessage( mErrorMessage, QObject::tr( "OGR" ) );
OGR_F_Destroy( poFeature ); OGR_F_Destroy( poFeature );
return false; return false;
} }
Expand All @@ -520,10 +521,10 @@ bool QgsVectorFileWriter::addFeature( QgsFeature& feature )
OGRErr err = OGR_G_ImportFromWkb( mGeom, geom->asWkb(), geom->wkbSize() ); OGRErr err = OGR_G_ImportFromWkb( mGeom, geom->asWkb(), geom->wkbSize() );
if ( err != OGRERR_NONE ) if ( err != OGRERR_NONE )
{ {
QgsDebugMsg( QString( "Failed to import geometry from WKB: %1 (OGR error: %2)" ).arg( err ).arg( CPLGetLastErrorMsg() ) );
mErrorMessage = QObject::tr( "Feature geometry not imported (OGR error: %1)" ) mErrorMessage = QObject::tr( "Feature geometry not imported (OGR error: %1)" )
.arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ); .arg( QString::fromUtf8( CPLGetLastErrorMsg() ) );
mError = ErrFeatureWriteFailed; mError = ErrFeatureWriteFailed;
QgsMessageLog::logMessage( mErrorMessage, QObject::tr( "OGR" ) );
OGR_F_Destroy( poFeature ); OGR_F_Destroy( poFeature );
return false; return false;
} }
Expand All @@ -539,7 +540,8 @@ bool QgsVectorFileWriter::addFeature( QgsFeature& feature )
mErrorMessage = QObject::tr( "Feature creation error (OGR error: %1)" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ); mErrorMessage = QObject::tr( "Feature creation error (OGR error: %1)" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) );
mError = ErrFeatureWriteFailed; mError = ErrFeatureWriteFailed;


QgsDebugMsg( mErrorMessage ); QgsMessageLog::logMessage( mErrorMessage, QObject::tr( "OGR" ) );

OGR_F_Destroy( poFeature ); OGR_F_Destroy( poFeature );
return false; return false;
} }
Expand Down

0 comments on commit c7f341e

Please sign in to comment.