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
63 "This algorithm raises an exception and cancels a model's execution.\n\n"
64 "The exception message can be customized, and optionally an expression based condition "
65 "can be specified. If an expression condition is used, then the exception will only "
66 "be raised if the expression result is true. A false result indicates that no exception "
67 "will be raised, and the model execution can continue uninterrupted."
71QString QgsRaiseExceptionAlgorithm::shortDescription()
const
73 return QObject::tr(
"Raises an exception and cancels a model's execution." );
76QgsRaiseExceptionAlgorithm *QgsRaiseExceptionAlgorithm::createInstance()
const
78 return new QgsRaiseExceptionAlgorithm();
81void QgsRaiseExceptionAlgorithm::initAlgorithm(
const QVariantMap & )
89 const QString expression = parameterAsExpression( parameters, u
"CONDITION"_s, context );
90 if ( !expression.isEmpty() )
94 if ( exp.hasParserError() )
96 throw QgsProcessingException( QObject::tr(
"Error parsing condition expression: %1" ).arg( exp.parserErrorString() ) );
98 if ( !exp.evaluate( &expContext ).toBool() )
102 const QString error = parameterAsString( parameters, u
"MESSAGE"_s, context );
111QString QgsRaiseWarningAlgorithm::name()
const
113 return u
"raisewarning"_s;
121QString QgsRaiseWarningAlgorithm::displayName()
const
123 return QObject::tr(
"Raise warning" );
126QStringList QgsRaiseWarningAlgorithm::tags()
const
128 return QObject::tr(
"abort,warn,error,cancel" ).split(
',' );
131QString QgsRaiseWarningAlgorithm::group()
const
133 return QObject::tr(
"Modeler tools" );
136QString QgsRaiseWarningAlgorithm::groupId()
const
138 return u
"modelertools"_s;
141QString QgsRaiseWarningAlgorithm::shortHelpString()
const
144 "This algorithm raises a warning message in the log.\n\n"
145 "The warning message can be customized, and optionally an expression based condition "
146 "can be specified. If an expression condition is used, then the warning will only "
147 "be logged if the expression result is true. A false result indicates that no warning "
152QString QgsRaiseWarningAlgorithm::shortDescription()
const
154 return QObject::tr(
"Raises an warning message." );
157QgsRaiseWarningAlgorithm *QgsRaiseWarningAlgorithm::createInstance()
const
159 return new QgsRaiseWarningAlgorithm();
162void QgsRaiseWarningAlgorithm::initAlgorithm(
const QVariantMap & )
170 const QString expression = parameterAsExpression( parameters, u
"CONDITION"_s, context );
171 if ( !expression.isEmpty() )
175 if ( exp.hasParserError() )
177 throw QgsProcessingException( QObject::tr(
"Error parsing condition expression: %1" ).arg( exp.parserErrorString() ) );
179 if ( !exp.evaluate( &expContext ).toBool() )
180 return QVariantMap();
183 const QString warning = parameterAsString( parameters, u
"MESSAGE"_s, context );
185 return QVariantMap();
193QString QgsRaiseMessageAlgorithm::name()
const
195 return u
"raisemessage"_s;
203QString QgsRaiseMessageAlgorithm::displayName()
const
205 return QObject::tr(
"Raise message" );
208QStringList QgsRaiseMessageAlgorithm::tags()
const
210 return QObject::tr(
"information" ).split(
',' );
213QString QgsRaiseMessageAlgorithm::group()
const
215 return QObject::tr(
"Modeler tools" );
218QString QgsRaiseMessageAlgorithm::groupId()
const
220 return u
"modelertools"_s;
223QString QgsRaiseMessageAlgorithm::shortHelpString()
const
226 "This algorithm raises an information message in the log.\n\n"
227 "The message can be customized, and optionally an expression based condition "
228 "can be specified. If an expression condition is used, then the message will only "
229 "be logged if the expression result is true. A false result indicates that no message "
234QString QgsRaiseMessageAlgorithm::shortDescription()
const
236 return QObject::tr(
"Raises an information message." );
239QgsRaiseMessageAlgorithm *QgsRaiseMessageAlgorithm::createInstance()
const
241 return new QgsRaiseMessageAlgorithm();
244void QgsRaiseMessageAlgorithm::initAlgorithm(
const QVariantMap & )
252 const QString expression = parameterAsExpression( parameters, u
"CONDITION"_s, context );
253 if ( !expression.isEmpty() )
257 if ( exp.hasParserError() )
259 throw QgsProcessingException( QObject::tr(
"Error parsing condition expression: %1" ).arg( exp.parserErrorString() ) );
261 if ( !exp.evaluate( &expContext ).toBool() )
262 return QVariantMap();
265 const QString info = parameterAsString( parameters, u
"MESSAGE"_s, context );
267 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.