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 QGS_MARK_ALGORITHM_SOURCE
91 const QString expression = parameterAsExpression( parameters, u
"CONDITION"_s, context );
92 if ( !expression.isEmpty() )
96 if ( exp.hasParserError() )
98 throw QgsProcessingException( QObject::tr(
"Error parsing condition expression: %1" ).arg( exp.parserErrorString() ) );
100 if ( !exp.evaluate( &expContext ).toBool() )
101 return QVariantMap();
104 const QString error = parameterAsString( parameters, u
"MESSAGE"_s, context );
113QString QgsRaiseWarningAlgorithm::name()
const
115 return u
"raisewarning"_s;
123QString QgsRaiseWarningAlgorithm::displayName()
const
125 return QObject::tr(
"Raise warning" );
128QStringList QgsRaiseWarningAlgorithm::tags()
const
130 return QObject::tr(
"abort,warn,error,cancel" ).split(
',' );
133QString QgsRaiseWarningAlgorithm::group()
const
135 return QObject::tr(
"Modeler tools" );
138QString QgsRaiseWarningAlgorithm::groupId()
const
140 return u
"modelertools"_s;
143QString QgsRaiseWarningAlgorithm::shortHelpString()
const
146 "This algorithm raises a warning message in the log.\n\n"
147 "The warning message can be customized, and optionally an expression based condition "
148 "can be specified. If an expression condition is used, then the warning will only "
149 "be logged if the expression result is true. A false result indicates that no warning "
154QString QgsRaiseWarningAlgorithm::shortDescription()
const
156 return QObject::tr(
"Raises an warning message." );
159QgsRaiseWarningAlgorithm *QgsRaiseWarningAlgorithm::createInstance()
const
161 return new QgsRaiseWarningAlgorithm();
164void QgsRaiseWarningAlgorithm::initAlgorithm(
const QVariantMap & )
172 const QString expression = parameterAsExpression( parameters, u
"CONDITION"_s, context );
173 if ( !expression.isEmpty() )
177 if ( exp.hasParserError() )
179 throw QgsProcessingException( QObject::tr(
"Error parsing condition expression: %1" ).arg( exp.parserErrorString() ) );
181 if ( !exp.evaluate( &expContext ).toBool() )
182 return QVariantMap();
185 const QString warning = parameterAsString( parameters, u
"MESSAGE"_s, context );
187 return QVariantMap();
195QString QgsRaiseMessageAlgorithm::name()
const
197 return u
"raisemessage"_s;
205QString QgsRaiseMessageAlgorithm::displayName()
const
207 return QObject::tr(
"Raise message" );
210QStringList QgsRaiseMessageAlgorithm::tags()
const
212 return QObject::tr(
"information" ).split(
',' );
215QString QgsRaiseMessageAlgorithm::group()
const
217 return QObject::tr(
"Modeler tools" );
220QString QgsRaiseMessageAlgorithm::groupId()
const
222 return u
"modelertools"_s;
225QString QgsRaiseMessageAlgorithm::shortHelpString()
const
228 "This algorithm raises an information message in the log.\n\n"
229 "The message can be customized, and optionally an expression based condition "
230 "can be specified. If an expression condition is used, then the message will only "
231 "be logged if the expression result is true. A false result indicates that no message "
236QString QgsRaiseMessageAlgorithm::shortDescription()
const
238 return QObject::tr(
"Raises an information message." );
241QgsRaiseMessageAlgorithm *QgsRaiseMessageAlgorithm::createInstance()
const
243 return new QgsRaiseMessageAlgorithm();
246void QgsRaiseMessageAlgorithm::initAlgorithm(
const QVariantMap & )
254 const QString expression = parameterAsExpression( parameters, u
"CONDITION"_s, context );
255 if ( !expression.isEmpty() )
259 if ( exp.hasParserError() )
261 throw QgsProcessingException( QObject::tr(
"Error parsing condition expression: %1" ).arg( exp.parserErrorString() ) );
263 if ( !exp.evaluate( &expContext ).toBool() )
264 return QVariantMap();
267 const QString info = parameterAsString( parameters, u
"MESSAGE"_s, context );
269 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.