diff --git a/doc/adrs/111_provide_only_valid_view_description_to_renderer.adoc b/doc/adrs/111_provide_only_valid_view_description_to_renderer.adoc new file mode 100644 index 0000000000..f6e80687e8 --- /dev/null +++ b/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>` instead of `FormSwitch`. + +`IWidgetConverterProvider#getWidgetConverter` will change to : + +`Switch> getWidgetConverter(AQLInterpreter interpreter, IEditService editService, IObjectService objectService, IFeedbackMessageService feedbackMessageService)`; + +from : + +`Switch 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 +