Skip to content

Overview

Concepts and Principles

Development

Overview

IDEs

API Explorer

Releases

Release Notes

TORO Integrate

Coder Studio

Coder Cloud

Bug Reports

Search

Validation and Quick Fixes

The Gloop Service editor has a validation system which validates the configuration and content of each steps to prevent undetected errors to occur during runtime. A Gloop Service is validated when it is opened in the Gloop Service editor and when changes are made.

All the problems detected are reported back in the editor, there is two level of severity Warning and Error. A Warning problem will not cause a runtime error but points out unsafe logic or bad practice, an Error problem on the other hand will cause a runtime error when the Gloop Service is executed. Each problem is displayed at the side of the problematic step in the ruler of the editor, hovering the icon shows a tooltip containing the problem description.

Problem in Child Step

If a step containing other steps, like the Block Step, contains children steps with problems a grayed icon is displayed next to it, when hovered it shows a summary of all the problems under that step.

Gloop Service Editor Validation Ruler

All problems of all the opened Gloop Service editor are summarized in the Problem View. If the Problem View is not visible go to the application menu Window>Show View>Problem View.

Problem View

The validation system can detect dozens of problems, for most of them a Quick Fix is provided. A Quick Fix is a short action to be executed in order to get rid of the problem.

To use a Quick Fix

  1. Right click the problem in the ruler, or press ^1 or ⌘1, a popup will appear
  2. If the step has more than one problem, choose which problem to fix.
  3. Choose which Quick Fix to apply, some problems can have more than one Quick Fix
  4. Some Quick Fixes require certain inputs like entering a value

Once the Quick Fix is applied the problem should disappear.

Below is a demonstration of some of the available validation and Quick Fixes.

Gloop Service Editor Quick Fixes

Content Assist + Quick Fix

Content Assist and Quick Fix works really well together and can be combined to write Gloop Services faster.

Gloop Service Editor Content Assist and Quick Fix

Current list of validation problem and their quick fixes:

  • Invalid Map line or Set Expression, maps or sets a property that does not exist.

    Severity: Error

    Quick Fixes:

    • Reassign Map line or Set Expression
    • Delete Map line or Set Expression
  • Invalid Iterate or While Step input or output array, the input or output array does not exist.

    Severity: Error

    Quick Fixes:

    • Set input or output array
    • Clear input or output array of the step
  • Invalid declared property, a property is declared on a model that does not exist.

    Severity: Error

    Quick Fixes:

    • Delete declared property
  • Invalid unload property, a property that does not exist is unloaded.

    Severity: Error

    Quick Fixes:

    • Delete unload
  • Invalid unevaluated While Step expression, unevaluated While Step expression must be an integer.

    Severity: Error

    Quick Fixes:

    • Edit expression
  • Empty While Step expression

    Severity: Warning

    Quick Fixes:

    • Edit expression
  • Empty Fork Step expression

    Severity: Warning

    Quick Fixes:

    • Edit expression
  • Invalid Break Step expression, unevaluated expression must be one of the labels above the step or a proper Gloop special word, for example $gloopIterate must be used within a Iterate Step.

    Severity: Error

    Quick Fixes:

    • Edit expression
  • Empty step label of Fork Step child, all the steps contained in a Fork Step must have a label.

    Severity: Warning

    Quick Fixes:

    • Edit step label
  • Duplicated step label, steps within the same parent step should have a unique label.

    Severity: Warning

    Quick Fixes:

    • Edit step label
  • Invalid asynchronous Invoke Step, asynchronous Invoke Step should have no output Map lines or Set Expression, declared property or unload property.

    Severity: Warning

    Quick Fixes:

    • Make Invoke Step synchronous
  • Unhandled Invoke Code Step exception, some Invoke Code Steps throw exception, they should be dealt with in a try block.

    Severity: Warning

    Quick Fixes:

    • Wrap step in a try/catch and log error message
    • Wrap step in a try/catch, log error exception and write message
    • Wrap step in a try/catch
    • Wrap step in try/catch/finally
    • Wrap step in try/finally
  • Invalid unevaluated Set Expression, an unevaluated expression assigned on a property should have the right type, for example the Set Expression on a GloopInteger should be a number.

    Severity: Error

    Quick Fixes:

    • Edit Set Expression
  • Unmapped non nullable Invoke Step input property, some Invoke Step have input properties that marked as Allow Null = false, these properties should be either mapped to or have a Set Expression.

    Severity: Error

    Quick Fixes:

    • Map a property
    • Add a Set Expression