mailman.cloud.codelutin.com
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Observe-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2013 -----
  • December
  • November
  • October
  • September
observe-commits@list.forge.codelutin.com

  • 7199 discussions
[Git][ultreiaio/ird-observe][develop-7.x] [UI] Correction des libellés des tables de référence du schéma observe.longline dans Observe
by Tony CHEMIT 05 Aug '20

05 Aug '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 2ead6b27 by Tony Chemit at 2020-08-05T16:18:40+02:00 [UI] Correction des libellés des tables de référence du schéma observe.longline dans Observe - See #1584 - - - - - 22 changed files: - client-core/src/main/java/fr/ird/observe/client/db/ObserveSwingDataSource.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminTabUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ContentReferenceUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDeleteUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDeleteUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDesactivateUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDesactivateUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDisplayUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDisplayUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageUIHandlerSupport.java - client-core/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/referential/ReferentialNavigationTreeNode.java - client-core/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/referential/ReferentialsNavigationTreeNodeSupport.java - client-core/src/main/java/fr/ird/observe/client/ui/tree/selection/nodes/ReferentialsSelectionTreeNode.java - common-dto/src/main/java/fr/ird/observe/dto/decoration/I18nDecoratorHelper.java - common-dto/src/main/java/fr/ird/observe/spi/map/ImmutableSetMap.java - dto/src/main/i18n/getters/eugene.getter - observe-i18n/src/main/i18n/translations/observe_en_GB.properties - observe-i18n/src/main/i18n/translations/observe_es_ES.properties - observe-i18n/src/main/i18n/translations/observe_fr_FR.properties - templates/src/main/java/fr/ird/observe/toolkit/eugene/templates/DtoReferenceTransformer.java Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/db/ObserveSwingDataSource.java ===================================== @@ -552,12 +552,11 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return ObserveServiceMainFactory.get().newService(observeServiceInitializer, serviceType); } - public ImmutableSetDtoMap<ReferentialDtoReference> getReferentialMap(ImmutableSetStringMap referentialIds) { - - ImmutableSetDtoMap.Builder<ReferentialDtoReference> result = ImmutableSetDtoMap.builder(); - for (Class<? extends ReferentialDtoReference> dtoType : referentialIds.referentialReferenceTypes()) { + public ImmutableSetDtoMap<ReferentialDtoReference<?, ?>> getReferentialMap(ImmutableSetStringMap referentialIds) { + ImmutableSetDtoMap.Builder<ReferentialDtoReference<?, ?>> result = ImmutableSetDtoMap.builder(); + for (Class<? extends ReferentialDtoReference<?, ?>> dtoType : referentialIds.referentialReferenceTypes()) { Set<String> ids = referentialIds.get(dtoType); - Set<ReferentialDtoReference> references = getReferentialReferenceSet(dtoType).toSet().stream() + Set<ReferentialDtoReference<?, ?>> references = getReferentialReferenceSet(dtoType).toSet().stream() .filter(r -> ids.contains(r.getId())) .collect(Collectors.toSet()); result.put(dtoType, references); ===================================== client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminTabUIHandler.java ===================================== @@ -284,8 +284,8 @@ public class AdminTabUIHandler<U extends AdminTabUI> { String message = t("observe.message.show.usage.for.missingReferentials2", centralSourceLabel, targetSourceLabel); - ImmutableSetDtoMap<ReferentialDtoReference> usages = centralSource.getReferentialMap(missingReferentialResult.getMissingIds()); - UsageForDisplayUI usagesUI = UsageForDisplayUI.build(message, usages); + ImmutableSetDtoMap<ReferentialDtoReference<?,?>> usages = centralSource.getReferentialMap(missingReferentialResult.getMissingIds()); + UsageForDisplayUI<?> usagesUI = UsageForDisplayUI.build(message, usages); int response = UIHelper.askUser(null, t("observe.title.can.not.export.data2", targetSourceLabel), @@ -302,12 +302,12 @@ public class AdminTabUIHandler<U extends AdminTabUI> { log.info(String.format("Base «%s» - Insertion des référentiels manquants.", targetSourceLabel)); - for (Class<? extends ReferentialDtoReference> key : usages.referentialReferenceTypes()) { - Set<? extends ReferentialDtoReference> references = usages.get(key); - String type = t(ObserveI18nDecoratorHelper.getTypePluralI18nKey(key)); + for (Class<? extends ReferentialDtoReference<?,?>> key : usages.referentialReferenceTypes()) { + Set<? extends ReferentialDtoReference<?,?>> references = usages.get(key); + String type = t(ObserveI18nDecoratorHelper.getTypeI18nKey(key)); sendMessage(t("observe.actions.exportData.message.add.missing.referentials2", targetSourceLabel, references.size(), type)); - Decorator decorator = decoratorService.getReferenceDecorator(key); - for (DtoReference reference : references) { + Decorator<?> decorator = decoratorService.getReferenceDecorator(key); + for (DtoReference<?,?> reference : references) { sendMessage(t("observe.actions.exportData.message.add.missing.referential", decorator.toString(reference))); } } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ContentReferenceUI.jaxx ===================================== @@ -19,8 +19,8 @@ --> <fr.ird.observe.client.ui.content.ContentUI abstract='true' superGenericType='E, U' - title="{pluralTypeI18nKey}" - contentTitle='{t("observe.type.management", pluralTypeI18nKey)}' + title="{typeI18nKey}" + contentTitle='{t("observe.type.management", typeI18nKey)}' genericType='E extends ReferentialDto, R extends ReferentialDtoReference&lt;E, R&gt;, U extends ContentReferenceUI&lt;E, R, U&gt;'> <import> @@ -57,11 +57,9 @@ static io.ultreia.java4all.i18n.I18n.t </import> - <java.lang.String id='pluralTypeI18nKey' - initializer='t(ObserveI18nDecoratorHelper.getTypePluralI18nKey(bean.getClass()))'/> <java.lang.String id='typeI18nKey' initializer='t(ObserveI18nDecoratorHelper.getTypeI18nKey(bean.getClass()))'/> - <java.lang.String id='listText' initializer='t("observe.type.list", pluralTypeI18nKey)'/> + <java.lang.String id='listText' initializer='t("observe.type.list", typeI18nKey)'/> <java.lang.String id='createToolTip' initializer='t("observe.type.action.create", typeI18nKey)'/> <java.lang.String id='detailToolTip' initializer='t("observe.type.action.view", typeI18nKey)'/> <java.lang.String id='modifyToolTip' initializer='t("observe.type.action.edit", typeI18nKey)'/> ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIHandler.java ===================================== @@ -92,7 +92,7 @@ public class ReferenceHomeUIHandler extends ContentUIHandler<ProgramDto, Referen for (Class<? extends ReferentialDto> type : ui.getModel().getTypes()) { - String text = t(ObserveI18nDecoratorHelper.getTypePluralI18nKey(type)); + String text = t(ObserveI18nDecoratorHelper.getTypeI18nKey(type)); JButton button = new JButton(text); button.addActionListener(e -> navigation.selectSafeNode(referentialNode.findChildByClass(type))); panel.add(button); ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIModel.java ===================================== @@ -68,7 +68,7 @@ public abstract class ReferenceHomeUIModel extends ContentUIModel<ProgramDto> { protected ReferenceHomeUIModel(List<Class<? extends ReferentialDto>> types, String nodeName) { super(ProgramDto.class); - this.types = ImmutableList.copyOf(ObserveI18nDecoratorHelper.sortPluralTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())); + this.types = ImmutableList.copyOf(ObserveI18nDecoratorHelper.sortTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())); this.nodeName = nodeName; } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDeleteUI.jaxx ===================================== @@ -21,7 +21,7 @@ <!-- Interface graphique pour afficher la liste des usages d'une entitee donnee. --> -<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference"> +<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference&lt; ?, R&gt;"> <import> @@ -37,7 +37,7 @@ Interface graphique pour afficher la liste des usages d'une entitee donnee. <script><![CDATA[ -public static <R extends ReferentialDtoReference> UsageForDeleteUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages, List references) { +public static <R extends ReferentialDtoReference<?, R>> UsageForDeleteUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages, List references) { return new UsageForDeleteUI<>(new JAXXInitialContext().add(message).add(usages).add(references)); } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDeleteUIHandler.java ===================================== @@ -36,7 +36,7 @@ import javax.swing.JPanel; * @author Tony Chemit - dev(a)tchemit.fr * @since 5.1 */ -public class UsageForDeleteUIHandler<R extends ReferentialDtoReference> extends UsageUIHandlerSupport<R, UsageForDeleteUI<R>> { +public class UsageForDeleteUIHandler<R extends ReferentialDtoReference<?, R>> extends UsageUIHandlerSupport<R, UsageForDeleteUI<R>> { @Override protected JLabel getMessage() { ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDesactivateUI.jaxx ===================================== @@ -21,7 +21,7 @@ <!-- Interface graphique pour afficher la liste des usages d'une entitee donnee. --> -<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference"> +<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference&lt; ?, R&gt;"> <import> fr.ird.observe.dto.reference.DtoReference @@ -37,7 +37,7 @@ Interface graphique pour afficher la liste des usages d'une entitee donnee. <script><![CDATA[ -public static <R extends ReferentialDtoReference> UsageForDesactivateUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages, List references) { +public static <R extends ReferentialDtoReference<?, R>> UsageForDesactivateUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages, List references) { return new UsageForDesactivateUI<>(new JAXXInitialContext().add(message).add(usages).add(references)); } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDesactivateUIHandler.java ===================================== @@ -36,7 +36,7 @@ import javax.swing.JPanel; * @author Tony Chemit - dev(a)tchemit.fr * @since 5.1 */ -public class UsageForDesactivateUIHandler<R extends ReferentialDtoReference> extends UsageUIHandlerSupport<R, UsageForDesactivateUI<R>> { +public class UsageForDesactivateUIHandler<R extends ReferentialDtoReference<?, R>> extends UsageUIHandlerSupport<R, UsageForDesactivateUI<R>> { @Override protected JLabel getMessage() { ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDisplayUI.jaxx ===================================== @@ -21,7 +21,7 @@ <!-- Interface graphique pour afficher la liste des usages d'une entitee donnee. --> -<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference"> +<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference&lt; ?, R&gt;"> <import> @@ -35,7 +35,7 @@ Interface graphique pour afficher la liste des usages d'une entitee donnee. <script><![CDATA[ -public static <R extends ReferentialDtoReference> UsageForDisplayUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages) { +public static <R extends ReferentialDtoReference<?, R>> UsageForDisplayUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages) { return new UsageForDisplayUI<>(new JAXXInitialContext().add(message).add(usages)); } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDisplayUIHandler.java ===================================== @@ -34,7 +34,7 @@ import javax.swing.JPanel; * @author Tony Chemit - dev(a)tchemit.fr * @since 5.1 */ -public class UsageForDisplayUIHandler<R extends ReferentialDtoReference> extends UsageUIHandlerSupport<R, UsageForDisplayUI<R>> { +public class UsageForDisplayUIHandler<R extends ReferentialDtoReference<?, R>> extends UsageUIHandlerSupport<R, UsageForDisplayUI<R>> { @Override protected JLabel getMessage() { ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageUIHandlerSupport.java ===================================== @@ -64,40 +64,60 @@ import static io.ultreia.java4all.i18n.I18n.t; * @author Tony Chemit - dev(a)tchemit.fr * @since 5.1 */ -public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U extends JAXXObject> implements UIHandler<U> { +public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference<?, R>, U extends JAXXObject> implements UIHandler<U> { U ui; + public static JButton findButton(Container c, String text) { + + for (Component component : c.getComponents()) { + if (component instanceof JButton) { + if (text.equals(((JButton) component).getText())) { + return (JButton) component; + } + continue; + } + if (component instanceof Container) { + JButton button = findButton((Container) component, text); + if (button != null) { + return button; + } + } + } + return null; + } + protected abstract JLabel getMessage(); protected abstract JPanel getUsages(); protected abstract JaxxComboBox<R> getReplace(); - @Override + @Override public void beforeInit(U ui) { this.ui = ui; } - @Override + @SuppressWarnings({"rawtypes", "unchecked"}) + @Override public void afterInit(U ui) { String message = ui.getContextValue(String.class); getMessage().setText(message); - ImmutableSetDtoMap<ReferentialDtoReference> usages = ui.getContextValue(ImmutableSetDtoMap.class); + ImmutableSetDtoMap<ReferentialDtoReference<?, ?>> usages = ui.getContextValue(ImmutableSetDtoMap.class); if (usages.isEmpty()) { getUsages().add(new JLabel(t("observe.message.no.usage.for.entity"))); } else { - for (Class<? extends ReferentialDtoReference> dtoType : usages.referentialReferenceTypes()) { + for (Class<? extends ReferentialDtoReference<?, ?>> dtoType : usages.referentialReferenceTypes()) { Set references = usages.get(dtoType); String typeTitle = t(ObserveI18nDecoratorHelper.getTypeI18nKey(dtoType)); - addReferentialReferenceUsages(dtoType, references, typeTitle); + addReferentialReferenceUsages((Class) dtoType, references, typeTitle); } - for (Class<? extends DataDtoReference> dtoType : usages.dataReferenceTypes()) { + for (Class<? extends DataDtoReference<?, ?>> dtoType : usages.dataReferenceTypes()) { Set references = usages.get(dtoType); String typeTitle = t(ObserveI18nDecoratorHelper.getTypeI18nKey(dtoType)); - addDataReferenceUsages(dtoType, references, typeTitle); + addDataReferenceUsages((Class) dtoType, references, typeTitle); } } @@ -124,9 +144,9 @@ public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U }); } - protected <D extends DataDto, R extends DataDtoReference<D, R>> void addDataReferenceUsages(Class<R> dtoType, - Set<R> references, - String typeTitle) { + protected <D extends DataDto, RR extends DataDtoReference<D, RR>> void addDataReferenceUsages(Class<RR> dtoType, + Set<RR> references, + String typeTitle) { String typetitle = n("observe.common.Dto.label.usage.data.title"); typetitle = t(typetitle, typeTitle, references.size()); @@ -137,10 +157,9 @@ public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U buildUsagePanel(decorator, references, typetitle); } - - protected <D extends ReferentialDto, R extends ReferentialDtoReference<D, R>> void addReferentialReferenceUsages(Class<R> referenceType, - Set<R> references, - String typeTitle) { + protected <D extends ReferentialDto, RR extends ReferentialDtoReference<D, RR>> void addReferentialReferenceUsages(Class<RR> referenceType, + Set<RR> references, + String typeTitle) { String title = n("observe.common.Dto.label.usage.referential.title"); title = t(title, typeTitle, references.size()); @@ -151,7 +170,7 @@ public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U buildUsagePanel(decorator, references, title); } - protected <D extends IdDto, R extends DtoReference<D, R>> void buildUsagePanel(Decorator<?> decorator, Set<R> references, String typetitle) { + protected <D extends IdDto, RR extends DtoReference<D, RR>> void buildUsagePanel(Decorator<?> decorator, Set<RR> references, String typeTitle) { List<String> data = new ArrayList<>(references.size()); data.addAll(references.stream().map(decorator::toString).collect(Collectors.toList())); @@ -163,12 +182,12 @@ public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); pane.setMinimumSize(new Dimension(300, 30)); - pane.setColumnHeaderView(new JLabel(typetitle)); + pane.setColumnHeaderView(new JLabel(typeTitle)); pane.setViewportView(l); getUsages().add(pane); } - private class DisabledItemSelectionModel extends DefaultListSelectionModel { + private static class DisabledItemSelectionModel extends DefaultListSelectionModel { private static final long serialVersionUID = 1L; @@ -183,23 +202,4 @@ public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U } - public static JButton findButton(Container c, String text) { - - for (Component component : c.getComponents()) { - if (component instanceof JButton) { - if (text.equals(((JButton) component).getText())) { - return (JButton) component; - } - continue; - } - if (component instanceof Container) { - JButton button = findButton((Container) component, text); - if (button != null) { - return button; - } - } - } - return null; - } - } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/referential/ReferentialNavigationTreeNode.java ===================================== @@ -40,9 +40,10 @@ import static io.ultreia.java4all.i18n.I18n.t; public class ReferentialNavigationTreeNode<D extends ReferentialDto> extends ClassNavigationTreeNode<D> { ReferentialNavigationTreeNode(Class<D> data) { - super(data, true, t(ObserveI18nDecoratorHelper.getTypePluralI18nKey(data))); + super(data, true, t(ObserveI18nDecoratorHelper.getTypeI18nKey(data))); } + @SuppressWarnings({"unchecked", "rawtypes"}) @Override public Class<? extends ContentUI<?, ?>> getContentClass() { String packageName = getData().getPackage().getName(); @@ -55,7 +56,7 @@ public class ReferentialNavigationTreeNode<D extends ReferentialDto> extends Cla } else { packagePrefix = "common."; } - //FIXME Use a ClassMaping + //FIXME Use a ClassMapping String className = String.format("fr.ird.observe.client.ui.content.ref.%s%sUI", packagePrefix, StringUtils.removeEnd(getData().getSimpleName(), "Dto")); try { return (Class) Class.forName(className); ===================================== client-core/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/referential/ReferentialsNavigationTreeNodeSupport.java ===================================== @@ -38,8 +38,8 @@ public abstract class ReferentialsNavigationTreeNodeSupport extends StringNaviga ReferentialsNavigationTreeNodeSupport(String name, ImmutableSet<Class<? extends ReferentialDto>> types) { super(name, true); - for (Class<? extends ReferentialDto> aClass : ObserveI18nDecoratorHelper.sortPluralTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())) { - ReferentialNavigationTreeNode child = new ReferentialNavigationTreeNode<>(aClass); + for (Class<? extends ReferentialDto> aClass : ObserveI18nDecoratorHelper.sortTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())) { + ReferentialNavigationTreeNode<?> child = new ReferentialNavigationTreeNode<>(aClass); add(child); } } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/tree/selection/nodes/ReferentialsSelectionTreeNode.java ===================================== @@ -44,8 +44,8 @@ public class ReferentialsSelectionTreeNode extends SelectionTreeNodeSupport<Stri public static ReferentialsSelectionTreeNode of(String name, ImmutableSet<Class<? extends ReferentialDto>> types) { ReferentialsSelectionTreeNode result = new ReferentialsSelectionTreeNode(t(name)); - for (Class<? extends ReferentialDto> aClass : ObserveI18nDecoratorHelper.sortPluralTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())) { - ReferentialSelectionTreeNode child = new ReferentialSelectionTreeNode<>(aClass); + for (Class<? extends ReferentialDto> aClass : ObserveI18nDecoratorHelper.sortTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())) { + ReferentialSelectionTreeNode<?> child = new ReferentialSelectionTreeNode<>(aClass); result.add(child); } ===================================== common-dto/src/main/java/fr/ird/observe/dto/decoration/I18nDecoratorHelper.java ===================================== @@ -51,28 +51,20 @@ public abstract class I18nDecoratorHelper extends BeanPropertyI18nKeyProducerPro return ObserveUtil.sortTypes(types, klass -> t(getTypeI18nKey(klass)), locale); } - public static <C extends Class<?>> List<C> sortPluralTypes(Collection<C> types, Locale locale) { - return ObserveUtil.sortTypes(types, klass -> t(getTypePluralI18nKey(klass)), locale); - } - - public static String getPropertyName(Class key) { + public static String getPropertyName(Class<?> key) { String name = IdHelper.cleanId(key); return Introspector.decapitalize(name); } - public static String getTitle(Class key) { + public static String getTitle(Class<?> key) { return load(key) + ".title"; } - public static String getTypeI18nKey(Class key) { + public static String getTypeI18nKey(Class<?> key) { return load(key) + ".type"; } - public static String getTypePluralI18nKey(Class key) { - return load(key) + ".types"; - } - - public static String getPropertyI18nKey(Class type, String propertyName) { + public static String getPropertyI18nKey(Class<?> type, String propertyName) { I18nDecoratorHelper i18nDecoratorHelper = get(); return i18nDecoratorHelper.getDefaultLabelsBuilder().getI18nPropertyKey(type, propertyName); } @@ -118,7 +110,7 @@ public abstract class I18nDecoratorHelper extends BeanPropertyI18nKeyProducerPro result.append(String.format("%1$td/%1$tm/%1$tY", date)); } - private static String load(Class key) { + private static String load(Class<?> key) { I18nDecoratorHelper i18nDecoratorHelper = get(); return i18nDecoratorHelper.getCommonPrefix() + i18nDecoratorHelper.getDefaultLabelsBuilder().getI18nTypeKey(key); } ===================================== common-dto/src/main/java/fr/ird/observe/spi/map/ImmutableSetMap.java ===================================== @@ -77,12 +77,12 @@ public abstract class ImmutableSetMap<V> implements ObserveDto { } @SuppressWarnings("unchecked") - public Set<Class<? extends ReferentialDtoReference>> referentialReferenceTypes() { + public Set<Class<? extends ReferentialDtoReference<?, ?>>> referentialReferenceTypes() { return (Set) types.values().stream().filter(IdHelper::isReferential).collect(Collectors.toSet()); } @SuppressWarnings("unchecked") - public Set<Class<? extends DataDtoReference>> dataReferenceTypes() { + public Set<Class<? extends DataDtoReference<?,?>>> dataReferenceTypes() { return (Set) types.values().stream().filter(IdHelper::isData).collect(Collectors.toSet()); } ===================================== dto/src/main/i18n/getters/eugene.getter ===================================== @@ -1,231 +1,132 @@ observe.common.ActivityLonglineDto.title observe.common.ActivityLonglineDto.type -observe.common.ActivityLonglineDto.types observe.common.ActivitySeineDto.title observe.common.ActivitySeineDto.type -observe.common.ActivitySeineDto.types observe.common.BaitHaulingStatusDto.type -observe.common.BaitHaulingStatusDto.types observe.common.BaitSettingStatusDto.type -observe.common.BaitSettingStatusDto.types observe.common.BaitTypeDto.type -observe.common.BaitTypeDto.types observe.common.BaitsCompositionDto.title observe.common.BaitsCompositionDto.type -observe.common.BaitsCompositionDto.types observe.common.BasketDto.type -observe.common.BasketDto.types observe.common.BranchlineDto.title observe.common.BranchlineDto.type -observe.common.BranchlineDto.types observe.common.BranchlinesCompositionDto.title observe.common.BranchlinesCompositionDto.type -observe.common.BranchlinesCompositionDto.types observe.common.CatchFateLonglineDto.type -observe.common.CatchFateLonglineDto.types observe.common.CatchLonglineDto.title observe.common.CatchLonglineDto.type -observe.common.CatchLonglineDto.types observe.common.CountryDto.type -observe.common.CountryDto.types observe.common.DataQualityDto.type -observe.common.DataQualityDto.types observe.common.DetectionModeDto.type -observe.common.DetectionModeDto.types observe.common.EncounterDto.title observe.common.EncounterDto.type -observe.common.EncounterDto.types observe.common.EncounterTypeDto.type -observe.common.EncounterTypeDto.types observe.common.FloatingObjectDto.title observe.common.FloatingObjectDto.type -observe.common.FloatingObjectDto.types observe.common.FloatingObjectPartDto.title observe.common.FloatingObjectPartDto.type -observe.common.FloatingObjectPartDto.types observe.common.FloatlinesCompositionDto.title observe.common.FloatlinesCompositionDto.type -observe.common.FloatlinesCompositionDto.types observe.common.FpaZoneDto.type -observe.common.FpaZoneDto.types observe.common.GearCaracteristicDto.type -observe.common.GearCaracteristicDto.types observe.common.GearCaracteristicTypeDto.type -observe.common.GearCaracteristicTypeDto.types observe.common.GearDto.type -observe.common.GearDto.types observe.common.GearUseFeaturesLonglineDto.title observe.common.GearUseFeaturesLonglineDto.type -observe.common.GearUseFeaturesLonglineDto.types observe.common.GearUseFeaturesMeasurementLonglineDto.title observe.common.GearUseFeaturesMeasurementSeineDto.title observe.common.GearUseFeaturesSeineDto.title observe.common.GearUseFeaturesSeineDto.type -observe.common.GearUseFeaturesSeineDto.types observe.common.HarbourDto.type -observe.common.HarbourDto.types observe.common.HealthStatusDto.type -observe.common.HealthStatusDto.types observe.common.HookPositionDto.type -observe.common.HookPositionDto.types observe.common.HookSizeDto.type -observe.common.HookSizeDto.types observe.common.HookTypeDto.type -observe.common.HookTypeDto.types observe.common.HooksCompositionDto.title observe.common.HooksCompositionDto.type -observe.common.HooksCompositionDto.types observe.common.ItemHorizontalPositionDto.type -observe.common.ItemHorizontalPositionDto.types observe.common.ItemVerticalPositionDto.type -observe.common.ItemVerticalPositionDto.types observe.common.LengthLengthParameterDto.type -observe.common.LengthLengthParameterDto.types observe.common.LengthWeightParameterDto.type -observe.common.LengthWeightParameterDto.types observe.common.LightsticksColorDto.type -observe.common.LightsticksColorDto.types observe.common.LightsticksTypeDto.type -observe.common.LightsticksTypeDto.types observe.common.LineTypeDto.type -observe.common.LineTypeDto.types observe.common.MaturityStatusDto.type -observe.common.MaturityStatusDto.types observe.common.MitigationTypeDto.type -observe.common.MitigationTypeDto.types observe.common.NonTargetCatchDto.title observe.common.NonTargetCatchDto.type -observe.common.NonTargetCatchDto.types observe.common.NonTargetCatchReleaseConformityDto.type -observe.common.NonTargetCatchReleaseConformityDto.types observe.common.NonTargetCatchReleaseDto.title observe.common.NonTargetCatchReleaseDto.type -observe.common.NonTargetCatchReleaseDto.types observe.common.NonTargetCatchReleaseStatusDto.type -observe.common.NonTargetCatchReleaseStatusDto.types observe.common.NonTargetCatchReleasingTimeDto.type -observe.common.NonTargetCatchReleasingTimeDto.types observe.common.NonTargetLengthDto.title observe.common.NonTargetLengthDto.type -observe.common.NonTargetLengthDto.types observe.common.ObjectMaterialDto.type -observe.common.ObjectMaterialDto.types observe.common.ObjectMaterialTypeDto.type -observe.common.ObjectMaterialTypeDto.types observe.common.ObjectObservedSpeciesDto.title observe.common.ObjectObservedSpeciesDto.type -observe.common.ObjectObservedSpeciesDto.types observe.common.ObjectOperationDto.type -observe.common.ObjectOperationDto.types observe.common.ObjectSchoolEstimateDto.title observe.common.ObjectSchoolEstimateDto.type -observe.common.ObjectSchoolEstimateDto.types observe.common.ObservedSystemDto.type -observe.common.ObservedSystemDto.types observe.common.OceanDto.type -observe.common.OceanDto.types observe.common.OrganismDto.type -observe.common.OrganismDto.types observe.common.PersonDto.type -observe.common.PersonDto.types observe.common.ProgramDto.type -observe.common.ProgramDto.types observe.common.ReasonForDiscardDto.type -observe.common.ReasonForDiscardDto.types observe.common.ReasonForNoFishingDto.type -observe.common.ReasonForNoFishingDto.types observe.common.ReasonForNullSetDto.type -observe.common.ReasonForNullSetDto.types observe.common.RouteDto.type -observe.common.RouteDto.types observe.common.SchoolEstimateDto.title observe.common.SchoolEstimateDto.type -observe.common.SchoolEstimateDto.types observe.common.SectionDto.type -observe.common.SectionDto.types observe.common.SensorBrandDto.type -observe.common.SensorBrandDto.types observe.common.SensorDataFormatDto.type -observe.common.SensorDataFormatDto.types observe.common.SensorTypeDto.type -observe.common.SensorTypeDto.types observe.common.SensorUsedDto.title observe.common.SensorUsedDto.type -observe.common.SensorUsedDto.types observe.common.SetLonglineDto.title observe.common.SetLonglineDto.type -observe.common.SetLonglineDto.types observe.common.SetLonglineGlobalCompositionDto.title observe.common.SetSeineDto.title observe.common.SetSeineDto.type -observe.common.SetSeineDto.types observe.common.SettingShapeDto.type -observe.common.SettingShapeDto.types observe.common.SexDto.type -observe.common.SexDto.types observe.common.ShipOwnerDto.type -observe.common.ShipOwnerDto.types observe.common.SizeMeasureDto.title observe.common.SizeMeasureDto.type -observe.common.SizeMeasureDto.types observe.common.SizeMeasureTypeDto.type -observe.common.SizeMeasureTypeDto.types observe.common.SpeciesDto.type -observe.common.SpeciesDto.types observe.common.SpeciesFateDto.type -observe.common.SpeciesFateDto.types observe.common.SpeciesGroupDto.type -observe.common.SpeciesGroupDto.types observe.common.SpeciesGroupReleaseModeDto.type -observe.common.SpeciesGroupReleaseModeDto.types observe.common.SpeciesListDto.type -observe.common.SpeciesListDto.types observe.common.SpeciesStatusDto.type -observe.common.SpeciesStatusDto.types observe.common.StomachFullnessDto.type -observe.common.StomachFullnessDto.types observe.common.SurroundingActivityDto.type -observe.common.SurroundingActivityDto.types observe.common.TargetCatchDto.title observe.common.TargetCatchDto.type -observe.common.TargetCatchDto.types observe.common.TargetLengthDto.title observe.common.TargetLengthDto.type -observe.common.TargetLengthDto.types observe.common.TdrDto.title observe.common.TdrDto.type -observe.common.TdrDto.types observe.common.TransmittingBuoyDto.title observe.common.TransmittingBuoyDto.type -observe.common.TransmittingBuoyDto.types observe.common.TransmittingBuoyOperationDto.type -observe.common.TransmittingBuoyOperationDto.types observe.common.TransmittingBuoyTypeDto.type -observe.common.TransmittingBuoyTypeDto.types observe.common.TripLonglineDto.title observe.common.TripLonglineDto.type -observe.common.TripLonglineDto.types observe.common.TripSeineDto.title observe.common.TripSeineDto.type -observe.common.TripSeineDto.types observe.common.TripTypeDto.type -observe.common.TripTypeDto.types observe.common.VesselActivityLonglineDto.type -observe.common.VesselActivityLonglineDto.types observe.common.VesselActivitySeineDto.type -observe.common.VesselActivitySeineDto.types observe.common.VesselDto.type -observe.common.VesselDto.types observe.common.VesselSizeCategoryDto.type -observe.common.VesselSizeCategoryDto.types observe.common.VesselTypeDto.type -observe.common.VesselTypeDto.types observe.common.WeightCategoryDto.type -observe.common.WeightCategoryDto.types observe.common.WeightMeasureDto.title observe.common.WeightMeasureDto.type -observe.common.WeightMeasureDto.types observe.common.WeightMeasureTypeDto.type -observe.common.WeightMeasureTypeDto.types observe.common.WindDto.type -observe.common.WindDto.types ===================================== observe-i18n/src/main/i18n/translations/observe_en_GB.properties ===================================== @@ -2214,8 +2214,8 @@ observe.type.action.view=View selected %s observe.type.activityLongline.unsaved=New activity observe.type.activitySeine.unsaved=New activity observe.type.floatingObject.unsaved=New floating object (FOB) -observe.type.list=List of %s -observe.type.management=Management of %s +observe.type.list=List of referential of type `%s` +observe.type.management=Management of referential of type `%s` observe.type.reference.common=Common Referential observe.type.reference.longline=Longline Referential observe.type.reference.seine=Seine Referential ===================================== observe-i18n/src/main/i18n/translations/observe_es_ES.properties ===================================== @@ -2214,8 +2214,8 @@ observe.type.action.view=Ver los detalles del objeto de tipo '%s' seleccionado observe.type.activityLongline.unsaved=Nueva actividad observe.type.activitySeine.unsaved=Nueva actividad observe.type.floatingObject.unsaved=Nuevo FOB -observe.type.list=Lista de %s -observe.type.management=Gestión de %s +observe.type.list=Lista de Referencial of type `%s` \#TODO +observe.type.management=Gestión de Referencial of type `%s` \#TODO observe.type.reference.common=Referencial Común observe.type.reference.longline=Referencial de Palangre observe.type.reference.seine=Referencial de Cerco ===================================== observe-i18n/src/main/i18n/translations/observe_fr_FR.properties ===================================== @@ -2214,8 +2214,8 @@ observe.type.action.view=Voir les détails de l'objet de type '%s' sélectionné observe.type.activityLongline.unsaved=Nouvelle activité observe.type.activitySeine.unsaved=Nouvelle activité observe.type.floatingObject.unsaved=Nouvel objet flottant (FOB) -observe.type.list=Liste des %s -observe.type.management=Gestion des %s +observe.type.list=Liste des référentiels de type `%s` +observe.type.management=Gestion des référentiels de type `%s` observe.type.reference.common=Référentiel commun observe.type.reference.longline=Référentiel Palangre observe.type.reference.seine=Référentiel Senne ===================================== templates/src/main/java/fr/ird/observe/toolkit/eugene/templates/DtoReferenceTransformer.java ===================================== @@ -247,7 +247,6 @@ public class DtoReferenceTransformer extends ObjectModelTransformerToJava { String referenceName = beanClass.getName() + "Reference"; i18nGetterFile.addKey("observe.common." + dtoName + ".type"); - i18nGetterFile.addKey("observe.common." + dtoName + ".types"); StringBuilder body = new StringBuilder(); body.append("" /*{ <%=flushMethodName%>(<%=referenceName%>.DEFINITION);}*/); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2ead6b27b8911860ac6a57ac6… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2ead6b27b8911860ac6a57ac6… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] [UI] Correction des libellés des tables de référence du schéma observe.longline dans Observe
by Tony CHEMIT 05 Aug '20

05 Aug '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: c9e5dd41 by Tony Chemit at 2020-08-05T16:12:49+02:00 [UI] Correction des libellés des tables de référence du schéma observe.longline dans Observe - See #1584 - - - - - 22 changed files: - client-core/src/main/java/fr/ird/observe/client/db/ObserveSwingDataSource.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminTabUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ContentReferenceUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDeleteUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDeleteUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDesactivateUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDesactivateUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDisplayUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDisplayUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageUIHandlerSupport.java - client-core/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/referential/ReferentialNavigationTreeNode.java - client-core/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/referential/ReferentialsNavigationTreeNodeSupport.java - client-core/src/main/java/fr/ird/observe/client/ui/tree/selection/nodes/ReferentialsSelectionTreeNode.java - common-dto/src/main/java/fr/ird/observe/dto/decoration/I18nDecoratorHelper.java - common-dto/src/main/java/fr/ird/observe/spi/map/ImmutableSetMap.java - dto/src/main/i18n/getters/eugene.getter - observe-i18n/src/main/i18n/translations/observe_en_GB.properties - observe-i18n/src/main/i18n/translations/observe_es_ES.properties - observe-i18n/src/main/i18n/translations/observe_fr_FR.properties - templates/src/main/java/fr/ird/observe/toolkit/eugene/templates/DtoReferenceTransformer.java Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/db/ObserveSwingDataSource.java ===================================== @@ -552,12 +552,11 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return ObserveServiceMainFactory.get().newService(observeServiceInitializer, serviceType); } - public ImmutableSetDtoMap<ReferentialDtoReference> getReferentialMap(ImmutableSetStringMap referentialIds) { - - ImmutableSetDtoMap.Builder<ReferentialDtoReference> result = ImmutableSetDtoMap.builder(); - for (Class<? extends ReferentialDtoReference> dtoType : referentialIds.referentialReferenceTypes()) { + public ImmutableSetDtoMap<ReferentialDtoReference<?, ?>> getReferentialMap(ImmutableSetStringMap referentialIds) { + ImmutableSetDtoMap.Builder<ReferentialDtoReference<?, ?>> result = ImmutableSetDtoMap.builder(); + for (Class<? extends ReferentialDtoReference<?, ?>> dtoType : referentialIds.referentialReferenceTypes()) { Set<String> ids = referentialIds.get(dtoType); - Set<ReferentialDtoReference> references = getReferentialReferenceSet(dtoType).toSet().stream() + Set<ReferentialDtoReference<?, ?>> references = getReferentialReferenceSet(dtoType).toSet().stream() .filter(r -> ids.contains(r.getId())) .collect(Collectors.toSet()); result.put(dtoType, references); ===================================== client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminTabUIHandler.java ===================================== @@ -284,8 +284,8 @@ public class AdminTabUIHandler<U extends AdminTabUI> { String message = t("observe.message.show.usage.for.missingReferentials2", centralSourceLabel, targetSourceLabel); - ImmutableSetDtoMap<ReferentialDtoReference> usages = centralSource.getReferentialMap(missingReferentialResult.getMissingIds()); - UsageForDisplayUI usagesUI = UsageForDisplayUI.build(message, usages); + ImmutableSetDtoMap<ReferentialDtoReference<?,?>> usages = centralSource.getReferentialMap(missingReferentialResult.getMissingIds()); + UsageForDisplayUI<?> usagesUI = UsageForDisplayUI.build(message, usages); int response = UIHelper.askUser(null, t("observe.title.can.not.export.data2", targetSourceLabel), @@ -302,12 +302,12 @@ public class AdminTabUIHandler<U extends AdminTabUI> { log.info(String.format("Base «%s» - Insertion des référentiels manquants.", targetSourceLabel)); - for (Class<? extends ReferentialDtoReference> key : usages.referentialReferenceTypes()) { - Set<? extends ReferentialDtoReference> references = usages.get(key); - String type = t(ObserveI18nDecoratorHelper.getTypePluralI18nKey(key)); + for (Class<? extends ReferentialDtoReference<?,?>> key : usages.referentialReferenceTypes()) { + Set<? extends ReferentialDtoReference<?,?>> references = usages.get(key); + String type = t(ObserveI18nDecoratorHelper.getTypeI18nKey(key)); sendMessage(t("observe.actions.exportData.message.add.missing.referentials2", targetSourceLabel, references.size(), type)); - Decorator decorator = decoratorService.getReferenceDecorator(key); - for (DtoReference reference : references) { + Decorator<?> decorator = decoratorService.getReferenceDecorator(key); + for (DtoReference<?,?> reference : references) { sendMessage(t("observe.actions.exportData.message.add.missing.referential", decorator.toString(reference))); } } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ContentReferenceUI.jaxx ===================================== @@ -19,8 +19,8 @@ --> <fr.ird.observe.client.ui.content.ContentUI abstract='true' superGenericType='E, U' - title="{pluralTypeI18nKey}" - contentTitle='{t("observe.type.management", pluralTypeI18nKey)}' + title="{typeI18nKey}" + contentTitle='{t("observe.type.management", typeI18nKey)}' genericType='E extends ReferentialDto, R extends ReferentialDtoReference&lt;E, R&gt;, U extends ContentReferenceUI&lt;E, R, U&gt;'> <import> @@ -57,11 +57,9 @@ static io.ultreia.java4all.i18n.I18n.t </import> - <java.lang.String id='pluralTypeI18nKey' - initializer='t(ObserveI18nDecoratorHelper.getTypePluralI18nKey(bean.getClass()))'/> <java.lang.String id='typeI18nKey' initializer='t(ObserveI18nDecoratorHelper.getTypeI18nKey(bean.getClass()))'/> - <java.lang.String id='listText' initializer='t("observe.type.list", pluralTypeI18nKey)'/> + <java.lang.String id='listText' initializer='t("observe.type.list", typeI18nKey)'/> <java.lang.String id='createToolTip' initializer='t("observe.type.action.create", typeI18nKey)'/> <java.lang.String id='detailToolTip' initializer='t("observe.type.action.view", typeI18nKey)'/> <java.lang.String id='modifyToolTip' initializer='t("observe.type.action.edit", typeI18nKey)'/> ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIHandler.java ===================================== @@ -92,7 +92,7 @@ public class ReferenceHomeUIHandler extends ContentUIHandler<ProgramDto, Referen for (Class<? extends ReferentialDto> type : ui.getModel().getTypes()) { - String text = t(ObserveI18nDecoratorHelper.getTypePluralI18nKey(type)); + String text = t(ObserveI18nDecoratorHelper.getTypeI18nKey(type)); JButton button = new JButton(text); button.addActionListener(e -> navigation.selectSafeNode(referentialNode.findChildByClass(type))); panel.add(button); ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIModel.java ===================================== @@ -68,7 +68,7 @@ public abstract class ReferenceHomeUIModel extends ContentUIModel<ProgramDto> { protected ReferenceHomeUIModel(List<Class<? extends ReferentialDto>> types, String nodeName) { super(ProgramDto.class); - this.types = ImmutableList.copyOf(ObserveI18nDecoratorHelper.sortPluralTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())); + this.types = ImmutableList.copyOf(ObserveI18nDecoratorHelper.sortTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())); this.nodeName = nodeName; } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDeleteUI.jaxx ===================================== @@ -21,7 +21,7 @@ <!-- Interface graphique pour afficher la liste des usages d'une entitee donnee. --> -<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference"> +<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference&lt; ?, R&gt;"> <import> @@ -37,7 +37,7 @@ Interface graphique pour afficher la liste des usages d'une entitee donnee. <script><![CDATA[ -public static <R extends ReferentialDtoReference> UsageForDeleteUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages, List references) { +public static <R extends ReferentialDtoReference<?, R>> UsageForDeleteUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages, List references) { return new UsageForDeleteUI<>(new JAXXInitialContext().add(message).add(usages).add(references)); } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDeleteUIHandler.java ===================================== @@ -36,7 +36,7 @@ import javax.swing.JPanel; * @author Tony Chemit - dev(a)tchemit.fr * @since 5.1 */ -public class UsageForDeleteUIHandler<R extends ReferentialDtoReference> extends UsageUIHandlerSupport<R, UsageForDeleteUI<R>> { +public class UsageForDeleteUIHandler<R extends ReferentialDtoReference<?, R>> extends UsageUIHandlerSupport<R, UsageForDeleteUI<R>> { @Override protected JLabel getMessage() { ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDesactivateUI.jaxx ===================================== @@ -21,7 +21,7 @@ <!-- Interface graphique pour afficher la liste des usages d'une entitee donnee. --> -<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference"> +<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference&lt; ?, R&gt;"> <import> fr.ird.observe.dto.reference.DtoReference @@ -37,7 +37,7 @@ Interface graphique pour afficher la liste des usages d'une entitee donnee. <script><![CDATA[ -public static <R extends ReferentialDtoReference> UsageForDesactivateUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages, List references) { +public static <R extends ReferentialDtoReference<?, R>> UsageForDesactivateUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages, List references) { return new UsageForDesactivateUI<>(new JAXXInitialContext().add(message).add(usages).add(references)); } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDesactivateUIHandler.java ===================================== @@ -36,7 +36,7 @@ import javax.swing.JPanel; * @author Tony Chemit - dev(a)tchemit.fr * @since 5.1 */ -public class UsageForDesactivateUIHandler<R extends ReferentialDtoReference> extends UsageUIHandlerSupport<R, UsageForDesactivateUI<R>> { +public class UsageForDesactivateUIHandler<R extends ReferentialDtoReference<?, R>> extends UsageUIHandlerSupport<R, UsageForDesactivateUI<R>> { @Override protected JLabel getMessage() { ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDisplayUI.jaxx ===================================== @@ -21,7 +21,7 @@ <!-- Interface graphique pour afficher la liste des usages d'une entitee donnee. --> -<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference"> +<JPanel layout='{new BorderLayout()}' genericType="R extends ReferentialDtoReference&lt; ?, R&gt;"> <import> @@ -35,7 +35,7 @@ Interface graphique pour afficher la liste des usages d'une entitee donnee. <script><![CDATA[ -public static <R extends ReferentialDtoReference> UsageForDisplayUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages) { +public static <R extends ReferentialDtoReference<?, R>> UsageForDisplayUI<R> build(String message, ImmutableSetDtoMap<? extends DtoReference> usages) { return new UsageForDisplayUI<>(new JAXXInitialContext().add(message).add(usages)); } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageForDisplayUIHandler.java ===================================== @@ -34,7 +34,7 @@ import javax.swing.JPanel; * @author Tony Chemit - dev(a)tchemit.fr * @since 5.1 */ -public class UsageForDisplayUIHandler<R extends ReferentialDtoReference> extends UsageUIHandlerSupport<R, UsageForDisplayUI<R>> { +public class UsageForDisplayUIHandler<R extends ReferentialDtoReference<?, R>> extends UsageUIHandlerSupport<R, UsageForDisplayUI<R>> { @Override protected JLabel getMessage() { ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageUIHandlerSupport.java ===================================== @@ -64,40 +64,60 @@ import static io.ultreia.java4all.i18n.I18n.t; * @author Tony Chemit - dev(a)tchemit.fr * @since 5.1 */ -public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U extends JAXXObject> implements UIHandler<U> { +public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference<?, R>, U extends JAXXObject> implements UIHandler<U> { U ui; + public static JButton findButton(Container c, String text) { + + for (Component component : c.getComponents()) { + if (component instanceof JButton) { + if (text.equals(((JButton) component).getText())) { + return (JButton) component; + } + continue; + } + if (component instanceof Container) { + JButton button = findButton((Container) component, text); + if (button != null) { + return button; + } + } + } + return null; + } + protected abstract JLabel getMessage(); protected abstract JPanel getUsages(); protected abstract JaxxComboBox<R> getReplace(); - @Override + @Override public void beforeInit(U ui) { this.ui = ui; } - @Override + @SuppressWarnings({"rawtypes", "unchecked"}) + @Override public void afterInit(U ui) { String message = ui.getContextValue(String.class); getMessage().setText(message); - ImmutableSetDtoMap<ReferentialDtoReference> usages = ui.getContextValue(ImmutableSetDtoMap.class); + ImmutableSetDtoMap<ReferentialDtoReference<?, ?>> usages = ui.getContextValue(ImmutableSetDtoMap.class); if (usages.isEmpty()) { getUsages().add(new JLabel(t("observe.message.no.usage.for.entity"))); } else { - for (Class<? extends ReferentialDtoReference> dtoType : usages.referentialReferenceTypes()) { + for (Class<? extends ReferentialDtoReference<?, ?>> dtoType : usages.referentialReferenceTypes()) { Set references = usages.get(dtoType); String typeTitle = t(ObserveI18nDecoratorHelper.getTypeI18nKey(dtoType)); - addReferentialReferenceUsages(dtoType, references, typeTitle); + addReferentialReferenceUsages((Class) dtoType, references, typeTitle); } - for (Class<? extends DataDtoReference> dtoType : usages.dataReferenceTypes()) { + for (Class<? extends DataDtoReference<?, ?>> dtoType : usages.dataReferenceTypes()) { Set references = usages.get(dtoType); String typeTitle = t(ObserveI18nDecoratorHelper.getTypeI18nKey(dtoType)); - addDataReferenceUsages(dtoType, references, typeTitle); + addDataReferenceUsages((Class) dtoType, references, typeTitle); } } @@ -124,9 +144,9 @@ public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U }); } - protected <D extends DataDto, R extends DataDtoReference<D, R>> void addDataReferenceUsages(Class<R> dtoType, - Set<R> references, - String typeTitle) { + protected <D extends DataDto, RR extends DataDtoReference<D, RR>> void addDataReferenceUsages(Class<RR> dtoType, + Set<RR> references, + String typeTitle) { String typetitle = n("observe.common.Dto.label.usage.data.title"); typetitle = t(typetitle, typeTitle, references.size()); @@ -137,10 +157,9 @@ public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U buildUsagePanel(decorator, references, typetitle); } - - protected <D extends ReferentialDto, R extends ReferentialDtoReference<D, R>> void addReferentialReferenceUsages(Class<R> referenceType, - Set<R> references, - String typeTitle) { + protected <D extends ReferentialDto, RR extends ReferentialDtoReference<D, RR>> void addReferentialReferenceUsages(Class<RR> referenceType, + Set<RR> references, + String typeTitle) { String title = n("observe.common.Dto.label.usage.referential.title"); title = t(title, typeTitle, references.size()); @@ -151,7 +170,7 @@ public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U buildUsagePanel(decorator, references, title); } - protected <D extends IdDto, R extends DtoReference<D, R>> void buildUsagePanel(Decorator<?> decorator, Set<R> references, String typetitle) { + protected <D extends IdDto, RR extends DtoReference<D, RR>> void buildUsagePanel(Decorator<?> decorator, Set<RR> references, String typeTitle) { List<String> data = new ArrayList<>(references.size()); data.addAll(references.stream().map(decorator::toString).collect(Collectors.toList())); @@ -163,12 +182,12 @@ public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); pane.setMinimumSize(new Dimension(300, 30)); - pane.setColumnHeaderView(new JLabel(typetitle)); + pane.setColumnHeaderView(new JLabel(typeTitle)); pane.setViewportView(l); getUsages().add(pane); } - private class DisabledItemSelectionModel extends DefaultListSelectionModel { + private static class DisabledItemSelectionModel extends DefaultListSelectionModel { private static final long serialVersionUID = 1L; @@ -183,23 +202,4 @@ public abstract class UsageUIHandlerSupport<R extends ReferentialDtoReference, U } - public static JButton findButton(Container c, String text) { - - for (Component component : c.getComponents()) { - if (component instanceof JButton) { - if (text.equals(((JButton) component).getText())) { - return (JButton) component; - } - continue; - } - if (component instanceof Container) { - JButton button = findButton((Container) component, text); - if (button != null) { - return button; - } - } - } - return null; - } - } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/referential/ReferentialNavigationTreeNode.java ===================================== @@ -40,9 +40,10 @@ import static io.ultreia.java4all.i18n.I18n.t; public class ReferentialNavigationTreeNode<D extends ReferentialDto> extends ClassNavigationTreeNode<D> { ReferentialNavigationTreeNode(Class<D> data) { - super(data, true, t(ObserveI18nDecoratorHelper.getTypePluralI18nKey(data))); + super(data, true, t(ObserveI18nDecoratorHelper.getTypeI18nKey(data))); } + @SuppressWarnings({"unchecked", "rawtypes"}) @Override public Class<? extends ContentUI<?, ?>> getContentClass() { String packageName = getData().getPackage().getName(); @@ -55,7 +56,7 @@ public class ReferentialNavigationTreeNode<D extends ReferentialDto> extends Cla } else { packagePrefix = "common."; } - //FIXME Use a ClassMaping + //FIXME Use a ClassMapping String className = String.format("fr.ird.observe.client.ui.content.ref.%s%sUI", packagePrefix, StringUtils.removeEnd(getData().getSimpleName(), "Dto")); try { return (Class) Class.forName(className); ===================================== client-core/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/referential/ReferentialsNavigationTreeNodeSupport.java ===================================== @@ -38,8 +38,8 @@ public abstract class ReferentialsNavigationTreeNodeSupport extends StringNaviga ReferentialsNavigationTreeNodeSupport(String name, ImmutableSet<Class<? extends ReferentialDto>> types) { super(name, true); - for (Class<? extends ReferentialDto> aClass : ObserveI18nDecoratorHelper.sortPluralTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())) { - ReferentialNavigationTreeNode child = new ReferentialNavigationTreeNode<>(aClass); + for (Class<? extends ReferentialDto> aClass : ObserveI18nDecoratorHelper.sortTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())) { + ReferentialNavigationTreeNode<?> child = new ReferentialNavigationTreeNode<>(aClass); add(child); } } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/tree/selection/nodes/ReferentialsSelectionTreeNode.java ===================================== @@ -44,8 +44,8 @@ public class ReferentialsSelectionTreeNode extends SelectionTreeNodeSupport<Stri public static ReferentialsSelectionTreeNode of(String name, ImmutableSet<Class<? extends ReferentialDto>> types) { ReferentialsSelectionTreeNode result = new ReferentialsSelectionTreeNode(t(name)); - for (Class<? extends ReferentialDto> aClass : ObserveI18nDecoratorHelper.sortPluralTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())) { - ReferentialSelectionTreeNode child = new ReferentialSelectionTreeNode<>(aClass); + for (Class<? extends ReferentialDto> aClass : ObserveI18nDecoratorHelper.sortTypes(types, ObserveSwingApplicationContext.get().getConfig().getLocale())) { + ReferentialSelectionTreeNode<?> child = new ReferentialSelectionTreeNode<>(aClass); result.add(child); } ===================================== common-dto/src/main/java/fr/ird/observe/dto/decoration/I18nDecoratorHelper.java ===================================== @@ -51,28 +51,20 @@ public abstract class I18nDecoratorHelper extends BeanPropertyI18nKeyProducerPro return ObserveUtil.sortTypes(types, klass -> t(getTypeI18nKey(klass)), locale); } - public static <C extends Class<?>> List<C> sortPluralTypes(Collection<C> types, Locale locale) { - return ObserveUtil.sortTypes(types, klass -> t(getTypePluralI18nKey(klass)), locale); - } - - public static String getPropertyName(Class key) { + public static String getPropertyName(Class<?> key) { String name = IdHelper.cleanId(key); return Introspector.decapitalize(name); } - public static String getTitle(Class key) { + public static String getTitle(Class<?> key) { return load(key) + ".title"; } - public static String getTypeI18nKey(Class key) { + public static String getTypeI18nKey(Class<?> key) { return load(key) + ".type"; } - public static String getTypePluralI18nKey(Class key) { - return load(key) + ".types"; - } - - public static String getPropertyI18nKey(Class type, String propertyName) { + public static String getPropertyI18nKey(Class<?> type, String propertyName) { I18nDecoratorHelper i18nDecoratorHelper = get(); return i18nDecoratorHelper.getDefaultLabelsBuilder().getI18nPropertyKey(type, propertyName); } @@ -118,7 +110,7 @@ public abstract class I18nDecoratorHelper extends BeanPropertyI18nKeyProducerPro result.append(String.format("%1$td/%1$tm/%1$tY", date)); } - private static String load(Class key) { + private static String load(Class<?> key) { I18nDecoratorHelper i18nDecoratorHelper = get(); return i18nDecoratorHelper.getCommonPrefix() + i18nDecoratorHelper.getDefaultLabelsBuilder().getI18nTypeKey(key); } ===================================== common-dto/src/main/java/fr/ird/observe/spi/map/ImmutableSetMap.java ===================================== @@ -77,12 +77,12 @@ public abstract class ImmutableSetMap<V> implements ObserveDto { } @SuppressWarnings("unchecked") - public Set<Class<? extends ReferentialDtoReference>> referentialReferenceTypes() { + public Set<Class<? extends ReferentialDtoReference<?, ?>>> referentialReferenceTypes() { return (Set) types.values().stream().filter(IdHelper::isReferential).collect(Collectors.toSet()); } @SuppressWarnings("unchecked") - public Set<Class<? extends DataDtoReference>> dataReferenceTypes() { + public Set<Class<? extends DataDtoReference<?,?>>> dataReferenceTypes() { return (Set) types.values().stream().filter(IdHelper::isData).collect(Collectors.toSet()); } ===================================== dto/src/main/i18n/getters/eugene.getter ===================================== @@ -1,231 +1,132 @@ observe.common.ActivityLonglineDto.title observe.common.ActivityLonglineDto.type -observe.common.ActivityLonglineDto.types observe.common.ActivitySeineDto.title observe.common.ActivitySeineDto.type -observe.common.ActivitySeineDto.types observe.common.BaitHaulingStatusDto.type -observe.common.BaitHaulingStatusDto.types observe.common.BaitSettingStatusDto.type -observe.common.BaitSettingStatusDto.types observe.common.BaitTypeDto.type -observe.common.BaitTypeDto.types observe.common.BaitsCompositionDto.title observe.common.BaitsCompositionDto.type -observe.common.BaitsCompositionDto.types observe.common.BasketDto.type -observe.common.BasketDto.types observe.common.BranchlineDto.title observe.common.BranchlineDto.type -observe.common.BranchlineDto.types observe.common.BranchlinesCompositionDto.title observe.common.BranchlinesCompositionDto.type -observe.common.BranchlinesCompositionDto.types observe.common.CatchFateLonglineDto.type -observe.common.CatchFateLonglineDto.types observe.common.CatchLonglineDto.title observe.common.CatchLonglineDto.type -observe.common.CatchLonglineDto.types observe.common.CountryDto.type -observe.common.CountryDto.types observe.common.DataQualityDto.type -observe.common.DataQualityDto.types observe.common.DetectionModeDto.type -observe.common.DetectionModeDto.types observe.common.EncounterDto.title observe.common.EncounterDto.type -observe.common.EncounterDto.types observe.common.EncounterTypeDto.type -observe.common.EncounterTypeDto.types observe.common.FloatingObjectDto.title observe.common.FloatingObjectDto.type -observe.common.FloatingObjectDto.types observe.common.FloatingObjectPartDto.title observe.common.FloatingObjectPartDto.type -observe.common.FloatingObjectPartDto.types observe.common.FloatlinesCompositionDto.title observe.common.FloatlinesCompositionDto.type -observe.common.FloatlinesCompositionDto.types observe.common.FpaZoneDto.type -observe.common.FpaZoneDto.types observe.common.GearCaracteristicDto.type -observe.common.GearCaracteristicDto.types observe.common.GearCaracteristicTypeDto.type -observe.common.GearCaracteristicTypeDto.types observe.common.GearDto.type -observe.common.GearDto.types observe.common.GearUseFeaturesLonglineDto.title observe.common.GearUseFeaturesLonglineDto.type -observe.common.GearUseFeaturesLonglineDto.types observe.common.GearUseFeaturesMeasurementLonglineDto.title observe.common.GearUseFeaturesMeasurementSeineDto.title observe.common.GearUseFeaturesSeineDto.title observe.common.GearUseFeaturesSeineDto.type -observe.common.GearUseFeaturesSeineDto.types observe.common.HarbourDto.type -observe.common.HarbourDto.types observe.common.HealthStatusDto.type -observe.common.HealthStatusDto.types observe.common.HookPositionDto.type -observe.common.HookPositionDto.types observe.common.HookSizeDto.type -observe.common.HookSizeDto.types observe.common.HookTypeDto.type -observe.common.HookTypeDto.types observe.common.HooksCompositionDto.title observe.common.HooksCompositionDto.type -observe.common.HooksCompositionDto.types observe.common.ItemHorizontalPositionDto.type -observe.common.ItemHorizontalPositionDto.types observe.common.ItemVerticalPositionDto.type -observe.common.ItemVerticalPositionDto.types observe.common.LengthLengthParameterDto.type -observe.common.LengthLengthParameterDto.types observe.common.LengthWeightParameterDto.type -observe.common.LengthWeightParameterDto.types observe.common.LightsticksColorDto.type -observe.common.LightsticksColorDto.types observe.common.LightsticksTypeDto.type -observe.common.LightsticksTypeDto.types observe.common.LineTypeDto.type -observe.common.LineTypeDto.types observe.common.MaturityStatusDto.type -observe.common.MaturityStatusDto.types observe.common.MitigationTypeDto.type -observe.common.MitigationTypeDto.types observe.common.NonTargetCatchDto.title observe.common.NonTargetCatchDto.type -observe.common.NonTargetCatchDto.types observe.common.NonTargetCatchReleaseConformityDto.type -observe.common.NonTargetCatchReleaseConformityDto.types observe.common.NonTargetCatchReleaseDto.title observe.common.NonTargetCatchReleaseDto.type -observe.common.NonTargetCatchReleaseDto.types observe.common.NonTargetCatchReleaseStatusDto.type -observe.common.NonTargetCatchReleaseStatusDto.types observe.common.NonTargetCatchReleasingTimeDto.type -observe.common.NonTargetCatchReleasingTimeDto.types observe.common.NonTargetLengthDto.title observe.common.NonTargetLengthDto.type -observe.common.NonTargetLengthDto.types observe.common.ObjectMaterialDto.type -observe.common.ObjectMaterialDto.types observe.common.ObjectMaterialTypeDto.type -observe.common.ObjectMaterialTypeDto.types observe.common.ObjectObservedSpeciesDto.title observe.common.ObjectObservedSpeciesDto.type -observe.common.ObjectObservedSpeciesDto.types observe.common.ObjectOperationDto.type -observe.common.ObjectOperationDto.types observe.common.ObjectSchoolEstimateDto.title observe.common.ObjectSchoolEstimateDto.type -observe.common.ObjectSchoolEstimateDto.types observe.common.ObservedSystemDto.type -observe.common.ObservedSystemDto.types observe.common.OceanDto.type -observe.common.OceanDto.types observe.common.OrganismDto.type -observe.common.OrganismDto.types observe.common.PersonDto.type -observe.common.PersonDto.types observe.common.ProgramDto.type -observe.common.ProgramDto.types observe.common.ReasonForDiscardDto.type -observe.common.ReasonForDiscardDto.types observe.common.ReasonForNoFishingDto.type -observe.common.ReasonForNoFishingDto.types observe.common.ReasonForNullSetDto.type -observe.common.ReasonForNullSetDto.types observe.common.RouteDto.type -observe.common.RouteDto.types observe.common.SchoolEstimateDto.title observe.common.SchoolEstimateDto.type -observe.common.SchoolEstimateDto.types observe.common.SectionDto.type -observe.common.SectionDto.types observe.common.SensorBrandDto.type -observe.common.SensorBrandDto.types observe.common.SensorDataFormatDto.type -observe.common.SensorDataFormatDto.types observe.common.SensorTypeDto.type -observe.common.SensorTypeDto.types observe.common.SensorUsedDto.title observe.common.SensorUsedDto.type -observe.common.SensorUsedDto.types observe.common.SetLonglineDto.title observe.common.SetLonglineDto.type -observe.common.SetLonglineDto.types observe.common.SetLonglineGlobalCompositionDto.title observe.common.SetSeineDto.title observe.common.SetSeineDto.type -observe.common.SetSeineDto.types observe.common.SettingShapeDto.type -observe.common.SettingShapeDto.types observe.common.SexDto.type -observe.common.SexDto.types observe.common.ShipOwnerDto.type -observe.common.ShipOwnerDto.types observe.common.SizeMeasureDto.title observe.common.SizeMeasureDto.type -observe.common.SizeMeasureDto.types observe.common.SizeMeasureTypeDto.type -observe.common.SizeMeasureTypeDto.types observe.common.SpeciesDto.type -observe.common.SpeciesDto.types observe.common.SpeciesFateDto.type -observe.common.SpeciesFateDto.types observe.common.SpeciesGroupDto.type -observe.common.SpeciesGroupDto.types observe.common.SpeciesGroupReleaseModeDto.type -observe.common.SpeciesGroupReleaseModeDto.types observe.common.SpeciesListDto.type -observe.common.SpeciesListDto.types observe.common.SpeciesStatusDto.type -observe.common.SpeciesStatusDto.types observe.common.StomachFullnessDto.type -observe.common.StomachFullnessDto.types observe.common.SurroundingActivityDto.type -observe.common.SurroundingActivityDto.types observe.common.TargetCatchDto.title observe.common.TargetCatchDto.type -observe.common.TargetCatchDto.types observe.common.TargetLengthDto.title observe.common.TargetLengthDto.type -observe.common.TargetLengthDto.types observe.common.TdrDto.title observe.common.TdrDto.type -observe.common.TdrDto.types observe.common.TransmittingBuoyDto.title observe.common.TransmittingBuoyDto.type -observe.common.TransmittingBuoyDto.types observe.common.TransmittingBuoyOperationDto.type -observe.common.TransmittingBuoyOperationDto.types observe.common.TransmittingBuoyTypeDto.type -observe.common.TransmittingBuoyTypeDto.types observe.common.TripLonglineDto.title observe.common.TripLonglineDto.type -observe.common.TripLonglineDto.types observe.common.TripSeineDto.title observe.common.TripSeineDto.type -observe.common.TripSeineDto.types observe.common.TripTypeDto.type -observe.common.TripTypeDto.types observe.common.VesselActivityLonglineDto.type -observe.common.VesselActivityLonglineDto.types observe.common.VesselActivitySeineDto.type -observe.common.VesselActivitySeineDto.types observe.common.VesselDto.type -observe.common.VesselDto.types observe.common.VesselSizeCategoryDto.type -observe.common.VesselSizeCategoryDto.types observe.common.VesselTypeDto.type -observe.common.VesselTypeDto.types observe.common.WeightCategoryDto.type -observe.common.WeightCategoryDto.types observe.common.WeightMeasureDto.title observe.common.WeightMeasureDto.type -observe.common.WeightMeasureDto.types observe.common.WeightMeasureTypeDto.type -observe.common.WeightMeasureTypeDto.types observe.common.WindDto.type -observe.common.WindDto.types ===================================== observe-i18n/src/main/i18n/translations/observe_en_GB.properties ===================================== @@ -2214,8 +2214,8 @@ observe.type.action.view=View selected %s observe.type.activityLongline.unsaved=New activity observe.type.activitySeine.unsaved=New activity observe.type.floatingObject.unsaved=New floating object (FOB) -observe.type.list=List of %s -observe.type.management=Management of %s +observe.type.list=List of referential of type `%s` +observe.type.management=Management of referential of type `%s` observe.type.reference.common=Common Referential observe.type.reference.longline=Longline Referential observe.type.reference.seine=Seine Referential ===================================== observe-i18n/src/main/i18n/translations/observe_es_ES.properties ===================================== @@ -2214,8 +2214,8 @@ observe.type.action.view=Ver los detalles del objeto de tipo '%s' seleccionado observe.type.activityLongline.unsaved=Nueva actividad observe.type.activitySeine.unsaved=Nueva actividad observe.type.floatingObject.unsaved=Nuevo FOB -observe.type.list=Lista de %s -observe.type.management=Gestión de %s +observe.type.list=Lista de Referencial of type `%s` #TODO +observe.type.management=Gestión de Referencial of type `%s` #TODO observe.type.reference.common=Referencial Común observe.type.reference.longline=Referencial de Palangre observe.type.reference.seine=Referencial de Cerco ===================================== observe-i18n/src/main/i18n/translations/observe_fr_FR.properties ===================================== @@ -2214,8 +2214,8 @@ observe.type.action.view=Voir les détails de l'objet de type '%s' sélectionné observe.type.activityLongline.unsaved=Nouvelle activité observe.type.activitySeine.unsaved=Nouvelle activité observe.type.floatingObject.unsaved=Nouvel objet flottant (FOB) -observe.type.list=Liste des %s -observe.type.management=Gestion des %s +observe.type.list=Liste des référentiels de type `%s` +observe.type.management=Gestion des référentiels de type `%s` observe.type.reference.common=Référentiel commun observe.type.reference.longline=Référentiel Palangre observe.type.reference.seine=Référentiel Senne ===================================== templates/src/main/java/fr/ird/observe/toolkit/eugene/templates/DtoReferenceTransformer.java ===================================== @@ -247,7 +247,6 @@ public class DtoReferenceTransformer extends ObjectModelTransformerToJava { String referenceName = beanClass.getName() + "Reference"; i18nGetterFile.addKey("observe.common." + dtoName + ".type"); - i18nGetterFile.addKey("observe.common." + dtoName + ".types"); StringBuilder body = new StringBuilder(); body.append("" /*{ <%=flushMethodName%>(<%=referenceName%>.DEFINITION);}*/); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/c9e5dd41f3b3dce8756547652… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/c9e5dd41f3b3dce8756547652… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] [PS] Contrôle de la saisie des espèces dans faune accessoire par systèmes...
by Tony CHEMIT 05 Aug '20

05 Aug '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: d3048d73 by Tony Chemit at 2020-08-05T15:10:18+02:00 [PS] Contrôle de la saisie des espèces dans faune accessoire par systèmes observés (cas requin baleine) - Closes #1583 (report v8) - - - - - 2 changed files: - client-configuration/src/main/config/Client.ini - client-configuration/src/test/java/fr/ird/observe/client/configuration/ClientConfigTest.java Changes: ===================================== client-configuration/src/main/config/Client.ini ===================================== @@ -733,7 +733,7 @@ defaultValue = true description = observe.config.ui.seineBycatchObservedSystem.description key = ui.seineBycatchObservedSystem type = fr.ird.observe.validation.SeineBycatchObservedSystemConfig -defaultValue = {\"fr.ird.referential.common.Species#1239832684290#0.04680507324710936\": [\"fr.ird.referential.ps.observation.ObservedSystem#0#1.0\",\"fr.ird.referential.ps.observation.ObservedSystem#0#1.1\"]} +defaultValue = {\"fr.ird.referential.common.Species#1239832684290#0.04680507324710936\": [\"fr.ird.referential.ps.observation.ObservedSystem#0#1.0\",\"fr.ird.referential.ps.observation.ObservedSystem#0#1.1\",\"fr.ird.referential.ps.observation.ObservedSystem#1239832686428#0.9217864901728908\"]} [option temporaryFilesTimeout] description = observe.config.temporaryFilesTimeout.description ===================================== client-configuration/src/test/java/fr/ird/observe/client/configuration/ClientConfigTest.java ===================================== @@ -56,10 +56,11 @@ public class ClientConfigTest { { Collection<String> requiredObservedSystemBySpeciesId = seineBycatchObservedSystem.getRequiredObservedSystemBySpeciesId("fr.ird.referential.common.Species#1239832684290#0.04680507324710936"); Assert.assertNotNull(requiredObservedSystemBySpeciesId); - Assert.assertEquals(2, requiredObservedSystemBySpeciesId.size()); + Assert.assertEquals(3, requiredObservedSystemBySpeciesId.size()); Iterator<String> iterator = requiredObservedSystemBySpeciesId.iterator(); Assert.assertEquals("fr.ird.referential.ps.observation.ObservedSystem#0#1.0", iterator.next()); Assert.assertEquals("fr.ird.referential.ps.observation.ObservedSystem#0#1.1", iterator.next()); + Assert.assertEquals("fr.ird.referential.ps.observation.ObservedSystem#1239832686428#0.9217864901728908", iterator.next()); } { Collection<String> requiredObservedSystemBySpeciesId = seineBycatchObservedSystem.getRequiredObservedSystemBySpeciesId("fr.ird.referential.common.Species#1239832684290#0.04680507324710936_fake"); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/d3048d736958842611d9dd609… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/d3048d736958842611d9dd609… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] 4 commits: [PS] Contrôle de la saisie des espèces dans faune accessoire par systèmes...
by Tony CHEMIT 05 Aug '20

05 Aug '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: dab9fdc8 by Tony Chemit at 2020-08-05T13:26:18+02:00 [PS] Contrôle de la saisie des espèces dans faune accessoire par systèmes observés (cas requin baleine) - See #1583 - - - - - 4f50f240 by Tony Chemit at 2020-08-05T13:26:19+02:00 update pom - - - - - e154abdc by Tony Chemit at 2020-08-05T13:26:19+02:00 Listes à choix multiples et mode permissif sur référentiels désactivés - Closes #1585 - - - - - ca258626 by Tony Chemit at 2020-08-05T13:31:08+02:00 Revert &quot;update pom&quot; This reverts commit 4f50f240 - - - - - 3 changed files: - client-configuration/src/main/config/Client.ini - client-configuration/src/test/java/fr/ird/observe/client/configuration/ClientConfigTest.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java Changes: ===================================== client-configuration/src/main/config/Client.ini ===================================== @@ -597,7 +597,7 @@ defaultValue = true description = observe.config.ui.seineBycatchObservedSystem.description key = ui.seineBycatchObservedSystem type = fr.ird.observe.validation.SeineBycatchObservedSystemConfig -defaultValue = {\"fr.ird.observe.entities.referentiel.Species#1239832684290#0.04680507324710936\": [\"fr.ird.observe.entities.referentiel.seine.ObservedSystem#0#1.0\",\"fr.ird.observe.entities.referentiel.seine.ObservedSystem#0#1.1\"]} +defaultValue = {\"fr.ird.observe.entities.referentiel.Species#1239832684290#0.04680507324710936\": [\"fr.ird.observe.entities.referentiel.seine.ObservedSystem#0#1.0\",\"fr.ird.observe.entities.referentiel.seine.ObservedSystem#0#1.1\",\"fr.ird.observe.entities.referentiel.seine.ObservedSystem#1239832686428#0.9217864901728908\"]} [option temporaryFilesTimeout] description = observe.config.temporaryFilesTimeout.description ===================================== client-configuration/src/test/java/fr/ird/observe/client/configuration/ClientConfigTest.java ===================================== @@ -47,10 +47,11 @@ public class ClientConfigTest { { Collection<String> requiredObservedSystemBySpeciesId = seineBycatchObservedSystem.getRequiredObservedSystemBySpeciesId("fr.ird.observe.entities.referentiel.Species#1239832684290#0.04680507324710936"); Assert.assertNotNull(requiredObservedSystemBySpeciesId); - Assert.assertEquals(2, requiredObservedSystemBySpeciesId.size()); + Assert.assertEquals(3, requiredObservedSystemBySpeciesId.size()); Iterator<String> iterator = requiredObservedSystemBySpeciesId.iterator(); Assert.assertEquals("fr.ird.observe.entities.referentiel.seine.ObservedSystem#0#1.0", iterator.next()); Assert.assertEquals("fr.ird.observe.entities.referentiel.seine.ObservedSystem#0#1.1", iterator.next()); + Assert.assertEquals("fr.ird.observe.entities.referentiel.seine.ObservedSystem#1239832686428#0.9217864901728908", iterator.next()); } { Collection<String> requiredObservedSystemBySpeciesId = seineBycatchObservedSystem.getRequiredObservedSystemBySpeciesId("fr.ird.observe.entities.referentiel.Species#1239832684290#0.04680507324710936_fake"); ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java ===================================== @@ -721,8 +721,9 @@ public abstract class ContentUIHandler<E extends IdDto, U extends ContentUI<E, U log.debug(String.format("Filter referential references (type %s - property %s), original size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size())); // by default always remove obsolete references - List<R> referentialReferences = DtoReferenceCollection.filterEnabled(incomingReferences); - log.debug(String.format("Filter referential references (type %s - property %s), without diabled size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size())); + boolean validationDisabledReferential = ui.getConfig().isValidationDisabledReferential(); + List<R> referentialReferences = validationDisabledReferential ? new LinkedList<>(incomingReferences) : DtoReferenceCollection.filterEnabled(incomingReferences); + log.debug(String.format("Filter referential references (type %s - property %s), without disabled size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size())); //noinspection unchecked ReferentialReferencesFilter<D, R> referentialReferencesFilter = referentialsFilters.get(propertyName); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/11f90bbddfdada0212095cef… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/11f90bbddfdada0212095cef… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 4 commits: Amélioration du design dans editor-api :
by Tony CHEMIT 03 Aug '20

03 Aug '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 01d0ac4d by Tony Chemit at 2020-07-28T14:40:54+02:00 Amélioration du design dans editor-api : * un seul listener sur l&#39;arbre pour gérer la sélection * déplacement du code de la navigation dans son paquetage * ajout d&#39;une méthode ClientUIContext.addSimpleAction (il faudrait l&#39;utiliser partout, à finir) * nettoyage code et commentaire - - - - - 409b6da5 by Tony Chemit at 2020-07-28T17:24:29+02:00 Ajout méthode pour avoir les informations sur une source de données à partir de sa configuration - - - - - 1973bdfe by Tony Chemit at 2020-07-28T17:24:56+02:00 Nettoyage code - - - - - 1b179ca3 by Tony Chemit at 2020-07-30T14:35:22+02:00 Improve again editor API - - - - - 30 changed files: - client-core/src/main/i18n/templates/dataSourceInformation_en_GB.ftl - client-core/src/main/i18n/templates/dataSourceInformation_es_ES.ftl - client-core/src/main/i18n/templates/dataSourceInformation_fr_FR.ftl - client-core/src/main/java/fr/ird/observe/client/ClientUIContext.java - client-core/src/main/java/fr/ird/observe/client/datasource/api/ObserveDataSourcesManager.java - client-core/src/main/java/fr/ird/observe/client/datasource/api/ObserveSwingDataSource.java - client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIBodyContent.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigModel.java - client-datasource-editor-api/src/main/i18n/templates/dataSourceConnectionReport_en_GB.ftl - client-datasource-editor-api/src/main/i18n/templates/dataSourceConnectionReport_es_ES.ftl - client-datasource-editor-api/src/main/i18n/templates/dataSourceConnectionReport_fr_FR.ftl - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/DataSourceEditor.jaxx - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/DataSourceEditorBodyContent.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/DataSourceEditorHandler.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/DataSourceEditorHelper.java - − client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/ObServeNavigationTreeSelectionListener.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/loading/close/CloseDataSourceAction.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/loading/open/OpenDataSourceAction.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/loading/open/OpenDataSourceActionStep.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/ReloadStorageAction.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTree.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTreeCellRenderer.java - + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTreeSelectionListenerImpl.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/ObserveNavigationTreeShowPopupAction.java → client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTreeShowPopupHandler.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationUI.jaxx - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationUIHandler.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/ObstunaAdminAction.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/StorageUIModel.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/connexion/DataSourceSelectorModel.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/22ea111dd2e2456eb41edd23… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/22ea111dd2e2456eb41edd23… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 2 commits: Défauts d'affichage dans l'arbre (on peut désormais sélectionner un nœud à...
by Tony CHEMIT 27 Jul '20

27 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 2571beb8 by Tony Chemit at 2020-07-27T18:11:02+02:00 Défauts d&#39;affichage dans l&#39;arbre (on peut désormais sélectionner un nœud à partir de la souris quelque soit la position du point) - See #1580 - - - - - 22ea111d by Tony Chemit at 2020-07-27T18:12:55+02:00 Défauts d&#39;affichage dans l&#39;arbre (suppression de la bordure en noire sur la ligne sélectionnée) - See #1580 - - - - - 2 changed files: - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/ObserveNavigationTreeShowPopupAction.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTreeCellRenderer.java Changes: ===================================== client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/ObserveNavigationTreeShowPopupAction.java ===================================== @@ -112,41 +112,53 @@ public class ObserveNavigationTreeShowPopupAction { boolean rightClick = SwingUtilities.isRightMouseButton(e); - if (rightClick) { - - // get the coordinates of the mouse click - Point p = e.getPoint(); + // get the coordinates of the mouse click + Point p = e.getPoint(); - int closestRowForLocation = tree.getClosestRowForLocation(e.getX(), e.getY()); + int closestRowForLocation = tree.getClosestRowForLocation(e.getX(), e.getY()); - int rowToSelect = -1; + int rowToSelect = -1; - if (isRowSelected(closestRowForLocation)) { + if (isRowSelected(closestRowForLocation)) { - rowToSelect = closestRowForLocation; - } - - if (rowToSelect == -1) { - - // try to change selection + rowToSelect = closestRowForLocation; + } - TreePath pathForRow = tree.getPathForRow(closestRowForLocation); - tree.setSelectionPath(pathForRow); + if (rowToSelect == -1) { - if (isRowSelected(closestRowForLocation)) { + // try to change selection - rowToSelect = closestRowForLocation; - } + TreePath pathForRow = tree.getPathForRow(closestRowForLocation); + tree.setSelectionPath(pathForRow); + if (isRowSelected(closestRowForLocation)) { + rowToSelect = closestRowForLocation; } - if (rowToSelect != -1) { - - showPopup(rowToSelect, p); - + } else { + TreePath pathForRow = tree.getPathForRow(rowToSelect); + + Rectangle pathBounds = tree.getPathBounds(pathForRow); + if (e.getClickCount() == 2 && pathBounds != null && !pathBounds.contains(e.getPoint())) { + SwingUtilities.invokeLater(() -> { + if (tree.isExpanded(pathForRow)) { + tree.collapsePath(pathForRow); + } else { + tree.expandPath(pathForRow); + } + }); + e.consume(); + return; } } + if (rowToSelect != -1) { + return; + } + + if (rightClick) { + showPopup(rowToSelect, p); + } } private void openNodeMenu(KeyEvent e) { ===================================== client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTreeCellRenderer.java ===================================== @@ -49,6 +49,7 @@ public class NavigationTreeCellRenderer extends DefaultTreeRenderer { defaultVisuals.setForeground(value.getColor()); } super.configureVisuals(context); + rendererComponent.setBorder(null); } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/9c6b4c4fc789d575df29629f… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/9c6b4c4fc789d575df29629f… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Défauts d'affichage dans l'arbre - Closes #1580
by Tony CHEMIT 26 Jul '20

26 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 9c6b4c4f by Tony Chemit at 2020-07-26T13:01:38+02:00 Défauts d&#39;affichage dans l&#39;arbre - Closes #1580 - - - - - 5 changed files: - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTree.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTreeCellRenderer.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTreeModel.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/NavigationTreeNodeSupport.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/ObserveTreeNodeSupport.java Changes: ===================================== client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTree.java ===================================== @@ -93,8 +93,7 @@ public class NavigationTree extends JXTree { openNode(e.getPath()); }); - NavigationTreeCellRenderer renderer = new NavigationTreeCellRenderer(); - setCellRenderer(renderer); + setCellRenderer(new NavigationTreeCellRenderer()); ClientUIContext clientUIContext = ClientUIContextApplicationComponent.value(); ObserveEditModel navigationEdit = clientUIContext.getObserveEditModel(); @@ -108,6 +107,15 @@ public class NavigationTree extends JXTree { ); } +// public boolean getScrollableTracksViewportWidth() { +// return true; +// } + +// @Override +// public boolean isFixedRowHeight() { +// return true; +// } + @Override public void updateUI() { setSelectionModel(new NavigationTreeSelectionModel()); ===================================== client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTreeCellRenderer.java ===================================== @@ -1,40 +1,13 @@ package fr.ird.observe.client.datasource.editor.tree.navigation; -/*- - * #%L - * ObServe :: Client DataSource Editor API - * %% - * Copyright (C) 2008 - 2020 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 fr.ird.observe.client.datasource.editor.tree.navigation.nodes.NavigationTreeNodeSupport; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; +import org.jdesktop.swingx.renderer.CellContext; +import org.jdesktop.swingx.renderer.DefaultTreeRenderer; +import org.jdesktop.swingx.renderer.IconValue; +import org.jdesktop.swingx.renderer.LabelProvider; import org.jdesktop.swingx.renderer.StringValue; -import org.jdesktop.swingx.tree.DefaultXTreeCellRenderer; import javax.swing.Icon; -import javax.swing.JLabel; -import javax.swing.JTree; -import javax.swing.SwingUtilities; -import java.awt.Color; -import java.awt.Component; -import java.awt.Dimension; /** * Created on 14/11/16. @@ -42,78 +15,41 @@ import java.awt.Dimension; * @author Tony Chemit - dev(a)tchemit.fr * @since 6.0 */ -public class NavigationTreeCellRenderer extends DefaultXTreeCellRenderer implements StringValue { +public class NavigationTreeCellRenderer extends DefaultTreeRenderer { - /** Logger */ - private static final Logger log = LogManager.getLogger(NavigationTreeCellRenderer.class); - -// @Override -// public Color getBackgroundSelectionColor() { -// return null; -// } -// -// @Override -// public Color getBackgroundNonSelectionColor() { -// // Fixes http://forge.codelutin.com/issues/830 for jdk 7 -// return Color.WHITE; -// } + public NavigationTreeCellRenderer() { + super(new NavigationTreeLabelProvider()); + } - @Override - public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { + private static class NavigationTreeStringIconValue implements StringValue, IconValue { - if (!(tree.getModel() instanceof NavigationTreeModel)) { - Component rendererComponent; - rendererComponent = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); - return rendererComponent; + @Override + public Icon getIcon(Object value) { + NavigationTreeNodeSupport<?> n = (NavigationTreeNodeSupport<?>) value; + return n.getIcon(); } - // get the icon to set for the node - NavigationTreeNodeSupport node = (NavigationTreeNodeSupport) value; - - Icon icon = node.getIcon(); + @Override + public String getString(Object value) { + NavigationTreeNodeSupport<?> n = (NavigationTreeNodeSupport<?>) value; + return n.toString(); + } + } - if (!sel) { + private static class NavigationTreeLabelProvider extends LabelProvider { - Color color = node.getColor(); - if (log.isTraceEnabled()) { - log.trace("===" + color + " for node " + node.getDataType() + " - " + node.getId()); - } - setTextNonSelectionColor(color); + public NavigationTreeLabelProvider() { + super(new NavigationTreeStringIconValue()); } - String text = node.getText(); - if (log.isTraceEnabled()) { - log.trace("===" + text + " for node " + node.getDataType() + " - " + node.getId()); - } - JLabel comp = (JLabel) super.getTreeCellRendererComponent(tree, text, sel, expanded, leaf, row, hasFocus); - comp.setToolTipText(text); - comp.setIcon(icon); - Dimension size = comp.getPreferredSize(); - double height = size.getHeight(); - if (height > 50) { - log.error(String.format("Size is amazing: %s for node: %s", size, text)); - Dimension newSize = new Dimension((int) size.getWidth(), 32); - comp.setSize(newSize); - comp.setPreferredSize(newSize); - } else { - int stringWidth = SwingUtilities.computeStringWidth(comp.getFontMetrics(comp.getFont()), text); - if (size.getWidth() < stringWidth) { - log.error(String.format("Size is too low: %s for node: %s", size, text)); - Dimension newSize = new Dimension(stringWidth + 5, (int) height); - comp.setPreferredSize(newSize); + @Override + protected void configureVisuals(CellContext context) { + NavigationTreeNodeSupport<?> value = (NavigationTreeNodeSupport<?>) context.getValue(); + if (!context.isSelected()) { + defaultVisuals.setForeground(value.getColor()); } + super.configureVisuals(context); } - return comp; - } - - @Override - public String getString(Object value) { - NavigationTreeNodeSupport node = (NavigationTreeNodeSupport) value; - return node.getText(); - } - @Override - protected String paramString() { - return "Nope"; } } ===================================== client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTreeModel.java ===================================== @@ -24,12 +24,10 @@ package fr.ird.observe.client.datasource.editor.tree.navigation; import fr.ird.observe.client.configuration.ClientConfig; import fr.ird.observe.client.configuration.NavigationTreeConfigBean; -import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.ClassNavigationTreeNode; import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.NavigationTreeModelInitializer; import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.NavigationTreeNodeSupport; import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.ReferenceNavigationTreeNodeSupport; import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.RootNavigationTreeNode; -import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.StringNavigationTreeNodeSupport; import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.WithChildsToReload; import fr.ird.observe.navigation.model.DtoModelNavigationModel; import fr.ird.observe.navigation.model.ObserveNavigationNode; ===================================== client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/NavigationTreeNodeSupport.java ===================================== @@ -124,7 +124,7 @@ public abstract class NavigationTreeNodeSupport<O> extends ObserveTreeNodeSuppor this.loaded = loaded; } - public NavigationTreeNodeSupport findChildById(String id) { + public NavigationTreeNodeSupport<?> findChildById(String id) { if (id == null) { // id null ? donc rien a faire @@ -147,9 +147,9 @@ public abstract class NavigationTreeNodeSupport<O> extends ObserveTreeNodeSuppor // au final le noeud est une feuille, donc ne convient pas return null; } - Enumeration children = children(); + Enumeration<?> children = children(); while (children.hasMoreElements()) { - NavigationTreeNodeSupport node = (NavigationTreeNodeSupport) children.nextElement(); + NavigationTreeNodeSupport<?> node = (NavigationTreeNodeSupport<?>) children.nextElement(); if (id.equals(node.getId()) || (node.getUserObject() instanceof String && id.equals(node.getUserObject()))) { return node; } @@ -158,7 +158,7 @@ public abstract class NavigationTreeNodeSupport<O> extends ObserveTreeNodeSuppor return null; } - public NavigationTreeNodeSupport findChildByType(Class<?> childType) { + public NavigationTreeNodeSupport<?> findChildByType(Class<?> childType) { if (childType.isAssignableFrom(getClass())) { @@ -177,9 +177,9 @@ public abstract class NavigationTreeNodeSupport<O> extends ObserveTreeNodeSuppor // au final le noeud est une feuille, donc ne convient pas return null; } - Enumeration children = children(); + Enumeration<?> children = children(); while (children.hasMoreElements()) { - NavigationTreeNodeSupport node = (NavigationTreeNodeSupport) children.nextElement(); + NavigationTreeNodeSupport<?> node = (NavigationTreeNodeSupport<?>) children.nextElement(); if (childType.isAssignableFrom(node.getClass())) { return node; } @@ -202,30 +202,6 @@ public abstract class NavigationTreeNodeSupport<O> extends ObserveTreeNodeSuppor return isOpen() ? Color.BLACK : Color.GRAY; } -// public JMenuItem toMenuItem(SelectNode action, JAXXObject ui) { -// -// JMenuItem mi = new JMenuItem(); -// AbstractAction a = new AbstractAction() { -// -// @Override -// public void actionPerformed(ActionEvent e) { -// if (log.isInfoEnabled()) { -// log.info("Select action from menuItem: " + e.getSource()); -// } -// action.actionPerformed(mi); -// } -// }; -// mi.setAction(a); -// mi.setText(getText().trim()); -// ObserveKeyStrokes.addKeyStroke(mi, ObserveKeyStrokes.KEY_STROKE_PRESSED_ENTER); -// mi.setIcon(getIcon(true)); -// mi.setForeground(getColor()); -// mi.setBackground(Color.WHITE); -// mi.putClientProperty("node", this); -// mi.putClientProperty("ui", ui); -// return mi; -// } - public NavigationTreeNodeSupport<?> findChildByModelNode(ObserveNavigationNode<?> node) { if (!isLoaded()) { @@ -238,7 +214,7 @@ public abstract class NavigationTreeNodeSupport<O> extends ObserveTreeNodeSuppor String id = node.getId(); Class<?> type = node.getType(); - Enumeration children = children(); + Enumeration<?> children = children(); while (children.hasMoreElements()) { NavigationTreeNodeSupport<?> child = (NavigationTreeNodeSupport<?>) children.nextElement(); if (child instanceof ReferenceNavigationTreeNodeSupport<?, ?>) { ===================================== client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/ObserveTreeNodeSupport.java ===================================== @@ -67,4 +67,8 @@ public abstract class ObserveTreeNodeSupport<O> extends DefaultMutableTreeNode { return servicesProviderSupplier.get(); } + @Override + public String toString() { + return getText(); + } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/9c6b4c4fc789d575df29629f8… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/9c6b4c4fc789d575df29629f8… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 7 commits: Utilisation de la nouvelle API dans JAXX pour éviter les surcharges de...
by Tony CHEMIT 25 Jul '20

25 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: b8eeb691 by Tony Chemit at 2020-07-19T17:33:17+02:00 Utilisation de la nouvelle API dans JAXX pour éviter les surcharges de composants (on préfère utiliser des écouteurs). - - - - - 1acdd009 by Tony Chemit at 2020-07-19T17:35:00+02:00 On continue à nettoyer les model d&#39;admin - - - - - 09adb6c4 by Tony Chemit at 2020-07-19T17:35:53+02:00 Essaie pour valider les DSS (mais probablement à supprimer et continuer) - - - - - 81c03639 by Tony Chemit at 2020-07-25T15:03:42+02:00 Remove action executor interface - - - - - 07026e7e by Tony Chemit at 2020-07-25T15:03:44+02:00 clean code - - - - - 6ef8a09f by Tony Chemit at 2020-07-25T15:03:44+02:00 Let&#39;s move to ObserveSwingDataSource some useful methods (to open or close, + icons) - - - - - 5b28f7ad by Tony Chemit at 2020-07-25T15:30:30+02:00 [ASSITANTS SYNCHRO AVANCEE] Cosmétique écran de connexions - Closes #1545 - - - - - 30 changed files: - + client-configuration/.mvn/i18n/parse-java - client-configuration/src/main/i18n/getters/java.getter - + client-core/src/main/java/fr/ird/observe/client/ActionWorkerInMainUIListener.java - client-core/src/main/java/fr/ird/observe/client/util/action/WithActionExecutor.java → client-core/src/main/java/fr/ird/observe/client/ApplicationContextClosedListener.java - client-core/src/main/java/fr/ird/observe/client/ClientUIContext.java - + client-core/src/main/java/fr/ird/observe/client/ObserveActionExecutor.java - client-core/src/main/java/fr/ird/observe/client/datasource/api/ObserveSwingDataSource.java - client-datasource-actions/pom.xml - client-datasource-actions/src/main/i18n/getters/java.getter - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminActionModel.java - + client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminActionWorkerListener.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIBodyContent.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/AdminTabUIActionSupport.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/AdminUIActionSupport.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/Close.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/NextStep.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/ExportModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/ActivityLonglinePairingModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/report/ReportModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/SynchronizeModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroConfigUI.jaxx - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroUIHandler.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5e7ba0cfabc64c30e347e112… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5e7ba0cfabc64c30e347e112… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 7 commits: Les requetes de type revert sont effectuées dans le mauvais sens :(
by Tony CHEMIT 18 Jul '20

18 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: b76eb59e by Tony Chemit at 2020-07-18T19:33:07+02:00 Les requetes de type revert sont effectuées dans le mauvais sens :( - - - - - bc8c9e9e by Tony Chemit at 2020-07-18T19:33:31+02:00 la mise à jour avec propriétés ne fonctionne pas bien :( - - - - - c0e33071 by Tony Chemit at 2020-07-18T19:35:53+02:00 simplification du code sur un sélecteur de source de données (mais ça pourrait encore etre plus simple, faut tout remettre à plat :() - - - - - 70274902 by Tony Chemit at 2020-07-18T20:21:58+02:00 ajout d&#39;une méthode simple sans ui pour initialiser un StorageModel - - - - - 7b8c6f9a by Tony Chemit at 2020-07-18T20:22:07+02:00 correction de la validation - - - - - 4bca01d1 by Tony Chemit at 2020-07-18T21:25:37+02:00 correction de l&#39;ordre de fermeture du context d&#39;ui - - - - - 5e7ba0cf by Tony Chemit at 2020-07-18T21:37:53+02:00 [ASSITANTS SYNCHRO AVANCEE] Cosmétique écran de connexions - See #1545 (première étape de réusinage du code) - - - - - 30 changed files: - client-core/src/main/java/fr/ird/observe/client/ClientUIContext.java - client-datasource-actions/src/main/i18n/getters/java.getter - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminActionModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminTabUI.jaxx - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminTabUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUI.jaxx - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIBodyContent.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigUI.jaxx - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigUI.jcss - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/SelectDataModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/SelectDataUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/actions/SelectData.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/ExportModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/ExportUI.jaxx - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/ExportUI.jcss - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/ExportUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/actions/Prepare.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/actions/Start.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/ActivityLonglinePairingModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/ActivityLonglinePairingUI.jaxx - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/ActivityLonglinePairingUI.jcss - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/ActivityLonglinePairingUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/actions/Prepare.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/bf051055b3c3fe4b1478d2a9… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/bf051055b3c3fe4b1478d2a9… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Améliorer la transition vers l'onglet de sélection de données - Closes #1556
by Tony CHEMIT 17 Jul '20

17 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: bf051055 by Tony Chemit at 2020-07-17T22:19:21+02:00 Améliorer la transition vers l&#39;onglet de sélection de données - Closes #1556 - - - - - 28 changed files: - client-datasource-actions/src/main/i18n/getters/java.getter - client-datasource-actions/src/main/i18n/getters/jaxx.getter - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminStep.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminTabUI.jaxx - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminTabUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/SelectDataModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/SelectDataUI.jaxx - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/SelectDataUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/SelectData.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/actions/SelectData.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUI.jaxx - − client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUI.jcss - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/ExportUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/ActivityLonglinePairingUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/SaveLocalUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/SynchronizeUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/validate/ValidateUIHandler.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/StorageUIModel.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/connexion/DataSourceSelectorModel.java - observe-i18n/src/main/i18n/translations/observe_en_GB.properties - observe-i18n/src/main/i18n/translations/observe_es_ES.properties - observe-i18n/src/main/i18n/translations/observe_fr_FR.properties Changes: ===================================== client-datasource-actions/src/main/i18n/getters/java.getter ===================================== @@ -3,6 +3,8 @@ observe.Id.validation.field.tip observe.Id.validation.message.tip observe.Id.validation.scope.tip observe.common.none +observe.constant.AdminStep.SELECT_DATA +observe.constant.AdminStep.SELECT_DATA.description observe.ui.action.admin.cancel observe.ui.action.admin.close observe.ui.action.apply ===================================== client-datasource-actions/src/main/i18n/getters/jaxx.getter ===================================== @@ -23,6 +23,7 @@ observe.ui.datasource.editor.actions.report.select observe.ui.datasource.editor.actions.report.select.file observe.ui.datasource.editor.actions.report.select.file.tip observe.ui.datasource.editor.actions.report.variables +observe.ui.datasource.editor.actions.select.loading observe.ui.datasource.editor.actions.synchro.data.actionsToPerform observe.ui.datasource.editor.actions.synchro.referential.config.mode observe.ui.datasource.editor.actions.synchro.referential.obsolete.entities.list ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminStep.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.client.datasource.actions; import fr.ird.observe.client.constants.DbMode; import fr.ird.observe.client.datasource.actions.config.ConfigUI; +import fr.ird.observe.client.datasource.actions.config.SelectDataModel; import fr.ird.observe.client.datasource.actions.config.SelectDataUI; import fr.ird.observe.client.datasource.actions.consolidate.ConsolidateModel; import fr.ird.observe.client.datasource.actions.consolidate.ConsolidateUI; @@ -77,9 +78,21 @@ public enum AdminStep implements WizardExtStep { /** pour selectionner les donnes */ SELECT_DATA( - null, +// null, +// SelectDataUI.class, +// true + n("observe.constant.AdminStep.SELECT_DATA"), + n("observe.constant.AdminStep.SELECT_DATA.description"), + "synchronizeReferentiel", + n("observe.constant.AdminStep.SELECT_DATA"), + n("observe.constant.AdminStep.SELECT_DATA.description"), + SelectDataModel.class, SelectDataUI.class, - true + false, + false, + false, + false, + 'S' ), /** pour résoudre les entités obosolètes */ @@ -435,6 +448,16 @@ public enum AdminStep implements WizardExtStep { return oldStep != null && oldStep.ordinal() < ordinal(); } + /** + * Is this step is the new step and come from a greater step (in ordinal order) ? + * + * @param oldStep the step before + * @return {@code true} if new step is this step and old step has a greater ordinal, {@code false} otherwise + */ + public boolean rewindToThisStep(AdminStep oldStep) { + return oldStep != null && oldStep.ordinal() > ordinal(); + } + public boolean isNeedReferentiel() { return needReferentiel; } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminTabUI.jaxx ===================================== @@ -81,8 +81,12 @@ public void propertyChange(PropertyChangeEvent evt) { //propertyChange.super(evt); } -public void onComing(boolean pending) { - getHandler().onComing(pending); +public void onComingFromPreviousStep(boolean pending) { + getHandler().onComingFromPreviousStep(pending); +} + +public void onComingFromNextStep(AdminStep oldStep) { + getHandler().onComingFromNextStep(oldStep); } ]]> ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminTabUIHandler.java ===================================== @@ -49,7 +49,11 @@ public class AdminTabUIHandler<U extends AdminTabUI> implements WithClientConfig protected AdminUI parentUI; protected DecoratorService decoratorService; - protected void onComing(boolean pending) { + protected void onComingFromPreviousStep(boolean pending) { + // by default nothing to do + } + + protected void onComingFromNextStep(AdminStep oldStep) { // by default nothing to do } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIHandler.java ===================================== @@ -188,7 +188,9 @@ public class AdminUIHandler implements UIHandler<AdminUI>, WithClientUIContext { AdminUIModel model = ui.getModel(); if (newStep.forwardToThisStep(oldStep)) { - c.onComing(model.getStepState(newStep) == WizardState.PENDING); + c.onComingFromPreviousStep(model.getStepState(newStep) == WizardState.PENDING); + } else if (newStep.rewindToThisStep(oldStep)) { + c.onComingFromNextStep(oldStep); } // selection du nouvel onglet @@ -223,7 +225,7 @@ public class AdminUIHandler implements UIHandler<AdminUI>, WithClientUIContext { return; } - if (selected != null && selected.getStep().isConfig()) { + if (selected != null && (selected.getStep().isConfig() || selected.getStep() == AdminStep.SELECT_DATA)) { log.debug("Selected step is config : " + selected.getStep()); while (itr.hasNext()) { @@ -231,7 +233,7 @@ public class AdminUIHandler implements UIHandler<AdminUI>, WithClientUIContext { Component tab = itr.next(); AdminTabUI tabUI = (AdminTabUI) tab; AdminStep synchroStep = tabUI.getStep(); - if (synchroStep.isConfig()) { + if (synchroStep.isConfig() || (synchroStep == AdminStep.SELECT_DATA && ui.getModel().getStepState(synchroStep) == WizardState.SUCCESSED)) { log.debug("Test config panel : " + synchroStep); boolean valid = ui.getModel().validate(synchroStep); if (valid) { @@ -274,8 +276,6 @@ public class AdminUIHandler implements UIHandler<AdminUI>, WithClientUIContext { // on demarre le modele ui.getModel().start(ui); - ui.onWasInit(); - // affichage ui ui.setVisible(true); ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIModel.java ===================================== @@ -38,8 +38,6 @@ import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardExtModel; import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Arrays; import java.util.EnumSet; @@ -65,13 +63,10 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { private final EnumSet<DbMode> availableIncomingModes; - private final PropertyChangeListener listenStepChanged; - public AdminUIModel(AdminStep adminStep) { super(AdminStep.class); this.adminStep = Objects.requireNonNull(adminStep); this.availableIncomingModes = EnumSet.noneOf(DbMode.class); - this.listenStepChanged = this::onStepChanged; log.debug(String.format("model [%s] is instantiated.", this)); } @@ -79,43 +74,6 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { return adminStep; } - private void onStepChanged(PropertyChangeEvent evt) { - if (isWasStarted()) { - - // on ne propage plus rien (il n'y a plus de configuration possible...) - log.debug("Stop propagation, was started... " + evt.getPropertyName()); - return; - } - - AdminStep oldStep = (AdminStep) evt.getOldValue(); - AdminStep newStep = (AdminStep) evt.getNewValue(); - - if (oldStep != null && oldStep != AdminStep.CONFIG) { - - // on fait rien si on ne vient pas de la configuration - return; - } - - // on était sur l'écran de configuration - - // mise à jour des modèles de sélection si on arrive sur une étape - // qui le requière - - boolean needSelect = needSelect(); - - if (!needSelect) { - - // pas besoin d'agir sur le model de sélection de données - return; - } - - if (newStep == AdminStep.SELECT_DATA) { - - getSelectDataModel().initSelectionModel(this); - - } - } - @Override public void firePropertyChange(String propertyName, Object newValue) { super.firePropertyChange(propertyName, newValue); @@ -282,13 +240,12 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { getReferentialSynchroModel().start(ui); } - removePropertyChangeListener(STEP_PROPERTY_NAME, listenStepChanged); - addPropertyChangeListener(STEP_PROPERTY_NAME, listenStepChanged); - log.info("End of start..."); // on revalide le modèle (tout est prêt) validate(); + + ui.onWasInit(); } @Override @@ -308,6 +265,9 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { @Override public AdminUIModel addOperation(AdminStep step) { + if (step.isNeedSelect()) { + getOperations().add(AdminStep.SELECT_DATA); + } if (AdminStep.EXPORT_DATA == step) { // pour exporter les données utilisateurs ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigModel.java ===================================== @@ -31,7 +31,6 @@ import fr.ird.observe.client.datasource.actions.report.ReportModel; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchronizeMode; import fr.ird.observe.client.datasource.api.ObserveSwingDataSource; import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel; -import fr.ird.observe.client.datasource.editor.wizard.StorageUIModel; import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelectorModel; import fr.ird.observe.client.util.ObserveKeyStrokesSupport; import fr.ird.observe.client.util.UIHelper; @@ -83,6 +82,17 @@ public class ConfigModel extends AdminActionModel { ConfigModel.this.firePropertyChange(AdminUIModel.VALID_STEP_PROPERTY_NAME, isValidStep()); ConfigModel.this.firePropertyChange("valid", isValid()); } + + @Override + public void start(DbMode dbMode) { + super.start(dbMode); + if (isValid()) { + // load at once + setDataSourceInformation(null); + getSourceInformation(); + getSafeSource(true); + } + } }; centralSourceModel = new DataSourceSelectorModel(ObserveKeyStrokesSupport.KEY_STROKE_CONFIGURE_REMOTE_SOURCE) { @@ -106,8 +116,8 @@ public class ConfigModel extends AdminActionModel { boolean validate = true; - StorageUIModel centralSourceModel = getCentralSourceModel(); - StorageUIModel localSourceModel = getLocalSourceModel(); + DataSourceSelectorModel centralSourceModel = getCentralSourceModel(); + DataSourceSelectorModel localSourceModel = getLocalSourceModel(); if (uiModel.isNeedIncomingDataSource()) { if (!localSourceModel.isValid()) { @@ -215,9 +225,9 @@ public class ConfigModel extends AdminActionModel { atLeastOneWrite = true; } - if (centralSourceModel.getDataSourceInformation() != null) { + if (centralSourceModel.getSourceInformation() != null) { - ObserveDataSourceInformation rightDataSourceInformation = centralSourceModel.getDataSourceInformation(); + ObserveDataSourceInformation rightDataSourceInformation = centralSourceModel.getSourceInformation(); if (!(rightDataSourceInformation.canReadData())) { log.debug("can not read data on right data source"); return false; @@ -253,7 +263,7 @@ public class ConfigModel extends AdminActionModel { return false; } - ObserveDataSourceInformation rightDataSourceInformation = centralSourceModel.getDataSourceInformation(); + ObserveDataSourceInformation rightDataSourceInformation = centralSourceModel.getSourceInformation(); if (rightDataSourceInformation == null) { return false; } @@ -297,7 +307,7 @@ public class ConfigModel extends AdminActionModel { return false; } - ObserveDataSourceInformation rightDataSourceInformation = centralSourceModel.getDataSourceInformation(); + ObserveDataSourceInformation rightDataSourceInformation = centralSourceModel.getSourceInformation(); if (rightDataSourceInformation == null) { return false; } @@ -319,8 +329,8 @@ public class ConfigModel extends AdminActionModel { // il faut une base locale et une connexion distante // avec des droits d'écriture de données - validate &= centralSourceModel.getDataSourceInformation() != null - && centralSourceModel.getDataSourceInformation().canWriteData(); + validate &= centralSourceModel.getSourceInformation() != null + && centralSourceModel.getSourceInformation().canWriteData(); } @@ -333,8 +343,8 @@ public class ConfigModel extends AdminActionModel { validate &= reportFile != null && reportFile.exists() && reports != null && !reports.isEmpty(); } if (uiModel.containsOperation(AdminStep.ACTIVITY_LONGLINE_PAIRING)) { - validate &= localSourceModel.getDataSourceInformation() != null - && localSourceModel.getDataSourceInformation().canWriteData(); + validate &= localSourceModel.getSourceInformation() != null + && localSourceModel.getSourceInformation().canWriteData(); } return validate; ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigUIHandler.java ===================================== @@ -61,6 +61,9 @@ public class ConfigUIHandler extends AdminTabUIHandler<ConfigUI> implements UIHa JPanel operations = ui.getOperations(); operations.removeAll(); for (AdminStep operation : model.getOperations()) { + if (AdminStep.SELECT_DATA == operation) { + continue; + } log.info("Add operation: " + operation); JLabel label = new JLabel(operation.getLabel()); label.setFont(label.getFont().deriveFont(Font.ITALIC).deriveFont(13f)); ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/SelectDataModel.java ===================================== @@ -66,7 +66,6 @@ public class SelectDataModel extends AdminActionModel { this.selectionDataModel = selectionDataModel; } - public void initSelectionModel(AdminUIModel uiModel) { SelectionTreeModel selectionDataModel = getSelectionDataModel(); @@ -128,14 +127,14 @@ public class SelectDataModel extends AdminActionModel { } - public DataDtoReference getSelectedTrip() { + public DataDtoReference<?,?> getSelectedTrip() { Set<DataDtoReference<?, ?>> data = getSelectionDataModel().getSelectedData(); if (data.isEmpty()) { // pas de Trip selectionne return null; } - DataDtoReference dto = data.iterator().next(); + DataDtoReference<?,?> dto = data.iterator().next(); if (dto instanceof fr.ird.observe.dto.data.ps.common.TripReference) { return dto; } @@ -158,8 +157,6 @@ public class SelectDataModel extends AdminActionModel { public void start(AdminUIModel uiModel) { if (!uiModel.needSelect()) { - - // pas d'opération avec une sélection de données, rien a faire ici return; } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/SelectDataUI.jaxx ===================================== @@ -34,6 +34,16 @@ public static SelectDataUI get(AdminUI ui) { <SelectDataModel id='stepModel' initializer='getModel().getSelectDataModel()'/> <JPanel id='PENDING_content' layout="{new BorderLayout()}"> - <SelectionTreePane id='selectTreePane' decorator='boxed' constraints='BorderLayout.CENTER'/> + <Table constraints='BorderLayout.CENTER' fill='both' weightx='1' weighty='1'> + <row> + <cell> + <JButton id='selectData'/> + </cell> + </row> + </Table> </JPanel> + <JPanel id='invisiblePanel' > + <SelectionTreePane id='selectTreePane'/> + </JPanel> + </fr.ird.observe.client.datasource.actions.AdminTabUI> ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/SelectDataUIHandler.java ===================================== @@ -22,11 +22,17 @@ package fr.ird.observe.client.datasource.actions.config; * #L% */ +import fr.ird.observe.client.datasource.actions.AdminStep; import fr.ird.observe.client.datasource.actions.AdminTabUIHandler; -import fr.ird.observe.client.datasource.actions.actions.SelectData; import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTree; import fr.ird.observe.client.util.UIHelper; import org.nuiton.jaxx.runtime.spi.UIHandler; +import org.nuiton.jaxx.runtime.swing.SwingUtil; +import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState; + +import javax.swing.SwingUtilities; +import java.awt.GridBagConstraints; +import java.awt.Insets; /** * Created on 28/11/16. @@ -36,27 +42,42 @@ import org.nuiton.jaxx.runtime.spi.UIHandler; */ public class SelectDataUIHandler extends AdminTabUIHandler<SelectDataUI> implements UIHandler<SelectDataUI> { + boolean fix; + @Override - protected void onComing(boolean pending) { + protected void onComingFromPreviousStep(boolean pending) { if (pending) { - SelectData action = SelectData.init(ui, null, SelectData.class); - action.run(); + SwingUtilities.invokeLater(ui.getSelectData()::doClick); } } @Override public void afterInit(SelectDataUI ui) { super.afterInit(ui); - - UIHelper.setLayerUI(ui.getContent(), null); - UIHelper.setLayerUI(ui.getSelectTreePane(), parentUI.getConfigBlockLayerUI()); - SelectionTree tree = ui.getSelectTreePane().getTree(); getModel().getSelectDataModel().setSelectionDataModel(tree.getTreeModel()); - tree.installUI(ui.getSelectTreePane()); - //FIXME Init tree ? -// UIHelper.initUI(ui.getSelectTreePane(), tree); } + @Override + protected void onComingFromNextStep(AdminStep oldStep) { + WizardState stepState = getModel().getStepState(oldStep); + if (stepState != WizardState.PENDING && !fix) { + UIHelper.setLayerUI(ui.getContent(), null); + UIHelper.setLayerUI(ui.getSelectTreePane(), parentUI.getConfigBlockLayerUI()); + fix = true; + } + } + + @Override + protected void onStateChangeToRunning() { + super.onStateChangeToRunning(); + } + + @Override + protected void onStateChangeToSuccess() { + super.onStateChangeToSuccess(); + ui.getSUCCESSED_panel().removeAll(); + ui.getSUCCESSED_panel().add(SwingUtil.boxComponentWithJxLayer(ui.getSelectTreePane()), new GridBagConstraints(0, 0, 1, 1, 1.0, 1, 10, 1, new Insets(3, 3, 3, 3), 0, 0)); + } } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/SelectData.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/actions/SelectData.java ===================================== @@ -1,4 +1,4 @@ -package fr.ird.observe.client.datasource.actions.actions; +package fr.ird.observe.client.datasource.actions.config.actions; /*- * #%L @@ -22,19 +22,33 @@ package fr.ird.observe.client.datasource.actions.actions; * #L% */ +import fr.ird.observe.client.datasource.actions.AdminUIModel; +import fr.ird.observe.client.datasource.actions.actions.AdminTabUIActionSupport; import fr.ird.observe.client.datasource.actions.config.SelectDataUI; import fr.ird.observe.client.datasource.api.ObserveSwingDataSource; import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTree; +import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState; +import javax.swing.ActionMap; +import javax.swing.InputMap; import javax.swing.SwingUtilities; import java.awt.event.ActionEvent; +import static io.ultreia.java4all.i18n.I18n.t; + public class SelectData extends AdminTabUIActionSupport<SelectDataUI> implements Runnable { public SelectData() { - super(null, null, null, null); + super(null, null, "wizard-start", 'D'); } + @Override + protected void defaultInit(InputMap inputMap, ActionMap actionMap) { + setText(t("observe.ui.datasource.editor.actions.synchro.launch.operation", t(ui.getStep().getOperationLabel()))); + setTooltipText(t("observe.ui.datasource.editor.actions.synchro.launch.operation", t(ui.getStep().getOperationLabel()))); + super.defaultInit(inputMap, actionMap); + } + @Override protected void doActionPerformed(ActionEvent e, SelectDataUI ui) { run(); @@ -45,24 +59,28 @@ public class SelectData extends AdminTabUIActionSupport<SelectDataUI> implements if (getParentUI().getConfigBlockLayerUI().isBlock()) { return; } - getParentUI().getModel().setBusy(true); - try { - SwingUtilities.invokeLater(this::run0); - } finally { - getParentUI().getModel().setBusy(false); - } + addAdminWorker(ui.getSelectData().getToolTipText(), this::run0); } - private void run0() { + private WizardState run0() { + AdminUIModel model = ui.getModel(); + WizardState stepState = model.getStepState(ui.getStep()); + if (stepState != WizardState.PENDING) { + return stepState; + } SelectionTree selectTree = ui.getSelectTreePane().getTree(); selectTree.clearSelection(); + + ui.getStepModel().initSelectionModel(model); + SwingUtilities.invokeLater(selectTree::grabFocus); if (selectTree.getTreeModel().isNotEmpty()) { selectTree.setSelectionRow(0); } - ObserveSwingDataSource localSource = ui.getModel().getConfigModel().getLocalSourceModel().getSafeSource(true); + ObserveSwingDataSource localSource = model.getConfigModel().getLocalSourceModel().getSafeSource(true); if (localSource.isLocal()) { SwingUtilities.invokeLater(selectTree::expandAll); } + return WizardState.SUCCESSED; } } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUI.jaxx ===================================== @@ -34,7 +34,7 @@ public static ConsolidateUI get(AdminUI ui) { <ConsolidateModel id='stepModel' initializer='getModel().getConsolidateModel()'/> - <JPanel id='PENDING_content'> + <JPanel id='PENDING_content' layout="{new BorderLayout()}"> <Table constraints='BorderLayout.CENTER' fill='both' weightx='1' weighty='1'> <row> <cell> ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUI.jcss deleted ===================================== @@ -1,30 +0,0 @@ -/* - * #%L - * ObServe :: Client DataSource Actions - * %% - * Copyright (C) 2008 - 2020 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% - */ - - -#PENDING_content { - layout:{new BorderLayout()}; -} - -#NEED_FIX_content { - layout:{new BorderLayout()}; -} ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUIHandler.java ===================================== @@ -35,7 +35,7 @@ import static io.ultreia.java4all.i18n.I18n.t; public class ConsolidateUIHandler extends AdminTabUIHandler<ConsolidateUI> implements UIHandler<ConsolidateUI> { @Override - protected void onComing(boolean pending) { + protected void onComingFromPreviousStep(boolean pending) { if (pending) { SwingUtilities.invokeLater(ui.getStart()::doClick); } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/ExportUIHandler.java ===================================== @@ -52,7 +52,7 @@ public class ExportUIHandler extends AdminTabUIHandler<ExportUI> implements UIHa private static final Logger log = LogManager.getLogger(ExportUIHandler.class); @Override - protected void onComing(boolean pending) { + protected void onComingFromPreviousStep(boolean pending) { if (pending) { SwingUtilities.invokeLater(ui.getPrepare()::doClick); } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/ActivityLonglinePairingUIHandler.java ===================================== @@ -35,7 +35,7 @@ import javax.swing.SwingUtilities; public class ActivityLonglinePairingUIHandler extends AdminTabUIHandler<ActivityLonglinePairingUI> implements UIHandler<ActivityLonglinePairingUI> { @Override - protected void onComing(boolean pending) { + protected void onComingFromPreviousStep(boolean pending) { if (pending) { SwingUtilities.invokeLater(ui.getPrepare()::doClick); } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/SaveLocalUIHandler.java ===================================== @@ -40,7 +40,7 @@ import static io.ultreia.java4all.i18n.I18n.t; public class SaveLocalUIHandler extends AdminTabUIHandler<SaveLocalUI> implements UIHandler<SaveLocalUI> { @Override - protected void onComing(boolean pending) { + protected void onComingFromPreviousStep(boolean pending) { updateText(); if (pending && !ui.getStepModel().isLocalSourceNeedSave()) { SwingUtilities.invokeLater(ui.getContinueAction()::doClick); ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUIHandler.java ===================================== @@ -45,7 +45,7 @@ import java.awt.Color; public class DataSynchroUIHandler extends AdminTabUIHandler<DataSynchroUI> implements UIHandler<DataSynchroUI> { @Override - protected void onComing(boolean pending) { + protected void onComingFromPreviousStep(boolean pending) { if (pending) { SwingUtilities.invokeLater(ui.getStart()::doClick); } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/SynchronizeUIHandler.java ===================================== @@ -56,7 +56,7 @@ public class SynchronizeUIHandler extends AdminTabUIHandler<SynchronizeUI> imple } @Override - protected void onComing(boolean pending) { + protected void onComingFromPreviousStep(boolean pending) { if (pending) { SwingUtilities.invokeLater(ui.getStart()::doClick); } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroUIHandler.java ===================================== @@ -53,7 +53,7 @@ public class ReferentialSynchroUIHandler extends AdminTabUIHandler<ReferentialSy } @Override - protected void onComing(boolean pending) { + protected void onComingFromPreviousStep(boolean pending) { if (pending) { SwingUtilities.invokeLater(ui.getStart()::doClick); } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/validate/ValidateUIHandler.java ===================================== @@ -68,7 +68,7 @@ public class ValidateUIHandler extends AdminTabUIHandler<ValidateUI> implements private static final Logger log = LogManager.getLogger(ValidateUIHandler.class); @Override - protected void onComing(boolean pending) { + protected void onComingFromPreviousStep(boolean pending) { if (pending) { ui.setEnabled(true); SwingUtilities.invokeLater(ui.getStart()::doClick); ===================================== client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/StorageUIModel.java ===================================== @@ -181,8 +181,8 @@ public class StorageUIModel extends WizardModel<StorageStep> implements WithClie protected String serverUrl; /** Les information de connextion a la base **/ protected ObserveDataSourceInformation dataSourceInformation; - /** Les information de connextion a la base **/ - protected ObserveDataSourceInformation h2DataSourceInformation; +// /** Les information de connextion a la base **/ +// protected ObserveDataSourceInformation h2DataSourceInformation; /** le fichier d'import des données */ protected File dumpFile; /** le mode de creation d'une base */ @@ -419,7 +419,7 @@ public class StorageUIModel extends WizardModel<StorageStep> implements WithClie // on est actuellement connecte sur une base locale fromStorageConfig((ObserveDataSourceConfigurationTopiaH2) previousConfig); - h2DataSourceInformation = previousInfo; +// h2DataSourceInformation = previousInfo; } else if (previousConfig instanceof ObserveDataSourceConfigurationTopiaPG) { if (!isLocalStorageExist) { @@ -1946,9 +1946,9 @@ public class StorageUIModel extends WizardModel<StorageStep> implements WithClie } public ObserveDataSourceInformation getDataSourceInformation() { - if (DbMode.USE_LOCAL.equals(dbMode)) { - return getH2DataSourceInformation(); - } +// if (DbMode.USE_LOCAL.equals(dbMode)) { +// return getH2DataSourceInformation(); +// } return dataSourceInformation; } @@ -1957,18 +1957,18 @@ public class StorageUIModel extends WizardModel<StorageStep> implements WithClie this.dataSourceInformation = dataSourceInformation; } - public ObserveDataSourceInformation getH2DataSourceInformation() { - if (h2DataSourceInformation == null && localStorageExist) { - ObserveSwingDataSource dataSource = ClientUIContextApplicationComponent.value().getDataSourcesManager().newDataSource(h2Config); - try { - h2DataSourceInformation = dataSource.checkCanConnect(false); - } catch (Exception e) { - log.debug("error on load data source information for local storage", e); - } - } - - return h2DataSourceInformation; - } +// public ObserveDataSourceInformation getH2DataSourceInformation() { +// if (h2DataSourceInformation == null && localStorageExist) { +// ObserveSwingDataSource dataSource = ClientUIContextApplicationComponent.value().getDataSourcesManager().newDataSource(h2Config); +// try { +// h2DataSourceInformation = dataSource.checkCanConnect(false); +// } catch (Exception e) { +// log.debug("error on load data source information for local storage", e); +// } +// } +// +// return h2DataSourceInformation; +// } private boolean isValidDumpFile(File dumpFile) { return dumpFile != null && ===================================== client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/connexion/DataSourceSelectorModel.java ===================================== @@ -30,7 +30,7 @@ import org.apache.logging.log4j.Logger; import javax.swing.KeyStroke; -public class DataSourceSelectorModel extends StorageUIModel { +public class DataSourceSelectorModel extends StorageUIModel { private static final Logger log = LogManager.getLogger(DataSourceSelectorModel.class); @@ -64,12 +64,17 @@ public class DataSourceSelectorModel extends StorageUIModel { public ObserveDataSourceInformation getSourceInformation() { if (sourceInformation == null) { - ObserveSwingDataSource localSource = getSafeSource(false); - try { - sourceInformation = localSource.checkCanConnect(false); - } catch (Exception e) { - //FIXME ! il faut faire quelque chose dans ce cas précis, au moins avertir l'utilisateur - log.error("unable to find local source information", e); + ObserveDataSourceInformation dataSourceInformation = getDataSourceInformation(); + if (dataSourceInformation != null) { + sourceInformation = dataSourceInformation; + } else { + try { + sourceInformation = getSafeSource(false).checkCanConnect(false); + setDataSourceInformation(sourceInformation); + } catch (Exception e) { + //FIXME ! il faut faire quelque chose dans ce cas précis, au moins avertir l'utilisateur + log.error("unable to find local source information", e); + } } } return sourceInformation; ===================================== observe-i18n/src/main/i18n/translations/observe_en_GB.properties ===================================== @@ -2218,6 +2218,7 @@ observe.ui.datasource.editor.actions.report.title.tip=Help to generate reports observe.ui.datasource.editor.actions.report.variables=Variables configuration observe.ui.datasource.editor.actions.saveLocal=Save local database observe.ui.datasource.editor.actions.saveLocal.description=Save modifcations on local database +observe.ui.datasource.editor.actions.select.loading=< Data source select tree is loading > observe.ui.datasource.editor.actions.synchro.cancel.tip=Cancel observe.ui.datasource.editor.actions.synchro.copy.tip=Copy result of report in clipboard observe.ui.datasource.editor.actions.synchro.data=Advanced data management ===================================== observe-i18n/src/main/i18n/translations/observe_es_ES.properties ===================================== @@ -2218,6 +2218,7 @@ observe.ui.datasource.editor.actions.report.title.tip=Ayuda a la generación del observe.ui.datasource.editor.actions.report.variables=Configuración de variables observe.ui.datasource.editor.actions.saveLocal=Copia de seguridad de la base local observe.ui.datasource.editor.actions.saveLocal.description=Guardar las modificationes realizadas en la base locale +observe.ui.datasource.editor.actions.select.loading=< Data source select tree is loading > \#TODO observe.ui.datasource.editor.actions.synchro.cancel.tip=Cancelar observe.ui.datasource.editor.actions.synchro.copy.tip=Copiar el informe en el portapapeles observe.ui.datasource.editor.actions.synchro.data=Gestión avanzada de los datos ===================================== observe-i18n/src/main/i18n/translations/observe_fr_FR.properties ===================================== @@ -2218,6 +2218,7 @@ observe.ui.datasource.editor.actions.report.title.tip=Aide à la génération du observe.ui.datasource.editor.actions.report.variables=Configuration des variables observe.ui.datasource.editor.actions.saveLocal=Sauvegarde de la base locale observe.ui.datasource.editor.actions.saveLocal.description=Sauvegarder les modifications effectuées vers la base locale +observe.ui.datasource.editor.actions.select.loading=< L'arbre de sélection de données est en cours de chargement > observe.ui.datasource.editor.actions.synchro.cancel.tip=Annuler observe.ui.datasource.editor.actions.synchro.copy.tip=Copier le rapport dans le presse-papier observe.ui.datasource.editor.actions.synchro.data=Gestion avancée de données View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/bf051055b3c3fe4b1478d2a90… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/bf051055b3c3fe4b1478d2a90… You're receiving this email because of your account on gitlab.com.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • ...
  • 720
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.