defect
(User-visible)
minor
#26041
In the context menu for a new grid line the command "Delete" is offered, crash on selection
com.top_logic.util.error.TopLogicException: Internal error
at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:214)
at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatch(CommandDispatcher.java:130)
at com.top_logic.mig.html.layout.CommandDispatcher.dispatchCommand(CommandDispatcher.java:123)
at com.top_logic.mig.html.layout.CommandDispatcher.lambda$0(CommandDispatcher.java:94)
at com.top_logic.layout.basic.DelegatingCommandModel.internalExecuteCommand(DelegatingCommandModel.java:51)
at com.top_logic.layout.basic.AbstractCommandModel.executeCommand(AbstractCommandModel.java:45)
at com.top_logic.layout.basic.CommandModelAdapter.executeCommand(CommandModelAdapter.java:47)
at com.top_logic.layout.messagebox.MessageBox$ClosingCommand.executeCommand(MessageBox.java:816)
at com.top_logic.layout.basic.ActivateCommand.execute(ActivateCommand.java:85)
at com.top_logic.layout.basic.AbstractControlBase.executeCommand(AbstractControlBase.java:888)
at com.top_logic.layout.basic.component.ControlSupport.executeCommand(ControlSupport.java:221)
at com.top_logic.layout.basic.component.ControlComponent$DispatchAction.handleCommand(ControlComponent.java:231)
at com.top_logic.tool.boundsec.CommandHandlerUtil.handleCommand(CommandHandlerUtil.java:27)
at com.top_logic.mig.html.layout.LayoutComponent.dispatchCommand(LayoutComponent.java:3441)
at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:192)
at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatch(CommandDispatcher.java:130)
at com.top_logic.mig.html.layout.CommandDispatcher.dispatchCommand(CommandDispatcher.java:123)
at com.top_logic.base.services.simpleajax.AJAXServlet.processRequest(AJAXServlet.java:638)
at com.top_logic.base.services.simpleajax.AJAXServlet.doPost(AJAXServlet.java:356)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at com.top_logic.util.TopLogicServlet.doService(TopLogicServlet.java:336)
at com.top_logic.util.TopLogicServlet.inContext(TopLogicServlet.java:193)
at com.top_logic.util.TopLogicServlet$1.inContext(TopLogicServlet.java:268)
at com.top_logic.util.TLContextManager.inInteractionInternal(TLContextManager.java:243)
at com.top_logic.util.TLContextManager.inInteraction(TLContextManager.java:219)
at com.top_logic.util.TopLogicServlet.enterContext(TopLogicServlet.java:263)
at com.top_logic.util.TopLogicServlet.service(TopLogicServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
Caused by: java.lang.UnsupportedOperationException
at com.top_logic.model.TransientObject.tHandle(TransientObject.java:22)
at com.top_logic.model.TLObject.tDelete(TLObject.java:181)
at com.top_logic.layout.component.GenericDeleteCommandHandler.deleteObject(GenericDeleteCommandHandler.java:145)
at com.top_logic.layout.component.GenericDeleteCommandHandler.inTransaction(GenericDeleteCommandHandler.java:103)
at com.top_logic.layout.component.GenericDeleteCommandHandler.withEditLock(GenericDeleteCommandHandler.java:92)
at com.top_logic.layout.component.GenericDeleteCommandHandler.tryExecute(GenericDeleteCommandHandler.java:80)
at com.top_logic.layout.component.GenericDeleteCommandHandler.handleCommand(GenericDeleteCommandHandler.java:72)
at com.top_logic.tool.boundsec.CommandHandlerUtil.handleCommand(CommandHandlerUtil.java:27)
at com.top_logic.mig.html.layout.LayoutComponent.dispatchCommand(LayoutComponent.java:3441)
at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:192)
... 64 more
Test
- Create a new app.
- Create a new Type A.
- Switch to Instance Admin.
- Create a new row; do not apply or save.
- Open the context menu on the new row.
- Expected behavior: The Delete button is not displayed, or is grayed out, or, when selected, displays a reasonable message instead of an UnsupportedOperationException with an InternalError.