Skip to content

Commit

Permalink
[doc] Contribute a shape to avoid invalid view dsl decriptions elements
Browse files Browse the repository at this point in the history
Bug: #2444
Signed-off-by: Michaël Charfadi <michael.charfadi@obeosoft.com>
  • Loading branch information
mcharfadi committed Oct 3, 2023
1 parent 5a5f58b commit 8a9eab4
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions doc/adrs/111_provide_only_valid_view_description_to_renderer.adoc
@@ -0,0 +1,37 @@
= ADR-000 - Adopt Architecture Decision Records

== Context

Some rendered components can have an invalid description. For example a reference widget component without a valid `Reference Name Expression`.

This can provoke unexpected results. We want to avoid converting view dsl elements to programmatic elements if they have an invalid description.

== Decision

Only the `sirius-components-view-emf` package will be impacted.

The class `ViewFormDescriptionConverterSwitch.java` will extends extends `FormSwitch<Optional<AbstractControlDescription>>` instead of `FormSwitch<AbstractControlDescription>`.

`IWidgetConverterProvider#getWidgetConverter` will change to :

`Switch<Optional<AbstractWidgetDescription>> getWidgetConverter(AQLInterpreter interpreter, IEditService editService, IObjectService objectService, IFeedbackMessageService feedbackMessageService)`;

from :

`Switch<AbstractWidgetDescription> getWidgetConverter(AQLInterpreter interpreter, IEditService editService, IObjectService objectService, IFeedbackMessageService feedbackMessageService)`;

`ReferenceWidgetDescriptionConverterSwitch#caseReferenceWidgetDescription` will return an empty optional if the widget description is invalid.


We will also log all invalid descriptions.

== Status

draft

== Consequences

This will change currently used API that will need to be documented.

== References

0 comments on commit 8a9eab4

Please sign in to comment.