Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 4e4b90da by Tony Chemit at 2022-02-09T10:37:51+01:00 fix some JTree action init issue + improve DataSynchroUI - - - - - 11b1732c by Tony Chemit at 2022-02-09T10:58:24+01:00 fix avdth program universe - - - - - 0ac6cf2b by Tony Chemit at 2022-02-09T10:58:54+01:00 FIXME Remove ObserveSwingDataSource service cache - See if it is better - - - - - 4 changed files: - client/core/src/main/java/fr/ird/observe/client/datasource/api/ObserveSwingDataSource.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorBodyContent.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/avdth/ImportDialogModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIInitializer.java Changes: ===================================== client/core/src/main/java/fr/ird/observe/client/datasource/api/ObserveSwingDataSource.java ===================================== @@ -90,7 +90,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Collections; import java.util.Date; -import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Objects; @@ -106,7 +105,7 @@ import static io.ultreia.java4all.i18n.I18n.t; */ @GenerateJavaBeanDefinition @GenerateTemplate(template = "ObserveSwingDataSource.ftl") -public class ObserveSwingDataSource extends AbstractJavaBean implements ObserveServicesProvider ,ObserveDataSourceConfigurationAndConnection, WithClientUIContextApi, WithPermission { +public class ObserveSwingDataSource extends AbstractJavaBean implements ObserveServicesProvider, ObserveDataSourceConfigurationAndConnection, WithClientUIContextApi, WithPermission { private static final Logger log = LogManager.getLogger(ObserveSwingDataSource.class); @@ -117,9 +116,9 @@ public class ObserveSwingDataSource extends AbstractJavaBean implements ObserveS private final DataSourceReferenceProvider referenceProvider; private final DecoratorService decoratorService; private final Icon icon; - private final Map<Class<?>, ObserveService> cache; + private final ObserveServicesProviderImpl servicesProvider; + // private final Map<Class<?>, ObserveService> cache; private ProgressionModel progressModel; -private final ObserveServicesProviderImpl servicesProvider; // connexion expired, but data source not closed private boolean expired; // at least one commit was performed on this data source @@ -157,7 +156,7 @@ private final ObserveServicesProviderImpl servicesProvider; this.expired = false; this.icon = configuration.getConnectMode().getIcon(); //FIXME Not sure a cache here is good, any leak inside a service will stay here... - this.cache = new HashMap<>(); +// this.cache = new HashMap<>(); setProgressModel(new ProgressionModel()); this.servicesProvider = new ObserveServicesProviderImpl(serviceFactory, this::createServiceInitializer); } @@ -184,12 +183,13 @@ private final ObserveServicesProviderImpl servicesProvider; @Override public <S extends ObserveService> S getService(Class<S> serviceType) { - @SuppressWarnings("unchecked") S result = (S) cache.get(serviceType); - if (result == null) { - result = servicesProvider.getService(serviceType); - cache.put(serviceType, result); - } - return result; +// @SuppressWarnings("unchecked") S result = (S) cache.get(serviceType); +// if (result == null) { +// result = servicesProvider.getService(serviceType); +// cache.put(serviceType, result); +// } +// return result; + return servicesProvider.getService(serviceType); } protected ObserveServiceInitializer createServiceInitializer() { @@ -277,7 +277,7 @@ private final ObserveServicesProviderImpl servicesProvider; dataSourceService.close(); } } finally { - cache.clear(); +// cache.clear(); ObserveUtil.cleanMemory(); setConnection(null); expired = false; ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorBodyContent.java ===================================== @@ -216,7 +216,6 @@ public class DataSourceEditorBodyContent extends MainUIBodyContent<DataSourceEdi } catch (Exception e) { mainUI.removeBodyContent(); throw e; -// UIHelper.handlingError(e); } } @@ -235,7 +234,6 @@ public class DataSourceEditorBodyContent extends MainUIBodyContent<DataSourceEdi public void doImportAvdth() { if (isAlive()) { ImportAvdthFile action = (ImportAvdthFile) get().getNavigationUI().getImportAvdthFile().getAction(); -// ImportAvdthFileAction action = (ImportAvdthFileAction) editorMenu.getImportAvdthFile().getAction(); action.run(); } } @@ -243,15 +241,13 @@ public class DataSourceEditorBodyContent extends MainUIBodyContent<DataSourceEdi public void doCloseStorage() { if (isAlive()) { CloseStorage action = (CloseStorage) get().getNavigationUI().getCloseStorage().getAction(); -// CloseStorageAction action = (CloseStorageAction) editorMenu.getCloseStorage().getAction(); action.run(); } } public void doReloadStorage() { if (isAlive()) { - ReloadStorage action = (ReloadStorage) get().getNavigationUI().getCloseStorage().getAction(); -// ReloadStorageAction action = (ReloadStorageAction) editorMenu.getReloadStorage().getAction(); + ReloadStorage action = (ReloadStorage) get().getNavigationUI().getReloadStorage().getAction(); action.run(); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/avdth/ImportDialogModel.java ===================================== @@ -45,6 +45,7 @@ import java.nio.file.Path; import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * Created on 12/06/2021. @@ -126,7 +127,8 @@ public class ImportDialogModel extends AbstractJavaBean { public static ImportDialogModel create(WithClientUIContextApi clientUIContext) { ObserveSwingDataSource dataSource = clientUIContext.getDataSourcesManager().getMainDataSource(); - List<ProgramReference> programs = dataSource.getReferenceProvider().getReferentialReferences(ProgramReference.class).toList(); + // get only program for logbook + List<ProgramReference> programs = dataSource.getReferenceProvider().getReferentialReferences(ProgramReference.class).stream().filter(ProgramReference::isLogbook).collect(Collectors.toList()); List<OceanReference> oceans = dataSource.getReferenceProvider().getReferentialReferences(OceanReference.class).toArrayList(); ClientConfig clientConfig = clientUIContext.getClientConfig(); Path temporaryDirectory = clientConfig.getTemporaryDirectory().toPath(); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIInitializer.java ===================================== @@ -88,7 +88,6 @@ class NavigationUIInitializer extends UIInitializerSupport<NavigationUI, UIIniti protected void init(NavigationTree editor) { initializerContext.checkFirstPass(); - UIInitHelper.init(editor); editor.setFont(editor.getFont().deriveFont(11f)); editor.setCellRenderer(new NavigationTreeCellRenderer()); NavigationUI ui = initializerContext.getUi(); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/d6f3df6d57baaf3cc26111851... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/d6f3df6d57baaf3cc26111851... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT (@tchemit)