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
October 2018
- 1 participants
- 104 discussions
[Git][ultreiaio/ird-observe][develop] [PS] Place du formulaire libération dans l'arbre - Closes #1154
by Tony CHEMIT 16 Oct '18
by Tony CHEMIT 16 Oct '18
16 Oct '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
4db231fe by Tony CHEMIT at 2018-10-16T21:27:02Z
[PS] Place du formulaire libération dans l'arbre - Closes #1154
- - - - -
3 changed files:
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/SetSeineNavigationTreeNode.java
- client/src/main/resources/i18n/client_es_ES.properties
- client/src/main/resources/i18n/client_fr_FR.properties
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/SetSeineNavigationTreeNode.java
=====================================
@@ -47,8 +47,8 @@ public class SetSeineNavigationTreeNode extends ReferenceNavigationTreeNodeSuppo
add(new KeptTargetSampleSeineNavigationTreeNode());
add(new DiscardedTargetSampleSeineNavigationTreeNode());
add(new NonTargetCatchSeineNavigationTreeNode());
- add(new NonTargetCatchReleasedSeineNavigationTreeNode());
add(new NonTargetSampleSeineNavigationTreeNode());
+ add(new NonTargetCatchReleasedSeineNavigationTreeNode());
}
}
=====================================
client/src/main/resources/i18n/client_es_ES.properties
=====================================
@@ -1826,7 +1826,7 @@ observe.ui.tree.seine.floatingObject.unsaved=Nuevo DCP
observe.ui.tree.seine.keptTargetCatch=Captura de atún
observe.ui.tree.seine.keptTargetSample=Muestreo atún capturado
observe.ui.tree.seine.nonTargetCatch=Fauna accesoria conservada o descartada
-observe.ui.tree.seine.nonTargetCatchRelease=Faunes accessoires libérées \#TODO
+observe.ui.tree.seine.nonTargetCatchRelease=Modo de liberación
observe.ui.tree.seine.nonTargetSample=Muestreos de fauna accesoria
observe.ui.tree.seine.objectObservedSpecies=Fauna observada
observe.ui.tree.seine.objectOperation=Baliza
=====================================
client/src/main/resources/i18n/client_fr_FR.properties
=====================================
@@ -1826,7 +1826,7 @@ observe.ui.tree.seine.floatingObject.unsaved=Nouveau DCP
observe.ui.tree.seine.keptTargetCatch=Thons conservés
observe.ui.tree.seine.keptTargetSample=Échantillons thons conservés
observe.ui.tree.seine.nonTargetCatch=Espèces accessoires conservées ou rejetées
-observe.ui.tree.seine.nonTargetCatchRelease=Espèces accessoires libérées
+observe.ui.tree.seine.nonTargetCatchRelease=Modes de libération
observe.ui.tree.seine.nonTargetSample=Échantillons espèces accessoires
observe.ui.tree.seine.objectObservedSpecies=Faune observée
observe.ui.tree.seine.objectOperation=Balise
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4db231fe376d5a6e0628e231b15…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4db231fe376d5a6e0628e231b15…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-7.x] [PS] Place du formulaire libération dans l'arbre - Closes #1154
by Tony CHEMIT 16 Oct '18
by Tony CHEMIT 16 Oct '18
16 Oct '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
12257a1b by Tony CHEMIT at 2018-10-16T21:26:12Z
[PS] Place du formulaire libération dans l'arbre - Closes #1154
- - - - -
3 changed files:
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/SetSeineNavigationTreeNode.java
- client/src/main/resources/i18n/client_es_ES.properties
- client/src/main/resources/i18n/client_fr_FR.properties
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/SetSeineNavigationTreeNode.java
=====================================
@@ -46,8 +46,8 @@ public class SetSeineNavigationTreeNode extends ReferenceNavigationTreeNodeSuppo
add(new KeptTargetSampleSeineNavigationTreeNode());
add(new DiscardedTargetSampleSeineNavigationTreeNode());
add(new NonTargetCatchSeineNavigationTreeNode());
- add(new NonTargetCatchReleasedSeineNavigationTreeNode());
add(new NonTargetSampleSeineNavigationTreeNode());
+ add(new NonTargetCatchReleasedSeineNavigationTreeNode());
}
}
=====================================
client/src/main/resources/i18n/client_es_ES.properties
=====================================
@@ -1506,7 +1506,7 @@ observe.ui.tree.seine.discardedTargetSample=Muestreo atún descartado
observe.ui.tree.seine.keptTargetCatch=Captura de atún
observe.ui.tree.seine.keptTargetSample=Muestreo atún capturado
observe.ui.tree.seine.nonTargetCatch=Fauna accesoria conservada o descartada
-observe.ui.tree.seine.nonTargetCatchRelease=Faunes accessoires libérées \#TODO
+observe.ui.tree.seine.nonTargetCatchRelease=Modo de liberación
observe.ui.tree.seine.nonTargetSample=Muestreos de fauna accesoria
observe.ui.tree.seine.objectObservedSpecies=Fauna observada
observe.ui.tree.seine.objectOperation=Baliza
=====================================
client/src/main/resources/i18n/client_fr_FR.properties
=====================================
@@ -1506,7 +1506,7 @@ observe.ui.tree.seine.discardedTargetSample=Échantillons thons rejetés
observe.ui.tree.seine.keptTargetCatch=Thons conservés
observe.ui.tree.seine.keptTargetSample=Échantillons thons conservés
observe.ui.tree.seine.nonTargetCatch=Espèces accessoires conservées ou rejetées
-observe.ui.tree.seine.nonTargetCatchRelease=Espèces accessoires libérées
+observe.ui.tree.seine.nonTargetCatchRelease=Modes de libération
observe.ui.tree.seine.nonTargetSample=Échantillons espèces accessoires
observe.ui.tree.seine.objectObservedSpecies=Faune observée
observe.ui.tree.seine.objectOperation=Balise
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/12257a1b97a3c54e385bf714853…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/12257a1b97a3c54e385bf714853…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Calcul de l'activité d'observation sur l'écran de l'activité logbook - closes #1150
by Tony CHEMIT 16 Oct '18
by Tony CHEMIT 16 Oct '18
16 Oct '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
f2f85a78 by Tony CHEMIT at 2018-10-16T16:36:40Z
Calcul de l'activité d'observation sur l'écran de l'activité logbook - closes #1150
- - - - -
23 changed files:
- client/src/main/java/fr/ird/observe/client/ui/ObserveKeyStrokes.java
- + client/src/main/java/fr/ird/observe/client/ui/actions/content/data/longline/ChooseRelatedObservedActivityUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUIModel.java
- client/src/main/resources/i18n/client_en_GB.properties
- client/src/main/resources/i18n/client_es_ES.properties
- client/src/main/resources/i18n/client_fr_FR.properties
- dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineAware.java
- dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineLogbookDto.java
- dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineObsDto.java
- dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java
- dto/src/main/resources/i18n/dto_en_GB.properties
- dto/src/main/resources/i18n/dto_es_ES.properties
- dto/src/main/resources/i18n/dto_fr_FR.properties
- services/pom.xml
- services/src/main/java/fr/ird/observe/services/service/actions/pairing/ActivityLonglinePairingEngine.java
- services/src/main/java/fr/ird/observe/services/service/actions/pairing/TripLonglinePairingContext.java
- dto/src/main/java/fr/ird/observe/dto/data/pairing/ActivityLonglinePairingResult.java → services/src/main/java/fr/ird/observe/services/service/data/longline/pairing/ActivityLonglinePairingResult.java
- dto/src/main/java/fr/ird/observe/dto/data/pairing/ActivityLonglinePairingResultItem.java → services/src/main/java/fr/ird/observe/services/service/data/longline/pairing/ActivityLonglinePairingResultItem.java
- + services/src/main/java/fr/ird/observe/services/service/data/longline/pairing/ActivityLonglinePairingResultItemDecorator.java
- dto/src/main/java/fr/ird/observe/dto/data/pairing/TripLonglinePairingResult.java → services/src/main/java/fr/ird/observe/services/service/data/longline/pairing/TripLonglinePairingResult.java
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/ObserveKeyStrokes.java
=====================================
@@ -75,6 +75,7 @@ public abstract class ObserveKeyStrokes {
public static final KeyStroke KEY_STROKE_CONFIGURE_SYNCHRO_FROM_BOTH = KeyStroke.getKeyStroke("ctrl pressed C");
public static final KeyStroke KEY_STROKE_COPY_VALUES_AND_SAVE = KeyStroke.getKeyStroke("ctrl pressed T");
+ public static final KeyStroke KEY_STROKE_CHOOSE_RELATED_OBSERVATION_ACTIVITY = KeyStroke.getKeyStroke("ctrl pressed T");
public static final KeyStroke KEY_STROKE_SELECT_TRANSSHIPMENT = KeyStroke.getKeyStroke("ctrl pressed T");
public static final KeyStroke KEY_STROKE_SAVE_TABLE_ENTRY = KeyStroke.getKeyStroke("ctrl pressed S");
public static final KeyStroke KEY_STROKE_PRESSED_ENTER = KeyStroke.getKeyStroke("pressed ENTER");
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/data/longline/ChooseRelatedObservedActivityUIAction.java
=====================================
@@ -0,0 +1,145 @@
+package fr.ird.observe.client.ui.actions.content.data.longline;
+
+/*-
+ * #%L
+ * ObServe :: Client
+ * %%
+ * Copyright (C) 2008 - 2018 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.ObserveSwingApplicationContext;
+import fr.ird.observe.client.ui.ObserveKeyStrokes;
+import fr.ird.observe.client.ui.ObserveMainUI;
+import fr.ird.observe.client.ui.actions.content.api.AbstractContentUIAction;
+import fr.ird.observe.client.ui.content.api.ContentUI;
+import fr.ird.observe.client.ui.content.data.longline.logbook.ActivityLonglineLogbookUI;
+import fr.ird.observe.client.ui.content.data.longline.logbook.ActivityLonglineLogbookUIModel;
+import fr.ird.observe.client.ui.content.ref.usage.UsageUIHandlerSupport;
+import fr.ird.observe.client.ui.util.UIHelper;
+import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookDto;
+import fr.ird.observe.dto.data.longline.ActivityLonglineObsDto;
+import fr.ird.observe.dto.data.longline.ActivityLonglineObsReference;
+import fr.ird.observe.services.service.data.longline.pairing.ActivityLonglinePairingResult;
+import fr.ird.observe.services.service.data.longline.pairing.ActivityLonglinePairingResultItem;
+import fr.ird.observe.dto.decoration.DecoratorService;
+import fr.ird.observe.dto.decoration.ObserveI18nLabelsBuilder;
+import fr.ird.observe.services.service.data.longline.pairing.ActivityLonglinePairingResultItemDecorator;
+import fr.ird.observe.services.service.actions.pairing.ActivityLonglinePairingConfig;
+import fr.ird.observe.services.service.actions.pairing.ActivityLonglinePairingEngine;
+import fr.ird.observe.services.service.actions.pairing.TripLonglinePairingContext;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.nuiton.jaxx.widgets.select.BeanFilterableComboBox;
+
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import java.awt.BorderLayout;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+
+import static org.nuiton.i18n.I18n.n;
+import static org.nuiton.i18n.I18n.t;
+
+/**
+ * Created by tchemit on 16/10/2018.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ */
+public class ChooseRelatedObservedActivityUIAction extends AbstractContentUIAction {
+
+ public static final String ACTION_NAME = ChooseRelatedObservedActivityUIAction.class.getName();
+ private static final Logger log = LogManager.getLogger(ChooseRelatedObservedActivityUIAction.class);
+ private final ActivityLonglinePairingResultItemDecorator decorator;
+
+ public ChooseRelatedObservedActivityUIAction(ObserveMainUI mainUI) {
+ super(mainUI, ACTION_NAME, n("observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity"), n("observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity"), "data-calcule", ObserveKeyStrokes.KEY_STROKE_CHOOSE_RELATED_OBSERVATION_ACTIVITY);
+ ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get();
+ DecoratorService decoratorService = applicationContext.getDecoratorService();
+ decorator = new ActivityLonglinePairingResultItemDecorator(decoratorService, applicationContext.getConfig().getLocale());
+ }
+
+ @Override
+ protected void actionPerformed(ContentUI contentUI) {
+
+ ActivityLonglineLogbookUI ui = (ActivityLonglineLogbookUI) contentUI;
+ ActivityLonglineLogbookUIModel model = ui.getModel();
+
+ ActivityLonglinePairingEngine pairingEngine = new ActivityLonglinePairingEngine(getServicesProvider(), ui.getConfig());
+
+ ActivityLonglineLogbookDto bean = model.getBean();
+
+ TripLonglinePairingContext pairingContext = pairingEngine.newTripContext(model.getSelectedParentId(), model.getAllActivityObs());
+
+ ActivityLonglinePairingResult activityLonglinePairingResult = pairingEngine.computeForActivityLogbook(pairingContext, bean);
+
+ Optional<ActivityLonglineObsReference> optionalActivityLonglineObs = askNewParent(activityLonglinePairingResult.getItems(), pairingEngine.getConfig());
+
+ if (optionalActivityLonglineObs.isPresent()) {
+ ActivityLonglineObsReference activityLonglineObs = optionalActivityLonglineObs.get();
+ log.info("will use new related activity obs: " + activityLonglineObs);
+ bean.setRelatedObservedActivity(activityLonglineObs);
+ }
+ }
+
+ private Optional<ActivityLonglineObsReference> askNewParent(List<ActivityLonglinePairingResultItem> pairingResult, ActivityLonglinePairingConfig pairingConfig) {
+
+ BeanFilterableComboBox<ActivityLonglinePairingResultItem> editor = new BeanFilterableComboBox<>();
+ editor.setI18nPrefix("observe.common.");
+ editor.setBeanType(ActivityLonglinePairingResultItem.class);
+ editor.setI18nLabelBuilder(ObserveI18nLabelsBuilder.createFromReferenceType(ActivityLonglineObsDto.class));
+
+ editor.init(decorator, new ArrayList<>(pairingResult));
+
+// JComboBox combobox = editor.getCombobox();
+// @SuppressWarnings("unchecked") ListCellRenderer toolTipRenderer = new ComboBoxListCellRenderer(combobox.getRenderer());
+// combobox.setRenderer(toolTipRenderer);
+
+ String continueActionText = t("observe.choice.continue");
+ Object[] options = {continueActionText, t("observe.choice.cancel")};
+ JPanel panel = new JPanel(new BorderLayout());
+ panel.add(BorderLayout.NORTH, new JLabel(t("observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.message",
+ pairingConfig.getLonglineActivityPairingMaxTime(), pairingConfig.getLonglineActivityPairingMaxDistance())));
+ panel.add(BorderLayout.CENTER, editor);
+
+ JOptionPane pane = new JOptionPane(panel, JOptionPane.QUESTION_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options, options[0]);
+
+ JButton jButton = UsageUIHandlerSupport.findButton(pane, continueActionText);
+ Objects.requireNonNull(jButton);
+ jButton.setEnabled(false);
+ editor.addPropertyChangeListener("selectedItem", evt -> jButton.setEnabled(evt.getNewValue() != null));
+
+ int response = UIHelper.askUser(ObserveSwingApplicationContext.get().getMainUI(), pane, t("observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.title"), options);
+
+ ActivityLonglinePairingResultItem newActivityLonglineObs = null;
+ switch (response) {
+ case 0:
+ newActivityLonglineObs = editor.getComboBoxModel().getSelectedItem();
+ log.info(String.format("Selected new related observed activity id: %s", newActivityLonglineObs));
+ break;
+ default:
+ log.info("Use cancel choice of related observed activity");
+ }
+ return Optional.ofNullable(newActivityLonglineObs).map(ActivityLonglinePairingResultItem::getObservationActivity);
+ }
+
+}
+
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUI.jaxx
=====================================
@@ -41,8 +41,9 @@
fr.ird.observe.client.ui.actions.content.data.longline.delete.DeleteActivityLonglineLogbookUIAction
fr.ird.observe.client.ui.actions.content.data.longline.move.MoveSingleActivityLonglineLogbookUIAction
fr.ird.observe.client.ui.actions.content.data.longline.save.SaveActivityLonglineLogbookUIAction
+ fr.ird.observe.client.ui.actions.content.data.longline.ChooseRelatedObservedActivityUIAction
- fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResultItem
+ fr.ird.observe.services.service.data.longline.pairing.ActivityLonglinePairingResultItem
fr.ird.observe.client.ui.util.JComment
@@ -190,7 +191,10 @@
<JLabel id='relatedObservedActivityLabel'/>
</cell>
<cell anchor='east' fill="both">
- <BeanFilterableComboBox id='relatedObservedActivity' genericType='ActivityLonglinePairingResultItem' constructorParams='this'/>
+ <JPanel layout="{new BorderLayout()}">
+ <BeanFilterableComboBox id='relatedObservedActivity' genericType='ActivityLonglineObsReference' constructorParams='this' constraints='BorderLayout.CENTER'/>
+ <JButton id='chooseRelatedObservedActivity' constraints='BorderLayout.EAST'/>
+ </JPanel>
</cell>
</row>
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUI.jcss
=====================================
@@ -84,10 +84,8 @@
#relatedObservedActivity {
_listNoLoad:true;
- bean:{model};
- property:activityObs;
- data:{model.getActivityObsCandidates()};
- selectedItem:{model.getActivityObs()};
+ data:{model.getActivityObs()};
+ selectedItem:{bean.getRelatedObservedActivity()};
}
#reopen {
@@ -119,3 +117,9 @@
enabled:{!model.isModified() && model.isValid() && model.isSetOperation() && ! bean.isHasSetLongline()};
_observeAction:{AddActivityLonglineLogbookSetUIAction.ACTION_NAME};
}
+
+#chooseRelatedObservedActivity {
+ visible:{!model.isReadingMode()};
+ enabled:{model.isValid()};
+ _observeAction:{ChooseRelatedObservedActivityUIAction.ACTION_NAME};
+}
\ No newline at end of file
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUIHandler.java
=====================================
@@ -22,44 +22,19 @@ package fr.ird.observe.client.ui.content.data.longline.logbook;
* #L%
*/
-import com.google.common.collect.ImmutableSet;
import fr.ird.observe.client.ui.content.api.data.open.ContentOpenableUIHandler;
-import fr.ird.observe.client.ui.content.api.data.open.ContentOpenableUIInitializer;
import fr.ird.observe.client.ui.content.api.ui.ObserveLayoutFocusTraversalPolicy;
import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookReference;
-import fr.ird.observe.dto.data.longline.ActivityLonglineObsDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineObsReference;
-import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResult;
-import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResultItem;
-import fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper;
-import fr.ird.observe.dto.decoration.ObserveI18nLabelsBuilder;
import fr.ird.observe.dto.form.Form;
-import fr.ird.observe.services.service.actions.pairing.ActivityLonglinePairingEngine;
-import fr.ird.observe.services.service.actions.pairing.TripLonglinePairingContext;
-import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.nuiton.decorator.Decorator;
-import org.nuiton.decorator.JXPathDecorator;
import org.nuiton.jaxx.runtime.spi.UIHandler;
-import org.nuiton.jaxx.widgets.select.BeanFilterableComboBox;
-import javax.swing.JComboBox;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.KeyStroke;
-import javax.swing.ListCellRenderer;
import java.awt.Component;
import java.awt.Container;
-import java.awt.Dimension;
-import java.awt.event.KeyEvent;
-import java.beans.PropertyChangeListener;
-import java.util.Collections;
-import java.util.Optional;
-
-import static org.nuiton.i18n.I18n.t;
+import java.util.List;
/**
* Created on 8/29/14.
@@ -69,65 +44,13 @@ import static org.nuiton.i18n.I18n.t;
*/
class ActivityLonglineLogbookUIHandler extends ContentOpenableUIHandler<ActivityLonglineLogbookDto, ActivityLonglineLogbookReference, ActivityLonglineLogbookUI> implements UIHandler<ActivityLonglineLogbookUI> {
- private static final ImmutableSet<String> PAIRING_PROPERTIES = ImmutableSet.of(
- ActivityLonglineLogbookDto.PROPERTY_LATITUDE,
- ActivityLonglineLogbookDto.PROPERTY_LONGITUDE,
- ActivityLonglineLogbookDto.PROPERTY_TIME_STAMP,
- ActivityLonglineLogbookUIModel.PROPERTY_VALID);
-
private static final Logger log = LogManager.getLogger(ActivityLonglineLogbookUIHandler.class);
- private final PropertyChangeListener onRecomputePairing;
- private final PropertyChangeListener onActivityObsChanged;
- private ActivityLonglinePairingEngine pairingEngine;
- private boolean adjusting;
-
- ActivityLonglineLogbookUIHandler() {
- onRecomputePairing = e -> onRecomputePairing(e.getPropertyName());
- onActivityObsChanged = e -> onActivityObsChanged();
- }
@Override
public ActivityLonglineLogbookUIModel getModel() {
return ui.getModel();
}
- @Override
- protected ContentOpenableUIInitializer<ActivityLonglineLogbookUI> createContentUIInitializer(ActivityLonglineLogbookUI ui) {
- return new ContentOpenableUIInitializer<ActivityLonglineLogbookUI>(ui) {
-
- @SuppressWarnings("unchecked")
- protected void init(BeanFilterableComboBox comboBox) {
- if (!"relatedObservedActivity".equals(comboBox.getName())) {
- super.init(comboBox);
- return;
- }
-
- comboBox.getCombobox().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F4, 0), "none");
- Class referenceType = comboBox.getBeanType();
- comboBox.setI18nLabelBuilder(ObserveI18nLabelsBuilder.createFromReferenceType(ActivityLonglineObsDto.class));
- comboBox.setI18nPrefix("observe.common.");
- comboBox.setMinimumSize(new Dimension(0, 24));
-
- if (StringUtils.isEmpty(comboBox.getProperty())) {
- comboBox.setProperty(comboBox.getName());
- }
-
- log.info("Init relatedObservedActivity comboBox");
- Decorator decorator = decoratorService.getDecoratorByType(referenceType);
-
- String entityLabel = t(ObserveI18nDecoratorHelper.getTypeI18nKey(ActivityLonglineObsDto.class));
- comboBox.setPopupTitleText(t("observe.common.DataDto.type", entityLabel));
-
- comboBox.init((JXPathDecorator) decorator, Collections.emptyList());
-
- JComboBox combobox = comboBox.getCombobox();
-
- @SuppressWarnings("unchecked") ListCellRenderer toolTipRenderer = new ComboBoxListCellRenderer(combobox.getRenderer());
- combobox.setRenderer(toolTipRenderer);
- }
- };
- }
-
@Override
protected ObserveLayoutFocusTraversalPolicy<ActivityLonglineLogbookUI> createFocusTraversalPolicy() {
return new ObserveLayoutFocusTraversalPolicy<ActivityLonglineLogbookUI>() {
@@ -148,101 +71,6 @@ class ActivityLonglineLogbookUIHandler extends ContentOpenableUIHandler<Activity
};
}
- @Override
- public void afterInit(ActivityLonglineLogbookUI ui) {
- super.afterInit(ui);
- pairingEngine = getDataSource().newActivityLonglinePairingEngine(ui.getConfig());
- }
-
- private void onRecomputePairing(String propertyName) {
- if (adjusting || !PAIRING_PROPERTIES.contains(propertyName)) {
- return;
- }
- log.info(prefix + "Need to recompute pairing data.");
- ActivityLonglineLogbookUIModel model = getModel();
- if (!model.isValid()) {
- log.info(prefix + "Reject: model is not valid.");
- return;
- }
- adjusting = true;
- try {
- ActivityLonglineLogbookDto bean = model.getBean();
- ActivityLonglinePairingResult activityLonglinePairingResult = pairingEngine.computeForActivityLogbook(model.getPairingContext(), bean);
- ActivityLonglinePairingResultItem pairingActivityObs = model.getActivityObs();
- ActivityLonglineObsReference relatedObservedActivity = model.getBean().getRelatedObservedActivity();
-
- model.setActivityObsCandidates(activityLonglinePairingResult.getItems());
-
- if (pairingActivityObs == null) {
-
- if (relatedObservedActivity != null) {
- // use dto value
- Optional<ActivityLonglinePairingResultItem> first = model.getActivityObsCandidates().stream().filter(e -> e.getObservationActivity().equals(relatedObservedActivity)).findFirst();
- if (!first.isPresent()) {
- // Should never occurs ?
- bean.setRelatedObservedActivity(null);
- } else {
- pairingActivityObs = first.get();
- model.setActivityObs(pairingActivityObs);
- bean.setRelatedObservedActivity(pairingActivityObs.getObservationActivity());
- }
- }
- } else {
- if (!model.getActivityObsCandidates().contains(pairingActivityObs)) {
- // can not keep this pairing,
- model.setActivityObs(null);
- bean.setRelatedObservedActivity(null);
- } else {
- // keep this pairing
- // use pairing value
- bean.setRelatedObservedActivity(pairingActivityObs.getObservationActivity());
- }
- }
- } finally {
- adjusting = false;
- }
- }
-
- private void onActivityObsChanged() {
- if (adjusting) {
- return;
- }
- adjusting = true;
- try {
- ActivityLonglineLogbookUIModel model = getModel();
- ActivityLonglinePairingResultItem activityObs = model.getActivityObs();
- model.getBean().setRelatedObservedActivity(activityObs == null ? null : activityObs.getObservationActivity());
- } finally {
- adjusting = false;
- }
- }
-
- @Override
- protected void onOpenBeforeOpenModel() {
- ActivityLonglineLogbookUIModel model = getModel();
- ActivityLonglineLogbookDto bean = model.getBean();
- model.removePropertyChangeListener(ActivityLonglineLogbookUIModel.PROPERTY_VALID, onRecomputePairing);
- bean.removePropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_LATITUDE, onRecomputePairing);
- bean.removePropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_LONGITUDE, onRecomputePairing);
- bean.removePropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_TIME_STAMP, onRecomputePairing);
- bean.removePropertyChangeListener("activityObs", onActivityObsChanged);
-
- super.onOpenBeforeOpenModel();
- }
-
- @Override
- protected void onOpenAfterOpenModel() {
- super.onOpenAfterOpenModel();
- ActivityLonglineLogbookUIModel model = getModel();
- ActivityLonglineLogbookDto bean = model.getBean();
- model.addPropertyChangeListener(ActivityLonglineLogbookUIModel.PROPERTY_VALID, onRecomputePairing);
- bean.addPropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_LATITUDE, onRecomputePairing);
- bean.addPropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_LONGITUDE, onRecomputePairing);
- bean.addPropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_TIME_STAMP, onRecomputePairing);
- bean.addPropertyChangeListener("activityObs", onActivityObsChanged);
- onRecomputePairing(ActivityLonglineLogbookUIModel.PROPERTY_VALID);
- }
-
@Override
protected void onOpenModel() {
super.onOpenModel();
@@ -260,37 +88,8 @@ class ActivityLonglineLogbookUIHandler extends ContentOpenableUIHandler<Activity
form = getActivityLonglineLogbookService().loadForm(activityId);
}
- TripLonglinePairingContext pairingContext = pairingEngine.newTripContext(tripId);
- model.openForm(form, pairingContext);
+ List<ActivityLonglineObsReference> allActivityLonglineObs = getActivityLonglineObsService().getActivityLonglineByTripLongline(tripId).toList();
+ model.openForm(form, allActivityLonglineObs);
}
-
- private static class ComboBoxListCellRenderer<E extends ActivityLonglinePairingResultItem> implements ListCellRenderer<E> {
-
- private final ListCellRenderer<? super E> renderer;
-
- ComboBoxListCellRenderer(ListCellRenderer<? super E> renderer) {
- this.renderer = renderer;
- }
-
- @Override
- public Component getListCellRendererComponent(JList<? extends E> list,
- E value,
- int index,
- boolean isSelected,
- boolean cellHasFocus) {
- Component comp = renderer.getListCellRendererComponent(
- list,
- value,
- index,
- isSelected,
- cellHasFocus
- );
- if (comp instanceof JLabel) {
- JLabel jcomp = (JLabel) comp;
- jcomp.setToolTipText(jcomp.getText());
- }
- return comp;
- }
- }
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUIModel.java
=====================================
@@ -22,20 +22,23 @@ package fr.ird.observe.client.ui.content.data.longline.logbook;
* #L%
*/
+import com.google.common.collect.ImmutableList;
import fr.ird.observe.client.ui.content.api.data.open.ContentOpenableUIModel;
import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookReference;
-import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResultItem;
+import fr.ird.observe.dto.data.longline.ActivityLonglineObsReference;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.referential.longline.VesselActivityLonglineHelper;
import fr.ird.observe.dto.referential.longline.VesselActivityLonglineReference;
-import fr.ird.observe.services.service.actions.pairing.TripLonglinePairingContext;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.nuiton.i18n.I18n;
import org.nuiton.util.DateUtil;
-import java.util.ArrayList;
+import java.util.Collections;
import java.util.Date;
import java.util.List;
+import java.util.stream.Collectors;
/**
* Created on 9/26/14.
@@ -45,22 +48,26 @@ import java.util.List;
*/
public class ActivityLonglineLogbookUIModel extends ContentOpenableUIModel<ActivityLonglineLogbookDto, ActivityLonglineLogbookReference> {
- public static final String PROPERTY_SET_OPERATION = "setOperation";
public static final String PROPERTY_DATE = "date";
public static final String PROPERTY_TIME = "time";
+ private static final String PROPERTY_SET_OPERATION = "setOperation";
private static final long serialVersionUID = 1L;
-
- private TripLonglinePairingContext pairingContext;
- private List<ActivityLonglinePairingResultItem> activityObsCandidates;
- private ActivityLonglinePairingResultItem activityObs;
+ private static final Logger log = LogManager.getLogger(ActivityLonglineLogbookUIModel.class);
+ private List<ActivityLonglineObsReference> allActivityObs;
+ private List<ActivityLonglineObsReference> activityObs;
+ private boolean opening = false;
public ActivityLonglineLogbookUIModel() {
super(ActivityLonglineLogbookDto.class, I18n.n("observe.common.ActivityLonglineLogbookDto.message.not.open"));
getBean().addPropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, evt -> {
boolean oldValue = VesselActivityLonglineHelper.isSetOperation((VesselActivityLonglineReference) evt.getOldValue());
- boolean newValue = VesselActivityLonglineHelper.isSetOperation((VesselActivityLonglineReference) evt.getNewValue());
+ VesselActivityLonglineReference vesselActivityLonglineReference = (VesselActivityLonglineReference) evt.getNewValue();
+ boolean newValue = VesselActivityLonglineHelper.isSetOperation(vesselActivityLonglineReference);
firePropertyChange(PROPERTY_SET_OPERATION, oldValue, newValue);
+ if (!opening) {
+ updateActivityObs();
+ }
});
}
@@ -94,31 +101,45 @@ public class ActivityLonglineLogbookUIModel extends ContentOpenableUIModel<Activ
}
}
- public void openForm(Form<ActivityLonglineLogbookDto> form, TripLonglinePairingContext pairingContext) {
- this.pairingContext = pairingContext;
- super.openForm(form);
- }
-
- public TripLonglinePairingContext getPairingContext() {
- return pairingContext;
+ public void openForm(Form<ActivityLonglineLogbookDto> form, List<ActivityLonglineObsReference> allActivityObs) {
+ this.allActivityObs = ImmutableList.copyOf(allActivityObs);
+ opening = true;
+ try {
+ super.openForm(form);
+ } finally {
+ opening = false;
+ }
+ updateActivityObs();
}
- public List<ActivityLonglinePairingResultItem> getActivityObsCandidates() {
- return activityObsCandidates;
+ public List<ActivityLonglineObsReference> getActivityObs() {
+ return activityObs;
}
- public void setActivityObsCandidates(List<ActivityLonglinePairingResultItem> activityObsCandidates) {
- this.activityObsCandidates = activityObsCandidates == null ? null : new ArrayList<>(activityObsCandidates);
- firePropertyChange("activityObsCandidates", null, this.activityObsCandidates);
+ public void setActivityObs(List<ActivityLonglineObsReference> activityObs) {
+ // only used for jaxx binding
}
- public ActivityLonglinePairingResultItem getActivityObs() {
- return activityObs;
+ public List<ActivityLonglineObsReference> getAllActivityObs() {
+ return allActivityObs;
}
- public void setActivityObs(ActivityLonglinePairingResultItem activityObs) {
- ActivityLonglinePairingResultItem oldValue = getActivityObs();
- this.activityObs = activityObs;
- firePropertyChange("activityObs", oldValue, activityObs);
+ private void updateActivityObs() {
+ log.info(getPrefix() + "Will update release observed actities...");
+ ActivityLonglineLogbookDto bean = getBean();
+ if (allActivityObs == null || bean.getVesselActivityLonglineId() == null) {
+ activityObs = Collections.emptyList();
+ } else {
+ String vesselActivityLonglineId = bean.getVesselActivityLonglineId();
+ activityObs = allActivityObs.stream().filter(e -> vesselActivityLonglineId.equals(e.getVesselActivityLonglineId())).collect(Collectors.toList());
+ }
+ log.info(getPrefix() + "Found " + activityObs.size() + " related observed activities.");
+ ActivityLonglineObsReference relatedObservedActivity = bean.getRelatedObservedActivity();
+ boolean removeRelatedObservedActivity = !opening && relatedObservedActivity != null && !activityObs.contains(relatedObservedActivity);
+ firePropertyChange("activityObs", null, activityObs);
+ if (removeRelatedObservedActivity) {
+ log.info(getPrefix() + "Removed not matching related observed activity: " + relatedObservedActivity);
+ bean.setRelatedObservedActivity(null);
+ }
}
}
=====================================
client/src/main/resources/i18n/client_en_GB.properties
=====================================
@@ -363,6 +363,9 @@ observe.common.ActivityLogbookDto.action.goToOpen.short=Logbook - Open activity
observe.common.ActivityLogbookDto.action.goToOpen.tip=Go to open activity (Logbook)
observe.common.ActivityLonglineLogbookDto.action.addSet=Add the fishing operation
observe.common.ActivityLonglineLogbookDto.action.addSet.tip=Add the fishing operation associated with this activity
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity=Choose activity
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.message=Choose an activity beyoung the universe of possible ones (time minus than %s (minutes) and distance minus than %s (km))\:
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.title=Choose the related observed activity
observe.common.ActivityLonglineLogbookDto.action.moves=Change trip
observe.common.ActivityLonglineLogbookDto.action.moves.tip=Change trip of activities
observe.common.ActivityLonglineLogbookDto.list.message.none=< No activity for current trip >
=====================================
client/src/main/resources/i18n/client_es_ES.properties
=====================================
@@ -363,6 +363,9 @@ observe.common.ActivityLogbookDto.action.goToOpen.short=Logbook - Open activity
observe.common.ActivityLogbookDto.action.goToOpen.tip=Go to open activity (Logbook) \#TODO
observe.common.ActivityLonglineLogbookDto.action.addSet=Añadir la operación de pesca
observe.common.ActivityLonglineLogbookDto.action.addSet.tip=Añadir la operación de pesca asociada a esta actividad
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity=Choose activity \#TODO
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.message=Choose an activity beyoung the universe of possible ones (time minus than %s (minutes) and distance minus than %s (km))\: \#TODO
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.title=Choose the related observed activity \#TODO
observe.common.ActivityLonglineLogbookDto.action.moves=Cambiar de marea
observe.common.ActivityLonglineLogbookDto.action.moves.tip=Cambiar la marea de las actividades seleccionas
observe.common.ActivityLonglineLogbookDto.list.message.none=< Ninguna actividad por la marea actual >
=====================================
client/src/main/resources/i18n/client_fr_FR.properties
=====================================
@@ -363,6 +363,9 @@ observe.common.ActivityLogbookDto.action.goToOpen.short=Livre de bord - Activit
observe.common.ActivityLogbookDto.action.goToOpen.tip=Accéder à l'activité ouverte (Livre de bord)
observe.common.ActivityLonglineLogbookDto.action.addSet=Ajouter l'opération de pêche
observe.common.ActivityLonglineLogbookDto.action.addSet.tip=Ajouter l'opération de pêche associée à cette activité
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity=Choisir l'activité
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.message=Veuillez choisir une activité parmis celles possible (durée de moins de %s minutes et distance moins de %s kms) \:
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.title=Choisir l'activité d'observation associée
observe.common.ActivityLonglineLogbookDto.action.moves=Changer de marée
observe.common.ActivityLonglineLogbookDto.action.moves.tip=Changer la marée des activités sélectionnées
observe.common.ActivityLonglineLogbookDto.list.message.none=< Aucune activité pour la marée courante >
=====================================
dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineAware.java
=====================================
@@ -51,4 +51,6 @@ public interface ActivityLonglineAware extends ObserveDto {
Float getLatitude();
Float getLongitude();
+
+ String getVesselActivityLonglineId();
}
=====================================
dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineLogbookDto.java
=====================================
@@ -70,4 +70,8 @@ public class ActivityLonglineLogbookDto extends GeneratedActivityLonglineLogbook
return ActivityLonglineAware.newGPSPoint(this);
}
+ @Override
+ public String getVesselActivityLonglineId() {
+ return vesselActivityLongline == null ? null : vesselActivityLongline.getId();
+ }
}
=====================================
dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineObsDto.java
=====================================
@@ -69,4 +69,9 @@ public class ActivityLonglineObsDto extends GeneratedActivityLonglineObsDto impl
public GPSPoint getGPSPoint() {
return ActivityLonglineAware.newGPSPoint(this);
}
+
+ @Override
+ public String getVesselActivityLonglineId() {
+ return vesselActivityLongline == null ? null : vesselActivityLongline.getId();
+ }
}
=====================================
dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java
=====================================
@@ -83,7 +83,6 @@ import fr.ird.observe.dto.data.longline.TripLonglineActivityObsDto;
import fr.ird.observe.dto.data.longline.TripLonglineReference;
import fr.ird.observe.dto.data.longline.WeightMeasureObsDto;
import fr.ird.observe.dto.data.longline.WeightMeasureObsReference;
-import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResultItem;
import fr.ird.observe.dto.data.seine.ActivitySeineDto;
import fr.ird.observe.dto.data.seine.ActivitySeineReference;
import fr.ird.observe.dto.data.seine.ActivitySeineStubDto;
@@ -306,8 +305,6 @@ public class DecoratorService extends DecoratorProvider {
private String haulingIdentifier;
private String settingIdentifier;
- private String pairingTime;
- private String pairingDistance;
private String libelle;
private Locale locale;
@@ -317,8 +314,6 @@ public class DecoratorService extends DecoratorProvider {
libelle = referentialLocale.getLibelle();
settingIdentifier = l(locale, "observe.common.settingIdentifier");
haulingIdentifier = l(locale, "observe.common.haulingIdentifier");
- pairingTime = l(locale, "observe.common.pairingTime");
- pairingDistance = l(locale, "observe.common.pairingDistance");
}
@Override
@@ -346,10 +341,6 @@ public class DecoratorService extends DecoratorProvider {
registerObserveDecorator(ServerDataSourceConfiguration.class, "${name}$s", " ");
registerObserveDecorator(WITH_URL, ServerDataSourceConfiguration.class, "${name}$s##${url}$s");
registerObserveDecorator(FloatingObjectPreset.class, "${name}$s", " ");
-
- registerObserveDecorator(ActivityLonglinePairingResultItem.class,
- "${observationActivity/timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${observationActivity/vesselActivityLonglineLabel}$s##" + pairingTime + " ${computedTime}$s##" + pairingDistance + " ${computedDistance}$s", " ");
-
}
=====================================
dto/src/main/resources/i18n/dto_en_GB.properties
=====================================
@@ -298,8 +298,8 @@ observe.common.lengthWeightFormula=Length weight formula
observe.common.no.unit=No unit
observe.common.nocode=Nocode
observe.common.none=None
-observe.common.pairingDistance=Distance (km)
-observe.common.pairingTime=Time (minutes)
+observe.common.pairingDistance=Distance (in kms)
+observe.common.pairingTime=Time (in minutes)
observe.common.program=Program
observe.common.scientificLabel=Scientific label
observe.common.settingIdentifier=Setting
=====================================
dto/src/main/resources/i18n/dto_es_ES.properties
=====================================
@@ -296,8 +296,8 @@ observe.common.lengthWeightFormula=Relación de peso
observe.common.no.unit=No unit \#TODO
observe.common.nocode=codigo ausente
observe.common.none=Ninguno
-observe.common.pairingDistance=Distance (km) \#TODO
-observe.common.pairingTime=Time (minutes) \#TODO
+observe.common.pairingDistance=Distance (in kms) \#TODO
+observe.common.pairingTime=Time (in minutes) \#TODO
observe.common.program=Programa
observe.common.scientificLabel=Texto científico
observe.common.settingIdentifier=Calada
=====================================
dto/src/main/resources/i18n/dto_fr_FR.properties
=====================================
@@ -298,8 +298,8 @@ observe.common.lengthWeightFormula=Relation Poids
observe.common.no.unit=Pas d'unité
observe.common.nocode=code absent
observe.common.none=Aucun
-observe.common.pairingDistance=Distance (km)
-observe.common.pairingTime=Temps (mn)
+observe.common.pairingDistance=Distance (en kms)
+observe.common.pairingTime=Temps (en minutes)
observe.common.program=Programme
observe.common.scientificLabel=Libellé scientifique
observe.common.settingIdentifier=Filage
=====================================
services/pom.xml
=====================================
@@ -118,6 +118,10 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
</dependency>
+ <dependency>
+ <groupId>commons-jxpath</groupId>
+ <artifactId>commons-jxpath</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.guava</groupId>
=====================================
services/src/main/java/fr/ird/observe/services/service/actions/pairing/ActivityLonglinePairingEngine.java
=====================================
@@ -27,12 +27,13 @@ import com.google.common.collect.ImmutableMap;
import fr.ird.observe.dto.data.longline.ActivityLonglineAware;
import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookReference;
import fr.ird.observe.dto.data.longline.ActivityLonglineObsReference;
-import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResult;
-import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResultItem;
-import fr.ird.observe.dto.data.pairing.TripLonglinePairingResult;
+import fr.ird.observe.services.service.data.longline.pairing.ActivityLonglinePairingResult;
+import fr.ird.observe.services.service.data.longline.pairing.ActivityLonglinePairingResultItem;
+import fr.ird.observe.services.service.data.longline.pairing.TripLonglinePairingResult;
import fr.ird.observe.services.ObserveServicesProvider;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Set;
@@ -53,11 +54,13 @@ public class ActivityLonglinePairingEngine {
this.config = config;
}
- public TripLonglinePairingContext newTripContext(String tripLonglineId) {
- Set<ActivityLonglineObsReference> activityLonglineObsReferenceSet = servicesProvider.getActivityLonglineObsService().getActivityLonglineByTripLongline(tripLonglineId).toSet();
- return new TripLonglinePairingContext(config, tripLonglineId, ImmutableList.copyOf(activityLonglineObsReferenceSet));
+ public ActivityLonglinePairingConfig getConfig() {
+ return config;
}
+ public TripLonglinePairingContext newTripContext(String tripLonglineId, Collection<ActivityLonglineObsReference> allActivityLonglineObs) {
+ return new TripLonglinePairingContext(config, tripLonglineId, ImmutableList.copyOf(allActivityLonglineObs));
+ }
public TripLonglinePairingResult computeForTrip(TripLonglinePairingContext context) {
ImmutableMap.Builder<ActivityLonglineLogbookReference, ActivityLonglinePairingResult> resultBuilder = ImmutableMap.builder();
@@ -70,7 +73,7 @@ public class ActivityLonglinePairingEngine {
}
public ActivityLonglinePairingResult computeForActivityLogbook(TripLonglinePairingContext context, ActivityLonglineAware activityLonglineLogbook) {
- ImmutableList<ActivityLonglineObsReference> activityLonglineObsList = context.getActivityLonglineObsList();
+ ImmutableList<ActivityLonglineObsReference> activityLonglineObsList = context.getActivityLonglineObsList(activityLonglineLogbook.getVesselActivityLonglineId());
List<ActivityLonglinePairingResultItem> itemBuilder = new ArrayList<>(activityLonglineObsList.size());
long longlineActivityPairingMaxTime = context.getConfig().getLonglineActivityPairingMaxTime();
long longlineActivityPairingMaxDistance = context.getConfig().getLonglineActivityPairingMaxDistance();
@@ -84,7 +87,7 @@ public class ActivityLonglinePairingEngine {
private ActivityLonglinePairingResultItem toActivityResultItem(ActivityLonglineAware activityLonglineLogbook, ActivityLonglineObsReference activityLonglineObsReference, double maxTime, double maxDistance) {
Date logbookTimeStamp = activityLonglineLogbook.getTimeStamp();
Date obsTimeStamp = activityLonglineObsReference.getTimeStamp();
- double computedTime = Math.abs(TimeUnit.MINUTES.convert(logbookTimeStamp.getTime() - obsTimeStamp.getTime(), TimeUnit.MILLISECONDS));
+ long computedTime = Math.abs(TimeUnit.MINUTES.convert(logbookTimeStamp.getTime() - obsTimeStamp.getTime(), TimeUnit.MILLISECONDS));
double computedDistance = activityLonglineLogbook.getGPSPoint().getDistanceInKm(activityLonglineObsReference.getGPSPoint());
return new ActivityLonglinePairingResultItem(activityLonglineObsReference, computedTime, computedDistance, computedTime < maxTime, computedDistance < maxDistance);
}
=====================================
services/src/main/java/fr/ird/observe/services/service/actions/pairing/TripLonglinePairingContext.java
=====================================
@@ -26,6 +26,8 @@ import com.google.common.collect.ImmutableList;
import fr.ird.observe.dto.ObserveDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineObsReference;
+import java.util.stream.Collectors;
+
/**
* Created by tchemit on 15/10/2018.
*
@@ -35,28 +37,24 @@ public class TripLonglinePairingContext implements ObserveDto {
private final ActivityLonglinePairingConfig config;
private final String tripLonglineId;
- private final ImmutableList<ActivityLonglineObsReference> activityLonglineObsList;
+ private final ImmutableList<ActivityLonglineObsReference> allActivityLonglineObs;
- public TripLonglinePairingContext(ActivityLonglinePairingConfig config, String tripLonglineId, ImmutableList<ActivityLonglineObsReference> activityLonglineObsList) {
+ public TripLonglinePairingContext(ActivityLonglinePairingConfig config, String tripLonglineId, ImmutableList<ActivityLonglineObsReference> allActivityLonglineObs) {
this.config = config;
this.tripLonglineId = tripLonglineId;
- this.activityLonglineObsList = activityLonglineObsList;
+ this.allActivityLonglineObs = allActivityLonglineObs;
}
public ActivityLonglinePairingConfig getConfig() {
return config;
}
-
- public ImmutableList<ActivityLonglineObsReference> getActivityLonglineObsList() {
- return activityLonglineObsList;
+ public ImmutableList<ActivityLonglineObsReference> getActivityLonglineObsList(String vesselActivityLonglineId) {
+ return ImmutableList.copyOf(allActivityLonglineObs.stream().filter(e -> vesselActivityLonglineId.equals(e.getVesselActivityLonglineId())).collect(Collectors.toList()));
}
public String getTripLonglineId() {
return tripLonglineId;
}
- public boolean isEnabled() {
- return !activityLonglineObsList.isEmpty();
- }
}
=====================================
dto/src/main/java/fr/ird/observe/dto/data/pairing/ActivityLonglinePairingResult.java → services/src/main/java/fr/ird/observe/services/service/data/longline/pairing/ActivityLonglinePairingResult.java
=====================================
@@ -1,8 +1,8 @@
-package fr.ird.observe.dto.data.pairing;
+package fr.ird.observe.services.service.data.longline.pairing;
/*-
* #%L
- * ObServe :: Dto
+ * ObServe :: Services API
* %%
* Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
@@ -10,19 +10,18 @@ package fr.ird.observe.dto.data.pairing;
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
*/
-
import com.google.common.collect.ImmutableList;
import fr.ird.observe.dto.ObserveDto;
=====================================
dto/src/main/java/fr/ird/observe/dto/data/pairing/ActivityLonglinePairingResultItem.java → services/src/main/java/fr/ird/observe/services/service/data/longline/pairing/ActivityLonglinePairingResultItem.java
=====================================
@@ -1,8 +1,8 @@
-package fr.ird.observe.dto.data.pairing;
+package fr.ird.observe.services.service.data.longline.pairing;
/*-
* #%L
- * ObServe :: Dto
+ * ObServe :: Services API
* %%
* Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
@@ -10,21 +10,21 @@ package fr.ird.observe.dto.data.pairing;
* 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.dto.ObserveDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineObsReference;
+import io.ultreia.java4all.lang.Numbers;
import java.util.Objects;
@@ -36,15 +36,15 @@ import java.util.Objects;
public class ActivityLonglinePairingResultItem implements ObserveDto {
private final ActivityLonglineObsReference observationActivity;
- private final double computedTime;
+ private final long computedTime;
private final double computedDistance;
private final boolean timeValid;
private final boolean distanceValid;
- public ActivityLonglinePairingResultItem(ActivityLonglineObsReference observationActivity, double computedTime, double computedDistance, boolean timeValid, boolean distanceValid) {
+ public ActivityLonglinePairingResultItem(ActivityLonglineObsReference observationActivity, long computedTime, double computedDistance, boolean timeValid, boolean distanceValid) {
this.observationActivity = observationActivity;
this.computedTime = computedTime;
- this.computedDistance = computedDistance;
+ this.computedDistance = Numbers.roundOneDigit((float) computedDistance);
this.timeValid = timeValid;
this.distanceValid = distanceValid;
}
@@ -53,7 +53,7 @@ public class ActivityLonglinePairingResultItem implements ObserveDto {
return observationActivity;
}
- public double getComputedTime() {
+ public long getComputedTime() {
return computedTime;
}
=====================================
services/src/main/java/fr/ird/observe/services/service/data/longline/pairing/ActivityLonglinePairingResultItemDecorator.java
=====================================
@@ -0,0 +1,65 @@
+package fr.ird.observe.services.service.data.longline.pairing;
+
+/*-
+ * #%L
+ * ObServe :: Services API
+ * %%
+ * Copyright (C) 2008 - 2018 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.dto.data.longline.ActivityLonglineObsReference;
+import fr.ird.observe.dto.decoration.DecoratorService;
+import fr.ird.observe.dto.decoration.decorators.DataReferenceDecorator;
+import fr.ird.observe.dto.decoration.decorators.ObserveDecorator;
+import org.apache.commons.jxpath.JXPathContext;
+
+import java.util.Locale;
+
+import static org.nuiton.i18n.I18n.l;
+
+/**
+ * Created by tchemit on 16/10/2018.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ */
+public class ActivityLonglinePairingResultItemDecorator extends ObserveDecorator<ActivityLonglinePairingResultItem> {
+
+ private final Locale locale;
+ private final DataReferenceDecorator<ActivityLonglineObsReference> activityDecorator;
+
+ public ActivityLonglinePairingResultItemDecorator(DecoratorService decoratorService, Locale locale) {
+ super(ActivityLonglinePairingResultItem.class, "${observationActivity}$s##${computedTime}$s##${computedDistance}$s");
+ this.locale = locale;
+ activityDecorator = decoratorService.getDataReferenceDecorator(ActivityLonglineObsReference.class);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected Comparable<Comparable<?>> getTokenValue(JXPathContext jxcontext, String token) {
+ Object value0 = jxcontext.getValue(token);
+ switch (token) {
+ case "computedTime":
+ return (Comparable) l(locale, "observe.common.pairingTime", value0);
+ case "computedDistance":
+ return (Comparable) l(locale, "observe.common.pairingDistance", value0);
+ case "observationActivity":
+ return (Comparable) activityDecorator.toString(value0);
+ }
+ return super.getTokenValue(jxcontext, token);
+ }
+}
=====================================
dto/src/main/java/fr/ird/observe/dto/data/pairing/TripLonglinePairingResult.java → services/src/main/java/fr/ird/observe/services/service/data/longline/pairing/TripLonglinePairingResult.java
=====================================
@@ -1,8 +1,8 @@
-package fr.ird.observe.dto.data.pairing;
+package fr.ird.observe.services.service.data.longline.pairing;
/*-
* #%L
- * ObServe :: Dto
+ * ObServe :: Services API
* %%
* Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
@@ -10,19 +10,18 @@ package fr.ird.observe.dto.data.pairing;
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
*/
-
import com.google.common.collect.ImmutableMap;
import fr.ird.observe.dto.ObserveDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookReference;
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/f2f85a78cf07144c43ab2c3af1d…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/f2f85a78cf07144c43ab2c3af1d…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: Correction sur l'API d'ouverture et fermeture (l'id est supprimé trop tôt...…
by Tony CHEMIT 16 Oct '18
by Tony CHEMIT 16 Oct '18
16 Oct '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
c2abb164 by Tony CHEMIT at 2018-10-16T14:37:04Z
Correction sur l'API d'ouverture et fermeture (l'id est supprimé trop tôt... plus bien repaindre l'abre de navigation)
- - - - -
d0ac7447 by Tony CHEMIT at 2018-10-16T14:37:33Z
Calcul de l'activité d'observation sur l'écran de l'activité logbook - Closes #1150
- - - - -
19 changed files:
- client/src/main/java/fr/ird/observe/client/navigation/RouteCloseCallback.java
- client/src/main/java/fr/ird/observe/client/ui/ObserveKeyStrokes.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/data/open/CloseOpenDataUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/data/open/CreateOpenDataUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/data/open/MoveSingleDataUIActionSupport.java
- + client/src/main/java/fr/ird/observe/client/ui/actions/content/data/longline/ChooseRelatedObservedActivityUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUIModel.java
- client/src/main/resources/i18n/client_en_GB.properties
- client/src/main/resources/i18n/client_es_ES.properties
- client/src/main/resources/i18n/client_fr_FR.properties
- dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineAware.java
- dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineLogbookDto.java
- dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineObsDto.java
- dto/src/main/java/fr/ird/observe/navigation/model/edit/ObserveEditModelManager.java
- services/src/main/java/fr/ird/observe/services/service/actions/pairing/ActivityLonglinePairingEngine.java
- services/src/main/java/fr/ird/observe/services/service/actions/pairing/TripLonglinePairingContext.java
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/navigation/RouteCloseCallback.java
=====================================
@@ -43,6 +43,7 @@ import org.nuiton.util.DateUtil;
import javax.swing.JOptionPane;
import javax.swing.tree.MutableTreeNode;
+import java.util.Objects;
import static fr.ird.observe.client.ui.content.api.ContentUIHandler.getNavigationTree;
import static org.nuiton.i18n.I18n.t;
@@ -75,7 +76,7 @@ public class RouteCloseCallback implements ObserveEditNodeCloseCallback {
return;
}
- boolean activityFinDeVeilleFound = mainDataSource.getRouteService().isActivityFinDeVeilleFound(node.getId());
+ boolean activityFinDeVeilleFound = mainDataSource.getRouteService().isActivityFinDeVeilleFound(Objects.requireNonNull(node.getId()));
// on doit vérifier qu'il existe une activité de fin de veille (type activity vessel == 16)
=====================================
client/src/main/java/fr/ird/observe/client/ui/ObserveKeyStrokes.java
=====================================
@@ -75,6 +75,7 @@ public abstract class ObserveKeyStrokes {
public static final KeyStroke KEY_STROKE_CONFIGURE_SYNCHRO_FROM_BOTH = KeyStroke.getKeyStroke("ctrl pressed C");
public static final KeyStroke KEY_STROKE_COPY_VALUES_AND_SAVE = KeyStroke.getKeyStroke("ctrl pressed T");
+ public static final KeyStroke KEY_STROKE_CHOOSE_RELATED_OBSERVATION_ACTIVITY = KeyStroke.getKeyStroke("ctrl pressed T");
public static final KeyStroke KEY_STROKE_SELECT_TRANSSHIPMENT = KeyStroke.getKeyStroke("ctrl pressed T");
public static final KeyStroke KEY_STROKE_SAVE_TABLE_ENTRY = KeyStroke.getKeyStroke("ctrl pressed S");
public static final KeyStroke KEY_STROKE_PRESSED_ENTER = KeyStroke.getKeyStroke("pressed ENTER");
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/api/data/open/CloseOpenDataUIAction.java
=====================================
@@ -33,16 +33,18 @@ import fr.ird.observe.client.ui.content.api.data.open.ContentOpenableUIModel;
import fr.ird.observe.client.ui.tree.navigation.NavigationTree;
import fr.ird.observe.client.ui.util.UIHelper;
import fr.ird.observe.dto.data.DataDto;
-import fr.ird.observe.dto.data.longline.TripLonglineDto;
-import fr.ird.observe.dto.data.seine.TripSeineDto;
import fr.ird.observe.dto.reference.DataDtoReference;
import fr.ird.observe.navigation.model.edit.CloseEditNodeRequest;
import fr.ird.observe.navigation.model.edit.CloseEditNodeVetoException;
import fr.ird.observe.navigation.model.edit.ObserveEditModelManager;
import fr.ird.observe.navigation.model.edit.ObserveEditNode;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.nuiton.validator.NuitonValidatorScope;
-import static fr.ird.observe.client.ui.content.api.ContentUIHandler.getNavigationTree;
+import javax.swing.tree.MutableTreeNode;
+import javax.swing.tree.TreeNode;
+
import static fr.ird.observe.client.ui.content.api.ContentUIHandler.removeAllMessages;
import static fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper.getTypeI18nKey;
import static org.nuiton.i18n.I18n.n;
@@ -58,6 +60,7 @@ public class CloseOpenDataUIAction extends AbstractContentUIAction {
public static final String ACTION_NAME = CloseOpenDataUIAction.class.getName();
private static final long serialVersionUID = 1L;
+ private static final Logger log = LogManager.getLogger(CloseOpenDataUIAction.class);
public CloseOpenDataUIAction(ObserveMainUI mainUI) {
super(mainUI, ACTION_NAME,
@@ -75,7 +78,12 @@ public class CloseOpenDataUIAction extends AbstractContentUIAction {
ObserveEditModelManager navigationEditManager = applicationContext.getNavigationEditManager();
CloseEditNodeRequest closeRequest = navigationEditManager.createCloseEditNodeRequest(nodeToClose);
navigationEditManager.applyCloseEditNodeRequest(closeRequest);
- ObserveSwingApplicationContext.get().saveNavigationToConfig(false);
+ applicationContext.saveNavigationToConfig(false);
+ NavigationTree tree = applicationContext.getMainUI().getNavigationUI().getTree();
+ TreeNode[] path = tree.getSelectedNode().getPath();
+ MutableTreeNode nodeToReload = (MutableTreeNode) path[path.length - 1];
+ log.info("Will reload node and all his children: " + nodeToReload);
+ tree.reloadNode(nodeToReload, true);
}
@SuppressWarnings("unchecked")
@@ -110,8 +118,8 @@ public class CloseOpenDataUIAction extends AbstractContentUIAction {
removeAllMessages(ui);
ContentUIHandler.addMessage(ui, NuitonValidatorScope.INFO, getTypeI18nKey(bean.getClass()), t(model.getCloseMessage()));
- NavigationTree treeHelper = getNavigationTree();
- treeHelper.reloadSelectedNode(bean instanceof TripSeineDto || bean instanceof TripLonglineDto, true);
+// NavigationTree treeHelper = getNavigationTree();
+// treeHelper.reloadSelectedNode(bean instanceof TripSeineDto || bean instanceof TripLonglineDto, true);
ui.getHandler().updateActions();
ui.getHandler().grabFocusOnForm();
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/api/data/open/CreateOpenDataUIAction.java
=====================================
@@ -49,17 +49,14 @@ public class CreateOpenDataUIAction extends AbstractContentUIAction {
public static void closeAndCreate(MultipleReferenceContainerNode<?, ?> parentNode, NavigationTree tree, ContentEditUIModel<?, ?> model) {
try {
CloseOpenDataUIAction.closeData(model.getEditNode());
+ tree.addUnsavedNode(parentNode);
} catch (CloseEditNodeVetoException e1) {
UIHelper.handlingError(e1);
- return;
}
-
- tree.addUnsavedNode(parentNode);
}
@Override
protected void actionPerformed(ContentUI contentUI) {
-
MultipleReferenceContainerNode<?, ?> parentNode;
NavigationTree tree = getMainUI().getNavigationUI().getTree();
ContentEditUIModel<?, ?> model;
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/api/data/open/MoveSingleDataUIActionSupport.java
=====================================
@@ -137,10 +137,6 @@ public abstract class MoveSingleDataUIActionSupport<ChildDto extends IdDto, Chil
protected void closeNode(ObserveEditNode<?> editNode) throws CloseEditNodeVetoException {
CloseOpenDataUIAction.closeData(editNode);
-// String id = editNode.getId();
-// if (dataId.equals(id)) {
-// editNode.setId(null);
-// }
}
protected void adaptNavigationTree(NavigationTree tree, R request, DtoReference newParentReference) {
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/data/longline/ChooseRelatedObservedActivityUIAction.java
=====================================
@@ -0,0 +1,140 @@
+package fr.ird.observe.client.ui.actions.content.data.longline;
+
+/*-
+ * #%L
+ * ObServe :: Client
+ * %%
+ * Copyright (C) 2008 - 2018 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.ObserveSwingApplicationContext;
+import fr.ird.observe.client.ui.ObserveKeyStrokes;
+import fr.ird.observe.client.ui.ObserveMainUI;
+import fr.ird.observe.client.ui.actions.content.api.AbstractContentUIAction;
+import fr.ird.observe.client.ui.content.api.ContentUI;
+import fr.ird.observe.client.ui.content.data.longline.logbook.ActivityLonglineLogbookUI;
+import fr.ird.observe.client.ui.content.data.longline.logbook.ActivityLonglineLogbookUIModel;
+import fr.ird.observe.client.ui.content.ref.usage.UsageUIHandlerSupport;
+import fr.ird.observe.client.ui.util.UIHelper;
+import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookDto;
+import fr.ird.observe.dto.data.longline.ActivityLonglineObsDto;
+import fr.ird.observe.dto.data.longline.ActivityLonglineObsReference;
+import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResult;
+import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResultItem;
+import fr.ird.observe.dto.decoration.ObserveI18nLabelsBuilder;
+import fr.ird.observe.services.service.actions.pairing.ActivityLonglinePairingConfig;
+import fr.ird.observe.services.service.actions.pairing.ActivityLonglinePairingEngine;
+import fr.ird.observe.services.service.actions.pairing.TripLonglinePairingContext;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.nuiton.decorator.JXPathDecorator;
+import org.nuiton.jaxx.widgets.select.BeanFilterableComboBox;
+
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import java.awt.BorderLayout;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+
+import static org.nuiton.i18n.I18n.n;
+import static org.nuiton.i18n.I18n.t;
+
+/**
+ * Created by tchemit on 16/10/2018.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ */
+public class ChooseRelatedObservedActivityUIAction extends AbstractContentUIAction {
+
+ public static final String ACTION_NAME = ChooseRelatedObservedActivityUIAction.class.getName();
+ private static final Logger log = LogManager.getLogger(ChooseRelatedObservedActivityUIAction.class);
+
+ public ChooseRelatedObservedActivityUIAction(ObserveMainUI mainUI) {
+ super(mainUI, ACTION_NAME, n("observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity"), n("observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity"), "data-calcule", ObserveKeyStrokes.KEY_STROKE_CHOOSE_RELATED_OBSERVATION_ACTIVITY);
+ }
+
+ @Override
+ protected void actionPerformed(ContentUI contentUI) {
+
+ ActivityLonglineLogbookUI ui = (ActivityLonglineLogbookUI) contentUI;
+ ActivityLonglineLogbookUIModel model = ui.getModel();
+
+ ActivityLonglinePairingEngine pairingEngine = new ActivityLonglinePairingEngine(getServicesProvider(), ui.getConfig());
+
+ ActivityLonglineLogbookDto bean = model.getBean();
+
+ TripLonglinePairingContext pairingContext = pairingEngine.newTripContext(model.getSelectedParentId(), model.getAllActivityObs());
+
+ ActivityLonglinePairingResult activityLonglinePairingResult = pairingEngine.computeForActivityLogbook(pairingContext, bean);
+
+ Optional<ActivityLonglineObsReference> optionalActivityLonglineObs = askNewParent(activityLonglinePairingResult.getItems(), pairingEngine.getConfig());
+
+ if (optionalActivityLonglineObs.isPresent()) {
+ ActivityLonglineObsReference activityLonglineObs = optionalActivityLonglineObs.get();
+ log.info("will use new related activity obs: " + activityLonglineObs);
+ bean.setRelatedObservedActivity(activityLonglineObs);
+ }
+
+ }
+
+ private Optional<ActivityLonglineObsReference> askNewParent(List<ActivityLonglinePairingResultItem> pairingResult, ActivityLonglinePairingConfig pairingConfig) {
+
+ BeanFilterableComboBox<ActivityLonglinePairingResultItem> editor = new BeanFilterableComboBox<>();
+ editor.setI18nPrefix("observe.common.");
+ editor.setBeanType(ActivityLonglinePairingResultItem.class);
+ editor.setI18nLabelBuilder(ObserveI18nLabelsBuilder.createFromReferenceType(ActivityLonglineObsDto.class));
+
+ editor.init((JXPathDecorator<ActivityLonglinePairingResultItem>) ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(ActivityLonglinePairingResultItem.class), pairingResult);
+
+// JComboBox combobox = editor.getCombobox();
+// @SuppressWarnings("unchecked") ListCellRenderer toolTipRenderer = new ComboBoxListCellRenderer(combobox.getRenderer());
+// combobox.setRenderer(toolTipRenderer);
+
+ String continueActionText = t("observe.choice.continue");
+ Object[] options = {continueActionText, t("observe.choice.cancel")};
+ JPanel panel = new JPanel(new BorderLayout());
+ panel.add(BorderLayout.NORTH, new JLabel(t("observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.message",
+ pairingConfig.getLonglineActivityPairingMaxTime(), pairingConfig.getLonglineActivityPairingMaxDistance())));
+ panel.add(BorderLayout.CENTER, editor);
+
+ JOptionPane pane = new JOptionPane(panel, JOptionPane.QUESTION_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options, options[0]);
+
+ JButton jButton = UsageUIHandlerSupport.findButton(pane, continueActionText);
+ Objects.requireNonNull(jButton);
+ jButton.setEnabled(false);
+ editor.addPropertyChangeListener("selectedItem", evt -> jButton.setEnabled(evt.getNewValue() != null));
+
+ int response = UIHelper.askUser(ObserveSwingApplicationContext.get().getMainUI(), pane, t("observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.title"), options);
+
+ ActivityLonglinePairingResultItem newActivityLonglineObs = null;
+ switch (response) {
+ case 0:
+ newActivityLonglineObs = editor.getComboBoxModel().getSelectedItem();
+ log.info(String.format("Selected new related observed activity id: %s", newActivityLonglineObs));
+ break;
+ default:
+ log.info("Use cancel choice of related observed activity");
+ }
+ return Optional.ofNullable(newActivityLonglineObs).map(ActivityLonglinePairingResultItem::getObservationActivity);
+ }
+
+}
+
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUI.jaxx
=====================================
@@ -41,6 +41,7 @@
fr.ird.observe.client.ui.actions.content.data.longline.delete.DeleteActivityLonglineLogbookUIAction
fr.ird.observe.client.ui.actions.content.data.longline.move.MoveSingleActivityLonglineLogbookUIAction
fr.ird.observe.client.ui.actions.content.data.longline.save.SaveActivityLonglineLogbookUIAction
+ fr.ird.observe.client.ui.actions.content.data.longline.ChooseRelatedObservedActivityUIAction
fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResultItem
@@ -190,7 +191,10 @@
<JLabel id='relatedObservedActivityLabel'/>
</cell>
<cell anchor='east' fill="both">
- <BeanFilterableComboBox id='relatedObservedActivity' genericType='ActivityLonglinePairingResultItem' constructorParams='this'/>
+ <JPanel layout="{new BorderLayout()}">
+ <BeanFilterableComboBox id='relatedObservedActivity' genericType='ActivityLonglineObsReference' constructorParams='this' constraints='BorderLayout.CENTER'/>
+ <JButton id='chooseRelatedObservedActivity' constraints='BorderLayout.EAST'/>
+ </JPanel>
</cell>
</row>
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUI.jcss
=====================================
@@ -84,10 +84,8 @@
#relatedObservedActivity {
_listNoLoad:true;
- bean:{model};
- property:activityObs;
- data:{model.getActivityObsCandidates()};
- selectedItem:{model.getActivityObs()};
+ data:{model.getActivityObs()};
+ selectedItem:{bean.getRelatedObservedActivity()};
}
#reopen {
@@ -119,3 +117,9 @@
enabled:{!model.isModified() && model.isValid() && model.isSetOperation() && ! bean.isHasSetLongline()};
_observeAction:{AddActivityLonglineLogbookSetUIAction.ACTION_NAME};
}
+
+#chooseRelatedObservedActivity {
+ visible:{!model.isReadingMode()};
+ enabled:{model.isValid()};
+ _observeAction:{ChooseRelatedObservedActivityUIAction.ACTION_NAME};
+}
\ No newline at end of file
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUIHandler.java
=====================================
@@ -22,44 +22,19 @@ package fr.ird.observe.client.ui.content.data.longline.logbook;
* #L%
*/
-import com.google.common.collect.ImmutableSet;
import fr.ird.observe.client.ui.content.api.data.open.ContentOpenableUIHandler;
-import fr.ird.observe.client.ui.content.api.data.open.ContentOpenableUIInitializer;
import fr.ird.observe.client.ui.content.api.ui.ObserveLayoutFocusTraversalPolicy;
import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookReference;
-import fr.ird.observe.dto.data.longline.ActivityLonglineObsDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineObsReference;
-import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResult;
-import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResultItem;
-import fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper;
-import fr.ird.observe.dto.decoration.ObserveI18nLabelsBuilder;
import fr.ird.observe.dto.form.Form;
-import fr.ird.observe.services.service.actions.pairing.ActivityLonglinePairingEngine;
-import fr.ird.observe.services.service.actions.pairing.TripLonglinePairingContext;
-import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.nuiton.decorator.Decorator;
-import org.nuiton.decorator.JXPathDecorator;
import org.nuiton.jaxx.runtime.spi.UIHandler;
-import org.nuiton.jaxx.widgets.select.BeanFilterableComboBox;
-import javax.swing.JComboBox;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.KeyStroke;
-import javax.swing.ListCellRenderer;
import java.awt.Component;
import java.awt.Container;
-import java.awt.Dimension;
-import java.awt.event.KeyEvent;
-import java.beans.PropertyChangeListener;
-import java.util.Collections;
-import java.util.Optional;
-
-import static org.nuiton.i18n.I18n.t;
+import java.util.List;
/**
* Created on 8/29/14.
@@ -69,65 +44,13 @@ import static org.nuiton.i18n.I18n.t;
*/
class ActivityLonglineLogbookUIHandler extends ContentOpenableUIHandler<ActivityLonglineLogbookDto, ActivityLonglineLogbookReference, ActivityLonglineLogbookUI> implements UIHandler<ActivityLonglineLogbookUI> {
- private static final ImmutableSet<String> PAIRING_PROPERTIES = ImmutableSet.of(
- ActivityLonglineLogbookDto.PROPERTY_LATITUDE,
- ActivityLonglineLogbookDto.PROPERTY_LONGITUDE,
- ActivityLonglineLogbookDto.PROPERTY_TIME_STAMP,
- ActivityLonglineLogbookUIModel.PROPERTY_VALID);
-
private static final Logger log = LogManager.getLogger(ActivityLonglineLogbookUIHandler.class);
- private final PropertyChangeListener onRecomputePairing;
- private final PropertyChangeListener onActivityObsChanged;
- private ActivityLonglinePairingEngine pairingEngine;
- private boolean adjusting;
-
- ActivityLonglineLogbookUIHandler() {
- onRecomputePairing = e -> onRecomputePairing(e.getPropertyName());
- onActivityObsChanged = e -> onActivityObsChanged();
- }
@Override
public ActivityLonglineLogbookUIModel getModel() {
return ui.getModel();
}
- @Override
- protected ContentOpenableUIInitializer<ActivityLonglineLogbookUI> createContentUIInitializer(ActivityLonglineLogbookUI ui) {
- return new ContentOpenableUIInitializer<ActivityLonglineLogbookUI>(ui) {
-
- @SuppressWarnings("unchecked")
- protected void init(BeanFilterableComboBox comboBox) {
- if (!"relatedObservedActivity".equals(comboBox.getName())) {
- super.init(comboBox);
- return;
- }
-
- comboBox.getCombobox().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F4, 0), "none");
- Class referenceType = comboBox.getBeanType();
- comboBox.setI18nLabelBuilder(ObserveI18nLabelsBuilder.createFromReferenceType(ActivityLonglineObsDto.class));
- comboBox.setI18nPrefix("observe.common.");
- comboBox.setMinimumSize(new Dimension(0, 24));
-
- if (StringUtils.isEmpty(comboBox.getProperty())) {
- comboBox.setProperty(comboBox.getName());
- }
-
- log.info("Init relatedObservedActivity comboBox");
- Decorator decorator = decoratorService.getDecoratorByType(referenceType);
-
- String entityLabel = t(ObserveI18nDecoratorHelper.getTypeI18nKey(ActivityLonglineObsDto.class));
- comboBox.setPopupTitleText(t("observe.common.DataDto.type", entityLabel));
-
- comboBox.init((JXPathDecorator) decorator, Collections.emptyList());
-
- JComboBox combobox = comboBox.getCombobox();
-
- @SuppressWarnings("unchecked") ListCellRenderer toolTipRenderer = new ComboBoxListCellRenderer(combobox.getRenderer());
- combobox.setRenderer(toolTipRenderer);
- }
- };
- }
-
@Override
protected ObserveLayoutFocusTraversalPolicy<ActivityLonglineLogbookUI> createFocusTraversalPolicy() {
return new ObserveLayoutFocusTraversalPolicy<ActivityLonglineLogbookUI>() {
@@ -148,101 +71,6 @@ class ActivityLonglineLogbookUIHandler extends ContentOpenableUIHandler<Activity
};
}
- @Override
- public void afterInit(ActivityLonglineLogbookUI ui) {
- super.afterInit(ui);
- pairingEngine = getDataSource().newActivityLonglinePairingEngine(ui.getConfig());
- }
-
- private void onRecomputePairing(String propertyName) {
- if (adjusting || !PAIRING_PROPERTIES.contains(propertyName)) {
- return;
- }
- log.info(prefix + "Need to recompute pairing data.");
- ActivityLonglineLogbookUIModel model = getModel();
- if (!model.isValid()) {
- log.info(prefix + "Reject: model is not valid.");
- return;
- }
- adjusting = true;
- try {
- ActivityLonglineLogbookDto bean = model.getBean();
- ActivityLonglinePairingResult activityLonglinePairingResult = pairingEngine.computeForActivityLogbook(model.getPairingContext(), bean);
- ActivityLonglinePairingResultItem pairingActivityObs = model.getActivityObs();
- ActivityLonglineObsReference relatedObservedActivity = model.getBean().getRelatedObservedActivity();
-
- model.setActivityObsCandidates(activityLonglinePairingResult.getItems());
-
- if (pairingActivityObs == null) {
-
- if (relatedObservedActivity != null) {
- // use dto value
- Optional<ActivityLonglinePairingResultItem> first = model.getActivityObsCandidates().stream().filter(e -> e.getObservationActivity().equals(relatedObservedActivity)).findFirst();
- if (!first.isPresent()) {
- // Should never occurs ?
- bean.setRelatedObservedActivity(null);
- } else {
- pairingActivityObs = first.get();
- model.setActivityObs(pairingActivityObs);
- bean.setRelatedObservedActivity(pairingActivityObs.getObservationActivity());
- }
- }
- } else {
- if (!model.getActivityObsCandidates().contains(pairingActivityObs)) {
- // can not keep this pairing,
- model.setActivityObs(null);
- bean.setRelatedObservedActivity(null);
- } else {
- // keep this pairing
- // use pairing value
- bean.setRelatedObservedActivity(pairingActivityObs.getObservationActivity());
- }
- }
- } finally {
- adjusting = false;
- }
- }
-
- private void onActivityObsChanged() {
- if (adjusting) {
- return;
- }
- adjusting = true;
- try {
- ActivityLonglineLogbookUIModel model = getModel();
- ActivityLonglinePairingResultItem activityObs = model.getActivityObs();
- model.getBean().setRelatedObservedActivity(activityObs == null ? null : activityObs.getObservationActivity());
- } finally {
- adjusting = false;
- }
- }
-
- @Override
- protected void onOpenBeforeOpenModel() {
- ActivityLonglineLogbookUIModel model = getModel();
- ActivityLonglineLogbookDto bean = model.getBean();
- model.removePropertyChangeListener(ActivityLonglineLogbookUIModel.PROPERTY_VALID, onRecomputePairing);
- bean.removePropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_LATITUDE, onRecomputePairing);
- bean.removePropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_LONGITUDE, onRecomputePairing);
- bean.removePropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_TIME_STAMP, onRecomputePairing);
- bean.removePropertyChangeListener("activityObs", onActivityObsChanged);
-
- super.onOpenBeforeOpenModel();
- }
-
- @Override
- protected void onOpenAfterOpenModel() {
- super.onOpenAfterOpenModel();
- ActivityLonglineLogbookUIModel model = getModel();
- ActivityLonglineLogbookDto bean = model.getBean();
- model.addPropertyChangeListener(ActivityLonglineLogbookUIModel.PROPERTY_VALID, onRecomputePairing);
- bean.addPropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_LATITUDE, onRecomputePairing);
- bean.addPropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_LONGITUDE, onRecomputePairing);
- bean.addPropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_TIME_STAMP, onRecomputePairing);
- bean.addPropertyChangeListener("activityObs", onActivityObsChanged);
- onRecomputePairing(ActivityLonglineLogbookUIModel.PROPERTY_VALID);
- }
-
@Override
protected void onOpenModel() {
super.onOpenModel();
@@ -260,37 +88,8 @@ class ActivityLonglineLogbookUIHandler extends ContentOpenableUIHandler<Activity
form = getActivityLonglineLogbookService().loadForm(activityId);
}
- TripLonglinePairingContext pairingContext = pairingEngine.newTripContext(tripId);
- model.openForm(form, pairingContext);
+ List<ActivityLonglineObsReference> allActivityLonglineObs = getActivityLonglineObsService().getActivityLonglineByTripLongline(tripId).toList();
+ model.openForm(form, allActivityLonglineObs);
}
-
- private static class ComboBoxListCellRenderer<E extends ActivityLonglinePairingResultItem> implements ListCellRenderer<E> {
-
- private final ListCellRenderer<? super E> renderer;
-
- ComboBoxListCellRenderer(ListCellRenderer<? super E> renderer) {
- this.renderer = renderer;
- }
-
- @Override
- public Component getListCellRendererComponent(JList<? extends E> list,
- E value,
- int index,
- boolean isSelected,
- boolean cellHasFocus) {
- Component comp = renderer.getListCellRendererComponent(
- list,
- value,
- index,
- isSelected,
- cellHasFocus
- );
- if (comp instanceof JLabel) {
- JLabel jcomp = (JLabel) comp;
- jcomp.setToolTipText(jcomp.getText());
- }
- return comp;
- }
- }
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/logbook/ActivityLonglineLogbookUIModel.java
=====================================
@@ -22,20 +22,23 @@ package fr.ird.observe.client.ui.content.data.longline.logbook;
* #L%
*/
+import com.google.common.collect.ImmutableList;
import fr.ird.observe.client.ui.content.api.data.open.ContentOpenableUIModel;
import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineLogbookReference;
-import fr.ird.observe.dto.data.pairing.ActivityLonglinePairingResultItem;
+import fr.ird.observe.dto.data.longline.ActivityLonglineObsReference;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.referential.longline.VesselActivityLonglineHelper;
import fr.ird.observe.dto.referential.longline.VesselActivityLonglineReference;
-import fr.ird.observe.services.service.actions.pairing.TripLonglinePairingContext;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.nuiton.i18n.I18n;
import org.nuiton.util.DateUtil;
-import java.util.ArrayList;
+import java.util.Collections;
import java.util.Date;
import java.util.List;
+import java.util.stream.Collectors;
/**
* Created on 9/26/14.
@@ -45,22 +48,26 @@ import java.util.List;
*/
public class ActivityLonglineLogbookUIModel extends ContentOpenableUIModel<ActivityLonglineLogbookDto, ActivityLonglineLogbookReference> {
- public static final String PROPERTY_SET_OPERATION = "setOperation";
public static final String PROPERTY_DATE = "date";
public static final String PROPERTY_TIME = "time";
+ private static final String PROPERTY_SET_OPERATION = "setOperation";
private static final long serialVersionUID = 1L;
-
- private TripLonglinePairingContext pairingContext;
- private List<ActivityLonglinePairingResultItem> activityObsCandidates;
- private ActivityLonglinePairingResultItem activityObs;
+ private static final Logger log = LogManager.getLogger(ActivityLonglineLogbookUIModel.class);
+ private List<ActivityLonglineObsReference> allActivityObs;
+ private List<ActivityLonglineObsReference> activityObs;
+ private boolean opening = false;
public ActivityLonglineLogbookUIModel() {
super(ActivityLonglineLogbookDto.class, I18n.n("observe.common.ActivityLonglineLogbookDto.message.not.open"));
getBean().addPropertyChangeListener(ActivityLonglineLogbookDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, evt -> {
boolean oldValue = VesselActivityLonglineHelper.isSetOperation((VesselActivityLonglineReference) evt.getOldValue());
- boolean newValue = VesselActivityLonglineHelper.isSetOperation((VesselActivityLonglineReference) evt.getNewValue());
+ VesselActivityLonglineReference vesselActivityLonglineReference = (VesselActivityLonglineReference) evt.getNewValue();
+ boolean newValue = VesselActivityLonglineHelper.isSetOperation(vesselActivityLonglineReference);
firePropertyChange(PROPERTY_SET_OPERATION, oldValue, newValue);
+ if (!opening) {
+ updateActivityObs();
+ }
});
}
@@ -94,31 +101,45 @@ public class ActivityLonglineLogbookUIModel extends ContentOpenableUIModel<Activ
}
}
- public void openForm(Form<ActivityLonglineLogbookDto> form, TripLonglinePairingContext pairingContext) {
- this.pairingContext = pairingContext;
- super.openForm(form);
- }
-
- public TripLonglinePairingContext getPairingContext() {
- return pairingContext;
+ public void openForm(Form<ActivityLonglineLogbookDto> form, List<ActivityLonglineObsReference> allActivityObs) {
+ this.allActivityObs = ImmutableList.copyOf(allActivityObs);
+ opening = true;
+ try {
+ super.openForm(form);
+ } finally {
+ opening = false;
+ }
+ updateActivityObs();
}
- public List<ActivityLonglinePairingResultItem> getActivityObsCandidates() {
- return activityObsCandidates;
+ public List<ActivityLonglineObsReference> getActivityObs() {
+ return activityObs;
}
- public void setActivityObsCandidates(List<ActivityLonglinePairingResultItem> activityObsCandidates) {
- this.activityObsCandidates = activityObsCandidates == null ? null : new ArrayList<>(activityObsCandidates);
- firePropertyChange("activityObsCandidates", null, this.activityObsCandidates);
+ public void setActivityObs(List<ActivityLonglineObsReference> activityObs) {
+ // only used for jaxx binding
}
- public ActivityLonglinePairingResultItem getActivityObs() {
- return activityObs;
+ public List<ActivityLonglineObsReference> getAllActivityObs() {
+ return allActivityObs;
}
- public void setActivityObs(ActivityLonglinePairingResultItem activityObs) {
- ActivityLonglinePairingResultItem oldValue = getActivityObs();
- this.activityObs = activityObs;
- firePropertyChange("activityObs", oldValue, activityObs);
+ private void updateActivityObs() {
+ log.info(getPrefix() + "Will update release observed actities...");
+ ActivityLonglineLogbookDto bean = getBean();
+ if (allActivityObs == null || bean.getVesselActivityLonglineId() == null) {
+ activityObs = Collections.emptyList();
+ } else {
+ String vesselActivityLonglineId = bean.getVesselActivityLonglineId();
+ activityObs = allActivityObs.stream().filter(e -> vesselActivityLonglineId.equals(e.getVesselActivityLonglineId())).collect(Collectors.toList());
+ }
+ log.info(getPrefix() + "Found " + activityObs.size() + " related observed activities.");
+ ActivityLonglineObsReference relatedObservedActivity = bean.getRelatedObservedActivity();
+ boolean removeRelatedObservedActivity = !opening && relatedObservedActivity != null && !activityObs.contains(relatedObservedActivity);
+ firePropertyChange("activityObs", null, activityObs);
+ if (removeRelatedObservedActivity) {
+ log.info(getPrefix() + "Removed not matching related observed activity: " + relatedObservedActivity);
+ bean.setRelatedObservedActivity(null);
+ }
}
}
=====================================
client/src/main/resources/i18n/client_en_GB.properties
=====================================
@@ -363,6 +363,9 @@ observe.common.ActivityLogbookDto.action.goToOpen.short=Logbook - Open activity
observe.common.ActivityLogbookDto.action.goToOpen.tip=Go to open activity (Logbook)
observe.common.ActivityLonglineLogbookDto.action.addSet=Add the fishing operation
observe.common.ActivityLonglineLogbookDto.action.addSet.tip=Add the fishing operation associated with this activity
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity=Choose activity
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.message=Choose an activity beyoung the universe of possible ones (time minus than %s (minutes) and distance minus than %s (km))\:
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.title=Choose the related observed activity
observe.common.ActivityLonglineLogbookDto.action.moves=Change trip
observe.common.ActivityLonglineLogbookDto.action.moves.tip=Change trip of activities
observe.common.ActivityLonglineLogbookDto.list.message.none=< No activity for current trip >
=====================================
client/src/main/resources/i18n/client_es_ES.properties
=====================================
@@ -363,6 +363,9 @@ observe.common.ActivityLogbookDto.action.goToOpen.short=Logbook - Open activity
observe.common.ActivityLogbookDto.action.goToOpen.tip=Go to open activity (Logbook) \#TODO
observe.common.ActivityLonglineLogbookDto.action.addSet=Añadir la operación de pesca
observe.common.ActivityLonglineLogbookDto.action.addSet.tip=Añadir la operación de pesca asociada a esta actividad
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity=Choose activity \#TODO
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.message=Choose an activity beyoung the universe of possible ones (time minus than %s (minutes) and distance minus than %s (km))\: \#TODO
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.title=Choose the related observed activity \#TODO
observe.common.ActivityLonglineLogbookDto.action.moves=Cambiar de marea
observe.common.ActivityLonglineLogbookDto.action.moves.tip=Cambiar la marea de las actividades seleccionas
observe.common.ActivityLonglineLogbookDto.list.message.none=< Ninguna actividad por la marea actual >
=====================================
client/src/main/resources/i18n/client_fr_FR.properties
=====================================
@@ -363,6 +363,9 @@ observe.common.ActivityLogbookDto.action.goToOpen.short=Livre de bord - Activit
observe.common.ActivityLogbookDto.action.goToOpen.tip=Accéder à l'activité ouverte (Livre de bord)
observe.common.ActivityLonglineLogbookDto.action.addSet=Ajouter l'opération de pêche
observe.common.ActivityLonglineLogbookDto.action.addSet.tip=Ajouter l'opération de pêche associée à cette activité
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity=Choisir l'activité
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.message=Veuillez choisir une activité parmis celles possible (durée de moins de %s minutes et distance moins de %s kms) \:
+observe.common.ActivityLonglineLogbookDto.action.chooseRelatedObservedActivity.title=Choisir l'activité d'observation associée
observe.common.ActivityLonglineLogbookDto.action.moves=Changer de marée
observe.common.ActivityLonglineLogbookDto.action.moves.tip=Changer la marée des activités sélectionnées
observe.common.ActivityLonglineLogbookDto.list.message.none=< Aucune activité pour la marée courante >
=====================================
dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineAware.java
=====================================
@@ -51,4 +51,6 @@ public interface ActivityLonglineAware extends ObserveDto {
Float getLatitude();
Float getLongitude();
+
+ String getVesselActivityLonglineId();
}
=====================================
dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineLogbookDto.java
=====================================
@@ -70,4 +70,8 @@ public class ActivityLonglineLogbookDto extends GeneratedActivityLonglineLogbook
return ActivityLonglineAware.newGPSPoint(this);
}
+ @Override
+ public String getVesselActivityLonglineId() {
+ return vesselActivityLongline == null ? null : vesselActivityLongline.getId();
+ }
}
=====================================
dto/src/main/java/fr/ird/observe/dto/data/longline/ActivityLonglineObsDto.java
=====================================
@@ -69,4 +69,9 @@ public class ActivityLonglineObsDto extends GeneratedActivityLonglineObsDto impl
public GPSPoint getGPSPoint() {
return ActivityLonglineAware.newGPSPoint(this);
}
+
+ @Override
+ public String getVesselActivityLonglineId() {
+ return vesselActivityLongline == null ? null : vesselActivityLongline.getId();
+ }
}
=====================================
dto/src/main/java/fr/ird/observe/navigation/model/edit/ObserveEditModelManager.java
=====================================
@@ -179,11 +179,11 @@ public class ObserveEditModelManager {
log.debug("Will close edit node from incoming: " + node);
ObserveEditNode realEditNode = editModel.forNodeType(node.getClass()).orElseThrow(IllegalStateException::new);
log.info("Close edit node: " + node);
- realEditNode.setId(null);
for (ObserveEditNodeCloseCallback c : closeCallbacks.get(node.getClass())) {
log.info("Apply callback on closed edit node: " + realEditNode + " - " + c);
c.onEditNodeClosed(node, adjusting);
}
+ realEditNode.setId(null);
}
private void openNode(ObserveEditNode<?> node, boolean adjusting) {
=====================================
services/src/main/java/fr/ird/observe/services/service/actions/pairing/ActivityLonglinePairingEngine.java
=====================================
@@ -33,6 +33,7 @@ import fr.ird.observe.dto.data.pairing.TripLonglinePairingResult;
import fr.ird.observe.services.ObserveServicesProvider;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Set;
@@ -53,11 +54,13 @@ public class ActivityLonglinePairingEngine {
this.config = config;
}
- public TripLonglinePairingContext newTripContext(String tripLonglineId) {
- Set<ActivityLonglineObsReference> activityLonglineObsReferenceSet = servicesProvider.getActivityLonglineObsService().getActivityLonglineByTripLongline(tripLonglineId).toSet();
- return new TripLonglinePairingContext(config, tripLonglineId, ImmutableList.copyOf(activityLonglineObsReferenceSet));
+ public ActivityLonglinePairingConfig getConfig() {
+ return config;
}
+ public TripLonglinePairingContext newTripContext(String tripLonglineId, Collection<ActivityLonglineObsReference> allActivityLonglineObs) {
+ return new TripLonglinePairingContext(config, tripLonglineId, ImmutableList.copyOf(allActivityLonglineObs));
+ }
public TripLonglinePairingResult computeForTrip(TripLonglinePairingContext context) {
ImmutableMap.Builder<ActivityLonglineLogbookReference, ActivityLonglinePairingResult> resultBuilder = ImmutableMap.builder();
@@ -70,7 +73,7 @@ public class ActivityLonglinePairingEngine {
}
public ActivityLonglinePairingResult computeForActivityLogbook(TripLonglinePairingContext context, ActivityLonglineAware activityLonglineLogbook) {
- ImmutableList<ActivityLonglineObsReference> activityLonglineObsList = context.getActivityLonglineObsList();
+ ImmutableList<ActivityLonglineObsReference> activityLonglineObsList = context.getActivityLonglineObsList(activityLonglineLogbook.getVesselActivityLonglineId());
List<ActivityLonglinePairingResultItem> itemBuilder = new ArrayList<>(activityLonglineObsList.size());
long longlineActivityPairingMaxTime = context.getConfig().getLonglineActivityPairingMaxTime();
long longlineActivityPairingMaxDistance = context.getConfig().getLonglineActivityPairingMaxDistance();
=====================================
services/src/main/java/fr/ird/observe/services/service/actions/pairing/TripLonglinePairingContext.java
=====================================
@@ -26,6 +26,8 @@ import com.google.common.collect.ImmutableList;
import fr.ird.observe.dto.ObserveDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineObsReference;
+import java.util.stream.Collectors;
+
/**
* Created by tchemit on 15/10/2018.
*
@@ -35,28 +37,24 @@ public class TripLonglinePairingContext implements ObserveDto {
private final ActivityLonglinePairingConfig config;
private final String tripLonglineId;
- private final ImmutableList<ActivityLonglineObsReference> activityLonglineObsList;
+ private final ImmutableList<ActivityLonglineObsReference> allActivityLonglineObs;
- public TripLonglinePairingContext(ActivityLonglinePairingConfig config, String tripLonglineId, ImmutableList<ActivityLonglineObsReference> activityLonglineObsList) {
+ public TripLonglinePairingContext(ActivityLonglinePairingConfig config, String tripLonglineId, ImmutableList<ActivityLonglineObsReference> allActivityLonglineObs) {
this.config = config;
this.tripLonglineId = tripLonglineId;
- this.activityLonglineObsList = activityLonglineObsList;
+ this.allActivityLonglineObs = allActivityLonglineObs;
}
public ActivityLonglinePairingConfig getConfig() {
return config;
}
-
- public ImmutableList<ActivityLonglineObsReference> getActivityLonglineObsList() {
- return activityLonglineObsList;
+ public ImmutableList<ActivityLonglineObsReference> getActivityLonglineObsList(String vesselActivityLonglineId) {
+ return ImmutableList.copyOf(allActivityLonglineObs.stream().filter(e -> vesselActivityLonglineId.equals(e.getVesselActivityLonglineId())).collect(Collectors.toList()));
}
public String getTripLonglineId() {
return tripLonglineId;
}
- public boolean isEnabled() {
- return !activityLonglineObsList.isEmpty();
- }
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/5ed5600489dc68fa3c8d833cdc…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/5ed5600489dc68fa3c8d833cdc…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] [PS][FOB] Plusieurs mappings anciens types FAD / Nouveaux matériaux sont erronés…
by Tony CHEMIT 16 Oct '18
by Tony CHEMIT 16 Oct '18
16 Oct '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
5ed56004 by Tony CHEMIT at 2018-10-16T11:25:23Z
[PS][FOB] Plusieurs mappings anciens types FAD / Nouveaux matériaux sont erronés - Closes #1136 (la der des ders...)
- - - - -
22 changed files:
- client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeNode.java
- client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUIModel.java
- client/src/main/resources/i18n/client_en_GB.properties
- client/src/main/resources/i18n/client_es_ES.properties
- client/src/main/resources/i18n/client_fr_FR.properties
- dto/src/main/java/fr/ird/observe/dto/referential/seine/ObjectMaterialDto.java
- dto/src/main/models/Observe-02-referential-seine.model
- persistence/src/main/java/fr/ird/observe/binder/referential/seine/ObjectMaterialEntityDtoBinder.java
- persistence/src/main/models/Observe-02-referential-seine.model
- persistence/src/main/resources/db/migration/6.1/12_update_object_material-common.sql
- − persistence/src/test/java/fr/ird/observe/persistence/migration/GenerateReferentialObjectMaterial.java
- test/src/main/resources/db/7.0/dataForTestLongline.sql.gz
- test/src/main/resources/db/7.0/dataForTestSeine.sql.gz
- test/src/main/resources/db/7.0/empty_h2.sql.gz
- test/src/main/resources/db/7.0/empty_pg.sql.gz
- test/src/main/resources/db/7.4/dataForTestLongline.sql.gz
- test/src/main/resources/db/7.4/dataForTestSeine.sql.gz
- test/src/main/resources/db/7.4/empty_h2.sql.gz
- test/src/main/resources/db/7.4/empty_pg.sql.gz
- test/src/main/resources/db/7.4/referentiel.sql.gz
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeNode.java
=====================================
@@ -183,7 +183,6 @@ public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode im
private void getShell(ImmutableSet.Builder<FloatingObjectPartsTreeNode> allNodesBuilder) {
allNodesBuilder.add(this);
-
for (FloatingObjectPartsTreeNode child : this) {
child.getShell(allNodesBuilder);
}
@@ -195,7 +194,6 @@ public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode im
}
void computeNeedAtLeastOnSelectValidState(boolean whenArriving, boolean whenLeaving) {
-
boolean needSelect = isEditable();
FloatingObjectPartsTreeNodeContext userObject = getUserObject();
if (whenArriving) {
@@ -204,7 +202,6 @@ public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode im
if (whenLeaving) {
userObject.needOneSelectionOnLeaving = (!needSelect || withValue(2)) && isAtLeastOneSelected(2);
}
-
if (userObject.needOneSelectionOnArriving || userObject.needOneSelectionOnLeaving) {
log.info("Validate node " + this);
}
@@ -244,7 +241,6 @@ public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode im
if (userObject.getValueAt(1) != null || userObject.getValueAt(2) != null) {
log.info("Validate node " + this);
}
-
}
// void computeFormulaValidState(boolean whenArriving, boolean whenLeaving) {
@@ -359,8 +355,7 @@ public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode im
// enabled if parent is enabled and dto is enabled
this.enabled = parent.enabled && dto.isEnabled();
// editable if dto is selectable (we also make sure that the object material type is here too)
- this.editable = dto.isSelectable() && dto.getObjectMaterialType() != null;
-
+ this.editable = dto.getObjectMaterialType() != null;
this.useValidation = enabled && editable && dto.withValidation();
if (!useValidation) {
valueValidOnArriving = true;
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUI.jaxx
=====================================
@@ -127,14 +127,6 @@
</cell>
</row>
- <!-- selectable -->
- <row>
- <cell anchor='east' weightx="1" fill="both" columns="2">
- <JCheckBox id='selectable' styleClass="i18n"
- onItemStateChanged='getBean().setSelectable(selectable.isSelected())'/>
- </cell>
- </row>
-
<!-- childrenMultiSelectable / childSelectionMandatory -->
<row>
<cell anchor='east' weightx="1" fill="both" columns="2">
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUI.jcss
=====================================
@@ -50,10 +50,6 @@
_propertyName:{ObjectMaterialDto.PROPERTY_VALIDATION};
}
-#selectable {
- selected:{bean.isSelectable()};
-}
-
#childrenMultiSelectable {
selected:{bean.isChildrenMultiSelectable()};
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUIModel.java
=====================================
@@ -44,7 +44,6 @@ public class ObjectMaterialUIModel extends ContentReferenceUIModel<ObjectMateria
ObjectMaterialDto.PROPERTY_STANDARD_CODE,
ObjectMaterialDto.PROPERTY_OBJECT_MATERIAL_TYPE,
ObjectMaterialDto.PROPERTY_VALIDATION,
- ObjectMaterialDto.PROPERTY_SELECTABLE,
ObjectMaterialDto.PROPERTY_CHILD_SELECTION_MANDATORY,
ObjectMaterialDto.PROPERTY_CHILDREN_MULTI_SELECTABLE
},
@@ -54,7 +53,6 @@ public class ObjectMaterialUIModel extends ContentReferenceUIModel<ObjectMateria
ObjectMaterialUI.BINDING_LEGACY_CODE_TEXT,
ObjectMaterialUI.BINDING_STANDARD_CODE_TEXT,
ObjectMaterialUI.BINDING_VALIDATION_TEXT,
- ObjectMaterialUI.BINDING_SELECTABLE_SELECTED,
ObjectMaterialUI.BINDING_CHILD_SELECTION_MANDATORY_SELECTED,
ObjectMaterialUI.BINDING_CHILDREN_MULTI_SELECTABLE_SELECTED
});
=====================================
client/src/main/resources/i18n/client_en_GB.properties
=====================================
@@ -944,7 +944,6 @@ observe.common.ObjectMaterialDto.childSelectionMandatory=child selection mandato
observe.common.ObjectMaterialDto.childrenMultiSelectable=children multi selectable
observe.common.ObjectMaterialDto.legacyCodeStandardCode=Legacy code / Standard code
observe.common.ObjectMaterialDto.parentCode=Parent
-observe.common.ObjectMaterialDto.selectable=Selectable
observe.common.ObjectMaterialDto.validationInformation=Validation formula must contains variable x
observe.common.ObjectObservedSpeciesDto.action.create=Insert this object observed species
observe.common.ObjectObservedSpeciesDto.action.create.tip=Insert this object observed species
=====================================
client/src/main/resources/i18n/client_es_ES.properties
=====================================
@@ -944,7 +944,6 @@ observe.common.ObjectMaterialDto.childSelectionMandatory=Sélection d'un fils ob
observe.common.ObjectMaterialDto.childrenMultiSelectable=Sélection multiple des fils \#TODO
observe.common.ObjectMaterialDto.legacyCodeStandardCode=Ancien code / Code standard \#TODO
observe.common.ObjectMaterialDto.parentCode=Parent \#TODO
-observe.common.ObjectMaterialDto.selectable=Sélectionnable \#TODO
observe.common.ObjectMaterialDto.validationInformation=La formule de validation doit contenir la variable x \#TODO
observe.common.ObjectObservedSpeciesDto.action.create=Insertar
observe.common.ObjectObservedSpeciesDto.action.create.tip=Insertar la especie de fauna observada
=====================================
client/src/main/resources/i18n/client_fr_FR.properties
=====================================
@@ -944,7 +944,6 @@ observe.common.ObjectMaterialDto.childSelectionMandatory=Sélection d'un fils ob
observe.common.ObjectMaterialDto.childrenMultiSelectable=Sélection multiple des fils
observe.common.ObjectMaterialDto.legacyCodeStandardCode=Ancien code / Code standard
observe.common.ObjectMaterialDto.parentCode=Parent
-observe.common.ObjectMaterialDto.selectable=Sélectionnable
observe.common.ObjectMaterialDto.validationInformation=La formule de validation doit contenir la variable x
observe.common.ObjectObservedSpeciesDto.action.create=Insérer
observe.common.ObjectObservedSpeciesDto.action.create.tip=Insérer l'espèce faune observée
=====================================
dto/src/main/java/fr/ird/observe/dto/referential/seine/ObjectMaterialDto.java
=====================================
@@ -55,4 +55,5 @@ public class ObjectMaterialDto extends GeneratedObjectMaterialDto {
ObjectMaterialReference parent = getParent();
return parent != null && parent.getParentId() != null;
}
+
}
=====================================
dto/src/main/models/Observe-02-referential-seine.model
=====================================
@@ -9,7 +9,6 @@ referential.seine.NonTargetCatchReleasingTime > referential.I18nReferential
referential.seine.ObjectMaterial > referential.I18nReferential | references=code,label,parentId,objectMaterialTypeId,validation,biodegradable,nonEntangling
legacyCode + {*:1} String
standardCode + {*:1} String
-selectable + {*:1} boolean
biodegradable + {*:1} boolean
nonEntangling + {*:1} boolean
childrenMultiSelectable + {*:1} boolean
=====================================
persistence/src/main/java/fr/ird/observe/binder/referential/seine/ObjectMaterialEntityDtoBinder.java
=====================================
@@ -47,7 +47,6 @@ public class ObjectMaterialEntityDtoBinder extends ReferentialEntityDtoBinderSup
entity.setStandardCode(dto.getStandardCode());
entity.setParent(toEntity(dto.getParent()));
entity.setObjectMaterialType(toEntity(dto.getObjectMaterialType()));
- entity.setSelectable(dto.isSelectable());
entity.setValidation(dto.getValidation());
entity.setChildrenMultiSelectable(dto.isChildrenMultiSelectable());
entity.setChildSelectionMandatory(dto.isChildSelectionMandatory());
@@ -64,7 +63,6 @@ public class ObjectMaterialEntityDtoBinder extends ReferentialEntityDtoBinderSup
dto.setParent(toReferentialReference(referentialLocale, entity.getParent()));
dto.setObjectMaterialType(toReferentialReference(referentialLocale, entity.getObjectMaterialType()));
dto.setValidation(entity.getValidation());
- dto.setSelectable(entity.isSelectable());
dto.setChildrenMultiSelectable(entity.isChildrenMultiSelectable());
dto.setChildSelectionMandatory(entity.isChildSelectionMandatory());
=====================================
persistence/src/main/models/Observe-02-referential-seine.model
=====================================
@@ -15,7 +15,6 @@ referentiel.seine.NonTargetCatchReleasingTime > referentiel.I18nReferentialEntit
referentiel.seine.ObjectMaterial > referentiel.I18nReferentialEntity | entity
legacyCode + {*:1} String | hibernateAttributeType=text
standardCode + {*:1} String
-selectable + {*:1} boolean | notNull
biodegradable + {*:1} boolean | notNull
nonEntangling + {*:1} boolean | notNull
childrenMultiSelectable + {*:1} boolean | notNull
=====================================
persistence/src/main/resources/db/migration/6.1/12_update_object_material-common.sql
=====================================
@@ -41,4 +41,4 @@ INSERT INTO observe_seine.objectMaterial (topiaid, topiaversion, topiacreatedate
UPDATE observe_seine.objectmaterial SET legacyCode ='22*, 23*', topiaVersion = topiaVersion + 1 WHERE topiaid = 'fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#0.3';
UPDATE observe_seine.objectmaterial SET legacyCode = NULL, topiaVersion = topiaVersion + 1 WHERE topiaid='fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#0.2';
INSERT INTO observe_seine.objectMaterial (topiaid, topiaversion, topiacreatedate, lastupdatedate, needComment, status, legacyCode, standardCode, code, parent, label1, label2, label3, selectable, childrenMultiSelectable, childSelectionMandatory, objectMaterialType, validation, biodegradable, nonEntangling) values ( 'fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#0.100', 0, CURRENT_DATE, CURRENT_TIMESTAMP, true, 0, '16', null, '6-6' , 'fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#0.77' , ' Raft or buoy drifting', 'Radeau ou bouée en dérive','Parilla o buoy a la deriva', true, false, false, 'fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#0', NULL, false, false);
-
+ALTER TABLE observe_seine.objectmaterial DROP COLUMN selectable;
\ No newline at end of file
=====================================
persistence/src/test/java/fr/ird/observe/persistence/migration/GenerateReferentialObjectMaterial.java deleted
=====================================
@@ -1,185 +0,0 @@
-package fr.ird.observe.persistence.migration;
-
-/*-
- * #%L
- * ObServe :: Persistence
- * %%
- * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-
-import com.google.common.collect.ImmutableMap;
-import fr.ird.observe.dto.referential.ReferenceStatus;
-import fr.ird.observe.entities.referentiel.seine.ObjectMaterial;
-import fr.ird.observe.entities.referentiel.seine.ObjectMaterialImpl;
-import org.apache.commons.lang3.mutable.MutableInt;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-import org.junit.Test;
-import org.nuiton.csv.Common;
-import org.nuiton.csv.Import;
-import org.nuiton.csv.ext.AbstractImportModel;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Collection;
-
-/**
- * Created by tchemit on 31/07/17.
- *
- * @author Tony Chemit - dev(a)tchemit.fr
- */
-public class GenerateReferentialObjectMaterial {
-
- // Lines to fxi and readd to file
-
-
- /** Logger. */
- private static final Logger log = LogManager.getLogger(GenerateReferentialObjectMaterial.class);
-
- private static final String INSERT = "INSERT INTO observe_seine.objectMaterial (topiaid, topiaversion, topiacreatedate, lastupdatedate, needComment, status, legacyCode, standardCode, code, parent, label1, label2, label3, selectable, childrenMultiSelectable, childSelectionMandatory, objectMaterialType, validation, biodegradable, nonEntangling) values (%-65s, 0, CURRENT_DATE, CURRENT_TIMESTAMP, false, %s, %-15s, %-10s, %-15s, %-65s, %-50s, %-50s, %-50s, %-5s, %-5s, %-5s, %-66s, %-30s, %-5s, %-5s);";
-
- @Test
- public void generate() throws IOException {
-
-
- Path dir = new File("").getAbsoluteFile().toPath()
- .resolve("src")
- .resolve("main")
- .resolve("resources")
- .resolve("db")
- .resolve("migration")
- .resolve("6.6.1");
-
- Path sourcePath = dir.resolve("referential-ObjectMaterial.csv");
- Path targetPath = dir.resolve("09_fill_object_material-common.sql");
-
- Collection<ObjectMaterial> data = loadData(sourcePath);
-
- try (BufferedWriter writer = Files.newBufferedWriter(targetPath)) {
-
- for (ObjectMaterial datum : data) {
-
- String row = String.format(INSERT
- , getValue(datum.getTopiaId())
- , datum.getStatus().ordinal()
- , getValue(datum.getLegacyCode())
- , getValue(datum.getStandardCode())
- , getValue(datum.getCode())
- , getValue(datum.getParent() == null ? "" : datum.getParent().getTopiaId())
- , getValue(datum.getLabel1())
- , getValue(datum.getLabel2())
- , getValue(datum.getLabel3())
- , datum.isSelectable()
- , datum.isChildrenMultiSelectable()
- , datum.isChildSelectionMandatory()
- , getValue(datum.getLabel5() == null ? "" : datum.getLabel5())
- , getValue(datum.getValidation())
- , datum.isBiodegradable()
- , datum.isNonEntangling()
- );
- writer.append(row);
- writer.newLine();
-
- }
- }
-
- }
-
- private String getValue(String value) {
- return value.isEmpty() ? "NULL" : ("'" + value + "'");
- }
-
- private Collection<ObjectMaterial> loadData(Path sourcePath) throws IOException {
-
- ImmutableMap.Builder<String, ObjectMaterial> result = ImmutableMap.builder();
- MutableInt idIndex = new MutableInt(0);
- try (BufferedReader reader = Files.newBufferedReader(sourcePath)) {
- Import.newImport(new ImportModel(), reader).forEach(objectMaterial -> {
-
- objectMaterial.setTopiaId("fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#0." + idIndex.incrementAndGet());
-
- log.info(String.format("Loading %s (%s)", objectMaterial.getCode(), objectMaterial.getTopiaId()));
- String dataType = objectMaterial.getLabel5();
- objectMaterial.setLabel5(null);
- if (dataType != null) {
- switch (dataType.trim().toLowerCase()) {
- case "boolean":
- objectMaterial.setLabel5("fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#0");
- break;
- case "integer":
- objectMaterial.setLabel5("fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#2");
- break;
- case "string":
- objectMaterial.setLabel5("fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#3");
- break;
- case "float1":
- objectMaterial.setLabel5("fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#1");
- break;
-
- }
- }
- String status = objectMaterial.getLabel6();
- objectMaterial.setLabel6(null);
- Boolean statusB = status == null ? null : Boolean.valueOf(status);
- objectMaterial.setStatus(statusB != null && statusB ? ReferenceStatus.enabled : ReferenceStatus.disabled);
- result.put(objectMaterial.getCode(), objectMaterial);
- });
- }
- ImmutableMap<String, ObjectMaterial> map = result.build();
- for (ObjectMaterial objectMaterial : map.values()) {
- String parentCode = objectMaterial.getLabel4();
- objectMaterial.setLabel4(null);
- if (parentCode != null) {
- ObjectMaterial parent = map.get(parentCode);
- objectMaterial.setParent(parent);
- }
- }
- return map.values();
- }
-
- private static class ImportModel extends AbstractImportModel<ObjectMaterial> {
-
- ImportModel() {
- super(',');
- newMandatoryColumn(ObjectMaterial.PROPERTY_CODE);
- newMandatoryColumn(ObjectMaterial.PROPERTY_LEGACY_CODE);
- newMandatoryColumn(ObjectMaterial.PROPERTY_STANDARD_CODE);
- newMandatoryColumn(ObjectMaterial.PROPERTY_BIODEGRADABLE, Common.PRIMITIVE_BOOLEAN);
- newMandatoryColumn(ObjectMaterial.PROPERTY_NON_ENTANGLING, Common.PRIMITIVE_BOOLEAN);
- newMandatoryColumn(ObjectMaterial.PROPERTY_SELECTABLE, Common.PRIMITIVE_BOOLEAN);
- newMandatoryColumn(ObjectMaterial.PROPERTY_CHILD_SELECTION_MANDATORY, Common.PRIMITIVE_BOOLEAN);
- newMandatoryColumn(ObjectMaterial.PROPERTY_CHILDREN_MULTI_SELECTABLE, Common.PRIMITIVE_BOOLEAN);
- newMandatoryColumn(ObjectMaterial.PROPERTY_LABEL1);
- newMandatoryColumn(ObjectMaterial.PROPERTY_LABEL2);
- newMandatoryColumn(ObjectMaterial.PROPERTY_LABEL3);
- newMandatoryColumn(ObjectMaterial.PROPERTY_VALIDATION);
- newMandatoryColumn("parent", ObjectMaterial.PROPERTY_LABEL4);
- newMandatoryColumn("dataType", ObjectMaterial.PROPERTY_LABEL5);
- newMandatoryColumn("status", ObjectMaterial.PROPERTY_LABEL6);
- }
-
- @Override
- public ObjectMaterial newEmptyInstance() {
- return new ObjectMaterialImpl();
- }
- }
-}
=====================================
test/src/main/resources/db/7.0/dataForTestLongline.sql.gz
=====================================
The diff for this file was not included because it is too large.
=====================================
test/src/main/resources/db/7.0/dataForTestSeine.sql.gz
=====================================
The diff for this file was not included because it is too large.
=====================================
test/src/main/resources/db/7.0/empty_h2.sql.gz
=====================================
@@ -89,7 +89,7 @@ create table OBSERVE_SEINE.nonTargetCatchReleaseStatus (topiaId varchar(255) not
create table OBSERVE_SEINE.nonTargetCatchReleasingTime (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.nonTargetLength (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, length numeric, isLengthComputed boolean, picturesReferences varchar(255), weight numeric, isWeightComputed boolean, count integer, acquisitionMode integer, tagNumber varchar(255), species varchar(255), sex varchar(255), speciesFate varchar(255), sizeMeasureType varchar(255), nonTargetSample varchar(255), nonTargetSample_idx integer, primary key (topiaId));
create table OBSERVE_SEINE.nonTargetSample (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, comment varchar(2147483647), set varchar(255), primary key (topiaId));
-create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode varchar(2147483647), standardCode varchar(255), selectable boolean not null, biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
+create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode varchar(2147483647), standardCode varchar(255), biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectMaterialType (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectObservedSpecies (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, count integer, statut integer, species varchar(255), speciesStatus varchar(255), floatingObject varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectOperation (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), whenArriving boolean not null, whenLeaving boolean not null, primary key (topiaId));
=====================================
test/src/main/resources/db/7.0/empty_pg.sql.gz
=====================================
@@ -89,7 +89,7 @@ create table OBSERVE_SEINE.nonTargetCatchReleaseStatus (topiaId varchar(255) not
create table OBSERVE_SEINE.nonTargetCatchReleasingTime (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.nonTargetLength (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, length numeric, isLengthComputed boolean, picturesReferences varchar(255), weight numeric, isWeightComputed boolean, count int4, acquisitionMode int4, tagNumber varchar(255), species varchar(255), sex varchar(255), speciesFate varchar(255), sizeMeasureType varchar(255), nonTargetSample varchar(255), nonTargetSample_idx int4, primary key (topiaId));
create table OBSERVE_SEINE.nonTargetSample (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, comment text, set varchar(255), primary key (topiaId));
-create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode text, standardCode varchar(255), selectable boolean not null, biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
+create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode text, standardCode varchar(255), biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectMaterialType (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectObservedSpecies (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, count int4, statut int4, species varchar(255), speciesStatus varchar(255), floatingObject varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectOperation (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), whenArriving boolean not null, whenLeaving boolean not null, primary key (topiaId));
=====================================
test/src/main/resources/db/7.4/dataForTestLongline.sql.gz
=====================================
The diff for this file was not included because it is too large.
=====================================
test/src/main/resources/db/7.4/dataForTestSeine.sql.gz
=====================================
The diff for this file was not included because it is too large.
=====================================
test/src/main/resources/db/7.4/empty_h2.sql.gz
=====================================
@@ -113,7 +113,7 @@ create table OBSERVE_SEINE.nonTargetCatchReleaseStatus (topiaId varchar(255) not
create table OBSERVE_SEINE.nonTargetCatchReleasingTime (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.nonTargetLength (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, length numeric, isLengthComputed boolean, picturesReferences varchar(255), weight numeric, isWeightComputed boolean, count integer, acquisitionMode integer, tagNumber varchar(255), species varchar(255), sex varchar(255), speciesFate varchar(255), sizeMeasureType varchar(255), weightMeasureMethod varchar(255), lengthMeasureMethod varchar(255), nonTargetSample varchar(255), nonTargetSample_idx integer, primary key (topiaId));
create table OBSERVE_SEINE.nonTargetSample (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, comment varchar(2147483647), set varchar(255), primary key (topiaId));
-create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode varchar(2147483647), standardCode varchar(255), selectable boolean not null, biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
+create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode varchar(2147483647), standardCode varchar(255), biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectMaterialType (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectObservedSpecies (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, count integer, statut integer, species varchar(255), speciesStatus varchar(255), floatingObject varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectOperation (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), whenArriving boolean not null, whenLeaving boolean not null, primary key (topiaId));
=====================================
test/src/main/resources/db/7.4/empty_pg.sql.gz
=====================================
@@ -113,7 +113,7 @@ create table OBSERVE_SEINE.nonTargetCatchReleaseStatus (topiaId varchar(255) not
create table OBSERVE_SEINE.nonTargetCatchReleasingTime (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.nonTargetLength (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, length numeric, isLengthComputed boolean, picturesReferences varchar(255), weight numeric, isWeightComputed boolean, count int4, acquisitionMode int4, tagNumber varchar(255), species varchar(255), sex varchar(255), speciesFate varchar(255), sizeMeasureType varchar(255), weightMeasureMethod varchar(255), lengthMeasureMethod varchar(255), nonTargetSample varchar(255), nonTargetSample_idx int4, primary key (topiaId));
create table OBSERVE_SEINE.nonTargetSample (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, comment text, set varchar(255), primary key (topiaId));
-create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode text, standardCode varchar(255), selectable boolean not null, biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
+create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode text, standardCode varchar(255), biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectMaterialType (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectObservedSpecies (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, count int4, statut int4, species varchar(255), speciesStatus varchar(255), floatingObject varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectOperation (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), whenArriving boolean not null, whenLeaving boolean not null, primary key (topiaId));
=====================================
test/src/main/resources/db/7.4/referentiel.sql.gz
=====================================
The diff for this file was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/5ed5600489dc68fa3c8d833cdce…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/5ed5600489dc68fa3c8d833cdce…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-7.x] [PS][FOB] Plusieurs mappings anciens types FAD / Nouveaux matériaux sont erronés…
by Tony CHEMIT 16 Oct '18
by Tony CHEMIT 16 Oct '18
16 Oct '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
4df5e82b by Tony CHEMIT at 2018-10-16T10:52:17Z
[PS][FOB] Plusieurs mappings anciens types FAD / Nouveaux matériaux sont erronés - Closes #1136 (la der des ders...)
- - - - -
18 changed files:
- client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeNode.java
- client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUIModel.java
- client/src/main/resources/i18n/client_en_GB.properties
- client/src/main/resources/i18n/client_es_ES.properties
- client/src/main/resources/i18n/client_fr_FR.properties
- dto/src/main/java/fr/ird/observe/dto/referential/seine/ObjectMaterialDto.java
- dto/src/main/models/Observe.model
- persistence/src/main/java/fr/ird/observe/binder/referential/seine/ObjectMaterialEntityDtoBinder.java
- persistence/src/main/models/Observe.model
- persistence/src/main/resources/db/migration/6.1/12_update_object_material-common.sql
- − persistence/src/test/java/fr/ird/observe/persistence/migration/GenerateReferentialObjectMaterial.java
- test/src/main/resources/db/7.0/dataForTestLongline.sql.gz
- test/src/main/resources/db/7.0/dataForTestSeine.sql.gz
- test/src/main/resources/db/7.0/empty_h2.sql.gz
- test/src/main/resources/db/7.0/empty_pg.sql.gz
- test/src/main/resources/db/7.0/referentiel.sql.gz
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/seine/dcp/FloatingObjectPartsTreeNode.java
=====================================
@@ -356,7 +356,7 @@ public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode im
// enabled if parent is enabled and dto is enabled
this.enabled = parent.enabled && dto.isEnabled();
// editable if dto is selectable (we also make sure that the object material type is here too)
- this.editable = dto.isSelectable() && dto.getObjectMaterialType() != null;
+ this.editable = dto.getObjectMaterialType() != null;
this.useValidation = enabled && editable && dto.withValidation();
if (!useValidation) {
valueValidOnArriving = true;
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUI.jaxx
=====================================
@@ -130,14 +130,6 @@
</cell>
</row>
- <!-- selectable -->
- <row>
- <cell anchor='east' weightx="1" fill="both" columns="2">
- <JCheckBox id='selectable' styleClass="i18n"
- onItemStateChanged='getBean().setSelectable(selectable.isSelected())'/>
- </cell>
- </row>
-
<!-- childrenMultiSelectable / childSelectionMandatory -->
<row>
<cell anchor='east' weightx="1" fill="both" columns="2">
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUI.jcss
=====================================
@@ -50,10 +50,6 @@
_propertyName:{ObjectMaterialDto.PROPERTY_VALIDATION};
}
-#selectable {
- selected:{bean.isSelectable()};
-}
-
#childrenMultiSelectable {
selected:{bean.isChildrenMultiSelectable()};
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ref/seine/ObjectMaterialUIModel.java
=====================================
@@ -44,7 +44,6 @@ public class ObjectMaterialUIModel extends ContentReferenceUIModel<ObjectMateria
ObjectMaterialDto.PROPERTY_STANDARD_CODE,
ObjectMaterialDto.PROPERTY_OBJECT_MATERIAL_TYPE,
ObjectMaterialDto.PROPERTY_VALIDATION,
- ObjectMaterialDto.PROPERTY_SELECTABLE,
ObjectMaterialDto.PROPERTY_CHILD_SELECTION_MANDATORY,
ObjectMaterialDto.PROPERTY_CHILDREN_MULTI_SELECTABLE
},
@@ -54,7 +53,6 @@ public class ObjectMaterialUIModel extends ContentReferenceUIModel<ObjectMateria
ObjectMaterialUI.BINDING_LEGACY_CODE_TEXT,
ObjectMaterialUI.BINDING_STANDARD_CODE_TEXT,
ObjectMaterialUI.BINDING_VALIDATION_TEXT,
- ObjectMaterialUI.BINDING_SELECTABLE_SELECTED,
ObjectMaterialUI.BINDING_CHILD_SELECTION_MANDATORY_SELECTED,
ObjectMaterialUI.BINDING_CHILDREN_MULTI_SELECTABLE_SELECTED
});
=====================================
client/src/main/resources/i18n/client_en_GB.properties
=====================================
@@ -774,7 +774,6 @@ observe.common.ObjectMaterialDto.childSelectionMandatory=child selection mandato
observe.common.ObjectMaterialDto.childrenMultiSelectable=children multi selectable
observe.common.ObjectMaterialDto.legacyCodeStandardCode=Legacy code / Standard code
observe.common.ObjectMaterialDto.parentCode=Parent
-observe.common.ObjectMaterialDto.selectable=Selectable
observe.common.ObjectMaterialDto.validationInformation=Validation formula must contains variable x
observe.common.ObjectObservedSpeciesDto.action.create=Insert this object observed species
observe.common.ObjectObservedSpeciesDto.action.create.tip=Insert this object observed species
=====================================
client/src/main/resources/i18n/client_es_ES.properties
=====================================
@@ -774,7 +774,6 @@ observe.common.ObjectMaterialDto.childSelectionMandatory=Sélection d'un fils ob
observe.common.ObjectMaterialDto.childrenMultiSelectable=Sélection multiple des fils \#TODO
observe.common.ObjectMaterialDto.legacyCodeStandardCode=Ancien code / Code standard \#TODO
observe.common.ObjectMaterialDto.parentCode=Parent \#TODO
-observe.common.ObjectMaterialDto.selectable=Sélectionnable \#TODO
observe.common.ObjectMaterialDto.validationInformation=La formule de validation doit contenir la variable x \#TODO
observe.common.ObjectObservedSpeciesDto.action.create=Insertar
observe.common.ObjectObservedSpeciesDto.action.create.tip=Insertar la especie de fauna observada
=====================================
client/src/main/resources/i18n/client_fr_FR.properties
=====================================
@@ -774,7 +774,6 @@ observe.common.ObjectMaterialDto.childSelectionMandatory=Sélection d'un fils ob
observe.common.ObjectMaterialDto.childrenMultiSelectable=Sélection multiple des fils
observe.common.ObjectMaterialDto.legacyCodeStandardCode=Ancien code / Code standard
observe.common.ObjectMaterialDto.parentCode=Parent
-observe.common.ObjectMaterialDto.selectable=Sélectionnable
observe.common.ObjectMaterialDto.validationInformation=La formule de validation doit contenir la variable x
observe.common.ObjectObservedSpeciesDto.action.create=Insérer
observe.common.ObjectObservedSpeciesDto.action.create.tip=Insérer l'espèce faune observée
=====================================
dto/src/main/java/fr/ird/observe/dto/referential/seine/ObjectMaterialDto.java
=====================================
@@ -55,4 +55,5 @@ public class ObjectMaterialDto extends GeneratedObjectMaterialDto {
ObjectMaterialReference parent = getParent();
return parent != null && parent.getParentId() != null;
}
+
}
=====================================
dto/src/main/models/Observe.model
=====================================
@@ -551,7 +551,6 @@ referential.seine.NonTargetCatchReleasingTime > referential.I18nReferential
referential.seine.ObjectMaterial > referential.I18nReferential | references=code,label,parentId,objectMaterialTypeId,validation,biodegradable,nonEntangling
legacyCode + {*:1} String
standardCode + {*:1} String
-selectable + {*:1} boolean
biodegradable + {*:1} boolean
nonEntangling + {*:1} boolean
childrenMultiSelectable + {*:1} boolean
=====================================
persistence/src/main/java/fr/ird/observe/binder/referential/seine/ObjectMaterialEntityDtoBinder.java
=====================================
@@ -47,7 +47,6 @@ public class ObjectMaterialEntityDtoBinder extends ReferentialEntityDtoBinderSup
entity.setStandardCode(dto.getStandardCode());
entity.setParent(toEntity(dto.getParent()));
entity.setObjectMaterialType(toEntity(dto.getObjectMaterialType()));
- entity.setSelectable(dto.isSelectable());
entity.setValidation(dto.getValidation());
entity.setChildrenMultiSelectable(dto.isChildrenMultiSelectable());
entity.setChildSelectionMandatory(dto.isChildSelectionMandatory());
@@ -64,7 +63,6 @@ public class ObjectMaterialEntityDtoBinder extends ReferentialEntityDtoBinderSup
dto.setParent(toReferentialReference(referentialLocale, entity.getParent()));
dto.setObjectMaterialType(toReferentialReference(referentialLocale, entity.getObjectMaterialType()));
dto.setValidation(entity.getValidation());
- dto.setSelectable(entity.isSelectable());
dto.setChildrenMultiSelectable(entity.isChildrenMultiSelectable());
dto.setChildSelectionMandatory(entity.isChildSelectionMandatory());
=====================================
persistence/src/main/models/Observe.model
=====================================
@@ -594,7 +594,6 @@ referentiel.seine.NonTargetCatchReleasingTime > referentiel.I18nReferentialEntit
referentiel.seine.ObjectMaterial > referentiel.I18nReferentialEntity | entity
legacyCode + {*:1} String | hibernateAttributeType=text
standardCode + {*:1} String
-selectable + {*:1} boolean | notNull
biodegradable + {*:1} boolean | notNull
nonEntangling + {*:1} boolean | notNull
childrenMultiSelectable + {*:1} boolean | notNull
=====================================
persistence/src/main/resources/db/migration/6.1/12_update_object_material-common.sql
=====================================
@@ -41,3 +41,4 @@ INSERT INTO observe_seine.objectMaterial (topiaid, topiaversion, topiacreatedate
UPDATE observe_seine.objectmaterial SET legacyCode ='22*, 23*', topiaVersion = topiaVersion + 1 WHERE topiaid = 'fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#0.3';
UPDATE observe_seine.objectmaterial SET legacyCode = NULL, topiaVersion = topiaVersion + 1 WHERE topiaid='fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#0.2';
INSERT INTO observe_seine.objectMaterial (topiaid, topiaversion, topiacreatedate, lastupdatedate, needComment, status, legacyCode, standardCode, code, parent, label1, label2, label3, selectable, childrenMultiSelectable, childSelectionMandatory, objectMaterialType, validation, biodegradable, nonEntangling) values ( 'fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#0.100', 0, CURRENT_DATE, CURRENT_TIMESTAMP, true, 0, '16', null, '6-6' , 'fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#0.77' , ' Raft or buoy drifting', 'Radeau ou bouée en dérive','Parilla o buoy a la deriva', true, false, false, 'fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#0', NULL, false, false);
+ALTER TABLE observe_seine.objectmaterial DROP COLUMN selectable;
\ No newline at end of file
=====================================
persistence/src/test/java/fr/ird/observe/persistence/migration/GenerateReferentialObjectMaterial.java deleted
=====================================
@@ -1,185 +0,0 @@
-package fr.ird.observe.persistence.migration;
-
-/*-
- * #%L
- * ObServe :: Persistence
- * %%
- * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-
-import com.google.common.collect.ImmutableMap;
-import fr.ird.observe.dto.referential.ReferenceStatus;
-import fr.ird.observe.entities.referentiel.seine.ObjectMaterial;
-import fr.ird.observe.entities.referentiel.seine.ObjectMaterialImpl;
-import org.apache.commons.lang3.mutable.MutableInt;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-import org.junit.Test;
-import org.nuiton.csv.Common;
-import org.nuiton.csv.Import;
-import org.nuiton.csv.ext.AbstractImportModel;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Collection;
-
-/**
- * Created by tchemit on 31/07/17.
- *
- * @author Tony Chemit - dev(a)tchemit.fr
- */
-public class GenerateReferentialObjectMaterial {
-
- // Lines to fxi and readd to file
-
-
- /** Logger. */
- private static final Logger log = LogManager.getLogger(GenerateReferentialObjectMaterial.class);
-
- private static final String INSERT = "INSERT INTO observe_seine.objectMaterial (topiaid, topiaversion, topiacreatedate, lastupdatedate, needComment, status, legacyCode, standardCode, code, parent, label1, label2, label3, selectable, childrenMultiSelectable, childSelectionMandatory, objectMaterialType, validation, biodegradable, nonEntangling) values (%-65s, 0, CURRENT_DATE, CURRENT_TIMESTAMP, false, %s, %-15s, %-10s, %-15s, %-65s, %-50s, %-50s, %-50s, %-5s, %-5s, %-5s, %-66s, %-30s, %-5s, %-5s);";
-
- @Test
- public void generate() throws IOException {
-
-
- Path dir = new File("").getAbsoluteFile().toPath()
- .resolve("src")
- .resolve("main")
- .resolve("resources")
- .resolve("db")
- .resolve("migration")
- .resolve("6.6.1");
-
- Path sourcePath = dir.resolve("referential-ObjectMaterial.csv");
- Path targetPath = dir.resolve("09_fill_object_material-common.sql");
-
- Collection<ObjectMaterial> data = loadData(sourcePath);
-
- try (BufferedWriter writer = Files.newBufferedWriter(targetPath)) {
-
- for (ObjectMaterial datum : data) {
-
- String row = String.format(INSERT
- , getValue(datum.getTopiaId())
- , datum.getStatus().ordinal()
- , getValue(datum.getLegacyCode())
- , getValue(datum.getStandardCode())
- , getValue(datum.getCode())
- , getValue(datum.getParent() == null ? "" : datum.getParent().getTopiaId())
- , getValue(datum.getLabel1())
- , getValue(datum.getLabel2())
- , getValue(datum.getLabel3())
- , datum.isSelectable()
- , datum.isChildrenMultiSelectable()
- , datum.isChildSelectionMandatory()
- , getValue(datum.getLabel5() == null ? "" : datum.getLabel5())
- , getValue(datum.getValidation())
- , datum.isBiodegradable()
- , datum.isNonEntangling()
- );
- writer.append(row);
- writer.newLine();
-
- }
- }
-
- }
-
- private String getValue(String value) {
- return value.isEmpty() ? "NULL" : ("'" + value + "'");
- }
-
- private Collection<ObjectMaterial> loadData(Path sourcePath) throws IOException {
-
- ImmutableMap.Builder<String, ObjectMaterial> result = ImmutableMap.builder();
- MutableInt idIndex = new MutableInt(0);
- try (BufferedReader reader = Files.newBufferedReader(sourcePath)) {
- Import.newImport(new ImportModel(), reader).forEach(objectMaterial -> {
-
- objectMaterial.setTopiaId("fr.ird.observe.entities.referentiel.seine.ObjectMaterial#0#0." + idIndex.incrementAndGet());
-
- log.info(String.format("Loading %s (%s)", objectMaterial.getCode(), objectMaterial.getTopiaId()));
- String dataType = objectMaterial.getLabel5();
- objectMaterial.setLabel5(null);
- if (dataType != null) {
- switch (dataType.trim().toLowerCase()) {
- case "boolean":
- objectMaterial.setLabel5("fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#0");
- break;
- case "integer":
- objectMaterial.setLabel5("fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#2");
- break;
- case "string":
- objectMaterial.setLabel5("fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#3");
- break;
- case "float1":
- objectMaterial.setLabel5("fr.ird.observe.entities.referentiel.seine.ObjectMaterialType#0#1");
- break;
-
- }
- }
- String status = objectMaterial.getLabel6();
- objectMaterial.setLabel6(null);
- Boolean statusB = status == null ? null : Boolean.valueOf(status);
- objectMaterial.setStatus(statusB != null && statusB ? ReferenceStatus.enabled : ReferenceStatus.disabled);
- result.put(objectMaterial.getCode(), objectMaterial);
- });
- }
- ImmutableMap<String, ObjectMaterial> map = result.build();
- for (ObjectMaterial objectMaterial : map.values()) {
- String parentCode = objectMaterial.getLabel4();
- objectMaterial.setLabel4(null);
- if (parentCode != null) {
- ObjectMaterial parent = map.get(parentCode);
- objectMaterial.setParent(parent);
- }
- }
- return map.values();
- }
-
- private static class ImportModel extends AbstractImportModel<ObjectMaterial> {
-
- ImportModel() {
- super(',');
- newMandatoryColumn(ObjectMaterial.PROPERTY_CODE);
- newMandatoryColumn(ObjectMaterial.PROPERTY_LEGACY_CODE);
- newMandatoryColumn(ObjectMaterial.PROPERTY_STANDARD_CODE);
- newMandatoryColumn(ObjectMaterial.PROPERTY_BIODEGRADABLE, Common.PRIMITIVE_BOOLEAN);
- newMandatoryColumn(ObjectMaterial.PROPERTY_NON_ENTANGLING, Common.PRIMITIVE_BOOLEAN);
- newMandatoryColumn(ObjectMaterial.PROPERTY_SELECTABLE, Common.PRIMITIVE_BOOLEAN);
- newMandatoryColumn(ObjectMaterial.PROPERTY_CHILD_SELECTION_MANDATORY, Common.PRIMITIVE_BOOLEAN);
- newMandatoryColumn(ObjectMaterial.PROPERTY_CHILDREN_MULTI_SELECTABLE, Common.PRIMITIVE_BOOLEAN);
- newMandatoryColumn(ObjectMaterial.PROPERTY_LABEL1);
- newMandatoryColumn(ObjectMaterial.PROPERTY_LABEL2);
- newMandatoryColumn(ObjectMaterial.PROPERTY_LABEL3);
- newMandatoryColumn(ObjectMaterial.PROPERTY_VALIDATION);
- newMandatoryColumn("parent", ObjectMaterial.PROPERTY_LABEL4);
- newMandatoryColumn("dataType", ObjectMaterial.PROPERTY_LABEL5);
- newMandatoryColumn("status", ObjectMaterial.PROPERTY_LABEL6);
- }
-
- @Override
- public ObjectMaterial newEmptyInstance() {
- return new ObjectMaterialImpl();
- }
- }
-}
=====================================
test/src/main/resources/db/7.0/dataForTestLongline.sql.gz
=====================================
The diff for this file was not included because it is too large.
=====================================
test/src/main/resources/db/7.0/dataForTestSeine.sql.gz
=====================================
The diff for this file was not included because it is too large.
=====================================
test/src/main/resources/db/7.0/empty_h2.sql.gz
=====================================
@@ -89,7 +89,7 @@ create table OBSERVE_SEINE.nonTargetCatchReleaseStatus (topiaId varchar(255) not
create table OBSERVE_SEINE.nonTargetCatchReleasingTime (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.nonTargetLength (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, length numeric, isLengthComputed boolean, picturesReferences varchar(255), weight numeric, isWeightComputed boolean, count integer, acquisitionMode integer, tagNumber varchar(255), species varchar(255), sex varchar(255), speciesFate varchar(255), sizeMeasureType varchar(255), nonTargetSample varchar(255), nonTargetSample_idx integer, primary key (topiaId));
create table OBSERVE_SEINE.nonTargetSample (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, comment varchar(2147483647), set varchar(255), primary key (topiaId));
-create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode varchar(2147483647), standardCode varchar(255), selectable boolean not null, biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
+create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode varchar(2147483647), standardCode varchar(255), biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectMaterialType (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectObservedSpecies (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, count integer, statut integer, species varchar(255), speciesStatus varchar(255), floatingObject varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectOperation (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status integer, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), whenArriving boolean not null, whenLeaving boolean not null, primary key (topiaId));
=====================================
test/src/main/resources/db/7.0/empty_pg.sql.gz
=====================================
@@ -89,7 +89,7 @@ create table OBSERVE_SEINE.nonTargetCatchReleaseStatus (topiaId varchar(255) not
create table OBSERVE_SEINE.nonTargetCatchReleasingTime (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.nonTargetLength (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, length numeric, isLengthComputed boolean, picturesReferences varchar(255), weight numeric, isWeightComputed boolean, count int4, acquisitionMode int4, tagNumber varchar(255), species varchar(255), sex varchar(255), speciesFate varchar(255), sizeMeasureType varchar(255), nonTargetSample varchar(255), nonTargetSample_idx int4, primary key (topiaId));
create table OBSERVE_SEINE.nonTargetSample (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, comment text, set varchar(255), primary key (topiaId));
-create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode text, standardCode varchar(255), selectable boolean not null, biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
+create table OBSERVE_SEINE.objectMaterial (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), legacyCode text, standardCode varchar(255), biodegradable boolean not null, nonEntangling boolean not null, childrenMultiSelectable boolean not null, childSelectionMandatory boolean not null, parent varchar(255), objectMaterialType varchar(255), validation varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectMaterialType (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectObservedSpecies (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, count int4, statut int4, species varchar(255), speciesStatus varchar(255), floatingObject varchar(255), primary key (topiaId));
create table OBSERVE_SEINE.objectOperation (topiaId varchar(255) not null, topiaVersion int8 not null, topiaCreateDate timestamp, lastUpdateDate timestamp not null, code varchar(255), uri varchar(255), needComment boolean not null, status int4, label1 varchar(255), label2 varchar(255), label3 varchar(255), label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), whenArriving boolean not null, whenLeaving boolean not null, primary key (topiaId));
=====================================
test/src/main/resources/db/7.0/referentiel.sql.gz
=====================================
The diff for this file was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4df5e82bfa310e7674269599137…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4df5e82bfa310e7674269599137…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-7.x] 10 commits: [PS][FOB] Plusieurs mappings anciens types FAD / Nouveaux matériaux sont erronés - Closes #1136
by Tony CHEMIT 16 Oct '18
by Tony CHEMIT 16 Oct '18
16 Oct '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
edc03c65 by Tony CHEMIT at 2018-10-16T07:29:38Z
[PS][FOB] Plusieurs mappings anciens types FAD / Nouveaux matériaux sont erronés - Closes #1136
- - - - -
21ff79ac by Tony CHEMIT at 2018-10-16T07:29:44Z
Revoir le rapport utilisation des dcp - Closes #1082
- - - - -
8c6838f4 by Tony CHEMIT at 2018-10-16T07:29:45Z
Realign database model version to 7.0
- - - - -
1847b90a by Tony CHEMIT at 2018-10-16T07:29:49Z
update pom
- - - - -
5e9bb625 by Tony CHEMIT at 2018-10-16T07:29:51Z
Some data (in table forms) order is not deterministic - Closes #1112 - See #1144
- - - - -
83178f8e by Tony CHEMIT at 2018-10-16T07:29:51Z
[LL][PS] Améliorer le widget position - Closes #1133 - See #1144
- - - - -
85c8d8ca by Tony CHEMIT at 2018-10-16T07:29:52Z
[LL][PS] Dans le widget liste déroulante d'espèces, après le code FAO et le non scientifique, ajouter le nom commun (vernaculaire) dans la langue courante - Closes #1131 - See #1144
- - - - -
94c099d8 by Tony CHEMIT at 2018-10-16T07:29:53Z
fix coordinates validation message (and remove a lots of them \o/) (See #1144)
- - - - -
0b07e2da by Tony CHEMIT at 2018-10-16T07:29:53Z
Lacune de migration sur liste des systèmes observés - Closes #1151
- - - - -
850d4cc4 by Tony CHEMIT at 2018-10-16T07:40:48Z
update test databases
- - - - -
30 changed files:
- client/src/main/java/fr/ird/observe/client/ui/content/Common.jcss
- dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_1.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_2.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_5.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_3.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_1.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_4.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_2.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_5.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_3.java → persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_6.java
- persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_0.java
- − persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_7_4.java
- persistence/src/main/models/Observe.model
- persistence/src/main/resources/db/migration/7.2/01_update_objectMaterial-common.sql → persistence/src/main/resources/db/migration/6.1/10_update_objectMaterial-common.sql
- persistence/src/main/resources/db/migration/7.4/01_update_object_operation-common.sql → persistence/src/main/resources/db/migration/6.1/11_update_object_operation-common.sql
- persistence/src/main/resources/db/migration/7.4/02_update_object_material-common.sql → persistence/src/main/resources/db/migration/6.1/12_update_object_material-common.sql
- persistence/src/main/resources/db/migration/7.0/01_fill_non_target_sample_size_measure_type-common.sql → persistence/src/main/resources/db/migration/6.3/01_fill_non_target_sample_size_measure_type-common.sql
- persistence/src/main/resources/db/migration/7.0/02_add_data_quality-common.sql → persistence/src/main/resources/db/migration/6.3/02_add_data_quality-common.sql
- persistence/src/main/resources/db/migration/7.0/03_add_order_on_seine_catches-common.sql → persistence/src/main/resources/db/migration/6.3/03_add_order_on_seine_catches-common.sql
- persistence/src/main/resources/db/migration/7.0/04_add_order_on_seine_samples-common.sql → persistence/src/main/resources/db/migration/6.3/04_add_order_on_seine_samples-common.sql
- persistence/src/main/resources/db/migration/7.1/01_add_non_target_catch_release_status-H2.sql → persistence/src/main/resources/db/migration/6.4/01_add_non_target_catch_release_status-H2.sql
- persistence/src/main/resources/db/migration/7.1/01_add_non_target_catch_release_status-PG.sql → persistence/src/main/resources/db/migration/6.4/01_add_non_target_catch_release_status-PG.sql
- persistence/src/main/resources/db/migration/7.2/02_add_non_target_catch_release_conformity-H2.sql → persistence/src/main/resources/db/migration/6.5/02_add_non_target_catch_release_conformity-H2.sql
- persistence/src/main/resources/db/migration/7.2/02_add_non_target_catch_release_conformity-PG.sql → persistence/src/main/resources/db/migration/6.5/02_add_non_target_catch_release_conformity-PG.sql
- persistence/src/main/resources/db/migration/7.2/03_add_non_target_catch_releasing_time-H2.sql → persistence/src/main/resources/db/migration/6.5/03_add_non_target_catch_releasing_time-H2.sql
- persistence/src/main/resources/db/migration/7.2/03_add_non_target_catch_releasing_time-PG.sql → persistence/src/main/resources/db/migration/6.5/03_add_non_target_catch_releasing_time-PG.sql
- persistence/src/main/resources/db/migration/7.2/04_update_non_target_catch_release_status-common.sql → persistence/src/main/resources/db/migration/6.5/04_update_non_target_catch_release_status-common.sql
- persistence/src/main/resources/db/migration/7.2/05_remove_species_group_release_mode_value-common.sql → persistence/src/main/resources/db/migration/6.5/05_remove_species_group_release_mode_value-common.sql
- persistence/src/main/resources/db/migration/7.2/06_fix_species_group_release_mode_for_cetaceans-common.sql → persistence/src/main/resources/db/migration/6.5/06_fix_species_group_release_mode_for_cetaceans-common.sql
- persistence/src/main/resources/db/migration/7.2/07_update_observed_system-common.sql → persistence/src/main/resources/db/migration/6.5/07_update_observed_system-common.sql
- persistence/src/main/resources/db/migration/7.3/01_remove_one_size_measure_type-common.sql → persistence/src/main/resources/db/migration/6.6/01_remove_one_size_measure_type-common.sql
- persistence/src/main/resources/db/migration/7.3/02_add_length_length_parameter_fields-common.sql → persistence/src/main/resources/db/migration/6.6/02_add_length_length_parameter_fields-common.sql
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/e4bebda41c6965cac0ee8d2a4a…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/e4bebda41c6965cac0ee8d2a4a…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 13 commits: [PS][FOB] Plusieurs mappings anciens types FAD / Nouveaux matériaux sont erronés - Closes #1136
by Tony CHEMIT 16 Oct '18
by Tony CHEMIT 16 Oct '18
16 Oct '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
ca86c8c1 by Tony CHEMIT at 2018-10-16T07:16:29Z
[PS][FOB] Plusieurs mappings anciens types FAD / Nouveaux matériaux sont erronés - Closes #1136
- - - - -
0f18b109 by Tony CHEMIT at 2018-10-16T07:17:00Z
Revoir le rapport utilisation des dcp - Closes #1082
- - - - -
97eb754c by Tony CHEMIT at 2018-10-16T07:17:01Z
Realign database model version to 7.0
- - - - -
12d38e37 by Tony CHEMIT at 2018-10-16T07:17:08Z
Realign database model version to 7.0
- - - - -
89bfc365 by Tony CHEMIT at 2018-10-16T07:17:10Z
[LL] Débarquements : petits ajustements - Closes #1121 (validation poids et pas du nombre)
- - - - -
e0275c53 by Tony CHEMIT at 2018-10-16T07:17:11Z
[LL] Débarquements : petits ajustements 2 - Closes #1137
- - - - -
f0c48157 by Tony CHEMIT at 2018-10-16T07:17:13Z
[LL] Marée : redondance des listes Type de marée - Closes #1135
- - - - -
e55025e1 by Tony CHEMIT at 2018-10-16T07:17:14Z
[LL] Opération de pêche : recopie de propriétés - Closes #1125
- - - - -
487255a7 by Tony CHEMIT at 2018-10-16T07:17:14Z
Finish referential forms refactor
- - - - -
eecf77a9 by Tony CHEMIT at 2018-10-16T07:17:14Z
Calcul de l'activité d'observation sur l'écran de l'activité logbook - See #1150 - Amélioration de l'api sur les activités LL et ajout de l'api pour faire le calcul de l'appairement
- - - - -
52094e2f by Tony CHEMIT at 2018-10-16T07:17:15Z
Calcul de l'activité d'observation sur l'écran de l'activité logbook - See #1150 - Début d'ajout dans l'écran d'une activité Logbook + quelques correctoins sur cet écran.
- - - - -
a22eefaa by Tony CHEMIT at 2018-10-16T07:17:15Z
Lacune de migration sur liste des systèmes observés - Closes #1151
- - - - -
f9706323 by Tony CHEMIT at 2018-10-16T07:38:01Z
update test databases
- - - - -
30 changed files:
- client-configuration/src/main/config/Client.ini
- client-configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
- client-configuration/src/main/resources/i18n/client-configuration_en_GB.properties
- client-configuration/src/main/resources/i18n/client-configuration_es_ES.properties
- client-configuration/src/main/resources/i18n/client-configuration_fr_FR.properties
- client/src/main/java/fr/ird/observe/client/ObserveSwingApplicationContext.java
- client/src/main/java/fr/ird/observe/client/db/ObserveSwingDataSource.java
- client/src/main/java/fr/ird/observe/client/ui/ObserveKeyStrokes.java
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ShowTechnicalInformationsAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/data/edit/SaveEditDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ref/BackToReferentialListUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ref/DeleteReferentialUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ref/SaveReferentialUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ref/ShowReferentialUniqueKeyUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ref/ShowReferentialUsageUIAction.java
- + client/src/main/java/fr/ird/observe/client/ui/actions/content/data/longline/SelectTransshipmentLandingLogbookUIAction.java
- + client/src/main/java/fr/ird/observe/client/ui/actions/content/data/longline/save/CopyValuesAndSaveSetLonglineLogbookUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/data/longline/save/SaveSetLonglineLogbookUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/admin/validate/ValidateUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/ContentUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/ContentUIModel.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/data/edit/ContentEditUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/api/data/edit/ContentEditUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/api/data/open/ContentOpenableUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/data/open/ContentOpenableUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/ref/ContentI18nReferenceUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/api/ref/ContentI18nReferenceUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/api/ref/ContentReferenceUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/api/ref/ContentReferenceUIHandler.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/f56c6500e1e3b1682fbbcacb31…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/f56c6500e1e3b1682fbbcacb31…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Lacune de migration sur liste des systèmes observés - Closes #1151
by Tony CHEMIT 15 Oct '18
by Tony CHEMIT 15 Oct '18
15 Oct '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
f56c6500 by Tony CHEMIT at 2018-10-15T17:04:15Z
Lacune de migration sur liste des systèmes observés - Closes #1151
- - - - -
4 changed files:
- persistence/src/main/resources/db/migration/6.5/07_update_observed_system-common.sql
- test/src/main/resources/db/7.4/dataForTestLongline.sql.gz
- test/src/main/resources/db/7.4/dataForTestSeine.sql.gz
- test/src/main/resources/db/7.4/referentiel.sql.gz
Changes:
=====================================
persistence/src/main/resources/db/migration/6.5/07_update_observed_system-common.sql
=====================================
@@ -20,6 +20,9 @@
-- #L%
---
+UPDATE observe_seine.observedsystem SET schoolType = 1 WHERE topiaId = 'fr.ird.observe.entities.referentiel.seine.ObservedSystem#0#1.0';
+UPDATE observe_seine.observedsystem SET schoolType = 1 WHERE topiaId = 'fr.ird.observe.entities.referentiel.seine.ObservedSystem#0#1.1';
+UPDATE observe_seine.observedsystem SET schoolType = 1 WHERE topiaId = 'fr.ird.observe.entities.referentiel.seine.ObservedSystem#0#1.2';
UPDATE observe_seine.observedsystem SET status = 0 WHERE code = '5';
UPDATE observe_seine.observedsystem SET status = 0 WHERE code = '6';
UPDATE observe_seine.observedsystem SET status = 0 WHERE code = '7';
=====================================
test/src/main/resources/db/7.4/dataForTestLongline.sql.gz
=====================================
The diff for this file was not included because it is too large.
=====================================
test/src/main/resources/db/7.4/dataForTestSeine.sql.gz
=====================================
The diff for this file was not included because it is too large.
=====================================
test/src/main/resources/db/7.4/referentiel.sql.gz
=====================================
The diff for this file was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/f56c6500e1e3b1682fbbcacb31d…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/f56c6500e1e3b1682fbbcacb31d…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 5 commits: [LL] Marée : redondance des listes Type de marée - Closes #1135
by Tony CHEMIT 15 Oct '18
by Tony CHEMIT 15 Oct '18
15 Oct '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
7fb7803e by Tony CHEMIT at 2018-10-15T15:29:34Z
[LL] Marée : redondance des listes Type de marée - Closes #1135
- - - - -
94628598 by Tony CHEMIT at 2018-10-15T15:29:38Z
[LL] Opération de pêche : recopie de propriétés - Closes #1125
- - - - -
2ce540af by Tony CHEMIT at 2018-10-15T15:32:59Z
Finish referential forms refactor
- - - - -
b14c33a8 by Tony CHEMIT at 2018-10-15T15:33:01Z
Calcul de l'activité d'observation sur l'écran de l'activité logbook - See #1150 - Amélioration de l'api sur les activités LL et ajout de l'api pour faire le calcul de l'appairement
- - - - -
92827497 by Tony CHEMIT at 2018-10-15T15:33:01Z
Calcul de l'activité d'observation sur l'écran de l'activité logbook - See #1150 - Début d'ajout dans l'écran d'une activité Logbook + quelques correctoins sur cet écran.
- - - - -
30 changed files:
- client-configuration/src/main/config/Client.ini
- client-configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
- client-configuration/src/main/resources/i18n/client-configuration_en_GB.properties
- client-configuration/src/main/resources/i18n/client-configuration_es_ES.properties
- client-configuration/src/main/resources/i18n/client-configuration_fr_FR.properties
- client/src/main/java/fr/ird/observe/client/ObserveSwingApplicationContext.java
- client/src/main/java/fr/ird/observe/client/db/ObserveSwingDataSource.java
- client/src/main/java/fr/ird/observe/client/ui/ObserveKeyStrokes.java
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ShowTechnicalInformationsAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/data/edit/SaveEditDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ref/BackToReferentialListUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ref/DeleteReferentialUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ref/SaveReferentialUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ref/ShowReferentialUniqueKeyUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/api/ref/ShowReferentialUsageUIAction.java
- + client/src/main/java/fr/ird/observe/client/ui/actions/content/data/longline/save/CopyValuesAndSaveSetLonglineLogbookUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/data/longline/save/SaveSetLonglineLogbookUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/admin/validate/ValidateUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/ContentUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/ContentUIModel.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/data/edit/ContentEditUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/api/data/edit/ContentEditUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/api/data/open/ContentOpenableUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/data/open/ContentOpenableUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/ref/ContentI18nReferenceUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/api/ref/ContentI18nReferenceUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/api/ref/ContentReferenceUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/content/api/ref/ContentReferenceUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/api/ref/ContentReferenceUIInitializer.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/a6be5a2ca445ab48782593959e…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/a6be5a2ca445ab48782593959e…
You're receiving this email because of your account on gitlab.com.
1
0