Bugfix
If a parameter without a type is specified in the TL script functions that execute an OpenAPI call and the documentation for this function is viewed in the TL script console, a NullPointerException occurs:
Caused by: java.lang.NullPointerException at com.top_logic.service.openapi.client.registry.impl.MethodDefinitionDocumentation.getType(MethodDefinitionDocumentation.java:181) at com.top_logic.service.openapi.client.registry.impl.MethodDefinitionDocumentation.writeParameterType(MethodDefinitionDocumentation.java:168) at com.top_logic.service.openapi.client.registry.impl.MethodDefinitionDocumentation.writeParameter(MethodDefinitionDocumentation.java:134) at com.top_logic.service.openapi.client.registry.impl.MethodDefinitionDocumentation.writeParameters(MethodDefinitionDocumentation.java:125) at com.top_logic.service.openapi.client.registry.impl.MethodDefinitionDocumentation.write(MethodDefinitionDocumentation.java:60) at com.top_logic.service.openapi.client.registry.ServiceMethodRegistry.getDocumentation(ServiceMethodRegistry.java:342) at com.top_logic.service.openapi.client.registry.ServiceMethodRegistry$ServiceMethodResolver.getDocumentation(ServiceMethodRegistry.java:398) at com.top_logic.model.search.expr.config.SearchBuilder.getDocumentation(SearchBuilder.java:261) at com.top_logic.model.search.ui.TLScriptAutoCompletionCommand.getDocHTML(TLScriptAutoCompletionCommand.java:220) at com.top_logic.model.search.ui.TLScriptAutoCompletionCommand.createCodeCompletion(TLScriptAutoCompletionCommand.java:214) at com.top_logic.model.search.ui.TLScriptAutoCompletionCommand.lambda$createFunctionCompletionsInternal$6(TLScriptAutoCompletionCommand.java:203) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at com.top_logic.model.search.ui.TLScriptAutoCompletionCommand.createFunctionCompletionsInternal(TLScriptAutoCompletionCommand.java:204) at com.top_logic.model.search.ui.TLScriptAutoCompletionCommand.lambda$createFunctionCompletions$4(TLScriptAutoCompletionCommand.java:195) at java.base/java.util.Optional.map(Optional.java:265) at com.top_logic.model.search.ui.TLScriptAutoCompletionCommand.createFunctionCompletions(TLScriptAutoCompletionCommand.java:194) at com.top_logic.model.search.ui.TLScriptAutoCompletionCommand.createDefaultCompletion(TLScriptAutoCompletionCommand.java:135) at com.top_logic.model.search.ui.TLScriptAutoCompletionCommand.createCompletions(TLScriptAutoCompletionCommand.java:130) at com.top_logic.model.search.ui.TLScriptAutoCompletionCommand.execute(TLScriptAutoCompletionCommand.java:73) at com.top_logic.layout.basic.AbstractControlBase.executeCommand(AbstractControlBase.java:974) at com.top_logic.layout.basic.component.ControlSupport.executeCommand(ControlSupport.java:223) at com.top_logic.layout.basic.component.ControlComponent$DispatchAction.handleCommand(ControlComponent.java:233) at com.top_logic.tool.boundsec.CommandHandlerUtil.handleCommand(CommandHandlerUtil.java:32) at com.top_logic.mig.html.layout.LayoutComponent.dispatchCommand(LayoutComponent.java:3046) at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:194) ... 51 more
Test
Create a TL-Script function that makes an OpenAPI call, define a parameter without type and look at the documentation of this function in the TL-Script console. There must be no errors.