Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe

Commits:

11 changed files:

Changes:

  • client-core/src/main/java/fr/ird/observe/client/ui/actions/UIActionSupport.java
    ... ... @@ -57,6 +57,7 @@ public abstract class UIActionSupport extends AbstractAction {
    57 57
         public static final String EDITOR = "editor";
    
    58 58
         public static final String CLIENT_PROPERTY_UI = "ui";
    
    59 59
         private static final long serialVersionUID = 1L;
    
    60
    +    public static final String DELEGATE_CONTENT_UI = "delegateContentUI";
    
    60 61
         private final ObserveMainUI mainUI;
    
    61 62
     
    
    62 63
         public UIActionSupport(ObserveMainUI mainUI, String actionCommandKey, String label, String shortDescription, String actionIcon, KeyStroke acceleratorKey) {
    
    ... ... @@ -227,7 +228,7 @@ public abstract class UIActionSupport extends AbstractAction {
    227 228
         }
    
    228 229
     
    
    229 230
         protected ContentUI getContentUI(ContentUI contentUI) {
    
    230
    -        Object delegateContentUI = contentUI.getObjectById("delegateContentUI");
    
    231
    +        Object delegateContentUI = contentUI.getObjectById(DELEGATE_CONTENT_UI);
    
    231 232
             if (delegateContentUI != null) {
    
    232 233
                 Component selectedComponent;
    
    233 234
                 if (delegateContentUI instanceof JTabbedPane) {
    

  • client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminTabUIInitializer.java
    ... ... @@ -24,17 +24,7 @@ package fr.ird.observe.client.ui.admin;
    24 24
     
    
    25 25
     import com.google.common.collect.ImmutableMap;
    
    26 26
     import fr.ird.observe.client.ObserveSwingApplicationContext;
    
    27
    -import fr.ird.observe.client.ui.ObserveKeyStrokes;
    
    28 27
     import fr.ird.observe.client.ui.actions.UIActionSupport;
    
    29
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToSubTab1UIAction;
    
    30
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToSubTab2UIAction;
    
    31
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToSubTab3UIAction;
    
    32
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab1UIAction;
    
    33
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab2UIAction;
    
    34
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab3UIAction;
    
    35
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab4UIAction;
    
    36
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab5UIAction;
    
    37
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab6UIAction;
    
    38 28
     import fr.ird.observe.client.ui.actions.content.api.tab.GoToTabUIActionSupport;
    
    39 29
     import fr.ird.observe.client.ui.content.api.spi.ObserveActionMap;
    
    40 30
     import fr.ird.observe.client.ui.util.UIHelper;
    
    ... ... @@ -356,37 +346,10 @@ public class AdminTabUIInitializer<UI extends AdminTabUI> {
    356 346
             int tabCount = tabbedPane.getTabCount();
    
    357 347
             InputMap inputMap = ui.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    
    358 348
             if (mainTabbedPane) {
    
    359
    -            ObserveKeyStrokes.addKeyStrokeToMainTabbedPane(tabbedPane);
    
    360
    -            if (tabCount > 0) {
    
    361
    -                inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_1, GoToTab1UIAction.ACTION_NAME);
    
    362
    -            }
    
    363
    -            if (tabCount > 1) {
    
    364
    -                inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_2, GoToTab2UIAction.ACTION_NAME);
    
    365
    -            }
    
    366
    -            if (tabCount > 2) {
    
    367
    -                inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_3, GoToTab3UIAction.ACTION_NAME);
    
    368
    -            }
    
    369
    -            if (tabCount > 3) {
    
    370
    -                inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_4, GoToTab4UIAction.ACTION_NAME);
    
    371
    -            }
    
    372
    -            if (tabCount > 4) {
    
    373
    -                inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_5, GoToTab5UIAction.ACTION_NAME);
    
    374
    -            }
    
    375
    -            if (tabCount > 5) {
    
    376
    -                inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_6, GoToTab6UIAction.ACTION_NAME);
    
    377
    -            }
    
    349
    +            UIHelper.initMainTab(tabbedPane, tabCount, inputMap);
    
    378 350
             }
    
    379 351
             if (subTabbedPane) {
    
    380
    -            ObserveKeyStrokes.addKeyStrokeToSubTabbedPane(tabbedPane);
    
    381
    -            if (tabCount > 0) {
    
    382
    -                inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_SUB_TAB_1, GoToSubTab1UIAction.ACTION_NAME);
    
    383
    -            }
    
    384
    -            if (tabCount > 1) {
    
    385
    -                inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_SUB_TAB_2, GoToSubTab2UIAction.ACTION_NAME);
    
    386
    -            }
    
    387
    -            if (tabCount > 2) {
    
    388
    -                inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_SUB_TAB_3, GoToSubTab3UIAction.ACTION_NAME);
    
    389
    -            }
    
    352
    +            UIHelper.initSubTab(tabbedPane, tabCount, inputMap);
    
    390 353
             }
    
    391 354
     
    
    392 355
         }
    

  • client-core/src/main/java/fr/ird/observe/client/ui/admin/consolidate/ConsolidateUIHandler.java
    ... ... @@ -27,14 +27,14 @@ import fr.ird.observe.client.db.ObserveSwingDataSource;
    27 27
     import fr.ird.observe.client.ui.ObserveKeyStrokes;
    
    28 28
     import fr.ird.observe.client.ui.admin.AdminTabUIHandler;
    
    29 29
     import fr.ird.observe.client.ui.util.ProgressModel;
    
    30
    +import fr.ird.observe.dto.data.ps.common.TripSeineReference;
    
    30 31
     import fr.ird.observe.dto.reference.DataDtoReference;
    
    31 32
     import fr.ird.observe.services.service.actions.consolidate.ConsolidateDataService;
    
    32 33
     import fr.ird.observe.services.service.actions.consolidate.ConsolidateTripSeineDataRequest;
    
    33 34
     import fr.ird.observe.services.service.actions.consolidate.ConsolidateTripSeineDataResult;
    
    34 35
     import fr.ird.observe.services.service.actions.consolidate.set.ConsolidateActivitySeineDataResult;
    
    35
    -import fr.ird.observe.spi.DtoModelClasses;
    
    36
    -import org.apache.logging.log4j.Logger;
    
    37 36
     import org.apache.logging.log4j.LogManager;
    
    37
    +import org.apache.logging.log4j.Logger;
    
    38 38
     import org.nuiton.jaxx.runtime.spi.UIHandler;
    
    39 39
     import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
    
    40 40
     
    
    ... ... @@ -81,7 +81,7 @@ public class ConsolidateUIHandler extends AdminTabUIHandler<ConsolidateUI> imple
    81 81
     
    
    82 82
             Set<DataDtoReference<?, ?>> trips = getModel().getSelectDataModel().getSelectionDataModel().getSelectedData();
    
    83 83
             ImmutableSet<String> tripIds = ImmutableSet.copyOf(trips.stream()
    
    84
    -                                                                   .filter(input -> DtoModelClasses.isTripSeineId(input.getId()))
    
    84
    +                                                                   .filter(input -> input instanceof TripSeineReference)
    
    85 85
                                                                        .map(DataDtoReference::getId)
    
    86 86
                                                                        .collect(Collectors.toSet()));
    
    87 87
     
    

  • client-core/src/main/java/fr/ird/observe/client/ui/content/api/ContentUIInitializer.java
    ... ... @@ -28,15 +28,6 @@ import com.google.common.collect.Lists;
    28 28
     import fr.ird.observe.client.ObserveSwingApplicationContext;
    
    29 29
     import fr.ird.observe.client.ui.ObserveKeyStrokes;
    
    30 30
     import fr.ird.observe.client.ui.actions.UIActionSupport;
    
    31
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToSubTab1UIAction;
    
    32
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToSubTab2UIAction;
    
    33
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToSubTab3UIAction;
    
    34
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab1UIAction;
    
    35
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab2UIAction;
    
    36
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab3UIAction;
    
    37
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab4UIAction;
    
    38
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab5UIAction;
    
    39
    -import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab6UIAction;
    
    40 31
     import fr.ird.observe.client.ui.actions.content.api.tab.GoToTabUIActionSupport;
    
    41 32
     import fr.ird.observe.client.ui.content.api.spi.ObserveActionMap;
    
    42 33
     import fr.ird.observe.client.ui.content.api.ui.DataReferenceListCellRenderer;
    
    ... ... @@ -227,6 +218,7 @@ public class ContentUIInitializer<UI extends ContentUI> {
    227 218
     
    
    228 219
             ImmutableMap.Builder<String, JAXXValidator> extraTabUIBuilder = ImmutableMap.builder();
    
    229 220
     
    
    221
    +        log.info("Init widgets - first pass for: "+ui);
    
    230 222
             Set<Object> done = new LinkedHashSet<>();
    
    231 223
             for (String name : ui.get$objectMap().keySet()) {
    
    232 224
                 Object o = ui.getObjectById(name);
    
    ... ... @@ -337,9 +329,14 @@ public class ContentUIInitializer<UI extends ContentUI> {
    337 329
                 }
    
    338 330
             }
    
    339 331
     
    
    332
    +        log.info("Init widgets - second pass for: "+ui);
    
    333
    +
    
    340 334
             // second pass to init JTabbedPane
    
    341 335
             ImmutableMap<String, JAXXValidator> extraTabUis = extraTabUIBuilder.build();
    
    342 336
             for (String name : ui.get$objectMap().keySet()) {
    
    337
    +            if (UIActionSupport.DELEGATE_CONTENT_UI.equals(name)) {
    
    338
    +                continue;
    
    339
    +            }
    
    343 340
                 Object o = ui.getObjectById(name);
    
    344 341
     
    
    345 342
                 if (o instanceof JTabbedPane) {
    
    ... ... @@ -742,41 +739,14 @@ public class ContentUIInitializer<UI extends ContentUI> {
    742 739
             int tabCount = tabbedPane.getTabCount();
    
    743 740
             InputMap inputMap = ui.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    
    744 741
     
    
    745
    -        ObserveKeyStrokes.addKeyStrokeToMainTabbedPane(tabbedPane);
    
    746
    -        if (tabCount > 0) {
    
    747
    -            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_1, GoToTab1UIAction.ACTION_NAME);
    
    748
    -        }
    
    749
    -        if (tabCount > 1) {
    
    750
    -            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_2, GoToTab2UIAction.ACTION_NAME);
    
    751
    -        }
    
    752
    -        if (tabCount > 2) {
    
    753
    -            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_3, GoToTab3UIAction.ACTION_NAME);
    
    754
    -        }
    
    755
    -        if (tabCount > 3) {
    
    756
    -            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_4, GoToTab4UIAction.ACTION_NAME);
    
    757
    -        }
    
    758
    -        if (tabCount > 4) {
    
    759
    -            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_5, GoToTab5UIAction.ACTION_NAME);
    
    760
    -        }
    
    761
    -        if (tabCount > 5) {
    
    762
    -            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_6, GoToTab6UIAction.ACTION_NAME);
    
    763
    -        }
    
    742
    +        UIHelper.initMainTab(tabbedPane, tabCount, inputMap);
    
    764 743
         }
    
    765 744
     
    
    766 745
         protected void initSubTabbedPane(JTabbedPane tabbedPane) {
    
    767 746
             int tabCount = tabbedPane.getTabCount();
    
    768 747
             InputMap inputMap = ui.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    
    769 748
     
    
    770
    -        ObserveKeyStrokes.addKeyStrokeToSubTabbedPane(tabbedPane);
    
    771
    -        if (tabCount > 0) {
    
    772
    -            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_SUB_TAB_1, GoToSubTab1UIAction.ACTION_NAME);
    
    773
    -        }
    
    774
    -        if (tabCount > 1) {
    
    775
    -            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_SUB_TAB_2, GoToSubTab2UIAction.ACTION_NAME);
    
    776
    -        }
    
    777
    -        if (tabCount > 2) {
    
    778
    -            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_SUB_TAB_3, GoToSubTab3UIAction.ACTION_NAME);
    
    779
    -        }
    
    749
    +        UIHelper.initSubTab(tabbedPane, tabCount, inputMap);
    
    780 750
     
    
    781 751
         }
    
    782 752
     
    

  • client-core/src/main/java/fr/ird/observe/client/ui/content/api/data/open/ContentOpenableUI.jcss
    ... ... @@ -42,7 +42,7 @@
    42 42
     
    
    43 43
     #save {
    
    44 44
       _globalAction:{SaveDataGlobalUIAction.ACTION_NAME};
    
    45
    -  enabled:{model.isModified() && model.isValid()};
    
    45
    +  enabled:{model.isValid() && (model.isModified() || model.isCreatingMode())};
    
    46 46
     }
    
    47 47
     
    
    48 48
     #delete {
    

  • client-core/src/main/java/fr/ird/observe/client/ui/util/UIHelper.java
    ... ... @@ -23,7 +23,17 @@ package fr.ird.observe.client.ui.util;
    23 23
     
    
    24 24
     import fr.ird.observe.client.ObserveSwingApplicationContext;
    
    25 25
     import fr.ird.observe.client.ObserveSwingTechnicalException;
    
    26
    +import fr.ird.observe.client.ui.ObserveKeyStrokes;
    
    26 27
     import fr.ird.observe.client.ui.ObserveMainUI;
    
    28
    +import fr.ird.observe.client.ui.actions.content.api.tab.GoToSubTab1UIAction;
    
    29
    +import fr.ird.observe.client.ui.actions.content.api.tab.GoToSubTab2UIAction;
    
    30
    +import fr.ird.observe.client.ui.actions.content.api.tab.GoToSubTab3UIAction;
    
    31
    +import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab1UIAction;
    
    32
    +import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab2UIAction;
    
    33
    +import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab3UIAction;
    
    34
    +import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab4UIAction;
    
    35
    +import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab5UIAction;
    
    36
    +import fr.ird.observe.client.ui.actions.content.api.tab.GoToTab6UIAction;
    
    27 37
     import fr.ird.observe.client.ui.actions.main.menu.storage.ChangeStorageAction;
    
    28 38
     import fr.ird.observe.client.ui.actions.main.menu.storage.CloseStorageAction;
    
    29 39
     import fr.ird.observe.client.ui.actions.main.menu.storage.ReloadStorageAction;
    
    ... ... @@ -49,10 +59,12 @@ import org.nuiton.jaxx.widgets.error.ErrorDialogUI;
    49 59
     import org.nuiton.jaxx.widgets.file.JaxxFileChooser;
    
    50 60
     import org.nuiton.jaxx.widgets.select.BeanFilterableComboBox;
    
    51 61
     
    
    62
    +import javax.swing.InputMap;
    
    52 63
     import javax.swing.JComponent;
    
    53 64
     import javax.swing.JDialog;
    
    54 65
     import javax.swing.JOptionPane;
    
    55 66
     import javax.swing.JScrollPane;
    
    67
    +import javax.swing.JTabbedPane;
    
    56 68
     import javax.swing.JTable;
    
    57 69
     import javax.swing.JTree;
    
    58 70
     import javax.swing.SwingUtilities;
    
    ... ... @@ -652,4 +664,38 @@ public class UIHelper extends SwingUtil {
    652 664
             return editor;
    
    653 665
         }
    
    654 666
     
    
    667
    +    public static void initMainTab(JTabbedPane tabbedPane, int tabCount, InputMap inputMap) {
    
    668
    +        ObserveKeyStrokes.addKeyStrokeToMainTabbedPane(tabbedPane);
    
    669
    +        if (tabCount > 0) {
    
    670
    +            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_1, GoToTab1UIAction.ACTION_NAME);
    
    671
    +        }
    
    672
    +        if (tabCount > 1) {
    
    673
    +            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_2, GoToTab2UIAction.ACTION_NAME);
    
    674
    +        }
    
    675
    +        if (tabCount > 2) {
    
    676
    +            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_3, GoToTab3UIAction.ACTION_NAME);
    
    677
    +        }
    
    678
    +        if (tabCount > 3) {
    
    679
    +            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_4, GoToTab4UIAction.ACTION_NAME);
    
    680
    +        }
    
    681
    +        if (tabCount > 4) {
    
    682
    +            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_5, GoToTab5UIAction.ACTION_NAME);
    
    683
    +        }
    
    684
    +        if (tabCount > 5) {
    
    685
    +            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_TAB_6, GoToTab6UIAction.ACTION_NAME);
    
    686
    +        }
    
    687
    +    }
    
    688
    +
    
    689
    +    public static void initSubTab(JTabbedPane tabbedPane, int tabCount, InputMap inputMap) {
    
    690
    +        ObserveKeyStrokes.addKeyStrokeToSubTabbedPane(tabbedPane);
    
    691
    +        if (tabCount > 0) {
    
    692
    +            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_SUB_TAB_1, GoToSubTab1UIAction.ACTION_NAME);
    
    693
    +        }
    
    694
    +        if (tabCount > 1) {
    
    695
    +            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_SUB_TAB_2, GoToSubTab2UIAction.ACTION_NAME);
    
    696
    +        }
    
    697
    +        if (tabCount > 2) {
    
    698
    +            inputMap.put(ObserveKeyStrokes.KEY_STROKE_GO_SUB_TAB_3, GoToSubTab3UIAction.ACTION_NAME);
    
    699
    +        }
    
    700
    +    }
    
    655 701
     }

  • dto/src/main/java/fr/ird/observe/spi/DtoModelClasses.java
    ... ... @@ -23,36 +23,37 @@ package fr.ird.observe.spi;
    23 23
      */
    
    24 24
     
    
    25 25
     import com.google.common.collect.ImmutableSet;
    
    26
    -import fr.ird.observe.dto.IdDto;
    
    27 26
     import fr.ird.observe.dto.data.DataDto;
    
    27
    +import fr.ird.observe.dto.data.ll.common.GearUseFeaturesLonglineDto;
    
    28
    +import fr.ird.observe.dto.data.ll.common.GearUseFeaturesMeasurementLonglineDto;
    
    29
    +import fr.ird.observe.dto.data.ll.common.TripLonglineDto;
    
    30
    +import fr.ird.observe.dto.data.ll.common.TripLonglineGearUseDto;
    
    31
    +import fr.ird.observe.dto.data.ll.landing.LandingLonglineDto;
    
    32
    +import fr.ird.observe.dto.data.ll.landing.LandingPartLonglineDto;
    
    28 33
     import fr.ird.observe.dto.data.ll.logbook.ActivityLonglineLogbookDto;
    
    34
    +import fr.ird.observe.dto.data.ll.logbook.BaitsCompositionLogbookDto;
    
    35
    +import fr.ird.observe.dto.data.ll.logbook.BranchlinesCompositionLogbookDto;
    
    36
    +import fr.ird.observe.dto.data.ll.logbook.CatchLonglineLogbookDto;
    
    37
    +import fr.ird.observe.dto.data.ll.logbook.FloatlinesCompositionLogbookDto;
    
    38
    +import fr.ird.observe.dto.data.ll.logbook.HooksCompositionLogbookDto;
    
    39
    +import fr.ird.observe.dto.data.ll.logbook.SampleLogbookDto;
    
    40
    +import fr.ird.observe.dto.data.ll.logbook.SamplePartLogbookDto;
    
    41
    +import fr.ird.observe.dto.data.ll.logbook.SetLonglineLogbookCatchDto;
    
    42
    +import fr.ird.observe.dto.data.ll.logbook.SetLonglineLogbookDto;
    
    43
    +import fr.ird.observe.dto.data.ll.logbook.SetLonglineLogbookGlobalCompositionDto;
    
    29 44
     import fr.ird.observe.dto.data.ll.observation.ActivityLonglineObsDto;
    
    30 45
     import fr.ird.observe.dto.data.ll.observation.ActivityLonglineObsEncounterDto;
    
    31 46
     import fr.ird.observe.dto.data.ll.observation.ActivityLonglineObsSensorUsedDto;
    
    32
    -import fr.ird.observe.dto.data.ll.logbook.BaitsCompositionLogbookDto;
    
    33 47
     import fr.ird.observe.dto.data.ll.observation.BaitsCompositionObsDto;
    
    34 48
     import fr.ird.observe.dto.data.ll.observation.BasketObsDto;
    
    35 49
     import fr.ird.observe.dto.data.ll.observation.BranchlineObsDto;
    
    36
    -import fr.ird.observe.dto.data.ll.logbook.BranchlinesCompositionLogbookDto;
    
    37 50
     import fr.ird.observe.dto.data.ll.observation.BranchlinesCompositionObsDto;
    
    38
    -import fr.ird.observe.dto.data.ll.logbook.CatchLonglineLogbookDto;
    
    39 51
     import fr.ird.observe.dto.data.ll.observation.CatchLonglineObsDto;
    
    40 52
     import fr.ird.observe.dto.data.ll.observation.EncounterObsDto;
    
    41
    -import fr.ird.observe.dto.data.ll.logbook.FloatlinesCompositionLogbookDto;
    
    42 53
     import fr.ird.observe.dto.data.ll.observation.FloatlinesCompositionObsDto;
    
    43
    -import fr.ird.observe.dto.data.ll.common.GearUseFeaturesLonglineDto;
    
    44
    -import fr.ird.observe.dto.data.ll.common.GearUseFeaturesMeasurementLonglineDto;
    
    45
    -import fr.ird.observe.dto.data.ll.logbook.HooksCompositionLogbookDto;
    
    46 54
     import fr.ird.observe.dto.data.ll.observation.HooksCompositionObsDto;
    
    47
    -import fr.ird.observe.dto.data.ll.landing.LandingLonglineDto;
    
    48
    -import fr.ird.observe.dto.data.ll.landing.LandingPartLonglineDto;
    
    49
    -import fr.ird.observe.dto.data.ll.logbook.SampleLogbookDto;
    
    50
    -import fr.ird.observe.dto.data.ll.logbook.SamplePartLogbookDto;
    
    51 55
     import fr.ird.observe.dto.data.ll.observation.SectionObsDto;
    
    52 56
     import fr.ird.observe.dto.data.ll.observation.SensorUsedObsDto;
    
    53
    -import fr.ird.observe.dto.data.ll.logbook.SetLonglineLogbookCatchDto;
    
    54
    -import fr.ird.observe.dto.data.ll.logbook.SetLonglineLogbookDto;
    
    55
    -import fr.ird.observe.dto.data.ll.logbook.SetLonglineLogbookGlobalCompositionDto;
    
    56 57
     import fr.ird.observe.dto.data.ll.observation.SetLonglineObsCatchDto;
    
    57 58
     import fr.ird.observe.dto.data.ll.observation.SetLonglineObsDetailCompositionDto;
    
    58 59
     import fr.ird.observe.dto.data.ll.observation.SetLonglineObsDto;
    
    ... ... @@ -61,8 +62,6 @@ import fr.ird.observe.dto.data.ll.observation.SetLonglineObsTdrDto;
    61 62
     import fr.ird.observe.dto.data.ll.observation.SizeMeasureObsDto;
    
    62 63
     import fr.ird.observe.dto.data.ll.observation.TdrObsDto;
    
    63 64
     import fr.ird.observe.dto.data.ll.observation.TripLonglineActivityObsDto;
    
    64
    -import fr.ird.observe.dto.data.ll.common.TripLonglineDto;
    
    65
    -import fr.ird.observe.dto.data.ll.common.TripLonglineGearUseDto;
    
    66 65
     import fr.ird.observe.dto.data.ll.observation.WeightMeasureObsDto;
    
    67 66
     import fr.ird.observe.dto.data.ps.common.GearUseFeaturesMeasurementSeineDto;
    
    68 67
     import fr.ird.observe.dto.data.ps.common.GearUseFeaturesSeineDto;
    
    ... ... @@ -91,9 +90,7 @@ import fr.ird.observe.dto.data.ps.observation.TargetCatchDto;
    91 90
     import fr.ird.observe.dto.data.ps.observation.TargetLengthDto;
    
    92 91
     import fr.ird.observe.dto.data.ps.observation.TargetSampleDto;
    
    93 92
     import fr.ird.observe.dto.data.ps.observation.TransmittingBuoyDto;
    
    94
    -import fr.ird.observe.dto.reference.DtoReference;
    
    95 93
     import fr.ird.observe.dto.referential.ReferentialDto;
    
    96
    -import fr.ird.observe.dto.referential.ll.landing.CompagniesDto;
    
    97 94
     import fr.ird.observe.dto.referential.common.CountryDto;
    
    98 95
     import fr.ird.observe.dto.referential.common.DataQualityDto;
    
    99 96
     import fr.ird.observe.dto.referential.common.FpaZoneDto;
    
    ... ... @@ -121,38 +118,40 @@ import fr.ird.observe.dto.referential.common.VesselTypeDto;
    121 118
     import fr.ird.observe.dto.referential.common.WeightMeasureMethodDto;
    
    122 119
     import fr.ird.observe.dto.referential.common.WeightMeasureTypeDto;
    
    123 120
     import fr.ird.observe.dto.referential.common.WindDto;
    
    124
    -import fr.ird.observe.dto.referential.ll.observation.BaitHaulingStatusDto;
    
    125 121
     import fr.ird.observe.dto.referential.ll.common.BaitSettingStatusDto;
    
    126 122
     import fr.ird.observe.dto.referential.ll.common.BaitTypeDto;
    
    127 123
     import fr.ird.observe.dto.referential.ll.common.CatchFateLonglineDto;
    
    128
    -import fr.ird.observe.dto.referential.ll.landing.ConservationDto;
    
    129
    -import fr.ird.observe.dto.referential.ll.landing.DataSourceDto;
    
    130
    -import fr.ird.observe.dto.referential.ll.observation.EncounterTypeDto;
    
    131 124
     import fr.ird.observe.dto.referential.ll.common.HealthnessDto;
    
    132
    -import fr.ird.observe.dto.referential.ll.observation.HookPositionDto;
    
    133 125
     import fr.ird.observe.dto.referential.ll.common.HookSizeDto;
    
    134 126
     import fr.ird.observe.dto.referential.ll.common.HookTypeDto;
    
    135
    -import fr.ird.observe.dto.referential.ll.observation.ItemHorizontalPositionDto;
    
    136
    -import fr.ird.observe.dto.referential.ll.observation.ItemVerticalPositionDto;
    
    137 127
     import fr.ird.observe.dto.referential.ll.common.LightsticksColorDto;
    
    138 128
     import fr.ird.observe.dto.referential.ll.common.LightsticksTypeDto;
    
    139 129
     import fr.ird.observe.dto.referential.ll.common.LineTypeDto;
    
    140
    -import fr.ird.observe.dto.referential.ll.observation.MaturityStatusDto;
    
    141 130
     import fr.ird.observe.dto.referential.ll.common.MitigationTypeDto;
    
    142 131
     import fr.ird.observe.dto.referential.ll.common.ObservationMethodDto;
    
    143 132
     import fr.ird.observe.dto.referential.ll.common.OnBoardProcessingDto;
    
    144
    -import fr.ird.observe.dto.referential.ll.observation.SensorBrandDto;
    
    145
    -import fr.ird.observe.dto.referential.ll.observation.SensorDataFormatDto;
    
    146
    -import fr.ird.observe.dto.referential.ll.observation.SensorTypeDto;
    
    147 133
     import fr.ird.observe.dto.referential.ll.common.SettingShapeDto;
    
    148
    -import fr.ird.observe.dto.referential.ll.observation.StomacFullnessDto;
    
    149 134
     import fr.ird.observe.dto.referential.ll.common.TripTypeDto;
    
    150 135
     import fr.ird.observe.dto.referential.ll.common.VesselActivityLonglineDto;
    
    151 136
     import fr.ird.observe.dto.referential.ll.common.WeightCategoryLonglineDto;
    
    152 137
     import fr.ird.observe.dto.referential.ll.common.WeightDeterminationMethodDto;
    
    138
    +import fr.ird.observe.dto.referential.ll.landing.CompagniesDto;
    
    139
    +import fr.ird.observe.dto.referential.ll.landing.ConservationDto;
    
    140
    +import fr.ird.observe.dto.referential.ll.landing.DataSourceDto;
    
    141
    +import fr.ird.observe.dto.referential.ll.observation.BaitHaulingStatusDto;
    
    142
    +import fr.ird.observe.dto.referential.ll.observation.EncounterTypeDto;
    
    143
    +import fr.ird.observe.dto.referential.ll.observation.HookPositionDto;
    
    144
    +import fr.ird.observe.dto.referential.ll.observation.ItemHorizontalPositionDto;
    
    145
    +import fr.ird.observe.dto.referential.ll.observation.ItemVerticalPositionDto;
    
    146
    +import fr.ird.observe.dto.referential.ll.observation.MaturityStatusDto;
    
    147
    +import fr.ird.observe.dto.referential.ll.observation.SensorBrandDto;
    
    148
    +import fr.ird.observe.dto.referential.ll.observation.SensorDataFormatDto;
    
    149
    +import fr.ird.observe.dto.referential.ll.observation.SensorTypeDto;
    
    150
    +import fr.ird.observe.dto.referential.ll.observation.StomacFullnessDto;
    
    153 151
     import fr.ird.observe.dto.referential.ps.common.SpeciesFateDto;
    
    154 152
     import fr.ird.observe.dto.referential.ps.common.TransmittingBuoyOperationDto;
    
    155 153
     import fr.ird.observe.dto.referential.ps.common.TransmittingBuoyTypeDto;
    
    154
    +import fr.ird.observe.dto.referential.ps.common.VesselActivitySeineDto;
    
    156 155
     import fr.ird.observe.dto.referential.ps.observation.DetectionModeDto;
    
    157 156
     import fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleaseConformityDto;
    
    158 157
     import fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleaseStatusDto;
    
    ... ... @@ -166,7 +165,6 @@ import fr.ird.observe.dto.referential.ps.observation.ReasonForNoFishingDto;
    166 165
     import fr.ird.observe.dto.referential.ps.observation.ReasonForNullSetDto;
    
    167 166
     import fr.ird.observe.dto.referential.ps.observation.SpeciesStatusDto;
    
    168 167
     import fr.ird.observe.dto.referential.ps.observation.SurroundingActivityDto;
    
    169
    -import fr.ird.observe.dto.referential.ps.common.VesselActivitySeineDto;
    
    170 168
     import fr.ird.observe.dto.referential.ps.observation.WeightCategorySeineDto;
    
    171 169
     
    
    172 170
     /**
    
    ... ... @@ -385,86 +383,6 @@ public class DtoModelClasses {
    385 383
                 .addAll(ENTITY_DATA_WITH_NO_BINDER_TYPES)
    
    386 384
                 .build();
    
    387 385
     
    
    388
    -    public static boolean isProgramId(String id) {
    
    389
    -        return id.contains("Program");
    
    390
    -    }
    
    391
    -
    
    392
    -    public static boolean isTrip(IdDto dto) {
    
    393
    -        return isTripSeineId(dto.getId()) || isTripLonglineId(dto.getId());
    
    394
    -    }
    
    395
    -
    
    396
    -    public static boolean isTrip(DtoReference dto) {
    
    397
    -        return isTripSeineId(dto.getId()) || isTripLonglineId(dto.getId());
    
    398
    -    }
    
    399
    -
    
    400
    -    public static boolean isTripLonglineId(String id) {
    
    401
    -        return id.contains("TripLongline");
    
    402
    -    }
    
    403
    -
    
    404
    -    public static boolean isTripSeineId(String id) {
    
    405
    -        return id.contains("TripSeine");
    
    406
    -    }
    
    407
    -
    
    408
    -    public static boolean isRouteId(String id) {
    
    409
    -        return id.contains("Route");
    
    410
    -    }
    
    411
    -
    
    412
    -    public static boolean isActivitySeine(IdDto dto) {
    
    413
    -        return isActivitySeineId(dto.getId());
    
    414
    -    }
    
    415
    -
    
    416
    -    public static boolean isActivitySeineId(String id) {
    
    417
    -        return id.contains("ActivitySeine");
    
    418
    -    }
    
    419
    -
    
    420
    -    public static boolean isActivityLonglineObs(IdDto dto) {
    
    421
    -        return isActivityLonglineObsId(dto.getId());
    
    422
    -    }
    
    423
    -
    
    424
    -    public static boolean isActivityLonglineLogbook(IdDto dto) {
    
    425
    -        return isActivityLonglineLogbookId(dto.getId());
    
    426
    -    }
    
    427
    -
    
    428
    -    public static boolean isActivityLonglineObsId(String id) {
    
    429
    -        return id.contains("ActivityLonglineObs");
    
    430
    -    }
    
    431
    -
    
    432
    -    public static boolean isActivityLonglineLogbookId(String id) {
    
    433
    -        return id.contains("ActivityLonglineLogbook");
    
    434
    -    }
    
    435
    -
    
    436
    -    public static boolean isSetSeine(IdDto dto) {
    
    437
    -        return isSetSeineId(dto.getId());
    
    438
    -    }
    
    439
    -
    
    440
    -    public static boolean isSetSeineId(String id) {
    
    441
    -        return id.contains("SetSeine");
    
    442
    -    }
    
    443
    -
    
    444
    -    public static boolean isSetLonglineObs(IdDto dto) {
    
    445
    -        return isSetLonglineObsId(dto.getId());
    
    446
    -    }
    
    447
    -
    
    448
    -    public static boolean isSetLonglineObsId(String id) {
    
    449
    -        return id.contains("SetLonglineObs");
    
    450
    -    }
    
    451
    -
    
    452
    -    public static boolean isSetLonglineLogbook(IdDto dto) {
    
    453
    -        return isSetLonglineLogbookId(dto.getId());
    
    454
    -    }
    
    455
    -
    
    456
    -    public static boolean isSetLonglineLogbookId(String id) {
    
    457
    -        return id.contains("SetLonglineLogbook");
    
    458
    -    }
    
    459
    -
    
    460
    -    public static boolean isFloatingObject(IdDto dto) {
    
    461
    -        return isFloatingObjectId(dto.getId());
    
    462
    -    }
    
    463
    -
    
    464
    -    public static boolean isFloatingObjectId(String id) {
    
    465
    -        return id.contains("FloatingObject");
    
    466
    -    }
    
    467
    -
    
    468 386
         public static boolean isSeineId(String id) {
    
    469 387
             return id.contains("Seine");
    
    470 388
         }
    

  • persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaPersistenceContext.java
    ... ... @@ -28,6 +28,7 @@ import fr.ird.observe.spi.DbModelHelper;
    28 28
     import org.apache.logging.log4j.LogManager;
    
    29 29
     import org.apache.logging.log4j.Logger;
    
    30 30
     import org.nuiton.topia.persistence.TopiaDao;
    
    31
    +import org.nuiton.topia.persistence.TopiaEntity;
    
    31 32
     import org.nuiton.topia.persistence.TopiaEntityEnumProvider;
    
    32 33
     import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter;
    
    33 34
     import org.nuiton.topia.persistence.internal.support.TopiaUsageSupportImpl;
    
    ... ... @@ -140,6 +141,13 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste
    140 141
             return showSql;
    
    141 142
         }
    
    142 143
     
    
    144
    +    public boolean exists(String topiaId) {
    
    145
    +        checkNotClosed();
    
    146
    +        Class<? extends TopiaEntity> entityClass = getTopiaIdFactory().getClassName(topiaId);
    
    147
    +        TopiaDao<?> dao = getDao(entityClass);
    
    148
    +        return dao.forTopiaIdEquals(topiaId).exists();
    
    149
    +    }
    
    150
    +
    
    143 151
         public <E extends ObserveEntity> E newEntity(Class<E> entityType) {
    
    144 152
             TopiaDao<E> dao = getDao(entityType);
    
    145 153
             return dao.newInstance();
    

  • pom.xml
    ... ... @@ -26,7 +26,7 @@
    26 26
       <parent>
    
    27 27
         <groupId>io.ultreia.maven</groupId>
    
    28 28
         <artifactId>pom</artifactId>
    
    29
    -    <version>2019.8.18</version>
    
    29
    +    <version>2019.8.19</version>
    
    30 30
       </parent>
    
    31 31
     
    
    32 32
       <groupId>fr.ird.observe</groupId>
    
    ... ... @@ -163,7 +163,7 @@
    163 163
     
    
    164 164
         <lib.version.java4all.topia>1.9</lib.version.java4all.topia>
    
    165 165
         <!--<lib.version.java4all.eugene>3.0-alpha-22</lib.version.java4all.eugene>-->
    
    166
    -    <lib.version.java4all.jaxx>3.0-alpha-52</lib.version.java4all.jaxx>
    
    166
    +    <!--lib.version.java4all.jaxx>3.0-alpha-52</lib.version.java4all.jaxx-->
    
    167 167
         <!--<lib.version.java4all.i18n>4.0-beta-3-SNAPSHOT</lib.version.java4all.i18n>-->
    
    168 168
         <!--<lib.version.java4all.config>1.0.8-SNAPSHOT</lib.version.java4all.config>-->
    
    169 169
         <!--<lib.version.nuiton.topia>3.4.2-SNAPSHOT</lib.version.nuiton.topia>-->
    

  • services-local/src/main/java/fr/ird/observe/services/local/service/data/NavigationServiceLocal.java
    ... ... @@ -40,7 +40,6 @@ import fr.ird.observe.services.service.data.NavigationService;
    40 40
     import fr.ird.observe.services.service.data.ll.common.TripLonglineService;
    
    41 41
     import fr.ird.observe.services.service.data.ps.common.TripSeineService;
    
    42 42
     import fr.ird.observe.services.service.referential.ReferentialService;
    
    43
    -import fr.ird.observe.spi.DtoModelClasses;
    
    44 43
     
    
    45 44
     import java.util.Set;
    
    46 45
     
    
    ... ... @@ -120,30 +119,7 @@ public class NavigationServiceLocal extends ObserveServiceLocal implements Navig
    120 119
     
    
    121 120
             ObserveTopiaPersistenceContext topiaPersistenceContext = serviceContext.getTopiaPersistenceContext();
    
    122 121
             for (String id : ids) {
    
    123
    -            boolean exists;
    
    124
    -            if (DtoModelClasses.isProgramId(id)) {
    
    125
    -                exists = topiaPersistenceContext.getProgramDao().forTopiaIdEquals(id).exists();
    
    126
    -            } else if (DtoModelClasses.isTripSeineId(id)) {
    
    127
    -                exists = topiaPersistenceContext.getTripSeineDao().forTopiaIdEquals(id).exists();
    
    128
    -            } else if (DtoModelClasses.isRouteId(id)) {
    
    129
    -                exists = topiaPersistenceContext.getRouteDao().forTopiaIdEquals(id).exists();
    
    130
    -            } else if (DtoModelClasses.isActivitySeineId(id)) {
    
    131
    -                exists = topiaPersistenceContext.getActivitySeineDao().forTopiaIdEquals(id).exists();
    
    132
    -            } else if (DtoModelClasses.isSetSeineId(id)) {
    
    133
    -                exists = topiaPersistenceContext.getSetSeineDao().forTopiaIdEquals(id).exists();
    
    134
    -            } else if (DtoModelClasses.isFloatingObjectId(id)) {
    
    135
    -                exists = topiaPersistenceContext.getFloatingObjectDao().forTopiaIdEquals(id).exists();
    
    136
    -            } else if (DtoModelClasses.isTripLonglineId(id)) {
    
    137
    -                exists = topiaPersistenceContext.getTripLonglineDao().forTopiaIdEquals(id).exists();
    
    138
    -            } else if (DtoModelClasses.isActivityLonglineObsId(id)) {
    
    139
    -                exists = topiaPersistenceContext.getActivityLonglineObsDao().forTopiaIdEquals(id).exists();
    
    140
    -            } else if (DtoModelClasses.isSetLonglineObsId(id)) {
    
    141
    -                exists = DtoModelClasses.isSetLonglineObsId(id) && topiaPersistenceContext.getSetLonglineObsDao().forTopiaIdEquals(id).exists();
    
    142
    -            } else if (DtoModelClasses.isActivityLonglineLogbookId(id)) {
    
    143
    -                exists = topiaPersistenceContext.getActivityLonglineLogbookDao().forTopiaIdEquals(id).exists();
    
    144
    -            } else {
    
    145
    -                exists = DtoModelClasses.isSetLonglineLogbookId(id) && topiaPersistenceContext.getSetLonglineLogbookDao().forTopiaIdEquals(id).exists();
    
    146
    -            }
    
    122
    +            boolean exists = topiaPersistenceContext.exists(id);
    
    147 123
                 if (exists) {
    
    148 124
                     result.add(id);
    
    149 125
                 }
    

  • services-local/src/main/java/fr/ird/observe/services/local/service/data/TripManagementServiceLocal.java
    ... ... @@ -36,7 +36,6 @@ import fr.ird.observe.services.service.data.TripManagementService;
    36 36
     import fr.ird.observe.services.service.sql.AddSqlScriptProducerRequest;
    
    37 37
     import fr.ird.observe.services.service.sql.DeleteSqlScriptProducerRequest;
    
    38 38
     import fr.ird.observe.services.service.sql.SqlScriptProducerService;
    
    39
    -import fr.ird.observe.spi.DtoModelClasses;
    
    40 39
     import org.apache.logging.log4j.LogManager;
    
    41 40
     import org.apache.logging.log4j.Logger;
    
    42 41
     import org.nuiton.topia.persistence.script.SqlScriptConsumer;
    
    ... ... @@ -150,8 +149,7 @@ public class TripManagementServiceLocal extends ObserveServiceLocal implements T
    150 149
     
    
    151 150
             long t0 = System.nanoTime();
    
    152 151
     
    
    153
    -        boolean isTripSeineId = DtoModelClasses.isTripSeineId(tripId);
    
    154
    -        boolean deleted = (isTripSeineId && tripSeineIds.contains(tripId)) || tripLonglineIds.contains(tripId);
    
    152
    +        boolean deleted = tripSeineIds.contains(tripId) || tripLonglineIds.contains(tripId);
    
    155 153
     
    
    156 154
             if (deleted) {
    
    157 155
                 log.info("Start delete of trip: " + tripId);
    
    ... ... @@ -163,12 +161,6 @@ public class TripManagementServiceLocal extends ObserveServiceLocal implements T
    163 161
                 persistenceContext.getSqlSupport().doSqlWork(SqlScriptConsumer.of(sqlScript));
    
    164 162
     
    
    165 163
                 log.info("Delete of trip: " + tripId + " done in " + StringUtil.convertTime(t0, System.nanoTime()));
    
    166
    -
    
    167
    -            if (isTripSeineId) {
    
    168
    -                tripSeineIds.remove(tripId);
    
    169
    -            } else {
    
    170
    -                tripLonglineIds.remove(tripId);
    
    171
    -            }
    
    172 164
                 persistenceContext.commit();
    
    173 165
             }
    
    174 166
             return deleted;