22using namespace Qt::StringLiterals;
30QString QgsRaiseExceptionAlgorithm::name()
const
32 return u
"raiseexception"_s;
40QString QgsRaiseExceptionAlgorithm::displayName()
const
42 return QObject::tr(
"Raise exception" );
45QStringList QgsRaiseExceptionAlgorithm::tags()
const
47 return QObject::tr(
"abort,warn,error,cancel" ).split(
',' );
50QString QgsRaiseExceptionAlgorithm::group()
const
52 return QObject::tr(
"Modeler tools" );
55QString QgsRaiseExceptionAlgorithm::groupId()
const
57 return u
"modelertools"_s;
60QString QgsRaiseExceptionAlgorithm::shortHelpString()
const
62 return QObject::tr(
"This algorithm raises an exception and cancels a model's execution.\n\n"
63 "The exception message can be customized, and optionally an expression based condition "
64 "can be specified. If an expression condition is used, then the exception will only "
65 "be raised if the expression result is true. A false result indicates that no exception "
66 "will be raised, and the model execution can continue uninterrupted." );
69QString QgsRaiseExceptionAlgorithm::shortDescription()
const
71 return QObject::tr(
"Raises an exception and cancels a model's execution." );
74QgsRaiseExceptionAlgorithm *QgsRaiseExceptionAlgorithm::createInstance()
const
76 return new QgsRaiseExceptionAlgorithm();
79void QgsRaiseExceptionAlgorithm::initAlgorithm(
const QVariantMap & )
87 const QString expression = parameterAsExpression( parameters, u
"CONDITION"_s, context );
88 if ( !expression.isEmpty() )
92 if ( exp.hasParserError() )
94 throw QgsProcessingException( QObject::tr(
"Error parsing condition expression: %1" ).arg( exp.parserErrorString() ) );
96 if ( !exp.evaluate( &expContext ).toBool() )
100 const QString error = parameterAsString( parameters, u
"MESSAGE"_s, context );
109QString QgsRaiseWarningAlgorithm::name()
const
111 return u
"raisewarning"_s;
119QString QgsRaiseWarningAlgorithm::displayName()
const
121 return QObject::tr(
"Raise warning" );
124QStringList QgsRaiseWarningAlgorithm::tags()
const
126 return QObject::tr(
"abort,warn,error,cancel" ).split(
',' );
129QString QgsRaiseWarningAlgorithm::group()
const
131 return QObject::tr(
"Modeler tools" );
134QString QgsRaiseWarningAlgorithm::groupId()
const
136 return u
"modelertools"_s;
139QString QgsRaiseWarningAlgorithm::shortHelpString()
const
141 return QObject::tr(
"This algorithm raises a warning message in the log.\n\n"
142 "The warning message can be customized, and optionally an expression based condition "
143 "can be specified. If an expression condition is used, then the warning will only "
144 "be logged if the expression result is true. A false result indicates that no warning "
148QString QgsRaiseWarningAlgorithm::shortDescription()
const
150 return QObject::tr(
"Raises an warning message." );
153QgsRaiseWarningAlgorithm *QgsRaiseWarningAlgorithm::createInstance()
const
155 return new QgsRaiseWarningAlgorithm();
158void QgsRaiseWarningAlgorithm::initAlgorithm(
const QVariantMap & )
166 const QString expression = parameterAsExpression( parameters, u
"CONDITION"_s, context );
167 if ( !expression.isEmpty() )
171 if ( exp.hasParserError() )
173 throw QgsProcessingException( QObject::tr(
"Error parsing condition expression: %1" ).arg( exp.parserErrorString() ) );
175 if ( !exp.evaluate( &expContext ).toBool() )
176 return QVariantMap();
179 const QString warning = parameterAsString( parameters, u
"MESSAGE"_s, context );
181 return QVariantMap();
189QString QgsRaiseMessageAlgorithm::name()
const
191 return u
"raisemessage"_s;
199QString QgsRaiseMessageAlgorithm::displayName()
const
201 return QObject::tr(
"Raise message" );
204QStringList QgsRaiseMessageAlgorithm::tags()
const
206 return QObject::tr(
"information" ).split(
',' );
209QString QgsRaiseMessageAlgorithm::group()
const
211 return QObject::tr(
"Modeler tools" );
214QString QgsRaiseMessageAlgorithm::groupId()
const
216 return u
"modelertools"_s;
219QString QgsRaiseMessageAlgorithm::shortHelpString()
const
221 return QObject::tr(
"This algorithm raises an information message in the log.\n\n"
222 "The message can be customized, and optionally an expression based condition "
223 "can be specified. If an expression condition is used, then the message will only "
224 "be logged if the expression result is true. A false result indicates that no message "
228QString QgsRaiseMessageAlgorithm::shortDescription()
const
230 return QObject::tr(
"Raises an information message." );
233QgsRaiseMessageAlgorithm *QgsRaiseMessageAlgorithm::createInstance()
const
235 return new QgsRaiseMessageAlgorithm();
238void QgsRaiseMessageAlgorithm::initAlgorithm(
const QVariantMap & )
246 const QString expression = parameterAsExpression( parameters, u
"CONDITION"_s, context );
247 if ( !expression.isEmpty() )
251 if ( exp.hasParserError() )
253 throw QgsProcessingException( QObject::tr(
"Error parsing condition expression: %1" ).arg( exp.parserErrorString() ) );
255 if ( !exp.evaluate( &expContext ).toBool() )
256 return QVariantMap();
259 const QString info = parameterAsString( parameters, u
"MESSAGE"_s, context );
261 return QVariantMap();
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
@ HideFromToolbox
Algorithm should be hidden from the toolbox.
@ SkipGenericModelLogging
When running as part of a model, the generic algorithm setup and results logging should be skipped.
@ CustomException
Algorithm raises custom exception notices, don't use the standard ones.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Handles parsing and evaluation of expressions (formerly called "search strings").
virtual Qgis::ProcessingAlgorithmFlags flags() const
Returns the flags indicating how and when the algorithm operates and should be exposed to users.
Contains information about the context in which a processing algorithm is executed.
Custom exception class for processing related exceptions.
Base class for providing feedback from a processing algorithm.
virtual void pushInfo(const QString &info)
Pushes a general informational message from the algorithm.
virtual void pushWarning(const QString &warning)
Pushes a warning informational message from the algorithm.
An expression parameter for processing algorithms.
A string parameter for processing algorithms.