Transkribus / TranskribusSwtGui

Note: the repo has been moved to https://gitlab.com/readcoop/Transkribus/TranskribusSwtGui
GNU General Public License v3.0
18 stars 4 forks source link

Session invalidation breaks search dialog #281

Closed jkloe closed 4 years ago

jkloe commented 5 years ago

When a session invalidates and you try to open the search dialog the following exception is thrown and the dialog never opens again:

java.lang.IllegalStateException: Could not retrieve file server details.
    at eu.transkribus.client.connection.TrpServerConn.newFImagestoreGetClient(TrpServerConn.java:294)
    at eu.transkribus.swt_gui.search.fulltext.FullTextSearchComposite.<init>(FullTextSearchComposite.java:145)
    at eu.transkribus.swt_gui.search.SearchDialog.createDialogArea(SearchDialog.java:98)
    at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:767)
    at org.eclipse.jface.window.Window.create(Window.java:426)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1095)
    at org.eclipse.jface.window.Window.open(Window.java:783)
    at eu.transkribus.swt_gui.mainwidget.TrpMainWidget.openSearchDialog(TrpMainWidget.java:4555)
    at eu.transkribus.swt_gui.mainwidget.TrpMainWidgetViewListener.lambda$addListener$22(TrpMainWidgetViewListener.java:141)
    at eu.transkribus.swt.util.SWTUtil$10.widgetSelected(SWTUtil.java:1699)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4145)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3958)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3561)
    at eu.transkribus.swt_gui.mainwidget.TrpMainWidget$15.run(TrpMainWidget.java:2816)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at eu.transkribus.swt_gui.mainwidget.TrpMainWidget.show(TrpMainWidget.java:2769)
    at eu.transkribus.swt_gui.mainwidget.TrpMainWidget.show(TrpMainWidget.java:2750)
    at eu.transkribus.swt_gui.mainwidget.TrpMainWidget.main(TrpMainWidget.java:3133)
Caused by: eu.transkribus.client.util.SessionExpiredException:  TrpUserLogin {42 - sebastian - Sebastian - Colutto - male - Abteilung für Digitalisierung - Fri Jul 05 14:40:29 CEST 2019 - Jersey/2.7 (HttpUrlConnection 1.8.0_161) - JSESSIONID=3E2C8E83AE5DD94929EF179F18E091DE - isAdmin=true}
    at eu.transkribus.client.connection.ATrpServerConn.checkStatus(ATrpServerConn.java:612)
    at eu.transkribus.client.connection.ATrpServerConn.getObject(ATrpServerConn.java:396)
    at eu.transkribus.client.connection.TrpServerConn.getFImagestoreConfig(TrpServerConn.java:278)
    at eu.transkribus.client.connection.TrpServerConn.newFImagestoreGetClient(TrpServerConn.java:292)
    ... 20 common frames omitted

Reason is that the FullTextSearchComposite tries to create a new FImagestoreGetClient, which fails if the connection is invalidated.