@@ -91,7 +91,7 @@ QVariantMap QgsCentroidAlgorithm::processAlgorithm( const QVariantMap ¶meter
91
91
return QVariantMap ();
92
92
93
93
QString dest;
94
- std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT_LAYER" ), context, source->fields (), QgsWkbTypes::Point , source->sourceCrs (), dest ) );
94
+ std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT_LAYER" ), context, dest, source->fields (), QgsWkbTypes::Point , source->sourceCrs () ) );
95
95
if ( !sink )
96
96
return QVariantMap ();
97
97
@@ -166,7 +166,7 @@ QVariantMap QgsBufferAlgorithm::processAlgorithm( const QVariantMap ¶meters,
166
166
return QVariantMap ();
167
167
168
168
QString dest;
169
- std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT_LAYER" ), context, source->fields (), QgsWkbTypes::Polygon, source->sourceCrs (), dest ) );
169
+ std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT_LAYER" ), context, dest, source->fields (), QgsWkbTypes::Polygon, source->sourceCrs () ) );
170
170
if ( !sink )
171
171
return QVariantMap ();
172
172
@@ -270,7 +270,7 @@ QVariantMap QgsDissolveAlgorithm::processAlgorithm( const QVariantMap ¶meter
270
270
return QVariantMap ();
271
271
272
272
QString dest;
273
- std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, source->fields (), QgsWkbTypes::multiType ( source->wkbType () ), source->sourceCrs (), dest ) );
273
+ std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, dest, source->fields (), QgsWkbTypes::multiType ( source->wkbType () ), source->sourceCrs () ) );
274
274
275
275
if ( !sink )
276
276
return QVariantMap ();
@@ -417,7 +417,7 @@ QVariantMap QgsClipAlgorithm::processAlgorithm( const QVariantMap ¶meters, Q
417
417
return QVariantMap ();
418
418
419
419
QString dest;
420
- std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, featureSource->fields (), QgsWkbTypes::multiType ( featureSource->wkbType () ), featureSource->sourceCrs (), dest ) );
420
+ std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, dest, featureSource->fields (), QgsWkbTypes::multiType ( featureSource->wkbType () ), featureSource->sourceCrs () ) );
421
421
422
422
if ( !sink )
423
423
return QVariantMap ();
@@ -563,7 +563,7 @@ QVariantMap QgsTransformAlgorithm::processAlgorithm( const QVariantMap ¶mete
563
563
QgsCoordinateReferenceSystem targetCrs = parameterAsCrs ( parameters, QStringLiteral ( " TARGET_CRS" ), context );
564
564
565
565
QString dest;
566
- std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, source->fields (), source->wkbType (), targetCrs, dest ) );
566
+ std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, dest, source->fields (), source->wkbType (), targetCrs ) );
567
567
if ( !sink )
568
568
return QVariantMap ();
569
569
@@ -626,8 +626,8 @@ QVariantMap QgsSubdivideAlgorithm::processAlgorithm( const QVariantMap ¶mete
626
626
627
627
int maxNodes = parameterAsInt ( parameters, QStringLiteral ( " MAX_NODES" ), context );
628
628
QString dest;
629
- std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, source->fields (),
630
- QgsWkbTypes::multiType ( source->wkbType () ), source->sourceCrs (), dest ) );
629
+ std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, dest, source->fields (),
630
+ QgsWkbTypes::multiType ( source->wkbType () ), source->sourceCrs () ) );
631
631
if ( !sink )
632
632
return QVariantMap ();
633
633
@@ -693,8 +693,8 @@ QVariantMap QgsMultipartToSinglepartAlgorithm::processAlgorithm( const QVariantM
693
693
QgsWkbTypes::Type sinkType = QgsWkbTypes::singleType ( source->wkbType () );
694
694
695
695
QString dest;
696
- std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, source->fields (),
697
- sinkType, source->sourceCrs (), dest ) );
696
+ std::unique_ptr< QgsFeatureSink > sink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, dest, source->fields (),
697
+ sinkType, source->sourceCrs () ) );
698
698
if ( !sink )
699
699
return QVariantMap ();
700
700
@@ -775,20 +775,19 @@ QVariantMap QgsExtractByExpressionAlgorithm::processAlgorithm( const QVariantMap
775
775
QString expressionString = parameterAsExpression ( parameters, QStringLiteral ( " EXPRESSION" ), context );
776
776
777
777
QString matchingSinkId;
778
- std::unique_ptr< QgsFeatureSink > matchingSink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, source->fields (),
779
- source->wkbType (), source->sourceCrs (), matchingSinkId ) );
778
+ std::unique_ptr< QgsFeatureSink > matchingSink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, matchingSinkId, source->fields (),
779
+ source->wkbType (), source->sourceCrs () ) );
780
780
if ( !matchingSink )
781
781
return QVariantMap ();
782
782
783
783
QString nonMatchingSinkId;
784
- std::unique_ptr< QgsFeatureSink > nonMatchingSink ( parameterAsSink ( parameters, QStringLiteral ( " FAIL_OUTPUT" ), context, source->fields (),
785
- source->wkbType (), source->sourceCrs (), nonMatchingSinkId ) );
784
+ std::unique_ptr< QgsFeatureSink > nonMatchingSink ( parameterAsSink ( parameters, QStringLiteral ( " FAIL_OUTPUT" ), context, nonMatchingSinkId, source->fields (),
785
+ source->wkbType (), source->sourceCrs () ) );
786
786
787
787
QgsExpression expression ( expressionString );
788
788
if ( expression.hasParserError () )
789
789
{
790
- // raise GeoAlgorithmExecutionException(expression.parserErrorString())
791
- return QVariantMap ();
790
+ throw QgsProcessingException ( expression.parserErrorString () );
792
791
}
793
792
794
793
QgsExpressionContext expressionContext = createExpressionContext ( parameters, context );
@@ -904,14 +903,14 @@ QVariantMap QgsExtractByAttributeAlgorithm::processAlgorithm( const QVariantMap
904
903
QString value = parameterAsString ( parameters, QStringLiteral ( " VALUE" ), context );
905
904
906
905
QString matchingSinkId;
907
- std::unique_ptr< QgsFeatureSink > matchingSink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, source->fields (),
908
- source->wkbType (), source->sourceCrs (), matchingSinkId ) );
906
+ std::unique_ptr< QgsFeatureSink > matchingSink ( parameterAsSink ( parameters, QStringLiteral ( " OUTPUT" ), context, matchingSinkId, source->fields (),
907
+ source->wkbType (), source->sourceCrs () ) );
909
908
if ( !matchingSink )
910
909
return QVariantMap ();
911
910
912
911
QString nonMatchingSinkId;
913
- std::unique_ptr< QgsFeatureSink > nonMatchingSink ( parameterAsSink ( parameters, QStringLiteral ( " FAIL_OUTPUT" ), context, source->fields (),
914
- source->wkbType (), source->sourceCrs (), nonMatchingSinkId ) );
912
+ std::unique_ptr< QgsFeatureSink > nonMatchingSink ( parameterAsSink ( parameters, QStringLiteral ( " FAIL_OUTPUT" ), context, nonMatchingSinkId, source->fields (),
913
+ source->wkbType (), source->sourceCrs () ) );
915
914
916
915
917
916
int idx = source->fields ().lookupField ( fieldName );
0 commit comments