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

Commits:

6 changed files:

Changes:

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchReleaseUIHandler.java
    ... ... @@ -45,11 +45,9 @@ import fr.ird.observe.services.dto.seine.NonTargetCatchReleaseStatusDto;
    45 45
     import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchReleaseDto;
    
    46 46
     import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchReleaseHelper;
    
    47 47
     import fr.ird.observe.services.service.data.seine.NonTargetCatchReleaseService;
    
    48
    -import fr.ird.observe.services.service.data.seine.NonTargetSampleService;
    
    49 48
     import fr.ird.observe.services.service.referential.ReferentialService;
    
    50 49
     import java.beans.PropertyChangeListener;
    
    51 50
     import java.util.ArrayList;
    
    52
    -import java.util.Arrays;
    
    53 51
     import java.util.Collection;
    
    54 52
     import java.util.Collections;
    
    55 53
     import java.util.Date;
    
    ... ... @@ -59,7 +57,6 @@ import java.util.Map;
    59 57
     import java.util.Objects;
    
    60 58
     import java.util.Set;
    
    61 59
     import java.util.TreeMap;
    
    62
    -import java.util.stream.Collectors;
    
    63 60
     import javax.swing.JComponent;
    
    64 61
     import javax.swing.JPanel;
    
    65 62
     import javax.swing.JPopupMenu;
    
    ... ... @@ -111,7 +108,6 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei
    111 108
     
    
    112 109
         private void updateSpecies(ReferentialReference<SpeciesDto> species, List<NonTargetCatchReleaseStatusDto> states) {
    
    113 110
     
    
    114
    -        ReferentialReference<SpeciesDto> oldSpecies = getTableEditBean().getSpecies();
    
    115 111
             JPanel statesContent = getUi().getStatesContent();
    
    116 112
             statesContent.removeAll();
    
    117 113
     
    
    ... ... @@ -205,24 +201,17 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei
    205 201
             bean.removePropertyChangeListener(NonTargetCatchReleaseDto.PROPERTY_SPECIES, speciesChanged);
    
    206 202
             bean.addPropertyChangeListener(NonTargetCatchReleaseDto.PROPERTY_SPECIES, speciesChanged);
    
    207 203
     
    
    208
    -        log.info("Focus to "+requestFocus.getName());
    
    204
    +        log.info("Focus to " + requestFocus.getName());
    
    209 205
             UIHelper.askFocus(requestFocus);
    
    210 206
         }
    
    211 207
     
    
    212
    -    private static final List<String> SPECIES_GROUP_IDS = Arrays.asList(
    
    213
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1445863056144#0.9820877553253712",
    
    214
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683690#0.24333033683679461",
    
    215
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1446014286433#0.6480183366605247",
    
    216
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683689#0.7120116158620075"
    
    217
    -    );
    
    218
    -
    
    219 208
         @Override
    
    220 209
         public void afterInit(NonTargetCatchReleaseUI ui) {
    
    221 210
             super.afterInit(ui);
    
    222 211
     
    
    223 212
             speciesGroupDtoMap = new TreeMap<>();
    
    224 213
     
    
    225
    -        SPECIES_GROUP_IDS.forEach(id -> speciesGroupDtoMap.put(id, getReferentialService().loadSpeciesGroup(id)));
    
    214
    +        getReferentialService().loadSensibleSpeciesGroup().forEach(id -> speciesGroupDtoMap.put(id.getId(), id));
    
    226 215
     
    
    227 216
             ui.getDetectionTime().getSliderHidor().addPropertyChangeListener(HidorButton.PROPERTY_TARGET_VISIBLE, onToogleTimeEditorSliderChangedListener);
    
    228 217
             ui.getReleaseTime().getSliderHidor().addPropertyChangeListener(HidorButton.PROPERTY_TARGET_VISIBLE, onToogleTimeEditorSliderChangedListener);
    
    ... ... @@ -303,9 +292,9 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei
    303 292
     
    
    304 293
                 case NonTargetCatchReleaseDto.PROPERTY_SPECIES: {
    
    305 294
     
    
    306
    -                Collection<ReferentialReference<SpeciesDto>> sampleSpecies = getNonTargetSampleService().getSampleSpecies(getSelectedParentId());
    
    295
    +                Collection<ReferentialReference<SpeciesDto>> sampleSpecies = getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId());
    
    307 296
     
    
    308
    -                result = (Collection) sampleSpecies.stream().filter(s -> SPECIES_GROUP_IDS.contains(s.getPropertyValue(SpeciesDto.PROPERTY_SPECIES_GROUP + "Id"))).collect(Collectors.toList());
    
    297
    +                result = new LinkedList(sampleSpecies);
    
    309 298
     
    
    310 299
                     if (log.isDebugEnabled()) {
    
    311 300
                         log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
    
    ... ... @@ -329,10 +318,6 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei
    329 318
             return ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newReferentialService();
    
    330 319
         }
    
    331 320
     
    
    332
    -    private NonTargetSampleService getNonTargetSampleService() {
    
    333
    -        return ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newNonTargetSampleService();
    
    334
    -    }
    
    335
    -
    
    336 321
         public void moveCatchLonglineUp() {
    
    337 322
             int selectedRow = getUi().getTable().getSelectedRow();
    
    338 323
             getTableModel().moveUp(selectedRow);
    

  • application-web/src/main/filtered-resources/mapping
    ... ... @@ -163,6 +163,7 @@ GET /api/v1/data/seine/FloatingObjectService/loadReferenceToRead
    163 163
     GET    /api/v1/data/seine/FloatingObjectService/preCreate                                                                            v1.data.seine.FloatingObjectServiceRestApi.preCreate
    
    164 164
     POST   /api/v1/data/seine/FloatingObjectService/save                                                                                 v1.data.seine.FloatingObjectServiceRestApi.save
    
    165 165
     POST   /api/v1/data/seine/FloatingObjectService/save                                                                                 v1.data.seine.FloatingObjectServiceRestApi.save
    
    166
    +GET    /api/v1/data/seine/NonTargetCatchReleaseService/getSampleSpecies                                                              v1.data.seine.NonTargetCatchReleaseServiceRestApi.getSampleSpecies
    
    166 167
     GET    /api/v1/data/seine/NonTargetCatchReleaseService/loadForm                                                                      v1.data.seine.NonTargetCatchReleaseServiceRestApi.loadForm
    
    167 168
     POST   /api/v1/data/seine/NonTargetCatchReleaseService/save                                                                          v1.data.seine.NonTargetCatchReleaseServiceRestApi.save
    
    168 169
     GET    /api/v1/data/seine/NonTargetCatchService/loadForm                                                                             v1.data.seine.NonTargetCatchServiceRestApi.loadForm
    
    ... ... @@ -229,6 +230,7 @@ GET /api/v1/referential/ReferentialService/getReferentialReferenceSets
    229 230
     POST   /api/v1/referential/ReferentialService/insertMissingReferentials                                                              v1.referential.ReferentialServiceRestApi.insertMissingReferentials
    
    230 231
     GET    /api/v1/referential/ReferentialService/loadForm                                                                               v1.referential.ReferentialServiceRestApi.loadForm
    
    231 232
     GET    /api/v1/referential/ReferentialService/loadReference                                                                          v1.referential.ReferentialServiceRestApi.loadReference
    
    233
    +GET    /api/v1/referential/ReferentialService/loadSensibleSpeciesGroup                                                               v1.referential.ReferentialServiceRestApi.loadSensibleSpeciesGroup
    
    232 234
     GET    /api/v1/referential/ReferentialService/loadSpecies                                                                            v1.referential.ReferentialServiceRestApi.loadSpecies
    
    233 235
     GET    /api/v1/referential/ReferentialService/loadSpeciesGroup                                                                       v1.referential.ReferentialServiceRestApi.loadSpeciesGroup
    
    234 236
     GET    /api/v1/referential/ReferentialService/preCreate                                                                              v1.referential.ReferentialServiceRestApi.preCreate
    

  • services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/NonTargetCatchReleaseServiceTopia.java
    ... ... @@ -22,12 +22,22 @@ package fr.ird.observe.services.topia.service.data.seine;
    22 22
      * #L%
    
    23 23
      */
    
    24 24
     
    
    25
    +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity;
    
    26
    +import fr.ird.observe.entities.seine.NonTargetCatch;
    
    25 27
     import fr.ird.observe.entities.seine.SetSeine;
    
    28
    +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport;
    
    29
    +import fr.ird.observe.services.dto.constants.ReferentialLocale;
    
    26 30
     import fr.ird.observe.services.dto.form.Form;
    
    31
    +import fr.ird.observe.services.dto.reference.ReferentialReference;
    
    32
    +import fr.ird.observe.services.dto.referential.SpeciesDto;
    
    27 33
     import fr.ird.observe.services.dto.result.SaveResultDto;
    
    34
    +import fr.ird.observe.services.dto.seine.SetSeineDto;
    
    28 35
     import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchReleaseDto;
    
    29 36
     import fr.ird.observe.services.service.data.seine.NonTargetCatchReleaseService;
    
    30 37
     import fr.ird.observe.services.topia.ObserveServiceTopia;
    
    38
    +import fr.ird.observe.services.topia.service.referential.ReferentialServiceTopia;
    
    39
    +import java.util.Collection;
    
    40
    +import java.util.stream.Collectors;
    
    31 41
     import org.apache.commons.logging.Log;
    
    32 42
     import org.apache.commons.logging.LogFactory;
    
    33 43
     
    
    ... ... @@ -39,6 +49,26 @@ public class NonTargetCatchReleaseServiceTopia extends ObserveServiceTopia imple
    39 49
         private static final Log log = LogFactory.getLog(NonTargetCatchReleaseServiceTopia.class);
    
    40 50
     
    
    41 51
         @Override
    
    52
    +    public Collection<ReferentialReference<SpeciesDto>> getSampleSpecies(String setSeineId) {
    
    53
    +        if (log.isTraceEnabled()) {
    
    54
    +            log.trace("getSampleSpecies(" + setSeineId + ")");
    
    55
    +        }
    
    56
    +
    
    57
    +        SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId);
    
    58
    +
    
    59
    +        ReferentialBinderSupport<ObserveReferentialEntity, SpeciesDto> speciesBinder = getReferentialBinder(SpeciesDto.class);
    
    60
    +
    
    61
    +        ReferentialLocale referentialLocale = getReferentialLocale();
    
    62
    +
    
    63
    +        return setSeine.getNonTargetCatch().stream()
    
    64
    +                .map(NonTargetCatch::getSpecies)
    
    65
    +                .distinct()
    
    66
    +                .filter(s-> ReferentialServiceTopia.SPECIES_GROUP_IDS.contains(s.getSpeciesGroup().getTopiaId()))
    
    67
    +                .map(s -> speciesBinder.toReferentialReference(referentialLocale, s))
    
    68
    +                .collect(Collectors.toList());
    
    69
    +    }
    
    70
    +
    
    71
    +    @Override
    
    42 72
         public Form<SetSeineNonTargetCatchReleaseDto> loadForm(String setSeineId) {
    
    43 73
             if (log.isTraceEnabled()) {
    
    44 74
                 log.trace("loadForm(" + setSeineId + ")");
    

  • services-topia/src/main/java/fr/ird/observe/services/topia/service/referential/ReferentialServiceTopia.java
    ... ... @@ -61,6 +61,7 @@ import fr.ird.observe.services.service.sql.AddSqlScriptProducerResult;
    61 61
     import fr.ird.observe.services.service.sql.SqlScriptProducerService;
    
    62 62
     import fr.ird.observe.services.topia.ObserveServiceTopia;
    
    63 63
     import fr.ird.observe.services.topia.service.actions.synchro.referential.sql.ReplaceSqlStatementGenerator;
    
    64
    +import java.util.Arrays;
    
    64 65
     import java.util.Collection;
    
    65 66
     import java.util.Collections;
    
    66 67
     import java.util.Date;
    
    ... ... @@ -82,6 +83,12 @@ import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
    82 83
     public class ReferentialServiceTopia extends ObserveServiceTopia implements ReferentialService {
    
    83 84
     
    
    84 85
         private static final Log log = LogFactory.getLog(ReferentialServiceTopia.class);
    
    86
    +    public static final List<String> SPECIES_GROUP_IDS = Arrays.asList(
    
    87
    +            "fr.ird.observe.entities.referentiel.SpeciesGroup#1445863056144#0.9820877553253712",
    
    88
    +            "fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683690#0.24333033683679461",
    
    89
    +            "fr.ird.observe.entities.referentiel.SpeciesGroup#1446014286433#0.6480183366605247",
    
    90
    +            "fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683689#0.7120116158620075"
    
    91
    +    );
    
    85 92
     
    
    86 93
         @Override
    
    87 94
         public <D extends ReferentialDto> ReferentialReferenceSet<D> getReferenceSet(Class<D> type, Date lastUpdateDate) {
    
    ... ... @@ -161,6 +168,20 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe
    161 168
         }
    
    162 169
     
    
    163 170
         @Override
    
    171
    +    public ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup() {
    
    172
    +        if (log.isTraceEnabled()) {
    
    173
    +            log.trace("loadSensibleSpeciesGroup()");
    
    174
    +        }
    
    175
    +
    
    176
    +        ImmutableSet.Builder<SpeciesGroupDto> result = ImmutableSet.builder();
    
    177
    +
    
    178
    +        for (String speciesGroupId : SPECIES_GROUP_IDS) {
    
    179
    +            result.add(loadSpeciesGroup(speciesGroupId));
    
    180
    +        }
    
    181
    +        return result.build();
    
    182
    +    }
    
    183
    +
    
    184
    +    @Override
    
    164 185
         public <D extends ReferentialDto> Form<D> loadForm(Class<D> type, String id) {
    
    165 186
             if (log.isTraceEnabled()) {
    
    166 187
                 log.trace("loadForm(" + type.getName() + ", " + id + ")");
    

  • services/src/main/java/fr/ird/observe/services/service/data/seine/NonTargetCatchReleaseService.java
    ... ... @@ -22,6 +22,8 @@ package fr.ird.observe.services.service.data.seine;
    22 22
      * #L%
    
    23 23
      */
    
    24 24
     
    
    25
    +import fr.ird.observe.services.dto.reference.ReferentialReference;
    
    26
    +import fr.ird.observe.services.dto.referential.SpeciesDto;
    
    25 27
     import fr.ird.observe.services.service.ObserveService;
    
    26 28
     import fr.ird.observe.services.dto.form.Form;
    
    27 29
     import fr.ird.observe.services.dto.result.SaveResultDto;
    
    ... ... @@ -31,6 +33,7 @@ import io.ultreia.java4all.http.spi.Post;
    31 33
     import fr.ird.observe.services.spi.ReadDataPermission;
    
    32 34
     import fr.ird.observe.services.spi.Write;
    
    33 35
     import fr.ird.observe.services.spi.WriteDataPermission;
    
    36
    +import java.util.Collection;
    
    34 37
     
    
    35 38
     /**
    
    36 39
      * @author Sylvain Bavencoff - bavencoff@codelutin.com
    
    ... ... @@ -39,6 +42,10 @@ public interface NonTargetCatchReleaseService extends ObserveService {
    39 42
     
    
    40 43
         @Get
    
    41 44
         @ReadDataPermission
    
    45
    +    Collection<ReferentialReference<SpeciesDto>> getSampleSpecies(String setSeineId);
    
    46
    +
    
    47
    +    @Get
    
    48
    +    @ReadDataPermission
    
    42 49
         Form<SetSeineNonTargetCatchReleaseDto> loadForm(String setSeineId);
    
    43 50
     
    
    44 51
         @Write
    

  • services/src/main/java/fr/ird/observe/services/service/referential/ReferentialService.java
    ... ... @@ -72,6 +72,10 @@ public interface ReferentialService extends ObserveService {
    72 72
     
    
    73 73
         @ReadReferentialPermission
    
    74 74
         @Get
    
    75
    +    ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup();
    
    76
    +
    
    77
    +    @ReadReferentialPermission
    
    78
    +    @Get
    
    75 79
         <R extends ReferentialDto> Form<R> loadForm(Class<R> type, String id) throws DataNotFoundException;
    
    76 80
     
    
    77 81
         @Get