Observe-commits
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
- 7199 discussions
[Git][ultreiaio/ird-observe][develop] 3 commits: FOB sans objectOperation fait planter la consolidation des données - See #1469
by Tony CHEMIT 17 Apr '20
by Tony CHEMIT 17 Apr '20
17 Apr '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
d6dfc879 by tchemit at 2020-04-17T11:01:48+02:00
FOB sans objectOperation fait planter la consolidation des données - See #1469
- - - - -
7a6a3bb3 by tchemit at 2020-04-17T11:03:07+02:00
Les températures ne sont pas bien restituées... - Closes #1470
- - - - -
cc8facd7 by tchemit at 2020-04-17T11:04:31+02:00
Remove bad and unusefull code
- - - - -
2 changed files:
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/ContentUIInitializer.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/consolidate/ConsolidateDataServiceLocal.java
Changes:
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/ContentUIInitializer.java
=====================================
@@ -327,7 +327,7 @@ public class ContentUIInitializer<UI extends ContentUI> implements WithClientCon
if (editor.getBean() != null) {
if (UIHelper.isBindingFromBean(editor)) {
- editor.getModel().addPropertyChangeListener(propertyName, e -> {
+ ((JavaBean)editor.getBean()).addPropertyChangeListener(propertyName, e -> {
Float oldValue = editor.getModel().getTemperature();
Float newValue = (Float) e.getNewValue();
if (!Objects.equals(oldValue, newValue)) {
@@ -342,17 +342,6 @@ public class ContentUIInitializer<UI extends ContentUI> implements WithClientCon
if (StringUtils.isEmpty(editor.getProperty())) {
editor.setProperty(editor.getName());
}
- if (editor.getBean() != null) {
- if (UIHelper.isBindingFromBean(editor)) {
- editor.getModel().addPropertyChangeListener(editor.getProperty(), e -> {
- String oldValue = editor.getText();
- String newValue = (String) e.getNewValue();
- if (!Objects.equals(oldValue, newValue)) {
- editor.setText(newValue);
- }
- });
- }
- }
editor.setMinimumSize(new Dimension(50, 5 * 24));
editor.getTextEditor().setRows(4);
}
@@ -361,36 +350,12 @@ public class ContentUIInitializer<UI extends ContentUI> implements WithClientCon
if (StringUtils.isEmpty(editor.getProperty())) {
editor.setProperty(editor.getName());
}
-
- if (editor.getBean() != null) {
- if (UIHelper.isBindingFromBean(editor)) {
- editor.getModel().addPropertyChangeListener(editor.getProperty(), e -> {
- String oldValue = editor.getText();
- String newValue = (String) e.getNewValue();
- if (!Objects.equals(oldValue, newValue)) {
- editor.setText(newValue);
- }
- });
- }
- }
}
protected void init(UrlEditor editor) {
if (StringUtils.isEmpty(editor.getProperty())) {
editor.setProperty(editor.getName());
}
-
- if (editor.getBean() != null) {
- if (UIHelper.isBindingFromBean(editor)) {
- editor.getModel().addPropertyChangeListener(editor.getProperty(), e -> {
- String oldValue = editor.getText();
- String newValue = (String) e.getNewValue();
- if (!Objects.equals(oldValue, newValue)) {
- editor.setText(newValue);
- }
- });
- }
- }
}
private void init(JLabel editor) {
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/consolidate/ConsolidateDataServiceLocal.java
=====================================
@@ -375,6 +375,12 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements
private void updateDcp(FloatingObject dcp, ConsolidationActivitySeineDataContext activityContext) {
+ if (dcp.getObjectOperation() == null) {
+ log.warn("**********************");
+ log.warn(String.format("Floating object %s has no object operation....", dcp.getTopiaId()));
+ log.warn("**********************");
+ return;
+ }
FloatingObjectConsolidateEngine floatingObjectConsolidateEngine = activityContext.floatingObjectConsolidateEngine;
ReferentialLocale referentialLocale = getReferentialLocale();
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/1d90522b3fe579efe4b3f5b0…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/1d90522b3fe579efe4b3f5b0…
You're receiving this email because of your account on gitlab.com.
1
0
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
18947500 by tchemit at 2020-04-16T12:20:46+02:00
update pom
- - - - -
1d90522b by tchemit at 2020-04-17T10:20:30+02:00
Suppression de l'onglet résumé sur les assistants - Closes #1468
- - - - -
18 changed files:
- client-datasource-actions/src/main/i18n/getters/java-enumeration.getter
- 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/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/resume/ShowResumeModel.java
- − client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/resume/ShowResumeUI.jaxx
- − client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/resume/ShowResumeUI.jcss
- − client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/resume/ShowResumeUIHandler.java
- − client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/resume/actions/CopyResumeToClipBoard.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/RegisterTaskActionSupport.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/validate/actions/SaveReport.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
- pom.xml
Changes:
=====================================
client-datasource-actions/src/main/i18n/getters/java-enumeration.getter
=====================================
@@ -16,8 +16,6 @@ observe.constant.AdminStep.SAVE_LOCAL
observe.constant.AdminStep.SAVE_LOCAL.description
observe.constant.AdminStep.SELECT_DATA
observe.constant.AdminStep.SELECT_DATA.description
-observe.constant.AdminStep.SHOW_RESUME
-observe.constant.AdminStep.SHOW_RESUME.description
observe.constant.AdminStep.SYNCHRONIZE
observe.constant.AdminStep.SYNCHRONIZE.description
observe.constant.AdminStep.VALIDATE
=====================================
client-datasource-actions/src/main/i18n/getters/java.getter
=====================================
@@ -170,13 +170,6 @@ observe.admin.report.no.report.found
observe.admin.report.report.count.found
observe.admin.report.title
observe.admin.report.title.tip
-observe.admin.resume.no.operation.done
-observe.admin.resume.operation.canceled
-observe.admin.resume.operation.done
-observe.admin.resume.operation.failed
-observe.admin.resume.operation.need.fix
-observe.admin.resume.operation.not.started
-observe.admin.resume.operation.running
observe.choice.cancel
observe.choice.confirm.insert
observe.choice.replace
=====================================
client-datasource-actions/src/main/i18n/getters/jaxx.getter
=====================================
@@ -34,7 +34,6 @@ observe.admin.report.variables
observe.common.directory
observe.common.file
observe.common.global.progression.description
-observe.common.operation.resume
observe.common.step.description
observe.info.selected.validators
observe.info.validation.credentials
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminStep.java
=====================================
@@ -32,7 +32,6 @@ import fr.ird.observe.client.datasource.actions.longline.pairing.ActivityLonglin
import fr.ird.observe.client.datasource.actions.longline.pairing.ActivityLonglinePairingUI;
import fr.ird.observe.client.datasource.actions.report.ReportModel;
import fr.ird.observe.client.datasource.actions.report.ReportUI;
-import fr.ird.observe.client.datasource.actions.resume.ShowResumeUI;
import fr.ird.observe.client.datasource.actions.save.SaveLocalModel;
import fr.ird.observe.client.datasource.actions.save.SaveLocalUI;
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
@@ -247,13 +246,6 @@ public enum AdminStep implements WizardExtStep {
DbMode.USE_LOCAL,
DbMode.USE_REMOTE,
DbMode.USE_SERVER
- ),
-
- /** pour afficher après les opération un ecran de résumé */
- SHOW_RESUME(
- null,
- ShowResumeUI.class,
- false
);
private final String iconName;
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIHandler.java
=====================================
@@ -27,7 +27,6 @@ import fr.ird.observe.client.datasource.actions.config.SelectDataUI;
import fr.ird.observe.client.datasource.actions.consolidate.ConsolidateUI;
import fr.ird.observe.client.datasource.actions.export.ExportUI;
import fr.ird.observe.client.datasource.actions.longline.pairing.ActivityLonglinePairingUI;
-import fr.ird.observe.client.datasource.actions.resume.ShowResumeUI;
import fr.ird.observe.client.datasource.actions.save.SaveLocalUI;
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
import fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.SynchronizeUI;
@@ -297,12 +296,6 @@ public class AdminUIHandler implements UIHandler<AdminUI>, WithClientUIContext {
SaveLocalUI tabUI = (SaveLocalUI) ui.getStepUI(AdminStep.SAVE_LOCAL);
tabUI.getHandler().updateText();
}
- if (c != null && c.getStep() == AdminStep.SHOW_RESUME) {
-
- // on met a jour le resumé des opérations
- ShowResumeUI showResumeUI = (ShowResumeUI) ui.getStepUI(AdminStep.SHOW_RESUME);
- showResumeUI.getHandler().updateText();
- }
// selection du nouvel onglet
int index = ui.tabs.indexOfComponent(c);
@@ -371,12 +364,6 @@ public class AdminUIHandler implements UIHandler<AdminUI>, WithClientUIContext {
itr = UIHelper.newTabbedPaneIterator(ui.getTabs());
}
- if (selected != null && selected.getStep() == AdminStep.SHOW_RESUME) {
-
- // rien a faire sur le dernier onglet
- log.debug("We are on last step (resume), nothing to do.");
- return;
- }
boolean[] accessibleSteps = ui.getModel().getAccessibleSteps();
log.debug("Accessibles step : " + Arrays.toString(accessibleSteps));
for (; itr.hasNext(); itr.next()) {
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIModel.java
=====================================
@@ -28,7 +28,6 @@ import fr.ird.observe.client.datasource.actions.consolidate.ConsolidateModel;
import fr.ird.observe.client.datasource.actions.export.ExportModel;
import fr.ird.observe.client.datasource.actions.longline.pairing.ActivityLonglinePairingModel;
import fr.ird.observe.client.datasource.actions.report.ReportModel;
-import fr.ird.observe.client.datasource.actions.resume.ShowResumeModel;
import fr.ird.observe.client.datasource.actions.save.SaveLocalModel;
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
import fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.SynchronizeModel;
@@ -64,8 +63,6 @@ public class AdminUIModel extends WizardExtModel<AdminStep> {
private final SelectDataModel selectDataModel = new SelectDataModel();
- private final ShowResumeModel showResumeModel = new ShowResumeModel();
-
private final AdminStep adminStep;
private final EnumSet<DbMode> availableIncomingModes;
@@ -152,10 +149,6 @@ public class AdminUIModel extends WizardExtModel<AdminStep> {
return configModel;
}
- public ShowResumeModel getShowResumeModel() {
- return showResumeModel;
- }
-
public SelectDataModel getSelectDataModel() {
return selectDataModel;
}
@@ -397,8 +390,6 @@ public class AdminUIModel extends WizardExtModel<AdminStep> {
return getSynchronizeReferentielModel().validate(this, step);
case SAVE_LOCAL:
return getSaveLocalModel().validate(this, step);
- case SHOW_RESUME:
- return getShowResumeModel().validate(this);
}
return true;
}
@@ -411,8 +402,6 @@ public class AdminUIModel extends WizardExtModel<AdminStep> {
// toujours l'onglet de configuration des opérations
universe.add(AdminStep.CONFIG);
- // pour savoir si on doit ajouter l'onglet de résumé (cas par défaut)
- boolean needResume = true;
if (!operations.isEmpty()) {
if (needSelect()) {
@@ -458,9 +447,6 @@ public class AdminUIModel extends WizardExtModel<AdminStep> {
if (containsOperation(AdminStep.REPORT)) {
universe.add(AdminStep.REPORT);
-
- // pas de page de resume
- needResume = false;
}
updateSaveLocalOperation();
@@ -476,12 +462,6 @@ public class AdminUIModel extends WizardExtModel<AdminStep> {
// ajout de l'onglet de sauvegarde de la base distante
universe.add(AdminStep.EXPORT_DATA);
}
-
- if (needResume) {
-
- // ajout d'un onglet de resume
- universe.add(AdminStep.SHOW_RESUME);
- }
}
return universe.toArray(new AdminStep[0]);
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/AdminTabUIActionSupport.java
=====================================
@@ -28,7 +28,6 @@ import fr.ird.observe.client.datasource.actions.AdminActionWorker;
import fr.ird.observe.client.datasource.actions.AdminStep;
import fr.ird.observe.client.datasource.actions.AdminTabUI;
import fr.ird.observe.client.datasource.actions.AdminUI;
-import fr.ird.observe.client.datasource.actions.resume.ShowResumeUI;
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
import fr.ird.observe.client.datasource.editor.content.ref.usage.UsageForDisplayUI;
import fr.ird.observe.client.datasource.editor.content.ref.usage.UsageForDisplayUIHandler;
@@ -98,14 +97,8 @@ public abstract class AdminTabUIActionSupport<U extends AdminTabUI> extends JCom
public String sendMessage(String message) {
-
AdminStep step = ui.getStep();
addMessage(step, message);
- AdminUI parentUI = getParentUI();
- ShowResumeUI resumeUI = (ShowResumeUI) parentUI.getStepUI(AdminStep.SHOW_RESUME);
- if (resumeUI != null) {
- addMessage(resumeUI, step, message);
- }
return message;
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/resume/ShowResumeModel.java deleted
=====================================
@@ -1,43 +0,0 @@
-package fr.ird.observe.client.datasource.actions.resume;
-
-/*-
- * #%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%
- */
-
-import fr.ird.observe.client.datasource.actions.AdminActionModel;
-import fr.ird.observe.client.datasource.actions.AdminStep;
-import fr.ird.observe.client.datasource.actions.AdminUIModel;
-
-/**
- * Created on 28/11/16.
- *
- * @author Tony Chemit - dev(a)tchemit.fr
- * @since 6.0
- */
-public class ShowResumeModel extends AdminActionModel {
- public ShowResumeModel() {
- super(AdminStep.SHOW_RESUME);
- }
-
- public boolean validate(AdminUIModel uiModel) {
- return true;
- }
-}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/resume/ShowResumeUI.jaxx deleted
=====================================
@@ -1,59 +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%
- -->
-
-<fr.ird.observe.client.datasource.actions.AdminTabUI>
-
- <import>
- fr.ird.observe.client.util.UIHelper
- fr.ird.observe.client.datasource.actions.AdminUI
- fr.ird.observe.client.datasource.actions.AdminTabUI
-
- java.awt.Dimension
- </import>
-
- <ShowResumeModel id='stepModel' initializer='getModel().getShowResumeModel()'/>
-
- <JPanel id='PENDING_content'>
- <Table constraints='BorderLayout.CENTER' fill='both' weightx='1'
- weighty='1'>
- <row>
- <cell>
- <JScrollPane id='resumePane'>
- <JTextArea id='resume'/>
- </JScrollPane>
- </cell>
- </row>
- <row>
- <cell>
- <JScrollPane id='globalProgressionPane' columnHeaderView='{globalProgressionTop}'>
- <JTextArea id='globalProgression'/>
- <JToolBar id='globalProgressionTop'>
- <JLabel id='globalProgressionTopLabel'/>
- <javax.swing.Box.Filler
- constructorParams='UIHelper.newMinDimension(), UIHelper.newMinDimension(), UIHelper.newMaxXDimension()'/>
- <JButton id="copyToClipBoard"/>
- </JToolBar>
- </JScrollPane>
- </cell>
- </row>
- </Table>
- </JPanel>
-
-</fr.ird.observe.client.datasource.actions.AdminTabUI>
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/resume/ShowResumeUI.jcss deleted
=====================================
@@ -1,59 +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()};
-}
-
-#resumePane {
- minimumSize:{new Dimension(0,0)};
- horizontalScrollBarPolicy:{JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED};
- columnHeaderView:{UIHelper.newLabel(t("observe.common.operation.resume") ,"wizard-message", 10)};
-}
-
-#resume {
- editable:false;
- focusable:true;
-}
-
-#globalProgressionPane {
- minimumSize:{new Dimension(0,0)};
- horizontalScrollBarPolicy:{JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED};
-}
-
-#globalProgression {
- font-size:10;
- focusable:true;
- lineWrap:false;
- editable:false;
-}
-
-#globalProgressionTop {
- floatable:false;
-}
-
-#globalProgressionTopLabel {
- text:"observe.common.global.progression.description";
- actionIcon:"wizard-message";
-}
-
-
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/resume/ShowResumeUIHandler.java deleted
=====================================
@@ -1,91 +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%
- */
-package fr.ird.observe.client.datasource.actions.resume;
-
-import fr.ird.observe.client.datasource.actions.AdminStep;
-import fr.ird.observe.client.datasource.actions.AdminTabUIHandler;
-import fr.ird.observe.client.datasource.actions.AdminUIModel;
-import fr.ird.observe.client.util.UIHelper;
-import fr.ird.observe.dto.I18nEnumHelper;
-import org.nuiton.jaxx.runtime.spi.UIHandler;
-import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
-
-import static io.ultreia.java4all.i18n.I18n.t;
-
-/**
- * Le controleur des onglets.
- *
- * @author Tony Chemit - dev(a)tchemit.fr
- * @since 1.4
- */
-public class ShowResumeUIHandler extends AdminTabUIHandler<ShowResumeUI> implements UIHandler<ShowResumeUI> {
-
- @Override
- public void afterInit(ShowResumeUI ui) {
- super.afterInit(ui);
- UIHelper.setLayerUI(ui.getContent(), null);
- }
-
- public void updateText() {
- AdminUIModel model = ui.getModel();
- StringBuilder buffer = new StringBuilder();
- if (!model.isWasStarted()) {
- buffer.append(t("observe.admin.resume.no.operation.done"));
- } else {
- for (AdminStep s : model.getOperations()) {
- WizardState state = model.getStepState(s);
- String stateStr = "";
- switch (state) {
- case CANCELED:
- stateStr = t("observe.admin.resume.operation.canceled");
- break;
- case FAILED:
- stateStr = t("observe.admin.resume.operation.failed");
- break;
- case NEED_FIX:
- stateStr = t("observe.admin.resume.operation.need.fix");
- break;
- case PENDING:
- stateStr = t("observe.admin.resume.operation.not.started");
- break;
- case RUNNING:
- stateStr = t("observe.admin.resume.operation.running");
- break;
- case SUCCESSED:
- stateStr = t("observe.admin.resume.operation.done");
- break;
- }
- buffer.append("\n\n");
- buffer.append(I18nEnumHelper.getLabel(s));
- buffer.append(" : ");
- buffer.append(stateStr);
- buffer.append(".");
- }
- buffer.append("\n\n");
- }
- getUi().getResume().setText(buffer.toString());
- }
-
- public void addMessage(AdminStep step, String text) {
- getUi().getGlobalProgression().append(I18nEnumHelper.getLabel(step) + " - " + text + "\n");
- }
-}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/resume/actions/CopyResumeToClipBoard.java deleted
=====================================
@@ -1,45 +0,0 @@
-package fr.ird.observe.client.datasource.actions.resume.actions;
-
-/*-
- * #%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%
- */
-
-import fr.ird.observe.client.datasource.actions.actions.AdminTabUIActionSupport;
-import fr.ird.observe.client.datasource.actions.resume.ShowResumeUI;
-import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
-import fr.ird.observe.client.util.UIHelper;
-
-import java.awt.event.ActionEvent;
-
-import static io.ultreia.java4all.i18n.I18n.t;
-
-public class CopyResumeToClipBoard extends AdminTabUIActionSupport<ShowResumeUI> {
-
- public CopyResumeToClipBoard() {
- super(t("observe.action.copy.to.clipBoard"), t("observe.action.copy.to.clipBoard"), "report-copy", ObserveKeyStrokesSupport.KEY_STROKE_COPY_TO_CLIPBOARD);
- }
-
- @Override
- protected void doActionPerformed(ActionEvent e, ShowResumeUI ui) {
- UIHelper.copyToClipBoard(ui.getGlobalProgression().getText());
- }
-
-}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/RegisterTaskActionSupport.java
=====================================
@@ -27,7 +27,6 @@ import com.google.common.collect.ImmutableSet;
import fr.ird.observe.client.datasource.actions.AdminStep;
import fr.ird.observe.client.datasource.actions.AdminTabUI;
import fr.ird.observe.client.datasource.actions.AdminUI;
-import fr.ird.observe.client.datasource.actions.resume.ShowResumeUI;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialReplaceUI;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialReplaceUIHandler;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchroModel;
@@ -304,14 +303,8 @@ public abstract class RegisterTaskActionSupport extends ReferentialSelectionTree
}
public String sendMessage(String message) {
-
AdminStep step = parentUI.getStep();
addMessage(step, message);
- AdminUI parentUI = getParentUI();
- ShowResumeUI resumeUI = (ShowResumeUI) parentUI.getStepUI(AdminStep.SHOW_RESUME);
- if (resumeUI != null) {
- addMessage(resumeUI, step, message);
- }
return message;
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/validate/actions/SaveReport.java
=====================================
@@ -83,7 +83,6 @@ public class SaveReport extends ValidateUIActionSupport {
String content = ValidateModelTemplate.generate(validationModel);
log.debug(content);
- addMessage(AdminStep.SHOW_RESUME, content);
FileUtils.write(reportFile, content, StandardCharsets.UTF_8.name());
}
=====================================
observe-i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -374,13 +374,6 @@ observe.admin.report.select.file.tip=Choose file of reports definitions
observe.admin.report.title=Help to generat reports
observe.admin.report.title.tip=Help to generate reports
observe.admin.report.variables=Variables configuration
-observe.admin.resume.no.operation.done=No operation done.
-observe.admin.resume.operation.canceled=operation canceled
-observe.admin.resume.operation.done=operation done
-observe.admin.resume.operation.failed=operation failed
-observe.admin.resume.operation.need.fix=operation need fix
-observe.admin.resume.operation.not.started=operation not started
-observe.admin.resume.operation.running=operation is running...
observe.backup.done=[%s] Auto backup done (in %s)
observe.backup.start=[%s] Start auto backup
observe.choice.cancel=Cancel
@@ -433,7 +426,6 @@ observe.common.gps.gpsPoint=Gps point
observe.common.label=Label
observe.common.lengthWeightFormula=Length weight formula
observe.common.no.unit=No unit
-observe.common.operation.resume=Summary of operations
observe.common.resume=Summary
observe.common.saveFile.overwrite=file alreayd exists, would you like to overwrite it?
observe.common.saveFile.overwrite.cancel=Cancel
@@ -593,8 +585,6 @@ observe.constant.AdminStep.SAVE_LOCAL=Save local database
observe.constant.AdminStep.SAVE_LOCAL.description=Save modifcations on local database
observe.constant.AdminStep.SELECT_DATA=Select data
observe.constant.AdminStep.SELECT_DATA.description=Select data for operations
-observe.constant.AdminStep.SHOW_RESUME=Summary
-observe.constant.AdminStep.SHOW_RESUME.description=Summary of operations
observe.constant.AdminStep.SYNCHRONIZE=Update referential
observe.constant.AdminStep.SYNCHRONIZE.description=Update referential
observe.constant.AdminStep.VALIDATE=Validation
=====================================
observe-i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -374,13 +374,6 @@ observe.admin.report.select.file.tip=Elegir el archivo de definición de informe
observe.admin.report.title=Ayuda a la generación de informes
observe.admin.report.title.tip=Ayuda a la generación del informe de fin del embarque
observe.admin.report.variables=Configuración de variables
-observe.admin.resume.no.operation.done=Ninguna operación realizada
-observe.admin.resume.operation.canceled=operación cancelada
-observe.admin.resume.operation.done=operacion realizada
-observe.admin.resume.operation.failed=operación no realizada
-observe.admin.resume.operation.need.fix=la operación necesita correcciones
-observe.admin.resume.operation.not.started=operación no empezada
-observe.admin.resume.operation.running=operación en curso...
observe.backup.done=[%s] Copia de seguridad automática realizada (en %s)
observe.backup.start=[%s] Inicio de copia de seguridad automática
observe.choice.cancel=Cancelar
@@ -433,7 +426,6 @@ observe.common.gps.gpsPoint=Punto GPS
observe.common.label=Texto
observe.common.lengthWeightFormula=Relación de peso
observe.common.no.unit=No unit \#TODO
-observe.common.operation.resume=Resumen de operaciones
observe.common.resume=Resumen de la configuración
observe.common.saveFile.overwrite=El archivo ya existe. Quiere reemplazar lo ?
observe.common.saveFile.overwrite.cancel=Cancelar
@@ -593,8 +585,6 @@ observe.constant.AdminStep.SAVE_LOCAL=Copia local de seguridad
observe.constant.AdminStep.SAVE_LOCAL.description=Guardar las modificaciones realizadas en la base original
observe.constant.AdminStep.SELECT_DATA=Selección de datos
observe.constant.AdminStep.SELECT_DATA.description=Selección de los datos para la realización de los operaciones
-observe.constant.AdminStep.SHOW_RESUME=Resumen
-observe.constant.AdminStep.SHOW_RESUME.description=Ver un resumen de los operaciones realizadas
observe.constant.AdminStep.SYNCHRONIZE=Actualización del referencial
observe.constant.AdminStep.SYNCHRONIZE.description=Actualizar el referencial con una base central
observe.constant.AdminStep.VALIDATE=Validación
=====================================
observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -374,13 +374,6 @@ observe.admin.report.select.file.tip=Choisir le fichier de définition des repor
observe.admin.report.title=Aide à la génération de rapport
observe.admin.report.title.tip=Aide à la génération du rapport de fin d'embarquement
observe.admin.report.variables=Configuration des variables
-observe.admin.resume.no.operation.done=Aucune opération réalisée.
-observe.admin.resume.operation.canceled=opération annulée
-observe.admin.resume.operation.done=opération réussie
-observe.admin.resume.operation.failed=opération échouée
-observe.admin.resume.operation.need.fix=opération nécessitant des corrections
-observe.admin.resume.operation.not.started=opération non démarrée
-observe.admin.resume.operation.running=opération en cours...
observe.backup.done=[%s] Fin de la sauvegarde automatique (en %s)
observe.backup.start=[%s] Début de la sauvegarde automatique
observe.choice.cancel=Annuler
@@ -433,7 +426,6 @@ observe.common.gps.gpsPoint=Point GPS
observe.common.label=Libellé
observe.common.lengthWeightFormula=Relation Poids
observe.common.no.unit=Pas d'unité
-observe.common.operation.resume=Résumé des opérations
observe.common.resume=Résumé de la configuration
observe.common.saveFile.overwrite=Le fichier existe déjà. Voulez-vous le remplacer ?
observe.common.saveFile.overwrite.cancel=Annuler
@@ -593,8 +585,6 @@ observe.constant.AdminStep.SAVE_LOCAL=Sauvegarde locale
observe.constant.AdminStep.SAVE_LOCAL.description=Sauver les modifications sur votre base source
observe.constant.AdminStep.SELECT_DATA=Sélection des données
observe.constant.AdminStep.SELECT_DATA.description=Sélection des données pour effectuer les opérations
-observe.constant.AdminStep.SHOW_RESUME=Résumé
-observe.constant.AdminStep.SHOW_RESUME.description=Voir un résumé des opérations effectuées
observe.constant.AdminStep.SYNCHRONIZE=Mise à jour du référentiel
observe.constant.AdminStep.SYNCHRONIZE.description=Mettre à jour le référentiel depuis une base centrale
observe.constant.AdminStep.VALIDATE=Validation
=====================================
pom.xml
=====================================
@@ -24,7 +24,7 @@
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
- <version>2020.18</version>
+ <version>2020.19</version>
</parent>
<groupId>fr.ird.observe</groupId>
@@ -170,7 +170,7 @@
<!-- <lib.version.java4all.topia>1.17</lib.version.java4all.topia>-->
<!--<lib.version.java4all.eugene>3.0<-alpha-22</lib.version.java4all.eugene>-->
-<!-- <lib.version.java4all.jaxx>3.0-alpha-66-SNAPSHOT</lib.version.java4all.jaxx>-->
+<!-- <lib.version.java4all.jaxx>3.0-alpha-67-SNAPSHOT</lib.version.java4all.jaxx>-->
<!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>-->
<!--<lib.version.java4all.application-template>1.0.2-SNAPSHOT</lib.version.java4all.application-template>-->
<!--<lib.version.java4all.i18n>4.0-beta-3-SNAPSHOT</lib.version.java4all.i18n>-->
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/67384c85c3cb3c60979013ae…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/67384c85c3cb3c60979013ae…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Le nom du fichier de sauvegarde par défaut pourrait être modernisé - Closes #1212
by Tony CHEMIT 16 Apr '20
by Tony CHEMIT 16 Apr '20
16 Apr '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
67384c85 by tchemit at 2020-04-16T12:01:30+02:00
Le nom du fichier de sauvegarde par défaut pourrait être modernisé - Closes #1212
- - - - -
2 changed files:
- client-configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
- client-core/src/main/java/fr/ird/observe/client/datasource/h2/backup/BackupsManager.java
Changes:
=====================================
client-configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
=====================================
@@ -115,7 +115,7 @@ public class ClientConfig extends GeneratedClientConfig implements TemplateGener
ClientConfigOption.MAP_LAYER10);
private static final Logger log = LogManager.getLogger(ClientConfig.class);
/** le pattern du fichier de sauvegarde d'une base locale */
- private static final String BACKUP_DB_PATTERN = "obstuna-local-%1$tF--%1$tk-%1$tM-%1$tS.sql.gz";
+ private static final String BACKUP_DB_PATTERN = "observe-v%1$s-%2$tF--%2$tk-%2$tM-%2$tS.sql.gz";
private static final String APPLICATION_VERSION = "application.version";
private static final String VERSION = "version";
@@ -537,7 +537,7 @@ public class ClientConfig extends GeneratedClientConfig implements TemplateGener
}
public File newBackupDataFile() {
- return new File(getBackupDirectory(), String.format(BACKUP_DB_PATTERN, new Date()));
+ return new File(getBackupDirectory(), String.format(BACKUP_DB_PATTERN, getBuildVersion(), new Date()));
}
public void saveForUser() {
=====================================
client-core/src/main/java/fr/ird/observe/client/datasource/h2/backup/BackupsManager.java
=====================================
@@ -74,7 +74,7 @@ public class BackupsManager implements Closeable {
private static final Logger log = LogManager.getLogger(BackupsManager.class);
- private static final Pattern AUTOMATIC_BACKUP_FILENAME_PATTERN = Pattern.compile("obstuna-local-([0-9-]+)\\.sql\\.gz");
+ private static final Pattern AUTOMATIC_BACKUP_FILENAME_PATTERN = Pattern.compile("obs.+-([0-9-]+)\\.sql\\.gz");
private final Path backupsPath;
private final ObserveDataSourcesManager dataSourcesManager;
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/67384c85c3cb3c60979013ae5…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/67384c85c3cb3c60979013ae5…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: Problème de rafraîchissement sur les formulaire de type tableau - Closes #1467
by Tony CHEMIT 16 Apr '20
by Tony CHEMIT 16 Apr '20
16 Apr '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
f30f4fb0 by tchemit at 2020-04-16T11:30:05+02:00
Problème de rafraîchissement sur les formulaire de type tableau - Closes #1467
- - - - -
6f74f5f1 by tchemit at 2020-04-16T11:30:53+02:00
Revoir la gestion du focus sur les formulaires à onglets, ne pas changer d'onglet après une sauvegarde - Closes #1466
- - - - -
3 changed files:
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/ContentTableUIHandler.java
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/TripUIHelper.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/actions/BranchlineUIReset.java
Changes:
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/ContentTableUIHandler.java
=====================================
@@ -204,7 +204,10 @@ public abstract class ContentTableUIHandler<D extends DataDto, C extends DataDto
if (selectedRow == -1) {
selectedRow = 0;
}
- log.info("Select row: " + selectedRow);
+ if (selectedRow >= tableModel.getRowCount()) {
+ selectedRow = 0;
+ }
+ log.info(String.format("Select row: %d", selectedRow));
tableModel.changeSelectedRow(-1);
tableModel.changeSelectedRow(selectedRow);
}
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/TripUIHelper.java
=====================================
@@ -71,7 +71,7 @@ public abstract class TripUIHelper<U extends ContentOpenableUI & TripUI> impleme
}
public void onOpenAfterOpenModel() {
- ui.getMainTabbedPane().setSelectedIndex(0);
+// ui.getMainTabbedPane().setSelectedIndex(0);
closeMap();
}
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/actions/BranchlineUIReset.java
=====================================
@@ -37,6 +37,7 @@ public class BranchlineUIReset extends Reset<BranchlineUI> {
@Override
public void doReset() {
super.doReset();
+ ui.getModel().setResetEdit(true);
BranchlineUIHandler handler = ui.getHandler();
try {
BranchlineDto branchline = ui.getModel().getBranchline();
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/f6e4b3060433f9dc75c1d7ec…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/f6e4b3060433f9dc75c1d7ec…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Améliorer le dépliage dans l'arbre de navigation - Closes #1419
by Tony CHEMIT 16 Apr '20
by Tony CHEMIT 16 Apr '20
16 Apr '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
f6e4b306 by tchemit at 2020-04-16T09:19:29+02:00
Améliorer le dépliage dans l'arbre de navigation - Closes #1419
- - - - -
3 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/actions/NavigationConfigUIActionSupport.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/actions/NavigationConfigUIToggleShowActionSupport.java
Changes:
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTree.java
=====================================
@@ -67,11 +67,6 @@ public class NavigationTree extends JXTree {
private static final Logger log = LogManager.getLogger(NavigationTree.class);
private final ImmutableList<SelectNodeStrategy> selectNodeStrategies;
- /**
- * To block node expand.
- */
- private boolean skipExpand;
-
public NavigationTree() {
super(new NavigationTreeModel(NavigationTreeModelInitializerApplicationComponent.value()));
@@ -88,29 +83,8 @@ public class NavigationTree extends JXTree {
@Override
public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException {
+ //FIXME check this is working ?
getSelectionModel().fireTreeWillCollapseEvent(event);
-// if (!(getModel() instanceof NavigationTreeModel)) {
-// return;
-// }
-// NavigationTreeNodeSupport node = (NavigationTreeNodeSupport) event.getPath().getLastPathComponent();
-//
-// // le seul posant problème est la fermeture d'un noeud parent
-// // du noeud courant : cela va changer la selection
-// NavigationTreeNodeSupport selectedNode = getSelectedNode();
-// if (selectedNode == null) {
-// // pas de noeud selectionne
-// return;
-// }
-//
-// if (selectedNode.equals(node) || !selectedNode.isNodeAncestor(node)) {
-// return;
-// }
- //FIXME Move this in a listener
-// boolean canChange = contentUIManager.closeSelectedContentUI();
-// if (!canChange) {
-// throw new ExpandVetoException(event, "Can not collapse node " + event.getPath());
-// }
-
}
});
addTreeSelectionListener(e -> {
@@ -142,16 +116,7 @@ public class NavigationTree extends JXTree {
}
private void openNode(TreePath path) {
-// TreePath path = e.getPath();
- NavigationTreeNodeSupport selectedNode = (NavigationTreeNodeSupport) path.getLastPathComponent();
- try {
- getModel().open((NavigationTreeNodeSupport) path.getLastPathComponent());
- } finally {
- if (!isSkipExpand() && !selectedNode.isLeaf()) {
- log.info(String.format("will expand node: %s from selection.", path));
- SwingUtilities.invokeLater(() -> expandPath(path));
- }
- }
+ getModel().open((NavigationTreeNodeSupport<?>) path.getLastPathComponent());
}
@Override
@@ -164,24 +129,17 @@ public class NavigationTree extends JXTree {
return (NavigationTreeSelectionModel) super.getSelectionModel();
}
- public boolean isSkipExpand() {
- return skipExpand;
- }
-
- public void setSkipExpand(boolean skipExpand) {
- this.skipExpand = skipExpand;
- }
-
public void addNavigationTreeSelectionListener(NavigationTreeSelectionListener x) {
getSelectionModel().addNavigationTreeSelectionListener(x);
}
+ @SuppressWarnings("unused")
public void removeNavigationTreeSelectionListener(NavigationTreeSelectionListener x) {
getSelectionModel().removeNavigationTreeSelectionListener(x);
}
- public NavigationTreeNodeSupport getSelectedNode() {
- return isSelectionEmpty() ? null : (NavigationTreeNodeSupport) getSelectionPath().getLastPathComponent();
+ public NavigationTreeNodeSupport<?> getSelectedNode() {
+ return isSelectionEmpty() || getSelectionPath() == null ? null : (NavigationTreeNodeSupport<?>) getSelectionPath().getLastPathComponent();
}
/**
@@ -204,18 +162,18 @@ public class NavigationTree extends JXTree {
}
/**
- * Selects the given {@code node} in the registred tree.
+ * Selects the given {@code node} in the registered tree.
*
* @param node the node to select
*/
- public void selectNode(NavigationTreeNodeSupport node) {
+ public void selectNode(NavigationTreeNodeSupport<?> node) {
log.info("try to select node [" + node + "]");
TreePath path = new TreePath(getModel().getPathToRoot(node));
setSelectionPath(path);
SwingUtilities.invokeLater(() -> scrollPathToVisible(path));
}
- public NavigationTreeNodeSupport getChild(NavigationTreeNodeSupport node, String id) {
+ public NavigationTreeNodeSupport<?> getChild(NavigationTreeNodeSupport<?> node, String id) {
return node.findChildById(id);
}
@@ -239,20 +197,13 @@ public class NavigationTree extends JXTree {
insertNode(parentNode, node, position);
}
- public void clearModel() {
- getModel().clear();
- }
-
/**
- * Sélectionne le noeud dans l'arbre de navigation.
- *
- * <b>Note:</b> cette méthode doit être appelée après un rechargement du
- * modèle de navigation.
+ * Select initial node when data source just opened.
*/
public void selectInitialNode() {
log.debug("Will select initial node...");
- NavigationTreeNodeSupport selectedNode = null;
+ NavigationTreeNodeSupport<?> selectedNode = null;
for (SelectNodeStrategy selectNodeStrategy : selectNodeStrategies) {
Optional<NavigationTreeNodeSupport<?>> optionalSelectedNode = selectNodeStrategy.get();
if (optionalSelectedNode.isPresent()) {
@@ -267,28 +218,12 @@ public class NavigationTree extends JXTree {
SwingUtilities.invokeLater(this::grabFocus);
}
-// public void reloadNodeSubTree(NavigationTreeNodeSupport node) {
-// Objects.requireNonNull(node, "node is null, we can not reload its structure");
-//
-// // 1. Let's clear node structure
-// while (node.getChildCount() > 0) {
-// removeNode((NavigationTreeNodeSupport) node.getFirstChild());
-// }
-//
-// // 3. Let's re-generate node's value by populating the node : this will call the child loaders.
-// node.updateNode();
-//
-// // Fix bug (if no child in parent node, it will not expand...)
-// fireTreeExpanded(new TreePath(node.getPath()));
-//
-// }
-
public void reloadNode(MutableTreeNode node, boolean deep) {
- log.debug("Will refresh (deep ? " + deep + ") node " + node);
+ log.debug(String.format("Will refresh (deep ? %s) node %s", deep, node));
getModel().nodeChanged(node);
if (deep) {
- // repaint childs nodes
+ // repaint children nodes
@SuppressWarnings("unchecked")
Enumeration<NavigationTreeNodeSupport<?>> e = (Enumeration<NavigationTreeNodeSupport<?>>) node.children();
while (e.hasMoreElements()) {
@@ -299,24 +234,24 @@ public class NavigationTree extends JXTree {
}
- public void reloadSelectedNode(boolean refreshFromParent, boolean refreshChilds) {
- NavigationTreeNodeSupport node = getSelectedNode();
+ public void reloadSelectedNode(boolean refreshFromParent, boolean refreshChildren) {
+ NavigationTreeNodeSupport<?> node = getSelectedNode();
node.setLoaded(false);
if (refreshFromParent) {
node = node.getParent();
}
- reloadNode(node, refreshChilds);
+ reloadNode(node, refreshChildren);
}
public <D extends IdDto, R extends DtoReference<D, R>> void addUnsavedNode(MultipleReferenceContainerNode<D, R> parentNode) {
- ReferenceNode<D, R> result = parentNode.newChildNode(((NavigationTreeNodeSupport) parentNode).getId());
+ ReferenceNode<D, R> result = parentNode.newChildNode(((NavigationTreeNodeSupport<?>) parentNode).getId());
insertNode(parentNode, result);
afterAddUnsavedNode(parentNode, result);
}
public void addUnsavedNode(SingleReferenceContainerNode<?, ?> parentNode) {
- ReferenceNode<?, ?> result = parentNode.newSingleChildNode(((NavigationTreeNodeSupport) parentNode).getId());
+ ReferenceNode<?, ?> result = parentNode.newSingleChildNode(((NavigationTreeNodeSupport<?>) parentNode).getId());
insertNode(parentNode, result, parentNode.getChildCount());
afterAddUnsavedNode(parentNode, result);
}
@@ -326,7 +261,7 @@ public class NavigationTree extends JXTree {
afterAddUnsavedNode(parentNode, result);
}
- private void afterAddUnsavedNode(MutableTreeNode parentNode, ReferenceNode result) {
+ private void afterAddUnsavedNode(MutableTreeNode parentNode, ReferenceNode<?,?> result) {
// refresh parent node (render of parent can have changed)
reloadNode(parentNode, true);
@@ -342,7 +277,7 @@ public class NavigationTree extends JXTree {
return getModel().getRoot();
}
- public void updateNode(NavigationTreeNodeSupport node) {
+ public void updateNode(NavigationTreeNodeSupport<?> node) {
node.updateNode();
getModel().nodeStructureChanged(node);
}
@@ -360,12 +295,12 @@ public class NavigationTree extends JXTree {
getModel().nodeStructureChanged(parentNode);
}
- public NavigationTreeNodeSupport getReferentialNode(String name) {
+ public NavigationTreeNodeSupport<?> getReferentialNode(String name) {
RootNavigationTreeNode root = getModel().getRoot();
return getModel().findNode(root, name);
}
- public NavigationTreeNodeSupport getEditNode(ObserveNavigationNode<?> editNode) {
+ public NavigationTreeNodeSupport<?> getEditNode(ObserveNavigationNode<?> editNode) {
ImmutableList<ObserveNavigationNode<?>> nodesFromRoot = editNode.getNodesFromRoot();
NavigationTreeNodeSupport<?> result = getModel().getRoot();
for (ObserveNavigationNode<?> currentEditNode : nodesFromRoot) {
@@ -386,20 +321,13 @@ public class NavigationTree extends JXTree {
Class<R> referenceType = DtoModelHelper.getReferenceType(editNode.getType());
// got to container
MultipleReferenceContainerNode<D, R> containerNode = MultipleReferenceContainerNode.downToReferenceContainerNode(referenceType, selectedNode);
- if (!((NavigationTreeNodeSupport) containerNode).isLoaded()) {
- ((NavigationTreeNodeSupport) containerNode).populateChildren();
+ if (!((NavigationTreeNodeSupport<?>) containerNode).isLoaded()) {
+ ((NavigationTreeNodeSupport<?>) containerNode).populateChildren();
}
// got to reference
return ReferenceNode.downToReferenceNode(referenceType, editNode.getId(), containerNode);
}
-
-// public void refreshSelectedNode() {
-// NavigationTreeNodeSupport selectedNode = getSelectedNode();
-// selectedNode.reload();
-// getTreeModel().nodeChanged(selectedNode);
-// }
-
interface SelectNodeStrategy extends Supplier<Optional<NavigationTreeNodeSupport<?>>> {
}
@@ -409,7 +337,7 @@ public class NavigationTree extends JXTree {
public Optional<NavigationTreeNodeSupport<?>> get() {
NavigationTreeNodeSupport<?> selectedNode = getModel().getRoot();
if (!selectedNode.isLeaf()) {
- selectedNode = (NavigationTreeNodeSupport) selectedNode.getFirstChild();
+ selectedNode = (NavigationTreeNodeSupport<?>) selectedNode.getFirstChild();
}
return Optional.ofNullable(selectedNode);
}
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/actions/NavigationConfigUIActionSupport.java
=====================================
@@ -23,7 +23,6 @@ package fr.ird.observe.client.datasource.editor.tree.navigation.actions;
*/
import fr.ird.observe.client.configuration.WithClientConfig;
-import fr.ird.observe.client.datasource.editor.tree.navigation.NavigationTree;
import fr.ird.observe.client.datasource.editor.tree.navigation.NavigationUI;
import org.nuiton.jaxx.runtime.swing.action.JComponentActionSupport;
@@ -61,12 +60,6 @@ abstract class NavigationConfigUIActionSupport extends JComponentActionSupport<N
}
void selectFirstNode() {
- NavigationTree tree = ui.getTree();
- tree.setSkipExpand(true);
- try {
- tree.setSelectionRow(0);
- } finally {
- tree.setSkipExpand(false);
- }
+ ui.getTree().setSelectionRow(0);
}
}
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/actions/NavigationConfigUIToggleShowActionSupport.java
=====================================
@@ -66,7 +66,7 @@ public abstract class NavigationConfigUIToggleShowActionSupport extends Navigati
if (!tree.isSelectionEmpty()) {
// Could not clear selection, means can't accept this action
- log.info("Reject action: " + this + " since could not clear navigation selection.");
+ log.info(String.format("Reject action: %s since could not clear navigation selection.", this));
return;
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/f6e4b3060433f9dc75c1d7ecc…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/f6e4b3060433f9dc75c1d7ecc…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 3 commits: Amélioration des logs serveur - Closes ultreiaio/ird-observe#1464
by Tony CHEMIT 15 Apr '20
by Tony CHEMIT 15 Apr '20
15 Apr '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
208943b4 by tchemit at 2020-04-15T17:51:29+02:00
Amélioration des logs serveur - Closes ultreiaio/ird-observe#1464
- - - - -
d4f87cc2 by tchemit at 2020-04-15T18:05:21+02:00
[SYNCHRO AVANCEE DATA] Visualisation du nom des bases en présence - Closes #1465
- - - - -
c542b7be by tchemit at 2020-04-15T18:26:50+02:00
update pom and toolkit
- - - - -
19 changed files:
- client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java
- client-datasource-actions/src/main/i18n/getters/java.getter
- 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/data/DataSynchroUI.jaxx
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUI.jcss
- 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/data/actions/Start.java
- + client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePane.jaxx
- + client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePane.jcss
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/CopyFromRight.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePaneHandler.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/DeleteFromRight.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/DataSelectionTreePaneActionSupport.java
- + client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/DataSourceInformation.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/CopyFromLeft.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/RegisterCopy.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/DeleteFromLeft.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/RegisterDelete.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/SelectUnselect.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/selection/SelectionTree.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/selection/actions/SelectUnselect.java
- pom.xml
- server-core/src/main/java/fr/ird/observe/server/injector/ObserveDtoInjector.java
Changes:
=====================================
client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java
=====================================
@@ -59,10 +59,10 @@ public abstract class ObserveKeyStrokesSupport {
public static final KeyStroke KEY_STROKE_CANCEL = KeyStroke.getKeyStroke("alt pressed A");
public static final KeyStroke KEY_STROKE_EXIT = KeyStroke.getKeyStroke("alt pressed F");
- public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_COPY_FROM_LEFT = KeyStroke.getKeyStroke("ctrl pressed C");
- public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_LEFT = KeyStroke.getKeyStroke("ctrl pressed D");
- public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT = KeyStroke.getKeyStroke("shift ctrl pressed C");
- public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT = KeyStroke.getKeyStroke("shift ctrl pressed D");
+ public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_COPY = KeyStroke.getKeyStroke("pressed F1");
+ public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_DELETE = KeyStroke.getKeyStroke("pressed F2");
+ public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT = KeyStroke.getKeyStroke("shift pressed F1");
+ public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT = KeyStroke.getKeyStroke("shift pressed F2");
public static final KeyStroke KEY_STROKE_STORAGE_DO_CONFIGURE_REMOTE = KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.CTRL_MASK);
public static final KeyStroke KEY_STROKE_STORAGE_DO_CONFIGURE_SERVER = KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK);
=====================================
client-datasource-actions/src/main/i18n/getters/java.getter
=====================================
@@ -18,7 +18,6 @@ observe.action.goto.next.stage
observe.action.goto.next.stage.tip
observe.action.goto.previous.stage
observe.action.goto.previous.stage.tip
-observe.action.info.storage
observe.action.info.storage.tip
observe.action.validate.config.generateReport
observe.actions.consolidate
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroModel.java
=====================================
@@ -26,6 +26,7 @@ import fr.ird.observe.client.datasource.actions.AdminActionModel;
import fr.ird.observe.client.datasource.actions.AdminStep;
import fr.ird.observe.client.datasource.actions.AdminUI;
import fr.ird.observe.client.datasource.actions.synchronize.data.task.DataSynchronizeTaskSupport;
+import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchroUI;
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
import fr.ird.observe.client.util.ProgressModel;
@@ -46,6 +47,7 @@ public class DataSynchroModel extends AdminActionModel {
private static final String RIGHT_SOURCE_PROPERTY_NAME = "rightSource";
private static final String LEFT_SELECTION_MODEL_CHANGED_PROPERTY_NAME = "leftSelectionModelChanged";
private static final String RIGHT_SELECTION_MODEL_CHANGED_PROPERTY_NAME = "rightSelectionModelChanged";
+ private static final String TASKS_EMPTY_PROPERTY_NAME = "tasksEmpty";
private static final Logger log = LogManager.getLogger(DataSynchroModel.class);
private final DefaultListModel<DataSynchronizeTaskSupport> tasks;
@@ -97,7 +99,7 @@ public class DataSynchroModel extends AdminActionModel {
return leftSelectionDataModel;
}
- void setLeftSelectionDataModel(SelectionTreeModel leftSelectionDataModel) {
+ public void setLeftSelectionDataModel(SelectionTreeModel leftSelectionDataModel) {
this.leftSelectionDataModel = leftSelectionDataModel;
}
@@ -105,7 +107,7 @@ public class DataSynchroModel extends AdminActionModel {
return rightSelectionDataModel;
}
- void setRightSelectionDataModel(SelectionTreeModel rightSelectionDataModel) {
+ public void setRightSelectionDataModel(SelectionTreeModel rightSelectionDataModel) {
this.rightSelectionDataModel = rightSelectionDataModel;
}
@@ -122,7 +124,13 @@ public class DataSynchroModel extends AdminActionModel {
}
public void addTask(DataSynchronizeTaskSupport task) {
+ boolean tasksEmpty = isTasksEmpty();
tasks.addElement(task);
+ firePropertyChange(TASKS_EMPTY_PROPERTY_NAME, tasksEmpty, isTasksEmpty());
+ }
+
+ public boolean isTasksEmpty() {
+ return tasks.isEmpty();
}
private void populateSelectionModel(ObserveSwingDataSource dataSource, SelectionTreeModel selectionDataModel, String propertyName) {
@@ -143,7 +151,7 @@ public class DataSynchroModel extends AdminActionModel {
//FIXME Check we don't need any longer
// configUI.getLocalSourceConfig().setBorder(new TitledBorder(ui.getModel().getConfigModel().getLocalSourceLabel()));
// configUI.getCentralSourceConfig().setBorder(new TitledBorder(ui.getModel().getConfigModel().getCentralSourceLabel()));
-
+ ((DataSynchroUI)ui.getStepUI(AdminStep.DATA_SYNCHRONIZE)).getApply().setEnabled(false);
}
public ProgressModel getProgressModel() {
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUI.jaxx
=====================================
@@ -24,10 +24,7 @@
fr.ird.observe.client.util.UIHelper
fr.ird.observe.client.datasource.actions.AdminUI
fr.ird.observe.client.datasource.actions.AdminStep
- fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreePane
- org.nuiton.jaxx.runtime.swing.SwingUtil
-
- javax.swing.ListSelectionModel
+ fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane
static io.ultreia.java4all.i18n.I18n.t
</import>
@@ -35,8 +32,7 @@
<DataSynchroModel id='stepModel' initializer='getModel().getDataSynchroModel()'/>
<JPanel id='PENDING_content'>
- <Table constraints='BorderLayout.CENTER' fill='both' weightx='1'
- weighty='1'>
+ <Table constraints='BorderLayout.CENTER' fill='both' weightx='1' weighty='1'>
<row>
<cell>
<JButton id='start'/>
@@ -48,22 +44,12 @@
<JSplitPane id="contentSplitPane" constraints='BorderLayout.CENTER'>
<Table id='contentNorth' fill="both" weighty="1">
<row>
- <cell weightx="0.45">
- <SelectionTreePane id="leftTreePane"/>
- </cell>
- <cell weightx="0.1">
- <JPanel layout="{new BorderLayout()}" border='{new TitledBorder(" ")}'>
- <JPanel id="middleActions" layout="{new GridLayout(0, 2)}" constraints='BorderLayout.CENTER'>
- <JButton id="copyFromLeft" styleClass="disabled"/>
- <JButton id="copyFromRight" styleClass="disabled"/>
- <JButton id="deleteFromLeft" styleClass="disabled"/>
- <JButton id="deleteFromRight" styleClass="disabled"/>
- </JPanel>
+ <cell weightx="1">
+ <JPanel layout="{new GridLayout(1, 0)}">
+ <DataSelectionTreePane id="leftTreePane" constructorParams="UIHelper.initialContext(this, false)"/>
+ <DataSelectionTreePane id="rightTreePane" constructorParams="UIHelper.initialContext(this, true)"/>
</JPanel>
</cell>
- <cell weightx="0.45">
- <SelectionTreePane id="rightTreePane" constructorParams="true"/>
- </cell>
</row>
</Table>
<Table id='contentSouth' fill="both">
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUI.jcss
=====================================
@@ -33,29 +33,17 @@
resizeWeight: 0.8;
}
-#copyToLeft {
- enabled:false;
-}
-
-#copyToRight {
- enabled:false;
-}
-
-#deleteFromLeft {
- enabled:false;
-}
-
-#deleteFromRight {
- enabled:false;
-}
-
#actionsToConsumePane {
border:{new TitledBorder(t("observe.actions.synchro.data.actionsToPerform"))};
verticalScrollBarPolicy:{JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED};
}
#actionsToConsume {
- selectionMode:{ListSelectionModel.SINGLE_SELECTION};
+ selectionMode:{javax.swing.ListSelectionModel.SINGLE_SELECTION};
cellRenderer:{new DataSynchronizeTaskListCellRenderer()};
- model:{getStepModel().getTasks()};
+ model:{stepModel.getTasks()};
+}
+
+#apply {
+ enabled:{!stepModel.isTasksEmpty()};
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUIHandler.java
=====================================
@@ -24,12 +24,18 @@ package fr.ird.observe.client.datasource.actions.synchronize.data;
import fr.ird.observe.client.datasource.actions.AdminStep;
import fr.ird.observe.client.datasource.actions.AdminTabUIHandler;
+import fr.ird.observe.client.datasource.actions.config.ConfigModel;
import fr.ird.observe.client.datasource.actions.config.ConfigUI;
-import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTree;
-import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
+import fr.ird.observe.client.datasource.editor.tree.selection.actions.SelectUnselectWithOpposite;
import fr.ird.observe.client.datasource.editor.wizard.StorageUIModel;
+import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelector;
+import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelectorModel;
import org.nuiton.jaxx.runtime.spi.UIHandler;
+import javax.swing.border.TitledBorder;
+import java.awt.Color;
+
/**
* Created on 02/08/16.
*
@@ -37,48 +43,62 @@ import org.nuiton.jaxx.runtime.spi.UIHandler;
* @since 5.0
*/
public class DataSynchroUIHandler extends AdminTabUIHandler<DataSynchroUI> implements UIHandler<DataSynchroUI> {
+ public static final String SYNCHRO_PARENT = "synchroParent";
+
+ @Override
+ public void beforeInit(DataSynchroUI ui) {
+ super.beforeInit(ui);
+ ui.setContextValue(ui, SYNCHRO_PARENT);
+ }
@Override
public void afterInit(DataSynchroUI ui) {
super.afterInit(ui);
ConfigUI configUI = (ConfigUI) parentUI.getStepUI(AdminStep.CONFIG);
- configUI.getStepModel().addPropertyChangeListener(StorageUIModel.VALID_PROPERTY_NAME, evt -> updateFromConfig());
- DataSynchroModel stepModel = getStepModel();
-
- SelectionTree leftTree = ui.getLeftTreePane().getTree();
- SelectionTreeModel leftSelectionDataModel = leftTree.getTreeModel();
- stepModel.setLeftSelectionDataModel(leftSelectionDataModel);
- leftSelectionDataModel.setLoadLongline(true);
- leftSelectionDataModel.setLoadSeine(true);
- leftSelectionDataModel.setLoadReferential(false);
- leftSelectionDataModel.setShowEmptyTrips(false);
-
- SelectionTree rightTree = ui.getRightTreePane().getTree();
- SelectionTreeModel rightSelectionDataModel = rightTree.getTreeModel();
- stepModel.setRightSelectionDataModel(rightSelectionDataModel);
- rightSelectionDataModel.setLoadLongline(true);
- rightSelectionDataModel.setLoadSeine(true);
- rightSelectionDataModel.setLoadReferential(false);
- rightSelectionDataModel.setShowEmptyTrips(false);
-
- // on n'installe qu'une seule fois l'ui
- leftTree.installUI2(ui.getLeftTreePane(), ui.getRightTreePane());
-
- stepModel.getLeftSelectionDataModel().addPropertyChangeListener(evt -> {
- SelectionTreeModel model = (SelectionTreeModel) evt.getSource();
- boolean withDataSelected = !model.isSelectionEmpty();
- ui.getCopyFromLeft().setEnabled(withDataSelected);
- ui.getDeleteFromLeft().setEnabled(withDataSelected);
-
- });
- stepModel.getRightSelectionDataModel().addPropertyChangeListener(evt -> {
- SelectionTreeModel model = (SelectionTreeModel) evt.getSource();
- boolean withDataSelected = !model.isSelectionEmpty();
- ui.getCopyFromRight().setEnabled(withDataSelected);
- ui.getDeleteFromRight().setEnabled(withDataSelected);
- });
-
- stepModel.getProgressModel().installUI(ui.getProgressBar());
+ DataSourceSelector leftSourceConfig = configUI.getLocalSourceConfig();
+ DataSourceSelector rightSourceConfig = configUI.getCentralSourceConfig();
+ ConfigModel stepModel = configUI.getStepModel();
+ stepModel.addPropertyChangeListener(StorageUIModel.VALID_PROPERTY_NAME, evt -> updateFromConfig());
+
+ initSource(configUI, ui.getLeftTreePane(), stepModel.getLocalSourceModel(), leftSourceConfig, rightSourceConfig);
+ initSource(configUI, ui.getRightTreePane(), stepModel.getCentralSourceModel(), leftSourceConfig, rightSourceConfig);
+
+ SelectUnselectWithOpposite.init(ui.getLeftTreePane().getTree(), null, new SelectUnselectWithOpposite(ui.getRightTreePane().getTree()));
+
+ getStepModel().getProgressModel().installUI(ui.getProgressBar());
+ }
+
+ private void initSource(ConfigUI configUI, DataSelectionTreePane treePane, DataSourceSelectorModel sourceModel, DataSourceSelector leftSourceConfig, DataSourceSelector rightSourceConfig) {
+ treePane.init();
+ sourceModel.addPropertyChangeListener(DataSourceSelectorModel.VALID_PROPERTY_NAME, evt -> onSourceValidChanged(configUI, leftSourceConfig, rightSourceConfig));
+ }
+
+ private void onSourceValidChanged(ConfigUI configUI, DataSourceSelector leftSourceConfig, DataSourceSelector rightSourceConfig) {
+ DataSourceSelectorModel leftSourceModel = configUI.getStepModel().getLocalSourceModel();
+ DataSourceSelectorModel rightSourceModel = configUI.getStepModel().getCentralSourceModel();
+ boolean leftSourceValid = leftSourceModel.isValid() && leftSourceModel.getDataSourceInformation() != null && leftSourceModel.getDataSourceInformation().canReadData();
+ boolean rightSourceValid = rightSourceModel.isValid() && rightSourceModel.getDataSourceInformation() != null && rightSourceModel.getDataSourceInformation().canReadData();
+ boolean atLeastOneWithWriteData = false;
+ if (leftSourceValid) {
+ atLeastOneWithWriteData = leftSourceModel.getDataSourceInformation().canWriteData();
+ }
+ if (!atLeastOneWithWriteData && rightSourceValid) {
+ atLeastOneWithWriteData = rightSourceModel.getDataSourceInformation().canWriteData();
+ }
+ if (!atLeastOneWithWriteData) {
+ leftSourceValid = rightSourceValid = false;
+ }
+
+ setBorderColor(leftSourceConfig, leftSourceValid);
+ setBorderColor(rightSourceConfig, rightSourceValid);
+
+ }
+
+ private void setBorderColor(DataSourceSelector sourceConfig, boolean valid) {
+ TitledBorder border = (TitledBorder) sourceConfig.getBorder();
+ Color color = valid ? Color.BLACK : Color.RED;
+ border.setTitleColor(color);
+ sourceConfig.setBorder(border);
}
private void updateFromConfig() {
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/Start.java
=====================================
@@ -27,17 +27,28 @@ import fr.ird.observe.client.datasource.actions.config.ConfigModel;
import fr.ird.observe.client.datasource.actions.config.ConfigUI;
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
+import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTree;
+import fr.ird.observe.client.datasource.editor.tree.selection.nodes.SelectionTreeNodeSupport;
+import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelectorModel;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
import javax.swing.border.TitledBorder;
+import javax.swing.tree.TreePath;
import java.awt.Color;
import java.awt.event.ActionEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
import static io.ultreia.java4all.i18n.I18n.t;
public class Start extends DataSynchroUIActionSupport {
+ private static final Logger log = LogManager.getLogger(Start.class);
+
public Start() {
super(t("observe.actions.synchro.data.launch.operation"), t("observe.actions.synchro.data.launch.operation"), "wizard-start", 'D');
}
@@ -65,33 +76,50 @@ public class Start extends DataSynchroUIActionSupport {
stepModel.setRightSource(rightSource);
stepModel.populateLeftSelectionModel();
- sendMessage(t("observe.actions.synchro.data.message.data.loaded", leftSourceLabel));
-
- TitledBorder leftBorder = new TitledBorder(leftSourceLabel);
- boolean leftCanWriteData = configModel.getLocalSourceModel().getDataSourceInformation().canWriteData();
- leftBorder.setTitleColor(leftCanWriteData ? Color.GREEN : Color.RED);
- tabUI.getLeftTreePane().setBorder(leftBorder);
- if (!leftCanWriteData) {
- tabUI.getCopyFromRight().setVisible(false);
- tabUI.getDeleteFromRight().setVisible(false);
- }
- configUI.getLocalSourceConfig().setBorder(leftBorder);
-
+ initPanel(leftSourceLabel, configModel.getLocalSourceModel(), rightSource.getInformation().canWriteData(), tabUI.getLeftTreePane());
stepModel.populateRightSelectionModel();
- sendMessage(t("observe.actions.synchro.data.message.data.loaded", rightSourceLabel));
-
- TitledBorder rightBorder = new TitledBorder(rightSourceLabel);
- boolean rightCanWriteData = configModel.getCentralSourceModel().getDataSourceInformation().canWriteData();
- rightBorder.setTitleColor(rightCanWriteData ? Color.GREEN : Color.RED);
- tabUI.getRightTreePane().setBorder(rightBorder);
- if (!rightCanWriteData) {
- tabUI.getCopyFromLeft().setVisible(false);
- tabUI.getDeleteFromLeft().setVisible(false);
- }
- configUI.getCentralSourceConfig().setBorder(rightBorder);
+ initPanel(rightSourceLabel, configModel.getCentralSourceModel(), leftSource.getInformation().canWriteData(), tabUI.getRightTreePane());
return WizardState.NEED_FIX;
}
+ private void initPanel(String sourceLabel, DataSourceSelectorModel sourceModel,boolean oppositeCanWriteData, DataSelectionTreePane pane) {
+
+ pane.setContextValue(sourceModel);
+ pane.setBorder(new TitledBorder(""));
+
+ sendMessage(t("observe.actions.synchro.data.message.data.loaded", sourceLabel));
+
+ boolean canWriteData = sourceModel.getDataSourceInformation().canWriteData();
+ Color color = canWriteData ? Color.BLACK : Color.RED;
+
+ pane.getDelete().setVisible(canWriteData);
+ pane.getCopy().setVisible(oppositeCanWriteData);
+
+ String label = sourceModel.getLabel();
+ String labelWithUrl = sourceModel.getLabelWithUrl().substring(label.length() + 1);
+ pane.getDataSourceLabel().setIcon(sourceModel.getSource().getIcon());
+ pane.getDataSourceLabel().setText(sourceModel.getSource().getLabel() + " " + labelWithUrl);
+ pane.getDataSourceLabel().setForeground(color);
+
+ SelectionTree tree = pane.getTree().getTree();
+ tree.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ if (e.getClickCount() == 2) {
+ TreePath path = tree.getClosestPathForLocation(e.getX(), e.getY());
+ Object lastPathComponent = path.getLastPathComponent();
+ if (lastPathComponent instanceof SelectionTreeNodeSupport) {
+ SelectionTreeNodeSupport<?> node = (SelectionTreeNodeSupport<?>) lastPathComponent;
+ boolean newValue = !node.isSelected();
+ log.info(String.format("Node: %s - new selected value: %s", node, newValue));
+ tree.getTreeModel().setValueAt(node, newValue);
+ }
+ }
+ }
+ });
+
+ }
+
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePane.jaxx
=====================================
@@ -0,0 +1,55 @@
+<!--
+ #%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%
+ -->
+<JPanel id='topPanel' layout="{new BorderLayout()}" decorator='boxed'>
+
+ <import>
+ fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreePane
+ fr.ird.observe.client.util.UIHelper
+ </import>
+ <script><![CDATA[
+
+public void init() { handler.init(this); }
+
+public boolean isLeft() {
+ return !isRight();
+}
+
+public boolean isRight() {
+ return Boolean.TRUE.equals(getOpposite());
+}
+]]>
+ </script>
+ <Boolean id='opposite' initializer='getContextValue(Boolean.class)'/>
+ <JPanel id='dataSourcePanel' constraints='BorderLayout.NORTH' layout='{new BorderLayout()}'>
+ <JLabel id='dataSourceLabel' constraints='BorderLayout.WEST'/>
+ <JToolBar id='dataSourceToolbar' constraints='BorderLayout.EAST'>
+ <JButton id='dataSourceInformation'/>
+ </JToolBar>
+ </JPanel>
+
+ <SelectionTreePane id='tree' constructorParams="isRight()" constraints='BorderLayout.CENTER'/>
+ <JToolBar id="middleActions" layout="{new GridLayout(0, 1)}" constraints='BorderLayout.EAST'>
+ <JButton id="copy" enabled="false"/>
+ <JButton id="delete" enabled="false"/>
+ </JToolBar>
+
+</JPanel>
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePane.jcss
=====================================
@@ -0,0 +1,21 @@
+/*-
+ * #%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%
+ */
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/CopyFromRight.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePaneHandler.java
=====================================
@@ -1,4 +1,4 @@
-package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
+package fr.ird.observe.client.datasource.actions.synchronize.data.tree;
/*-
* #%L
@@ -24,40 +24,48 @@ package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
-import fr.ird.observe.client.datasource.actions.synchronize.data.task.CopyToLeftDataSynchronizeTask;
+import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUIHandler;
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions.RegisterCopy;
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions.RegisterDelete;
import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
-import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
-import fr.ird.observe.dto.data.TripAware;
-import fr.ird.observe.dto.referential.common.ProgramReference;
+import org.nuiton.jaxx.runtime.spi.UIHandler;
-import java.awt.event.ActionEvent;
-import java.util.List;
-import java.util.Map;
+import java.awt.BorderLayout;
-import static io.ultreia.java4all.i18n.I18n.t;
+/**
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0
+ */
+public class DataSelectionTreePaneHandler implements UIHandler<DataSelectionTreePane> {
-public class CopyFromRight extends DataSynchroUIActionSupport {
+ void init(DataSelectionTreePane ui) {
+ boolean isLeft = ui.isLeft();
+ RegisterCopy.init(ui, ui.getCopy(), new RegisterCopy(isLeft));
+ RegisterDelete.init(ui, ui.getDelete(), new RegisterDelete(isLeft));
+ DataSynchroUI parent = ui.getContextValue(DataSynchroUI.class, DataSynchroUIHandler.SYNCHRO_PARENT);
+ DataSynchroModel stepModel = parent.getStepModel();
- public CopyFromRight() {
- super("", t("observe.actions.synchro.data.copyToLeft.tip"), "copyToLeft", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT);
- }
+ SelectionTreeModel treeModel = ui.getTree().getTree().getTreeModel();
+ treeModel.setLoadLongline(true);
+ treeModel.setLoadSeine(true);
+ treeModel.setLoadReferential(false);
+ treeModel.setShowEmptyTrips(false);
- @Override
- protected void doActionPerformed(ActionEvent e, DataSynchroUI ui) {
- DataSynchroModel stepModel = ui.getStepModel();
- SelectionTreeModel rightSelectionDataModel = stepModel.getRightSelectionDataModel();
- SelectionTreeModel leftSelectionDataModel = stepModel.getLeftSelectionDataModel();
- Map<ProgramReference, List<? extends TripAware>> selectedDataByProgram = rightSelectionDataModel.getSelectedDataByProgram();
- rightSelectionDataModel.removeAllSelectedData();
- for (Map.Entry<ProgramReference, List<? extends TripAware>> entry : selectedDataByProgram.entrySet()) {
- ProgramReference program = entry.getKey();
- for (TripAware trip : entry.getValue()) {
- boolean tripExistOnLeft = leftSelectionDataModel.containsData(program, trip);
- stepModel.addTask(new CopyToLeftDataSynchronizeTask(program, trip, tripExistOnLeft));
- if (tripExistOnLeft) {
- leftSelectionDataModel.removeTrip(program, trip);
- }
- }
+ if (isLeft) {
+ stepModel.setLeftSelectionDataModel(treeModel);
+ } else {
+ stepModel.setRightSelectionDataModel(treeModel);
+ ui.remove(ui.getMiddleActions());
+ ui.add(ui.getMiddleActions(), BorderLayout.WEST);
}
+
+ treeModel.addPropertyChangeListener(evt -> {
+ SelectionTreeModel model = (SelectionTreeModel) evt.getSource();
+ boolean withDataSelected = !model.isSelectionEmpty();
+ ui.getCopy().setEnabled(withDataSelected);
+ ui.getDelete().setEnabled(withDataSelected);
+ });
+
}
-}
+
+}
\ No newline at end of file
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/DeleteFromRight.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/DataSelectionTreePaneActionSupport.java
=====================================
@@ -1,4 +1,4 @@
-package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
+package fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions;
/*-
* #%L
@@ -24,35 +24,44 @@ package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
-import fr.ird.observe.client.datasource.actions.synchronize.data.task.DeleteFromRightDataSynchronizeTask;
+import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUIHandler;
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
-import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
-import fr.ird.observe.dto.data.TripAware;
-import fr.ird.observe.dto.referential.common.ProgramReference;
+import org.nuiton.jaxx.runtime.swing.action.JComponentActionSupport;
-import java.awt.event.ActionEvent;
-import java.util.List;
-import java.util.Map;
+import javax.swing.KeyStroke;
+import java.awt.event.KeyEvent;
-import static io.ultreia.java4all.i18n.I18n.t;
-
-public class DeleteFromRight extends DataSynchroUIActionSupport {
+/**
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0
+ */
+public abstract class DataSelectionTreePaneActionSupport extends JComponentActionSupport<DataSelectionTreePane> {
- public DeleteFromRight() {
- super("", t("observe.actions.synchro.data.deleteFromRight.tip"), "deleteFromRight", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT);
+ DataSelectionTreePaneActionSupport(String label, String shortDescription, String actionIcon, KeyStroke acceleratorKey) {
+ super(label, shortDescription, actionIcon, acceleratorKey);
}
@Override
- protected void doActionPerformed(ActionEvent e, DataSynchroUI ui) {
- DataSynchroModel stepModel = ui.getStepModel();
- SelectionTreeModel selectionDataModel = stepModel.getRightSelectionDataModel();
- Map<ProgramReference, List<? extends TripAware>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram();
- selectionDataModel.removeAllSelectedData();
- for (Map.Entry<ProgramReference, List<? extends TripAware>> entry : selectedDataByProgram.entrySet()) {
- ProgramReference program = entry.getKey();
- for (TripAware trip : entry.getValue()) {
- stepModel.addTask(new DeleteFromRightDataSynchronizeTask(program, trip));
- }
+ public void init() {
+ if (ui.isRight()) {
+ KeyStroke acceleratorKey = getAcceleratorKey();
+ setKeyStroke(KeyStroke.getKeyStroke(acceleratorKey.getKeyCode(), acceleratorKey.getModifiers() | KeyEvent.SHIFT_MASK));
}
+ super.init();
+ }
+
+ protected DataSynchroModel getDataSynchroModel() {
+ DataSynchroUI parent = ui.getContextValue(DataSynchroUI.class, DataSynchroUIHandler.SYNCHRO_PARENT);
+ return parent.getStepModel();
+ }
+
+ protected SelectionTreeModel getSelectionTreeModel() {
+ return ui.getTree().getTree().getTreeModel();
+ }
+
+ protected SelectionTreeModel getOppositeSelectionTreeModel() {
+ DataSynchroModel dataSynchroModel = getDataSynchroModel();
+ return ui.isLeft()?dataSynchroModel.getRightSelectionDataModel():dataSynchroModel.getLeftSelectionDataModel();
}
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/DataSourceInformation.java
=====================================
@@ -0,0 +1,58 @@
+package fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions;
+
+/*-
+ * #%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%
+ */
+
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
+import fr.ird.observe.client.datasource.api.ObserveSwingDataSourceTemplate;
+import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelectorModel;
+import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
+
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import java.awt.event.ActionEvent;
+
+import static io.ultreia.java4all.i18n.I18n.t;
+
+/**
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0
+ */
+public class DataSourceInformation extends DataSelectionTreePaneActionSupport {
+
+ public DataSourceInformation() {
+ super("", t("observe.action.info.storage.tip"), "information", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SOURCE_INFORMATION);
+ }
+
+ @Override
+ protected void doActionPerformed(ActionEvent e, DataSelectionTreePane ui) {
+ DataSourceSelectorModel dataSourceSelectorModel = ui.getContextValue(DataSourceSelectorModel.class);
+
+ String text = ObserveSwingDataSourceTemplate.generate(dataSourceSelectorModel.getSource());
+ JOptionPane.showMessageDialog(
+ ui,
+ new JLabel(text),
+ t("observe.title.storage.info"),
+ JOptionPane.INFORMATION_MESSAGE);
+
+ }
+}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/CopyFromLeft.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/RegisterCopy.java
=====================================
@@ -1,4 +1,4 @@
-package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
+package fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions;
/*-
* #%L
@@ -23,8 +23,10 @@ package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
*/
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
-import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
+import fr.ird.observe.client.datasource.actions.synchronize.data.task.CopyToLeftDataSynchronizeTask;
import fr.ird.observe.client.datasource.actions.synchronize.data.task.CopyToRightDataSynchronizeTask;
+import fr.ird.observe.client.datasource.actions.synchronize.data.task.DataSynchronizeTaskSupport;
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
import fr.ird.observe.dto.data.TripAware;
@@ -36,28 +38,37 @@ import java.util.Map;
import static io.ultreia.java4all.i18n.I18n.t;
-public class CopyFromLeft extends DataSynchroUIActionSupport {
+/**
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0
+ */
+public class RegisterCopy extends DataSelectionTreePaneActionSupport {
- public CopyFromLeft() {
- super("", t("observe.actions.synchro.data.copyToRight.tip"), "copyToRight", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_LEFT);
+ public RegisterCopy(boolean left) {
+ super("", left ? t("observe.actions.synchro.data.copyToRight.tip") : t("observe.actions.synchro.data.copyToLeft.tip"), left ? "copyToRight" : "copyToLeft", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY);
}
@Override
- protected void doActionPerformed(ActionEvent e, DataSynchroUI ui) {
- DataSynchroModel stepModel = ui.getStepModel();
- SelectionTreeModel leftSelectionDataModel = stepModel.getLeftSelectionDataModel();
- SelectionTreeModel rightSelectionDataModel = stepModel.getRightSelectionDataModel();
- Map<ProgramReference, List<? extends TripAware>> selectedDataByProgram = leftSelectionDataModel.getSelectedDataByProgram();
- leftSelectionDataModel.removeAllSelectedData();
+ protected void doActionPerformed(ActionEvent e, DataSelectionTreePane ui) {
+ DataSynchroModel stepModel = getDataSynchroModel();
+ SelectionTreeModel treeModel = getSelectionTreeModel();
+ SelectionTreeModel oppositeTreeModel = getOppositeSelectionTreeModel();
+ Map<ProgramReference, List<? extends TripAware>> selectedDataByProgram = treeModel.getSelectedDataByProgram();
+ treeModel.removeAllSelectedData();
+ boolean left = ui.isLeft();
for (Map.Entry<ProgramReference, List<? extends TripAware>> entry : selectedDataByProgram.entrySet()) {
ProgramReference program = entry.getKey();
for (TripAware trip : entry.getValue()) {
- boolean tripExistOnRight = rightSelectionDataModel.containsData(program, trip);
- stepModel.addTask(new CopyToRightDataSynchronizeTask(program, trip, tripExistOnRight));
- if (tripExistOnRight) {
- rightSelectionDataModel.removeTrip(program, trip);
+ boolean tripExistOnOpposite = oppositeTreeModel.containsData(program, trip);
+ stepModel.addTask(createTask(left, program, trip, tripExistOnOpposite));
+ if (tripExistOnOpposite) {
+ oppositeTreeModel.removeTrip(program, trip);
}
}
}
}
+
+ private DataSynchronizeTaskSupport createTask(boolean left, ProgramReference program, TripAware trip, boolean tripExistOnOpposite) {
+ return left ? new CopyToRightDataSynchronizeTask(program, trip, tripExistOnOpposite) : new CopyToLeftDataSynchronizeTask(program, trip, tripExistOnOpposite);
+ }
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/DeleteFromLeft.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/RegisterDelete.java
=====================================
@@ -1,4 +1,4 @@
-package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
+package fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions;
/*-
* #%L
@@ -23,8 +23,10 @@ package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
*/
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
-import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
+import fr.ird.observe.client.datasource.actions.synchronize.data.task.DataSynchronizeTaskSupport;
import fr.ird.observe.client.datasource.actions.synchronize.data.task.DeleteFromLeftDataSynchronizeTask;
+import fr.ird.observe.client.datasource.actions.synchronize.data.task.DeleteFromRightDataSynchronizeTask;
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
import fr.ird.observe.dto.data.TripAware;
@@ -36,23 +38,32 @@ import java.util.Map;
import static io.ultreia.java4all.i18n.I18n.t;
-public class DeleteFromLeft extends DataSynchroUIActionSupport {
+/**
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0
+ */
+public class RegisterDelete extends DataSelectionTreePaneActionSupport {
- public DeleteFromLeft() {
- super("", t("observe.actions.synchro.data.deleteFromLeft.tip"), "deleteFromLeft", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_LEFT);
+ public RegisterDelete(boolean left) {
+ super("", left ? t("observe.actions.synchro.data.deleteFromLeft.tip") : t("observe.actions.synchro.data.deleteFromRight.tip"), left ? "deleteFromLeft" : "deleteFromRight", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE);
}
@Override
- protected void doActionPerformed(ActionEvent e, DataSynchroUI ui) {
- DataSynchroModel stepModel = ui.getStepModel();
- SelectionTreeModel selectionDataModel = stepModel.getLeftSelectionDataModel();
+ protected void doActionPerformed(ActionEvent e, DataSelectionTreePane ui) {
+ DataSynchroModel stepModel = getDataSynchroModel();
+ SelectionTreeModel selectionDataModel = getSelectionTreeModel();
Map<ProgramReference, List<? extends TripAware>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram();
selectionDataModel.removeAllSelectedData();
+ boolean left = ui.isLeft();
for (Map.Entry<ProgramReference, List<? extends TripAware>> entry : selectedDataByProgram.entrySet()) {
ProgramReference program = entry.getKey();
for (TripAware trip : entry.getValue()) {
- stepModel.addTask(new DeleteFromLeftDataSynchronizeTask(program, trip));
+ stepModel.addTask(createTask(left, program, trip));
}
}
}
+
+ private DataSynchronizeTaskSupport createTask(boolean left, ProgramReference program, TripAware trip) {
+ return left ? new DeleteFromLeftDataSynchronizeTask(program, trip) : new DeleteFromRightDataSynchronizeTask(program, trip);
+ }
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/SelectUnselect.java
=====================================
@@ -68,10 +68,11 @@ public class SelectUnselect extends ReferentialSelectionTreePaneActionSupport {
protected void defaultInit(ReferentialSelectionTreePane pane) {
pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SPACE, "none");
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_LEFT, "none");
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_LEFT, "none");
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT, "none");
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT, "none");
+ //FIXME Remove any keystroke used in ui actions...
+// pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_LEFT, "none");
+// pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_LEFT, "none");
+// pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT, "none");
+// pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT, "none");
defaultInit(getInputMap(pane, getInputMapCondition()), getActionMap(pane));
}
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/selection/SelectionTree.java
=====================================
@@ -23,7 +23,6 @@ package fr.ird.observe.client.datasource.editor.tree.selection;
*/
import fr.ird.observe.client.datasource.editor.tree.selection.actions.SelectUnselect;
-import fr.ird.observe.client.datasource.editor.tree.selection.actions.SelectUnselectWithOpposite;
import fr.ird.observe.client.util.UIHelper;
import org.jdesktop.swingx.JXTree;
@@ -52,48 +51,6 @@ public class SelectionTree extends JXTree {
SelectUnselect.init(parent, null, SelectUnselect.class);
}
- public void installUI2(SelectionTreePane parent, SelectionTreePane oppositeTree) {
-
- SelectUnselectWithOpposite.init(parent, null, new SelectUnselectWithOpposite(oppositeTree));
-
-// InputMap inputMap = getInputMap(WHEN_IN_FOCUSED_WINDOW);
-// ActionMap actionMap = getActionMap();
-// getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SPACE, "none");
-// oppositeTree.getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SPACE, "none");
-
-// getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SELECT_ALL_TREE, "none");
-// getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_UNSELECT_ALL_TREE, "none");
-
-// oppositeTree.getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SELECT_ALL_TREE, "none");
-// oppositeTree.getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_UNSELECT_ALL_TREE, "none");
-
-// inputMap.put(ObserveKeyStrokesSupport.KEY_STROKE_ENTER, "select/unselect");
-// inputMap.put(ObserveKeyStrokesSupport.KEY_STROKE_SPACE, "select/unselect");
-// actionMap.put("select/unselect", new AbstractAction() {
-//
-// @Override
-// public void actionPerformed(ActionEvent e) {
-// selectUnSelectWithOpposite(oppositeTree);
-// }
-// });
-// addMouseListener(new MouseAdapter() {
-// @Override
-// public void mouseClicked(MouseEvent e) {
-// if (e.getClickCount() == 2) {
-// selectUnSelectWithOpposite(oppositeTree);
-// }
-// }
-// });
-// oppositeTree.addMouseListener(new MouseAdapter() {
-// @Override
-// public void mouseClicked(MouseEvent e) {
-// if (e.getClickCount() == 2) {
-// oppositeTree.selectUnSelectWithOpposite(SelectionTree.this);
-// }
-// }
-// });
- }
-
public SelectionTreeModel getTreeModel() {
return (SelectionTreeModel) getModel();
}
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/selection/actions/SelectUnselect.java
=====================================
@@ -59,8 +59,9 @@ public class SelectUnselect extends SelectionTreePaneActionSupport {
protected void defaultInit(SelectionTreePane pane) {
pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SPACE, "none");
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_LEFT, "none");
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_LEFT, "none");
+ //FIXME Remove any keystroke used in ui actions...
+ pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY, "none");
+ pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE, "none");
pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT, "none");
pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT, "none");
defaultInit(getInputMap(pane, getInputMapCondition()), getActionMap(pane));
=====================================
pom.xml
=====================================
@@ -24,7 +24,7 @@
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
- <version>2020.17</version>
+ <version>2020.18</version>
</parent>
<groupId>fr.ird.observe</groupId>
@@ -162,7 +162,7 @@
<maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
<buildDate>${maven.build.timestamp}</buildDate>
- <lib.version.toolkit>4.28</lib.version.toolkit>
+ <lib.version.toolkit>4.29</lib.version.toolkit>
<lib.version.nuiton.validation>3.1</lib.version.nuiton.validation>
<!--can't use 1.4.197 (date has changed + blob also)-->
<lib.version.h2>1.4.196</lib.version.h2>
=====================================
server-core/src/main/java/fr/ird/observe/server/injector/ObserveDtoInjector.java
=====================================
@@ -86,18 +86,12 @@ public class ObserveDtoInjector extends AbstractConverter implements ExecutorPar
throw new JsonParseException("Class not found: " + parameterizedTypeClassName, cnfe);
}
- if (log.isInfoEnabled()) {
- log.info("find parameterized type " + typeVariable.getName() + " as " + parameterizedTypeClassName);
- }
-
+ log.debug("find parameterized type " + typeVariable.getName() + " as " + parameterizedTypeClassName);
}
observeDto = gson.fromJson(gsonContent, generic);
- if (log.isInfoEnabled()) {
- log.info("Inject observeDto: " + observeDto);
- }
-
+ log.debug("Inject observeDto: " + observeDto);
}
return observeDto;
@@ -114,9 +108,7 @@ public class ObserveDtoInjector extends AbstractConverter implements ExecutorPar
observeDto = gson.fromJson(gsonContent, type);
- if (log.isInfoEnabled()) {
- log.info("convert observeDto: " + observeDto);
- }
+ log.debug("convert observeDto: " + observeDto);
} else {
throw conversionException(type, value);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/f201fbf721bd39f07b0c8183…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/f201fbf721bd39f07b0c8183…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] [SYNCHRO AVANCEE] Visualisation du nom des bases en présence - Closes #1439
by Tony CHEMIT 14 Apr '20
by Tony CHEMIT 14 Apr '20
14 Apr '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
f201fbf7 by tchemit at 2020-04-14T15:16:07+02:00
[SYNCHRO AVANCEE] Visualisation du nom des bases en présence - Closes #1439
- - - - -
9 changed files:
- client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java
- client-datasource-actions/src/main/i18n/getters/java.getter
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroUI.jaxx
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/actions/Start.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreePane.jaxx
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreePaneHandler.java
- + client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/DataSourceInformation.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/ReferentialSelectionTreePaneActionSupport.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/RegisterTaskActionSupport.java
Changes:
=====================================
client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java
=====================================
@@ -80,6 +80,7 @@ public abstract class ObserveKeyStrokesSupport {
public static final KeyStroke KEY_STROKE_ESCAPE = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
public static final KeyStroke KEY_STROKE_ENTER = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
public static final KeyStroke KEY_STROKE_SPACE = KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0);
+ public static final KeyStroke KEY_STROKE_DATA_SOURCE_INFORMATION = KeyStroke.getKeyStroke("alt pressed I");
public static final KeyStroke KEY_STROKE_NAVIGATION_CONFIGURE = KeyStroke.getKeyStroke("ctrl pressed F1");
=====================================
client-datasource-actions/src/main/i18n/getters/java.getter
=====================================
@@ -18,6 +18,8 @@ observe.action.goto.next.stage
observe.action.goto.next.stage.tip
observe.action.goto.previous.stage
observe.action.goto.previous.stage.tip
+observe.action.info.storage
+observe.action.info.storage.tip
observe.action.validate.config.generateReport
observe.actions.consolidate
observe.actions.consolidate.description
@@ -197,6 +199,7 @@ observe.storage.step.label
observe.title.can.not.export.data2
observe.title.choose.db.dump.directory
observe.title.choose.reportFile
+observe.title.storage.info
observe.tree.action.collapseAll.tip
observe.tree.action.expandAll.tip
observe.tree.action.selectAll.tip
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroUI.jaxx
=====================================
@@ -61,8 +61,8 @@
<row>
<cell weightx="1">
<JPanel layout="{new GridLayout(1, 0)}">
- <ReferentialSelectionTreePane id="leftTreePane" constructorParams="this"/>
- <ReferentialSelectionTreePane id="rightTreePane" constructorParams="this" opposite="true"/>
+ <ReferentialSelectionTreePane id="leftTreePane" constructorParams="UIHelper.initialContext(this, false)"/>
+ <ReferentialSelectionTreePane id="rightTreePane" constructorParams="UIHelper.initialContext(this, true)"/>
</JPanel>
<!-- <ReferentialSelectionTreePane id="leftTreePane" constructorParams="this"/>-->
</cell>
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/actions/Start.java
=====================================
@@ -27,11 +27,13 @@ import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.Refer
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchroUI;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchronizeMode;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSelectionTree;
+import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSelectionTreePane;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModel;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModelsBuilder;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.node.ReferentialPropertyUpdatedNode;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.node.SynchroNodeSupport;
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
+import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelectorModel;
import fr.ird.observe.dto.ProgressionModel;
import fr.ird.observe.services.service.referential.differential.DifferentialEngine;
import org.apache.commons.lang3.tuple.Pair;
@@ -39,7 +41,6 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
-import javax.swing.JScrollPane;
import javax.swing.border.TitledBorder;
import javax.swing.tree.TreePath;
import java.awt.Color;
@@ -96,35 +97,36 @@ public class Start extends ReferentialSynchroUIActionSupport {
stepModel.getTasks().removeAllElements();
AdminUIModel model = ui.getModel();
- initTree(ui.getLeftTreePane().getTree(),
- ui.getLeftTreePane().getTreePane(),
+ initTree(ui.getLeftTreePane(),
stepModel.getLeftTreeModel(),
- model.getConfigModel().getLocalSourceModel().getLabelWithUrl(),
+ model.getConfigModel().getLocalSourceModel(),
t("observe.actions.synchro.referential.message.referential.leftData.loaded"),
evt -> updateLeftEnableActions(stepModel.getLeftTreeModel()));
- initTree(ui.getRightTreePane().getTree(),
- ui.getRightTreePane().getTreePane(),
+ initTree(ui.getRightTreePane(),
stepModel.getRightTreeModel(),
- model.getConfigModel().getCentralSourceModel().getLabelWithUrl(),
+ model.getConfigModel().getCentralSourceModel(),
t("observe.actions.synchro.referential.message.referential.rightData.loaded"),
evt -> updateRightEnableActions(stepModel.getRightTreeModel()));
return WizardState.NEED_FIX;
}
- private void initTree(ReferentialSelectionTree tree, JScrollPane treePane, ReferentialSynchronizeTreeModel treeModel, String title, String message, PropertyChangeListener listener) {
-
+ private void initTree(ReferentialSelectionTreePane pane, ReferentialSynchronizeTreeModel treeModel, DataSourceSelectorModel dataSourceSelectorModel, String message, PropertyChangeListener listener) {
+ ReferentialSelectionTree tree = pane.getTree();
ReferentialSynchronizeMode newValue = ui.getStepModel().getSynchronizeMode();
+ pane.setContextValue(dataSourceSelectorModel);
Color color =
(treeModel.isLeft() && newValue.isLeftWrite() || !treeModel.isLeft() && newValue.isRightWrite()) ?
Color.BLACK : Color.RED;
+ pane.setBorder(new TitledBorder(""));
+ String label = dataSourceSelectorModel.getLabel();
+ String labelWithUrl = dataSourceSelectorModel.getLabelWithUrl().substring(label.length()+1);
+ pane.getDataSourceLabel().setIcon(dataSourceSelectorModel.getSource().getIcon());
+ pane.getDataSourceLabel().setText(dataSourceSelectorModel.getSource().getLabel()+ " "+labelWithUrl);
+ pane.getDataSourceLabel().setForeground(color);
- TitledBorder border = new TitledBorder(title);
- border.setTitleColor(color);
-
- treePane.setBorder(border);
tree.setModel(treeModel);
treeModel.addPropertyChangeListener(ReferentialSynchronizeTreeModel.SELECTED_COUNT, listener);
@@ -132,10 +134,6 @@ public class Start extends ReferentialSynchroUIActionSupport {
sendMessage(message);
-// ConfigUI configUI = (ConfigUI) getParentUI().getStepUI(AdminStep.CONFIG);
-// //FIXME Check we don't need any longer
-//// configUI.getLocalSourceConfig().setBorder(new TitledBorder(ui.getModel().getConfigModel().getLocalSourceLabel()));
-//// configUI.getCentralSourceConfig().setBorder(new TitledBorder(ui.getModel().getConfigModel().getCentralSourceLabel()));
tree.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreePane.jaxx
=====================================
@@ -20,27 +20,31 @@
<JPanel id='topPanel' layout="{new BorderLayout()}" decorator='boxed'>
<import>
- fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterCopy
- fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterDelete
- fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterDeactivate
- fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterDeactivateWithReplacement
- fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterRevert
- fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterSkip
fr.ird.observe.client.util.UIHelper
</import>
<script><![CDATA[
-private boolean opposite;
-
-public boolean isOpposite() { return opposite; }
-
-public void setOpposite(boolean opposite) { this.opposite = opposite; }
public void init() { handler.init(this); }
+public boolean isLeft() {
+ return !isRight();
+}
+
+public boolean isRight() {
+ return Boolean.TRUE.equals(getOpposite());
+}
]]>
</script>
+ <Boolean id='opposite' initializer='getContextValue(Boolean.class)'/>
+
<String id='labelText' javaBean='null'/>
+ <JPanel id='dataSourcePanel' constraints='BorderLayout.NORTH' layout='{new BorderLayout()}'>
+ <JLabel id='dataSourceLabel' constraints='BorderLayout.WEST'/>
+ <JToolBar id='dataSourceToolbar' constraints='BorderLayout.EAST'>
+ <JButton id='dataSourceInformation'/>
+ </JToolBar>
+ </JPanel>
<JScrollPane id='treePane' columnHeaderView='{treeHeader}' constraints='BorderLayout.CENTER'>
<ReferentialSelectionTree id='tree' javaBean="new ReferentialSelectionTree()"/>
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreePaneHandler.java
=====================================
@@ -26,16 +26,12 @@ import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.Refer
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchroUI;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchroUIHandler;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchronizeMode;
-import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.CollapseAll;
-import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.ExpandAll;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterCopy;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterDeactivate;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterDeactivateWithReplacement;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterDelete;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterRevert;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterSkip;
-import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.SelectAll;
-import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.UnselectAll;
import org.nuiton.jaxx.runtime.spi.UIHandler;
import java.awt.BorderLayout;
@@ -46,27 +42,19 @@ import java.awt.BorderLayout;
*/
public class ReferentialSelectionTreePaneHandler implements UIHandler<ReferentialSelectionTreePane> {
- @Override
- public void afterInit(ReferentialSelectionTreePane ui) {
- CollapseAll.init(ui, ui.getCollapseAll(), CollapseAll.class);
- ExpandAll.init(ui, ui.getExpandAll(), ExpandAll.class);
- SelectAll.init(ui, ui.getSelectAll(), SelectAll.class);
- UnselectAll.init(ui, ui.getUnselectAll(), UnselectAll.class);
- }
-
void init(ReferentialSelectionTreePane ui) {
ReferentialSynchroUI parent = ui.getContextValue(ReferentialSynchroUI.class, ReferentialSynchroUIHandler.SYNCHRO_PARENT);
ReferentialSynchroModel stepModel = parent.getStepModel();
stepModel.addPropertyChangeListener(ReferentialSynchroModel.SYNCHRONIZE_MODE_PROPERTY_NAME, evt -> onUpdateMode(ui, (ReferentialSynchronizeMode) evt.getNewValue()));
- boolean isRight = ui.isOpposite(); //means is right
- ui.copy.setAction(new RegisterCopy(ui, !isRight));
- ui.revert.setAction(new RegisterRevert(ui, !isRight));
- ui.deactivate.setAction(new RegisterDeactivate(ui, !isRight));
- ui.deactivateWithReplace.setAction(new RegisterDeactivateWithReplacement(ui, !isRight));
- ui.delete.setAction(new RegisterDelete(ui, !isRight));
- ui.skip.setAction(new RegisterSkip(ui, !isRight));
+ boolean isLeft = ui.isLeft();
+ RegisterCopy.init(ui, ui.copy, new RegisterCopy(ui, isLeft));
+ RegisterRevert.init(ui, ui.revert, new RegisterRevert(ui, isLeft));
+ RegisterDeactivate.init(ui, ui.deactivate, new RegisterDeactivate(ui, isLeft));
+ RegisterDeactivateWithReplacement.init(ui, ui.deactivateWithReplace, new RegisterDeactivateWithReplacement(ui, isLeft));
+ RegisterDelete.init(ui, ui.delete, new RegisterDelete(ui, isLeft));
+ RegisterSkip.init(ui, ui.skip, new RegisterSkip(ui, isLeft));
- if (isRight) {
+ if (!isLeft) {
ui.remove(ui.getMiddleActions());
ui.add(ui.getMiddleActions(), BorderLayout.WEST);
}
@@ -76,7 +64,7 @@ public class ReferentialSelectionTreePaneHandler implements UIHandler<Referentia
if (synchronizeMode == null) {
return;
}
- boolean isRight = ui.isOpposite(); //means is right
+ boolean isRight = ui.isRight();
boolean canCopy = isRight ? synchronizeMode.isLeftWrite() : synchronizeMode.isRightWrite();
boolean canRevert = isRight ? synchronizeMode.isRightWrite() : synchronizeMode.isLeftWrite();
ui.copy.setVisible(canCopy);
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/DataSourceInformation.java
=====================================
@@ -0,0 +1,58 @@
+package fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions;
+
+/*-
+ * #%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%
+ */
+
+import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSelectionTreePane;
+import fr.ird.observe.client.datasource.api.ObserveSwingDataSourceTemplate;
+import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelectorModel;
+import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
+
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import java.awt.event.ActionEvent;
+
+import static io.ultreia.java4all.i18n.I18n.t;
+
+/**
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0
+ */
+public class DataSourceInformation extends ReferentialSelectionTreePaneActionSupport {
+
+ public DataSourceInformation() {
+ super("", t("observe.action.info.storage.tip"), "information", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SOURCE_INFORMATION);
+ }
+
+ @Override
+ protected void doActionPerformed(ActionEvent e, ReferentialSelectionTreePane ui) {
+ DataSourceSelectorModel dataSourceSelectorModel = ui.getContextValue(DataSourceSelectorModel.class);
+
+ String text = ObserveSwingDataSourceTemplate.generate(dataSourceSelectorModel.getSource());
+ JOptionPane.showMessageDialog(
+ ui,
+ new JLabel(text),
+ t("observe.title.storage.info"),
+ JOptionPane.INFORMATION_MESSAGE);
+
+ }
+}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/ReferentialSelectionTreePaneActionSupport.java
=====================================
@@ -39,7 +39,7 @@ public abstract class ReferentialSelectionTreePaneActionSupport extends JCompone
@Override
public void init() {
- if (ui.isOpposite()) {
+ if (ui.isRight()) {
KeyStroke acceleratorKey = getAcceleratorKey();
setKeyStroke(KeyStroke.getKeyStroke(acceleratorKey.getKeyCode(), acceleratorKey.getModifiers() | KeyEvent.SHIFT_MASK));
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/RegisterTaskActionSupport.java
=====================================
@@ -94,7 +94,7 @@ public abstract class RegisterTaskActionSupport extends ReferentialSelectionTree
private final ReferentialSynchroUI parentUI;
RegisterTaskActionSupport(ReferentialSelectionTreePane ui, ReferentialSynchronizeResources resource, boolean left) {
- super(null, null, null, Objects.requireNonNull(resource).getKeyStroke(left));
+ super("", null, null, Objects.requireNonNull(resource).getKeyStroke(left));
this.resource = resource;
String tip = resource.getActionTip(left);
if (tip != null) {
@@ -108,7 +108,7 @@ public abstract class RegisterTaskActionSupport extends ReferentialSelectionTree
this.left = left;
this.taskType = resource.getTaskType();
this.needReplace = resource.withReplace();
- parentUI = ui.getContextValue(ReferentialSynchroUI.class, "parent");
+ parentUI = ui.getContextValue(ReferentialSynchroUI.class, "synchroParent");
Predicate<ReferentialSynchroNodeSupport> predicate = resource.getPredicate();
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/f201fbf721bd39f07b0c8183c…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/f201fbf721bd39f07b0c8183c…
You're receiving this email because of your account on gitlab.com.
1
0
Tony CHEMIT deleted branch release/7.5.1 at ultreiaio / ird-observe
--
You're receiving this email because of your account on gitlab.com.
1
0
Tony CHEMIT pushed new tag v7.5.1 at ultreiaio / ird-observe
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/tree/v7.5.1
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][release/7.5.1] [jgitflow-maven-plugin]updating poms for branch'release/7.5.1' with non-snapshot versions[skip ci]
by Tony CHEMIT 13 Apr '20
by Tony CHEMIT 13 Apr '20
13 Apr '20
Tony CHEMIT pushed to branch release/7.5.1 at ultreiaio / ird-observe
Commits:
2cd3fd54 by tchemit at 2020-04-14T00:54:37+02:00
[jgitflow-maven-plugin]updating poms for branch'release/7.5.1' with non-snapshot versions[skip ci]
- - - - -
16 changed files:
- client-configuration/pom.xml
- client-core/pom.xml
- client-runner/pom.xml
- dto/pom.xml
- observe-i18n/pom.xml
- observe/pom.xml
- persistence/pom.xml
- pom.xml
- server-configuration/pom.xml
- server-core/pom.xml
- server-runner/pom.xml
- services-client/pom.xml
- services-local/pom.xml
- services/pom.xml
- test/pom.xml
- validation/pom.xml
Changes:
=====================================
client-configuration/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>client-configuration</artifactId>
=====================================
client-core/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>client-core</artifactId>
=====================================
client-runner/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>client-runner</artifactId>
=====================================
dto/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>dto</artifactId>
=====================================
observe-i18n/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>observe-i18n</artifactId>
=====================================
observe/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>observe</artifactId>
=====================================
persistence/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>persistence</artifactId>
=====================================
pom.xml
=====================================
@@ -31,7 +31,7 @@
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
<packaging>pom</packaging>
<name>ObServe :: Pom</name>
=====================================
server-configuration/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>server-configuration</artifactId>
@@ -115,7 +115,7 @@
<dependency>
<groupId>fr.ird.observe</groupId>
<artifactId>services</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
<scope>compile</scope>
</dependency>
=====================================
server-core/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>server-core</artifactId>
=====================================
server-runner/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>server-runner</artifactId>
=====================================
services-client/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>services-client</artifactId>
=====================================
services-local/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>services-local</artifactId>
=====================================
services/pom.xml
=====================================
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>services</artifactId>
=====================================
test/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>test</artifactId>
=====================================
validation/pom.xml
=====================================
@@ -26,7 +26,7 @@
<parent>
<groupId>fr.ird.observe</groupId>
<artifactId>ird-observe</artifactId>
- <version>7.5.1-SNAPSHOT</version>
+ <version>7.5.1</version>
</parent>
<artifactId>validation</artifactId>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2cd3fd5457064ff7fb46cb1bb…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2cd3fd5457064ff7fb46cb1bb…
You're receiving this email because of your account on gitlab.com.
1
0