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

Commits:

5 changed files:

Changes:

  • client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseUIHandler.java
    ... ... @@ -21,6 +21,7 @@
    21 21
      */
    
    22 22
     package fr.ird.observe.client.ui.content.data.seine;
    
    23 23
     
    
    24
    +import com.google.common.collect.ImmutableSet;
    
    24 25
     import fr.ird.observe.client.constants.AcquisitionMode;
    
    25 26
     import fr.ird.observe.client.db.constants.DataContextType;
    
    26 27
     import fr.ird.observe.client.ui.content.ContentMode;
    
    ... ... @@ -42,8 +43,8 @@ import fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseConformityRefer
    42 43
     import fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseStatusReference;
    
    43 44
     import fr.ird.observe.dto.referential.seine.NonTargetCatchReleasingTimeReference;
    
    44 45
     import fr.ird.observe.dto.result.SaveResultDto;
    
    45
    -import org.apache.logging.log4j.Logger;
    
    46 46
     import org.apache.logging.log4j.LogManager;
    
    47
    +import org.apache.logging.log4j.Logger;
    
    47 48
     import org.nuiton.jaxx.runtime.spi.UIHandler;
    
    48 49
     import org.nuiton.validator.NuitonValidatorScope;
    
    49 50
     
    
    ... ... @@ -85,8 +86,11 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei
    85 86
                     updateSpecies(species);
    
    86 87
                 }
    
    87 88
             };
    
    89
    +
    
    88 90
             addReferentialFilter(NonTargetCatchReleaseDto.PROPERTY_SPECIES, incomingReferences -> {
    
    89
    -            ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId());
    
    91
    +
    
    92
    +            ImmutableSet<String> speciesGroupIds = ImmutableSet.copyOf(speciesGroupDtoMap.keySet());
    
    93
    +            ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId(), speciesGroupIds);
    
    90 94
                 return new LinkedList<>(sampleSpecies.toSet());
    
    91 95
             });
    
    92 96
         }
    

  • dto/src/main/java/fr/ird/observe/dto/referential/SpeciesGroupHelper.java deleted
    1
    -package fr.ird.observe.dto.referential;
    
    2
    -
    
    3
    -/*-
    
    4
    - * #%L
    
    5
    - * ObServe :: Dto
    
    6
    - * %%
    
    7
    - * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
    
    8
    - * %%
    
    9
    - * This program is free software: you can redistribute it and/or modify
    
    10
    - * it under the terms of the GNU General Public License as
    
    11
    - * published by the Free Software Foundation, either version 3 of the
    
    12
    - * License, or (at your option) any later version.
    
    13
    - *
    
    14
    - * This program is distributed in the hope that it will be useful,
    
    15
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    16
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    17
    - * GNU General Public License for more details.
    
    18
    - *
    
    19
    - * You should have received a copy of the GNU General Public
    
    20
    - * License along with this program.  If not, see
    
    21
    - * <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    22
    - * #L%
    
    23
    - */
    
    24
    -
    
    25
    -import java.util.Arrays;
    
    26
    -import java.util.List;
    
    27
    -
    
    28
    -public class SpeciesGroupHelper extends GeneratedSpeciesGroupHelper {
    
    29
    -    //FIXME PROTECTED-ID
    
    30
    -    public static final List<String> SPECIES_GROUP_IDS = Arrays.asList(
    
    31
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1445863056144#0.9820877553253712",
    
    32
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683690#0.24333033683679461",
    
    33
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1446014286433#0.6480183366605247",
    
    34
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683689#0.7120116158620075"
    
    35
    -    );
    
    36
    -}

  • services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/NonTargetCatchReleaseServiceLocal.java
    ... ... @@ -22,11 +22,11 @@ package fr.ird.observe.services.local.service.data.seine;
    22 22
      * #L%
    
    23 23
      */
    
    24 24
     
    
    25
    +import com.google.common.collect.ImmutableSet;
    
    25 26
     import fr.ird.observe.dto.data.seine.SetSeineNonTargetCatchReleaseDto;
    
    26 27
     import fr.ird.observe.dto.form.Form;
    
    27 28
     import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet;
    
    28 29
     import fr.ird.observe.dto.referential.SpeciesReference;
    
    29
    -import fr.ird.observe.dto.referential.SpeciesGroupHelper;
    
    30 30
     import fr.ird.observe.dto.result.SaveResultDto;
    
    31 31
     import fr.ird.observe.entities.seine.NonTargetCatch;
    
    32 32
     import fr.ird.observe.entities.seine.SetSeine;
    
    ... ... @@ -45,7 +45,7 @@ public class NonTargetCatchReleaseServiceLocal extends ObserveServiceLocal imple
    45 45
         private static final Logger log = LogManager.getLogger(NonTargetCatchReleaseServiceLocal.class);
    
    46 46
     
    
    47 47
         @Override
    
    48
    -    public ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId) {
    
    48
    +    public ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId, ImmutableSet<String> speciesGroupIds) {
    
    49 49
             if (log.isTraceEnabled()) {
    
    50 50
                 log.trace("getSampleSpecies(" + setSeineId + ")");
    
    51 51
             }
    
    ... ... @@ -55,7 +55,7 @@ public class NonTargetCatchReleaseServiceLocal extends ObserveServiceLocal imple
    55 55
             return SPECIES_SPI.toReferentialReferenceSet(setSeine.getNonTargetCatch().stream()
    
    56 56
                                                                  .map(NonTargetCatch::getSpecies)
    
    57 57
                                                                  .distinct()
    
    58
    -                                                             .filter(s -> SpeciesGroupHelper.SPECIES_GROUP_IDS.contains(s.getSpeciesGroup().getTopiaId()))
    
    58
    +                                                             .filter(s -> speciesGroupIds.contains(s.getSpeciesGroup().getTopiaId()))
    
    59 59
                                                                  .collect(Collectors.toList()), getReferentialLocale(), null);
    
    60 60
         }
    
    61 61
     
    

  • services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java
    ... ... @@ -43,7 +43,6 @@ import fr.ird.observe.dto.referential.ReferentialDto;
    43 43
     import fr.ird.observe.dto.referential.ReferentialLocale;
    
    44 44
     import fr.ird.observe.dto.referential.SpeciesDto;
    
    45 45
     import fr.ird.observe.dto.referential.SpeciesGroupDto;
    
    46
    -import fr.ird.observe.dto.referential.SpeciesGroupHelper;
    
    47 46
     import fr.ird.observe.dto.referential.seine.ObservedSystemReference;
    
    48 47
     import fr.ird.observe.dto.result.SaveResultDto;
    
    49 48
     import fr.ird.observe.entities.ObserveDataEntity;
    
    ... ... @@ -96,6 +95,7 @@ import java.util.Objects;
    96 95
     import java.util.Optional;
    
    97 96
     import java.util.Set;
    
    98 97
     import java.util.function.Predicate;
    
    98
    +import java.util.stream.Collector;
    
    99 99
     import java.util.stream.Collectors;
    
    100 100
     
    
    101 101
     /**
    
    ... ... @@ -169,11 +169,8 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe
    169 169
     
    
    170 170
         @Override
    
    171 171
         public ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup() {
    
    172
    -        ImmutableSet.Builder<SpeciesGroupDto> result = ImmutableSet.builder();
    
    173
    -        for (String speciesGroupId : SpeciesGroupHelper.SPECIES_GROUP_IDS) {
    
    174
    -            result.add(loadSpeciesGroup(speciesGroupId));
    
    175
    -        }
    
    176
    -        return result.build();
    
    172
    +        ImmutableSet<SpeciesGroupDto> speciesGroups = loadDtoList(SpeciesGroupDto.class);
    
    173
    +        return ImmutableSet.copyOf(speciesGroups.stream().filter(t -> !t.isSpeciesGroupReleaseModeEmpty()).collect(Collectors.toSet()));
    
    177 174
         }
    
    178 175
     
    
    179 176
         @Override
    
    ... ... @@ -307,13 +304,13 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe
    307 304
             try {
    
    308 305
                 lastUpdateOptional = getLastUpdate(dtoType);
    
    309 306
             } catch (Exception e) {
    
    310
    -            throw new IllegalStateException("Can't find lastUpdateDate for referential: "+dtoType.getName());
    
    307
    +            throw new IllegalStateException("Can't find lastUpdateDate for referential: " + dtoType.getName());
    
    311 308
             }
    
    312 309
             ReferentialDtoReferenceSet<R> result = null;
    
    313 310
             if (lastUpdateOptional.isPresent() && (lastUpdateDate == null || lastUpdateOptional.get().after(lastUpdateDate))) {
    
    314 311
                 List<E> entities = getTopiaPersistenceContext().loadEntities(entityType);
    
    315
    -            if (filter!=null) {
    
    316
    -                    entities = entities.stream().filter(filter).collect(Collectors.toList());
    
    312
    +            if (filter != null) {
    
    313
    +                entities = entities.stream().filter(filter).collect(Collectors.toList());
    
    317 314
                 }
    
    318 315
                 result = toReferentialReferenceSet(spi.toEntityReferenceBinder(), entities, lastUpdateOptional.get());
    
    319 316
             }
    

  • services/src/main/java/fr/ird/observe/services/service/data/seine/NonTargetCatchReleaseService.java
    ... ... @@ -22,6 +22,7 @@ package fr.ird.observe.services.service.data.seine;
    22 22
      * #L%
    
    23 23
      */
    
    24 24
     
    
    25
    +import com.google.common.collect.ImmutableSet;
    
    25 26
     import fr.ird.observe.dto.data.seine.SetSeineNonTargetCatchReleaseDto;
    
    26 27
     import fr.ird.observe.dto.form.Form;
    
    27 28
     import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet;
    
    ... ... @@ -41,7 +42,7 @@ public interface NonTargetCatchReleaseService extends ObserveService {
    41 42
     
    
    42 43
         @Get
    
    43 44
         @ReadDataPermission
    
    44
    -    ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId);
    
    45
    +    ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId, ImmutableSet<String> speciesGroupIds);
    
    45 46
     
    
    46 47
         @Get
    
    47 48
         @ReadDataPermission