Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
2a50ac8c
by Tony CHEMIT at 2017-07-25T11:11:10+02:00
6 changed files:
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchReleaseUIHandler.java
- application-web/src/main/filtered-resources/mapping
- services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/NonTargetCatchReleaseServiceTopia.java
- services-topia/src/main/java/fr/ird/observe/services/topia/service/referential/ReferentialServiceTopia.java
- services/src/main/java/fr/ird/observe/services/service/data/seine/NonTargetCatchReleaseService.java
- services/src/main/java/fr/ird/observe/services/service/referential/ReferentialService.java
Changes:
| ... | ... | @@ -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);
|
| ... | ... | @@ -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
|
| ... | ... | @@ -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 + ")");
|
| ... | ... | @@ -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 + ")");
|
| ... | ... | @@ -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
|
| ... | ... | @@ -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
|