Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 023def69 by Tony Chemit at 2021-09-27T11:49:33+02:00 La synchro simple de marées ne marche pas - See ultreiaio/ird-observe#2003 - - - - - 28457534 by Tony Chemit at 2021-09-27T11:49:33+02:00 force build - - - - - 0cb274a0 by Tony Chemit at 2021-09-27T11:49:33+02:00 Add FIXME (See #1999) - - - - - 62239db6 by Tony Chemit at 2021-09-27T14:00:57+02:00 L'UI Confirmation pour insérer les référentiels manquants ne rentre pas dans l'écran - Closes #2004 - - - - - b63a2a9d by Tony Chemit at 2021-09-27T14:56:14+02:00 update pom - - - - - 13 changed files: - client/datasource/actions/src/main/i18n/getters/java.getter - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/DataManager.java - client/datasource/editor/api/src/main/i18n/getters/java.getter - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/actions/ShowUsagesReferential.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/usage/UsageForDeleteUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/usage/UsageForDesactivateUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/usage/UsageForDisplayUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/usage/UsageUIHandlerSupport.java - pom.xml - services/api-test/src/main/java/fr/ird/observe/services/service/referential/ReferentialServiceFixtures.java - services/client-impl/pom.xml - − services/client-impl/src/main/java/fr/ird/observe/services/client/referential/ReferentialServiceClient.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocalSupport.java Changes: ===================================== client/datasource/actions/src/main/i18n/getters/java.getter ===================================== @@ -26,7 +26,6 @@ observe.ui.action.goto.previous.stage observe.ui.action.goto.previous.stage.tip observe.ui.action.info.storage.tip observe.ui.choice.cancel -observe.ui.choice.confirm.insert observe.ui.choice.replace observe.ui.datasource.actions.config.data.sources.equals observe.ui.datasource.editor.actions.consolidate @@ -47,7 +46,6 @@ observe.ui.datasource.editor.actions.data.export.result observe.ui.datasource.editor.actions.data.import.add.missing.referential observe.ui.datasource.editor.actions.data.import.add.missing.referential.for.type observe.ui.datasource.editor.actions.data.import.result -observe.ui.datasource.editor.actions.data.import.title.require.add.missing.referential observe.ui.datasource.editor.actions.exportData observe.ui.datasource.editor.actions.exportData.description observe.ui.datasource.editor.actions.exportData.message.not.possible ===================================== client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/DataManager.java ===================================== @@ -22,10 +22,9 @@ package fr.ird.observe.client.datasource.actions.actions; * #L% */ +import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.SetMultimap; -import fr.ird.observe.client.ClientUIContext; import fr.ird.observe.client.datasource.api.ObserveSwingDataSource; -import fr.ird.observe.client.datasource.editor.api.content.referential.usage.UsageForDisplayUI; import fr.ird.observe.client.datasource.editor.api.content.referential.usage.UsageForDisplayUIHandler; import fr.ird.observe.client.util.ProgressModel; import fr.ird.observe.dto.ToolkitIdLabel; @@ -40,6 +39,7 @@ import fr.ird.observe.services.service.referential.ReferentialService; import fr.ird.observe.spi.decoration.I18nDecoratorHelper; import fr.ird.observe.spi.referential.MissingReferentialRequest; import fr.ird.observe.spi.referential.MissingReferentialResult; +import fr.ird.observe.spi.referential.ReferentialIds; import io.ultreia.java4all.application.template.spi.GenerateTemplate; import io.ultreia.java4all.lang.Strings; import org.apache.commons.lang3.StringUtils; @@ -47,7 +47,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState; -import javax.swing.JOptionPane; import java.util.Collection; import java.util.Objects; import java.util.Set; @@ -57,7 +56,7 @@ import static io.ultreia.java4all.i18n.I18n.n; import static io.ultreia.java4all.i18n.I18n.t; /** - * Hi-level object to perform business data management (says: delete some trip, copy some trip) + * Hi-level object to perform business data management (says: delete some trip, copy some trip, insert missing referential, ...) * <p> * Created on 10/02/2021. * @@ -116,9 +115,13 @@ public class DataManager { public WizardState insertMissingReferential(Collection<String> idsToCopy) { progressModel.increments(); + //FIXME Review this code, if a referential synchro was just performed before + //FIXME We then have already resolved all ids that are only on incoming source + //FIXME From this ids, retains all that are in data to export (on incoming source) + //FIXME That's all, no need to call target source ReferentialService targetReferentialService = targetSource.getReferentialService(); - SetMultimap<Class<? extends ReferentialDto>, String> targetSourceReferential = targetReferentialService.getReferentialIds(); - MissingReferentialRequest missingReferentialRequest = MissingReferentialRequest.of(targetSourceReferential, idsToCopy.toArray(new String[0])); + ReferentialIds targetSourceReferential = targetReferentialService.getReferentialIds(); + MissingReferentialRequest missingReferentialRequest = MissingReferentialRequest.of(targetSourceReferential.getIds(), idsToCopy.toArray(new String[0])); MissingReferentialResult missingReferentialResult = incomingSource.getReferentialService().computeMissingReferential(missingReferentialRequest); progressModel.increments(); @@ -132,18 +135,9 @@ public class DataManager { SetMultimap<Class<? extends ReferentialDto>, ToolkitIdLabel> usages = incomingSource.getReferentialMap(missingReferentialResult.getMissingIds()); - UsageForDisplayUI usagesUI = UsageForDisplayUIHandler.showMissingReferential(getMessage(), usages); + boolean response = UsageForDisplayUIHandler.showMissingReferential(getMessage(), usages, getTargetSourceLabel()); - int response = ClientUIContext.askUser(null, - t("observe.ui.datasource.editor.actions.data.import.title.require.add.missing.referential", getTargetSourceLabel()), - usagesUI, - JOptionPane.WARNING_MESSAGE, - new Object[]{ - t("observe.ui.choice.confirm.insert"), - t("observe.ui.choice.cancel")}, - 0); - - if (response != 0) { + if (!response) { progressModel.increments(); return WizardState.CANCELED; } ===================================== client/datasource/editor/api/src/main/i18n/getters/java.getter ===================================== @@ -186,6 +186,7 @@ observe.ui.action.storage.applyAction observe.ui.choice.cancel observe.ui.choice.cancel.tip observe.ui.choice.confirm.delete +observe.ui.choice.confirm.insert observe.ui.choice.confirm.move observe.ui.choice.confirm.replace observe.ui.choice.continue @@ -208,6 +209,7 @@ observe.ui.datasource.avdth.import observe.ui.datasource.avdth.import.tip observe.ui.datasource.avdth.newImport observe.ui.datasource.avdth.newImport.tip +observe.ui.datasource.editor.actions.data.import.title.require.add.missing.referential observe.ui.datasource.editor.content.map.action.exportPng observe.ui.datasource.editor.content.map.action.exportPng.tip observe.ui.datasource.editor.content.map.action.zoomIt ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/actions/ShowUsagesReferential.java ===================================== @@ -22,14 +22,11 @@ package fr.ird.observe.client.datasource.editor.api.content.referential.actions; * #L% */ -import fr.ird.observe.client.ClientUIContext; import fr.ird.observe.client.datasource.editor.api.ObserveKeyStrokesEditorApi; import fr.ird.observe.client.datasource.editor.api.content.actions.ConfigureMenuAction; import fr.ird.observe.client.datasource.editor.api.content.referential.ContentReferentialUI; import fr.ird.observe.client.datasource.editor.api.content.referential.ContentReferentialUIModel; -import fr.ird.observe.client.datasource.editor.api.content.referential.usage.UsageForDisplayUI; import fr.ird.observe.client.datasource.editor.api.content.referential.usage.UsageForDisplayUIHandler; -import fr.ird.observe.client.util.UIHelper; import fr.ird.observe.dto.ToolkitIdLabel; import fr.ird.observe.dto.UsageCount; import fr.ird.observe.dto.reference.ReferentialDtoReference; @@ -37,8 +34,6 @@ import fr.ird.observe.dto.referential.ReferentialDto; import fr.ird.observe.dto.referential.ToolkitReferentialDtoBean; import fr.ird.observe.services.service.referential.UsageService; -import javax.swing.JOptionPane; -import java.awt.Dimension; import java.awt.event.ActionEvent; import static io.ultreia.java4all.i18n.I18n.t; @@ -72,18 +67,7 @@ public final class ShowUsagesReferential<D extends ReferentialDto, R extends Ref ToolkitIdLabel reference = bean.toLabel(); getDecoratorService().installToolkitIdLabelDecorator(request.getType(), reference); - UsageForDisplayUI usagesUI = UsageForDisplayUIHandler.showUsages(usageService, reference, request, usages); - - Object[] options = {t("observe.ui.choice.quit")}; - JOptionPane pane = new JOptionPane(usagesUI, JOptionPane.INFORMATION_MESSAGE, - JOptionPane.DEFAULT_OPTION, null, - options, options[0]); - - Dimension size = getMainUI().getPreferredSize(); - Dimension thisSize = new Dimension((int) size.getWidth() - 20, (int) size.getHeight() - 20); - pane.setPreferredSize(thisSize); - pane.putClientProperty(UIHelper.NO_PACK, true); - ClientUIContext.askUser(pane, t("observe.ui.title.show.usage"), options); + UsageForDisplayUIHandler.showUsages(usageService, reference, request, usages); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/usage/UsageForDeleteUIHandler.java ===================================== @@ -23,8 +23,6 @@ package fr.ird.observe.client.datasource.editor.api.content.referential.usage; */ import fr.ird.observe.client.ClientUIContext; -import fr.ird.observe.client.ClientUIContextApplicationComponent; -import fr.ird.observe.client.util.UIHelper; import fr.ird.observe.dto.BusinessDto; import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.ToolkitIdLabel; @@ -39,7 +37,6 @@ import org.apache.commons.lang3.tuple.Pair; import javax.swing.JLabel; import javax.swing.JOptionPane; -import java.awt.Dimension; import java.util.Collection; import java.util.List; @@ -81,10 +78,7 @@ public class UsageForDeleteUIHandler extends UsageUIHandlerSupport<UsageForDelet usagesUI.getHandler().attachToOptionPane(pane, replaceText); - Dimension size = ClientUIContextApplicationComponent.value().getMainUI().getPreferredSize(); - Dimension thisSize = new Dimension((int) size.getWidth() - 20, (int) size.getHeight() - 20); - pane.setPreferredSize(thisSize); - pane.putClientProperty(UIHelper.NO_PACK, true); + usagesUI.getHandler().setUISize(pane); int response = ClientUIContext.askUser(pane, t("observe.ui.title.can.not.delete.referentiel"), options); if (response == 0) { ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/usage/UsageForDesactivateUIHandler.java ===================================== @@ -23,8 +23,6 @@ package fr.ird.observe.client.datasource.editor.api.content.referential.usage; */ import fr.ird.observe.client.ClientUIContext; -import fr.ird.observe.client.ClientUIContextApplicationComponent; -import fr.ird.observe.client.util.UIHelper; import fr.ird.observe.dto.BusinessDto; import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.ToolkitIdLabel; @@ -41,7 +39,6 @@ import org.apache.logging.log4j.Logger; import javax.swing.JLabel; import javax.swing.JOptionPane; -import java.awt.Dimension; import java.util.Collection; import java.util.List; @@ -87,10 +84,7 @@ public class UsageForDesactivateUIHandler extends UsageUIHandlerSupport<UsageFor JOptionPane pane = new JOptionPane(usagesUI, JOptionPane.WARNING_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options, options[0]); usagesUI.getHandler().attachToOptionPane(pane, replaceText); - Dimension size = ClientUIContextApplicationComponent.value().getMainUI().getPreferredSize(); - Dimension thisSize = new Dimension((int) size.getWidth() - 20, (int) size.getHeight() - 20); - pane.setPreferredSize(thisSize); - pane.putClientProperty(UIHelper.NO_PACK, true); + usagesUI.getHandler().setUISize(pane); int response = ClientUIContext.askUser(pane, t("observe.ui.title.need.confirm.to.desactivate.referentiel"), options); log.debug("response : " + response); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/usage/UsageForDisplayUIHandler.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.client.datasource.editor.api.content.referential.usage; */ import com.google.common.collect.SetMultimap; +import fr.ird.observe.client.ClientUIContext; import fr.ird.observe.dto.BusinessDto; import fr.ird.observe.dto.ToolkitIdLabel; import fr.ird.observe.dto.UsageCount; @@ -34,6 +35,7 @@ import io.ultreia.java4all.jaxx.widgets.combobox.JaxxComboBox; import io.ultreia.java4all.util.SingletonSupplier; import javax.swing.JLabel; +import javax.swing.JOptionPane; import java.util.Collection; import static io.ultreia.java4all.i18n.I18n.t; @@ -46,10 +48,10 @@ import static io.ultreia.java4all.i18n.I18n.t; */ public class UsageForDisplayUIHandler extends UsageUIHandlerSupport<UsageForDisplayUI> { - public static UsageForDisplayUI showUsages(UsageService usageService, - ToolkitIdLabel reference, - ToolkitReferentialDtoBean request, - UsageCount usages) { + public static void showUsages(UsageService usageService, + ToolkitIdLabel reference, + ToolkitReferentialDtoBean request, + UsageCount usages) { //FIXME utiliser une template String type = I18nDecoratorHelper.getType(request.getType()); String message = t("observe.ui.message.show.usages", type, reference); @@ -64,10 +66,20 @@ public class UsageForDisplayUIHandler extends UsageUIHandlerSupport<UsageForDisp return SingletonSupplier.of(() -> usageService.find(request, dtoType)); } }; - return UsageForDisplayUI.build(message, getter); + UsageForDisplayUI usagesUI = UsageForDisplayUI.build(message, getter); + + Object[] options = {t("observe.ui.choice.quit")}; + JOptionPane pane = new JOptionPane(usagesUI, JOptionPane.INFORMATION_MESSAGE, + JOptionPane.DEFAULT_OPTION, null, + options, options[0]); + + usagesUI.getHandler().setUISize(pane); + ClientUIContext.askUser(pane, t("observe.ui.title.show.usage"), options); } - public static UsageForDisplayUI showMissingReferential(String message, SetMultimap<Class<? extends ReferentialDto>, ToolkitIdLabel> usages) { + public static boolean showMissingReferential(String message, + SetMultimap<Class<? extends ReferentialDto>, ToolkitIdLabel> usages, + String targetSourceLabel) { UsageCount count = new UsageCount(); for (Class<? extends ReferentialDto> dtoType : usages.keys()) { count.put(dtoType, (long) usages.get(dtoType).size()); @@ -84,7 +96,18 @@ public class UsageForDisplayUIHandler extends UsageUIHandlerSupport<UsageForDisp return SingletonSupplier.of(() -> usages.get((Class<? extends ReferentialDto>) dtoType)); } }; - return UsageForDisplayUI.build(message, getter); + UsageForDisplayUI usagesUI = UsageForDisplayUI.build(message, getter); + + String[] options = { + t("observe.ui.choice.confirm.insert"), + t("observe.ui.choice.cancel")}; + JOptionPane pane = new JOptionPane(usagesUI, JOptionPane.WARNING_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options, options[0]); + + usagesUI.getHandler().setUISize(pane); + String title = t("observe.ui.datasource.editor.actions.data.import.title.require.add.missing.referential", targetSourceLabel); + int response = ClientUIContext.askUser(pane, title, options); + return response == 0; + } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/usage/UsageUIHandlerSupport.java ===================================== @@ -22,8 +22,10 @@ package fr.ird.observe.client.datasource.editor.api.content.referential.usage; * #L% */ +import fr.ird.observe.client.ClientUIContextApplicationComponent; import fr.ird.observe.client.WithClientUIContext; import fr.ird.observe.client.util.DisabledItemSelectionModel; +import fr.ird.observe.client.util.UIHelper; import fr.ird.observe.dto.BusinessDto; import fr.ird.observe.dto.ToolkitIdLabel; import fr.ird.observe.dto.UsageCount; @@ -36,12 +38,14 @@ import org.nuiton.jaxx.runtime.spi.UIHandler; import javax.swing.ButtonGroup; import javax.swing.JButton; +import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JOptionPane; import javax.swing.JToggleButton; import java.awt.Component; import java.awt.Container; +import java.awt.Dimension; import java.util.Collection; import java.util.List; import java.util.Objects; @@ -97,6 +101,8 @@ public abstract class UsageUIHandlerSupport<U extends JAXXObject> implements UIH String message = ui.getContextValue(String.class); getMessage().setText(message); + Dimension preferredSize = getClientUIContext().getMainUI().getPreferredSize(); + ((JComponent) ui).setMaximumSize(preferredSize); UsagesGetter usagesGetter = Objects.requireNonNull(ui.getContextValue(UsagesGetter.class)); if (usagesGetter.isEmpty()) { @@ -146,6 +152,13 @@ public abstract class UsageUIHandlerSupport<U extends JAXXObject> implements UIH }); } + protected void setUISize(JOptionPane pane) { + Dimension size = ClientUIContextApplicationComponent.value().getMainUI().getPreferredSize(); + Dimension thisSize = new Dimension((int) size.getWidth() - 20, (int) size.getHeight() - 20); + pane.setPreferredSize(thisSize); + pane.putClientProperty(UIHelper.NO_PACK, true); + } + private <D extends BusinessDto> void buildUsagePanel(ButtonGroup buttonGroup, Class<D> dtoType, UsagesGetter usagesGetter) { long count = usagesGetter.getCount().get(dtoType); SingletonSupplier<Collection<ToolkitIdLabel>> factory = usagesGetter.getUsages(dtoType); ===================================== pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>io.ultreia.maven</groupId> <artifactId>pom</artifactId> - <version>2021.96</version> + <version>2021.98</version> </parent> <groupId>fr.ird.observe</groupId> @@ -161,7 +161,7 @@ <maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format> <buildDate>${maven.build.timestamp}</buildDate> -<!-- <lib.version.toolkit>5.0.44-SNAPSHOT</lib.version.toolkit>--> + <lib.version.toolkit>5.0.45-SNAPSHOT</lib.version.toolkit> <lib.version.ognl>3.1.29</lib.version.ognl> <!--can't use 1.4.197 (date has changed + blob also)--> @@ -172,8 +172,8 @@ <lib.version.graalvm>21.1.0</lib.version.graalvm> <!-- <lib.version.java4all.http>1.0.30</lib.version.java4all.http>--> - <!-- <lib.version.java4all.topia>1.47</lib.version.java4all.topia>--> - <!-- <lib.version.java4all.eugene>3.0-alpha-38</lib.version.java4all.eugene>--> +<!-- <lib.version.java4all.topia>1.52-SNAPSHOT</lib.version.java4all.topia>--> +<!-- <lib.version.java4all.eugene>3.0-alpha-42-SNAPSHOT</lib.version.java4all.eugene>--> <!-- <lib.version.java4all.jaxx>3.0.0-RC-8</lib.version.java4all.jaxx>--> <!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>--> <!--<lib.version.java4all.application-template>1.0.2-SNAPSHOT</lib.version.java4all.application-template>--> ===================================== services/api-test/src/main/java/fr/ird/observe/services/service/referential/ReferentialServiceFixtures.java ===================================== @@ -24,17 +24,16 @@ package fr.ird.observe.services.service.referential; import com.google.common.collect.LinkedHashMultimap; -import com.google.common.collect.SetMultimap; import fr.ird.observe.dto.ToolkitIdLabel; import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; -import fr.ird.observe.dto.referential.ReferentialDto; import fr.ird.observe.dto.referential.common.ProgramDto; import fr.ird.observe.dto.referential.common.ProgramReference; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.services.ObserveServicesProvider; import fr.ird.observe.spi.referential.MissingReferentialRequest; import fr.ird.observe.spi.referential.MissingReferentialResult; +import fr.ird.observe.spi.referential.ReferentialIds; import org.junit.Assert; import java.util.Collections; @@ -105,7 +104,7 @@ public class ReferentialServiceFixtures extends GeneratedReferentialServiceFixtu @Override public void getReferentialIds(ObserveServicesProvider servicesProvider, ReferentialService service) { - SetMultimap<Class<? extends ReferentialDto>, String> actual = service.getReferentialIds(); + ReferentialIds actual = service.getReferentialIds(); Assert.assertNotNull(actual); Assert.assertEquals(getIntegerProperty("getReferentialIds.count"), actual.keySet().size()); Assert.assertEquals(REFERENTIAL_COUNT, actual.size()); ===================================== services/client-impl/pom.xml ===================================== @@ -113,10 +113,6 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> ===================================== services/client-impl/src/main/java/fr/ird/observe/services/client/referential/ReferentialServiceClient.java deleted ===================================== @@ -1,44 +0,0 @@ -package fr.ird.observe.services.client.referential; - -/*- - * #%L - * ObServe Services :: Client implementation - * %% - * Copyright (C) 2008 - 2021 IRD, Code Lutin, Ultreia.io - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.collect.SetMultimap; -import com.google.gson.reflect.TypeToken; -import fr.ird.observe.dto.referential.ReferentialDto; -import org.apache.http.HttpStatus; - -import javax.annotation.Generated; -import java.util.concurrent.TimeUnit; - -@Generated(value = "io.ultreia.java4all.http.maven.plugin.GenerateHttpClientMojo", date = "Fri Sep 17 15:00:51 CEST 2021") -public class ReferentialServiceClient extends GeneratedReferentialServiceClient { - - //FIXME Generate this - @Override - public SetMultimap<Class<? extends ReferentialDto>, String> getReferentialIds() { - return executeRequest(create("getReferentialIds") - .addAuthToken() - .setTimeout(TimeUnit.MINUTES, 1) - .post(), HttpStatus.SC_OK).toJson(new TypeToken<SetMultimap<Class<? extends ReferentialDto>, String>>(){}.getType()); - } -} ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocalSupport.java ===================================== @@ -48,6 +48,7 @@ import fr.ird.observe.spi.module.ObserveBusinessProject; import fr.ird.observe.spi.referential.MissingReferentialIdsBuilder; import fr.ird.observe.spi.referential.MissingReferentialRequest; import fr.ird.observe.spi.referential.MissingReferentialResult; +import fr.ird.observe.spi.referential.ReferentialIds; import fr.ird.observe.spi.referential.sql.ReplaceSqlStatementGenerator; import fr.ird.observe.spi.referential.synchro.OneSideSqlRequest; import fr.ird.observe.spi.referential.synchro.OneSideSqlResult; @@ -244,14 +245,14 @@ class ReferentialServiceLocalSupport extends ObserveServiceLocal implements Refe } @Override - public SetMultimap<Class<? extends ReferentialDto>, String> getReferentialIds() { + public ReferentialIds getReferentialIds() { SetMultimap<Class<? extends ReferentialDto>, String> result = LinkedHashMultimap.create(); for (Class<? extends ReferentialDto> dtoType : ObserveBusinessProject.get().getReferentialTypes()) { ReferentialDtoEntityContext<?, ?, ?, ?> spi = ObservePersistenceBusinessProject.fromReferentialDto(dtoType); List<String> allIds = spi.getDao(getTopiaPersistenceContext()).findAllIds(); result.putAll(dtoType, allIds); } - return result; + return ReferentialIds.of(result); } @Override View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/359abaa9a5eb36a52516d7871... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/359abaa9a5eb36a52516d7871... You're receiving this email because of your account on gitlab.com.