Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 4ad63b32 by tchemit at 2020-04-06T13:00:35+02:00 Fix NPE when reload ui callback - - - - - 1 changed file: - client-core/src/main/java/fr/ird/observe/client/main/callback/ReloadUiCallback.java Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/main/callback/ReloadUiCallback.java ===================================== @@ -27,6 +27,7 @@ import fr.ird.observe.client.ClientUIContext; import fr.ird.observe.client.configuration.ClientConfig; import fr.ird.observe.client.configuration.WithClientConfig; import fr.ird.observe.client.main.ObserveMainUI; +import fr.ird.observe.client.main.body.ClientConfigUI; import fr.ird.observe.client.main.body.NoBodyContentComponent; import io.ultreia.java4all.application.context.ApplicationContext; import org.nuiton.jaxx.runtime.swing.SwingUtil; @@ -71,44 +72,24 @@ public class ReloadUiCallback implements ObserveUICallback, WithClientConfig { // scan main ui -// ObserveSwingDataSource mainStorage = getObserveDataSourcesManager().getMainDataSource(); - //FIXME:BodyContent, cela doit être délégué au body content concerné Class<? extends JComponent> bodyContent = NoBodyContentComponent.class; if (ui != null) { + // Keep a reference on ui instance since it will be reset in close method + // FIXME Should use a closing state in application to improve this + ObserveMainUI ui = this.ui; bodyContent = ui.getMainUIBodyContentManager().getCurrentBodyType(); + if (ClientConfigUI.class.equals(bodyContent)) { + bodyContent = NoBodyContentComponent.class; + } ui.dispose(); - ui.setVisible(false); System.runFinalization(); } -// focusBorder = null; -// noFocusBorder = null; ui = clientUIContext.initUI(rootContext, config); - //FIXME:BodyContent : We must improve this, but for the moment, we could just open main ui empty... -// if (bodyContent == null) { -// if (mainStorage == null) { -// bodyContent = NoBodyContent.NoBodyContentComponent.class; -// } else { -// throw new IllegalStateException("Can't have a loaded database, but not loaded in gui..."); -// } -// } - ui.changeBodyContent(bodyContent); - //FIXME:BodyContent this will be done in data source editor body content -// if (oldMode == ObserveUIMode.DB) { -// -// // on met à jour le modèle de navigation -// NavigationTreeModel treeModel = ui.getNavigationUI().getTree().getModel(); -// treeModel.load(config); -// treeModel.populate(mainStorage); -// -// // selection du noeud d'ouverture -// ui.getNavigationUI().getTree().selectInitialNode(); -// } - // show ui clientUIContext.setMainUIVisible(ui, true); } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/4ad63b3274dea5ea4034d12dd1... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/4ad63b3274dea5ea4034d12dd1... You're receiving this email because of your account on gitlab.com.