enhancement
major
minor
major
minor
defect
At a minimum, LayoutStorage requires the SafeHTML service when parsing a layout whose configuration includes a format that, in turn, requires this service (e.g., tl:MacroFormat).
However, it may be better to declare the dependency in the DynamicComponentService.
Caused by: com.top_logic.basic.ConfigurationError: Invalid value '<h3 style="text-align:center">Export of {$model} from {now()}</h3>' for property 'header' (com.top_logic.layout.formeditor.export.pdf.DefaultPDFExportCommand$Config.getHeader()) at layout:com.top_logic.demo/technical/components/selectionComponent/detailsForm.layout.xml line 10 column 102: java.lang.IllegalStateException: com.top_logic.basic.html.SafeHTML module not started..
at com.top_logic.basic.config.ConfigurationErrorProtocol.createFailure(ConfigurationErrorProtocol.java:35)
at com.top_logic.basic.ImmediateFailureProtocol.fatal(ImmediateFailureProtocol.java:45)
at com.top_logic.basic.ImmediateFailureProtocol.error(ImmediateFailureProtocol.java:35)
at com.top_logic.basic.LogAdaptor.error(LogAdaptor.java:21)
...
at com.top_logic.mig.html.layout.LayoutStorage.fetchAvailableLayouts(LayoutStorage.java:1301)
at com.top_logic.mig.html.layout.LayoutStorage.loadLayoutsThemeRecursively(LayoutStorage.java:1216)
at com.top_logic.mig.html.layout.LayoutStorage.loadLayoutsThemeRecursively(LayoutStorage.java:1210)
at com.top_logic.mig.html.layout.LayoutStorage.loadLayoutsForDefaultTheme(LayoutStorage.java:1203)
at com.top_logic.mig.html.layout.LayoutStorage.fetchAvailableLayouts(LayoutStorage.java:1173)
at com.top_logic.mig.html.layout.LayoutStorage.initFilesystemCache(LayoutStorage.java:1162)
at com.top_logic.mig.html.layout.LayoutStorage.startUp(LayoutStorage.java:1156)
at com.top_logic.basic.module.ManagedClass.doStart(ManagedClass.java:134)
at com.top_logic.basic.module.BasicRuntimeModule.startUpImplementation(BasicRuntimeModule.java:205)
... 104 more
...
Caused by: java.lang.IllegalStateException: com.top_logic.basic.html.SafeHTML module not started.
at com.top_logic.basic.module.ModuleUtil.invalidStateNotStarted(ModuleUtil.java:1894)
at com.top_logic.basic.module.BasicRuntimeModule.getImplementationInstance(BasicRuntimeModule.java:86)
at com.top_logic.basic.html.SafeHTML.getInstance(SafeHTML.java:239)
at com.top_logic.model.search.expr.config.dom.ExprFactory.checkHtml(ExprFactory.java:1090)
at com.top_logic.model.search.expr.parser.SearchExpressionParser.html(SearchExpressionParser.java:706)
at com.top_logic.model.search.expr.config.MacroFormat.getValueNonEmpty(MacroFormat.java:95)
at com.top_logic.model.search.expr.config.MacroFormat.getValueNonEmpty(MacroFormat.java:34)
at com.top_logic.basic.config.AbstractConfigurationValueProvider.getValue(AbstractConfigurationValueProvider.java:31)
at com.top_logic.basic.config.ConfigurationReader$Handler.parseValue(ConfigurationReader.java:2250)
... 148 more
Test
No test—noticed during a build run. However, the problem seems to occur only occasionally.