This is an automated email from the git hooks/post-receive script. New commit to branch feature/7586 in repository observe. See http://git.codelutin.com/observe.git commit 35287edf1e4391e355cfbbee40a67bb603dd0f1e Author: Kevin Morin <morin@codelutin.com> Date: Tue Oct 6 12:17:54 2015 +0200 correction de l'ouverture de l'écran de marée (refs #7586) --- .../business/db/model/DataSelectionModel.java | 345 +++++++++++---------- .../observe/ui/content/ContentUIInitializer.java | 2 +- .../content/open/impl/longline/TripLonglineUI.css | 7 +- .../ui/content/open/impl/seine/TripSeineUI.css | 6 +- .../ui/storage/tabs/StorageTabUIHandler.java | 3 +- .../ui/tree/DataSelectionTreeSelectionModel.java | 14 +- .../services/dto/referential/PersonDtos.java | 48 +++ .../services/dto/referential/ReferentialDtos.java | 40 +++ .../services/dto/ObserveDtosInitializer.java | 6 +- 9 files changed, 286 insertions(+), 185 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/business/db/model/DataSelectionModel.java b/observe-application-swing/src/main/java/fr/ird/observe/business/db/model/DataSelectionModel.java index f51b7f8..41e4382 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/business/db/model/DataSelectionModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/business/db/model/DataSelectionModel.java @@ -6,12 +6,14 @@ package fr.ird.observe.business.db.model; */ import fr.ird.observe.services.dto.ReferenceDto; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.io.Serializable; +import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -205,28 +207,28 @@ public class DataSelectionModel implements Serializable { return selectedReferentiel.isEmpty(); } -// public boolean isReferentielFull() { -// return selectedReferentiel.size() == nbReferentiels; -// } + public boolean isReferentielFull() { + return selectedReferentiel.size() == nbReferentiels; + } public boolean isDataEmpty() { return selectedData == null || selectedData.isEmpty(); } -// public boolean isDataFull() { -// return selectedData != null && selectedData.size() == nbTrips; -// } + public boolean isDataFull() { + return selectedData != null && selectedData.size() == nbTrips; + } public Set<Class<?>> getSelectedReferentiel() { return selectedReferentiel; } -// public Map<String, List<String>> getDatas() { -// if (datas == null) { -// datas = new HashMap<String, List<String>>(); -// } -// return datas; -// } + public Map<String, List<String>> getDatas() { + if (datas == null) { + datas = new HashMap<String, List<String>>(); + } + return datas; + } public Set<String> getSelectedData() { if (selectedData == null) { @@ -259,47 +261,47 @@ public class DataSelectionModel implements Serializable { // } // return result; // } -// -// public boolean isSelectedData(String id) { -// -// if (Trips.isTripId(id)) { -// -// // recherche directe sur les ids de marees -// return getSelectedData().contains(id); -// } -// -// if (id.startsWith(Program.class.getName())) { -// // on doit verifier que toutes les marees du program sont sélectionnées -// List<String> tripIds = datas.get(id); -// if (CollectionUtils.isEmpty(tripIds)) { -// -// // pas de marées -// return false; -// } -// -// for (String tripId : tripIds) { -// if (!isSelectedData(tripId)) { -// -// // au moins une marée non sélectionnée -// -// return false; -// } -// } -// -// // toutes les marées sont sélectionnée -// return true; -// } -// -// // ne devrait pas arrivée -// return false; -// -// } -// -// public boolean isSelectedReferentiel(Class<?> type) { -// checkReferentielType(type); -// return getSelectedReferentiel().contains(type); -// } -// + + public boolean isSelectedData(String id) { + + if (isTripId(id)) { + + // recherche directe sur les ids de marees + return getSelectedData().contains(id); + } + + if (isProgramId(id)) { + // on doit verifier que toutes les marees du program sont sélectionnées + List<String> tripIds = datas.get(id); + if (CollectionUtils.isEmpty(tripIds)) { + + // pas de marées + return false; + } + + for (String tripId : tripIds) { + if (!isSelectedData(tripId)) { + + // au moins une marée non sélectionnée + + return false; + } + } + + // toutes les marées sont sélectionnée + return true; + } + + // ne devrait pas arrivée + return false; + + } + + public boolean isSelectedReferentiel(Class<?> type) { + checkReferentielType(type); + return getSelectedReferentiel().contains(type); + } + // public void setUseReferentiel(boolean useReferentiel) { // this.useReferentiel = useReferentiel; // firePropertyChange(PROPERTY_USE_REFERENTIEL, useReferentiel); @@ -314,29 +316,29 @@ public class DataSelectionModel implements Serializable { // this.useOpenData = useOpenData; // firePropertyChange(PROPERTY_USE_OPEN_DATA, useOpenData); // } -// -// public void addSelectedReferentiel(Class<?> type) { -// checkReferentielType(type); -// if (log.isDebugEnabled()) { -// log.debug("Add referentiel type " + type); -// } -// getSelectedReferentiel().add(type); -// firePropertyChange(PROPERTY_SELECTED_REFERENTIEL, selectedReferentiel); -// } -// -// public void addAllSelectedReferentiel() { -// getSelectedReferentiel().addAll(referentiel); -// firePropertyChange(PROPERTY_SELECTED_REFERENTIEL, selectedReferentiel); -// } -// -// public void removeSelectedReferentiel(Class<?> type) { -// checkReferentielType(type); -// if (log.isDebugEnabled()) { -// log.debug("remove referentiel type " + type); -// } -// getSelectedReferentiel().remove(type); -// firePropertyChange(PROPERTY_SELECTED_REFERENTIEL, selectedReferentiel); -// } + + public void addSelectedReferentiel(Class<?> type) { + checkReferentielType(type); + if (log.isDebugEnabled()) { + log.debug("Add referentiel type " + type); + } + getSelectedReferentiel().add(type); + firePropertyChange(PROPERTY_SELECTED_REFERENTIEL, selectedReferentiel); + } + + public void addAllSelectedReferentiel() { + getSelectedReferentiel().addAll(referentiel); + firePropertyChange(PROPERTY_SELECTED_REFERENTIEL, selectedReferentiel); + } + + public void removeSelectedReferentiel(Class<?> type) { + checkReferentielType(type); + if (log.isDebugEnabled()) { + log.debug("remove referentiel type " + type); + } + getSelectedReferentiel().remove(type); + firePropertyChange(PROPERTY_SELECTED_REFERENTIEL, selectedReferentiel); + } public void removeAll() { getSelectedReferentiel().clear(); @@ -345,89 +347,90 @@ public class DataSelectionModel implements Serializable { firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); } -// public void removeAllSelectedReferentiel() { -// getSelectedReferentiel().clear(); -// firePropertyChange(PROPERTY_SELECTED_REFERENTIEL, selectedReferentiel); -// } -// -// public void setDatas(Map<String, List<String>> datas) { -// this.datas = datas; -// -// // on compte le count de marées totale -// int nbTrips = 0; -// if (datas != null) { -// for (List<String> marees : datas.values()) { -// nbTrips += marees.size(); -// } -// } -// this.nbTrips = nbTrips; -// -// if (log.isDebugEnabled()) { -// log.debug("Nb program registred : " + (datas == null ? 0 : datas.size())); -// log.debug("Nb trip registred : " + this.nbTrips); -// } -// firePropertyChange(PROPERTY_DATAS, datas); -// } -// -// public void addSelectedData(String id) { -// -// if (Trips.isTripId(id)) { -// -// // ajout d'une marée -// if (log.isDebugEnabled()) { -// log.debug("Add Trip " + id); -// } -// getSelectedData().add(id); -// } else if (id.startsWith(Program.class.getName())) { -// -// // ajout de toutes les marées du program -// -// if (log.isDebugEnabled()) { -// log.debug("Add all trips of program " + id); -// } -// getSelectedData().addAll(datas.get(id)); -// } -// -// -// firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); -// } -// -// public void addAllSelectedData() { -// if (log.isDebugEnabled()) { -// log.debug("All all data."); -// } -// for (List<String> p : datas.values()) { -// getSelectedData().addAll(p); -// } -// firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); -// } -// -// public void removeSelectedData(String id) { -// if (Trips.isTripId(id)) { -// -// // ajout d'une marée -// if (log.isDebugEnabled()) { -// log.debug("Remove maree " + id); -// } -// getSelectedData().remove(id); -// } else if (id.startsWith(Program.class.getName())) { -// -// // ajout de toutes les marées du program -// -// if (log.isDebugEnabled()) { -// log.debug("Remove all marees of program " + id); -// } -// getSelectedData().removeAll(datas.get(id)); -// } -// firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); -// } -// -// public void removeAllSelectedData() { -// if (selectedData != null) { -// selectedData.clear(); -// } -// firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); -// } + public void removeAllSelectedReferentiel() { + getSelectedReferentiel().clear(); + firePropertyChange(PROPERTY_SELECTED_REFERENTIEL, selectedReferentiel); + } + + public void setDatas(Map<String, List<String>> datas) { + this.datas = datas; + + // on compte le count de marées totale + int nbTrips = 0; + if (datas != null) { + for (List<String> marees : datas.values()) { + nbTrips += marees.size(); + } + } + this.nbTrips = nbTrips; + + if (log.isDebugEnabled()) { + log.debug("Nb program registred : " + (datas == null ? 0 : datas.size())); + log.debug("Nb trip registred : " + this.nbTrips); + } + firePropertyChange(PROPERTY_DATAS, datas); + } + + public void addSelectedData(String id) { + + if (isTripId(id)) { + + // ajout d'une marée + if (log.isDebugEnabled()) { + log.debug("Add Trip " + id); + } + getSelectedData().add(id); + + } else if (isProgramId(id)) { + + // ajout de toutes les marées du program + + if (log.isDebugEnabled()) { + log.debug("Add all trips of program " + id); + } + getSelectedData().addAll(datas.get(id)); + } + + + firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); + } + + public void addAllSelectedData() { + if (log.isDebugEnabled()) { + log.debug("All all data."); + } + for (List<String> p : datas.values()) { + getSelectedData().addAll(p); + } + firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); + } + + public void removeSelectedData(String id) { + if (isTripId(id)) { + + // ajout d'une marée + if (log.isDebugEnabled()) { + log.debug("Remove maree " + id); + } + getSelectedData().remove(id); + } else if (isProgramId(id)) { + + // ajout de toutes les marées du program + + if (log.isDebugEnabled()) { + log.debug("Remove all marees of program " + id); + } + getSelectedData().removeAll(datas.get(id)); + } + firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); + } + + public void removeAllSelectedData() { + if (selectedData != null) { + selectedData.clear(); + } + firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); + } public void addPropertyChangeListener(PropertyChangeListener listener) { pcs.addPropertyChangeListener(listener); @@ -457,13 +460,23 @@ public class DataSelectionModel implements Serializable { pcs.firePropertyChange(propertyName, oldValue, newValue); } -// protected void checkReferentielType(Class<?> type) { -// if (!referentiel.contains(type)) { -// throw new IllegalArgumentException( -// "given <" + type + "> is not in referentiel universe : " + -// referentiel); -// } -// } + protected void checkReferentielType(Class<?> type) { + if (!referentiel.contains(type)) { + throw new IllegalArgumentException( + "given <" + type + "> is not in referentiel universe : " + + referentiel); + } + } + + protected boolean isTripId(String id) { + String[] entityFullClass = id.split("#")[0].split("\\."); + return entityFullClass[entityFullClass.length - 1].startsWith("Trip"); + } + + private boolean isProgramId(String id) { + String[] entityFullClass = id.split("#")[0].split("\\."); + return entityFullClass[entityFullClass.length - 1].equals("Program"); + } public void destroy() { removeAll(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java index 1b2c5fc..97ddd8a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java @@ -863,7 +863,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E if (referentialEntity) { //TC-20100208 : on ne veut pas voir les elements du referentiel non actif - ReferentialDtos.filterReferentialListByStatus((List) data); + ReferentialDtos.filterReferentialReferenceListByStatus((List) data); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.css index ce0baaf..17ed886 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.css @@ -48,8 +48,7 @@ NumberEditor { #observer { property:{TripLonglineDto.PROPERTY_OBSERVER}; selectedItem:{bean.getObserver()}; - //FIXME - //_listPredicate:{PersonDtos.newObserverPredicate()}; + _listPredicate:{PersonDtos.newObserverReferencePredicate(true)}; } #captainLabel { @@ -60,7 +59,7 @@ NumberEditor { #captain { property:{TripLonglineDto.PROPERTY_CAPTAIN}; selectedItem:{bean.getCaptain()}; - _listPredicate:{PersonDtos.newCaptainPredicate(true)}; + _listPredicate:{PersonDtos.newCaptainReferencePredicate(true)}; } #dataEntryOperatorLabel { @@ -71,7 +70,7 @@ NumberEditor { #dataEntryOperator { property:{TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR}; selectedItem:{bean.getDataEntryOperator()}; - _listPredicate:{PersonDtos.newDataEntryOperatorPredicate(true)}; + _listPredicate:{PersonDtos.newDataEntryOperatorReferencePredicate(true)}; } #tripTypeLabel{ diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.css index c125cc0..7eba914 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.css @@ -52,7 +52,7 @@ NumberEditor { #observer { property:{TripSeineDto.PROPERTY_OBSERVER}; selectedItem:{bean.getObserver()}; - _listPredicate:{PersonDtos.newObserverPredicate(true)}; + _listPredicate:{PersonDtos.newObserverReferencePredicate(true)}; } #captainLabel { @@ -63,7 +63,7 @@ NumberEditor { #captain { property:{TripSeineDto.PROPERTY_CAPTAIN}; selectedItem:{bean.getCaptain()}; - _listPredicate:{PersonDtos.newCaptainPredicate(true)}; + _listPredicate:{PersonDtos.newCaptainReferencePredicate(true)}; } #dataEntryOperatorLabel { @@ -74,7 +74,7 @@ NumberEditor { #dataEntryOperator { property:{TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR}; selectedItem:{bean.getDataEntryOperator()}; - _listPredicate:{PersonDtos.newDataEntryOperatorPredicate(true)}; + _listPredicate:{PersonDtos.newDataEntryOperatorReferencePredicate(true)}; } #vesselLabel { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java index 5efc71e..3332fbe 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java @@ -390,7 +390,8 @@ public class StorageTabUIHandler { DataSelectionTreeSelectionModel selectionModel = ui.getSelectionModel(); selectionModel.initUI(tree); - selectionModel.setDataModel(dataModel); +// FIXME +// selectionModel.setDataModel(dataModel); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java index 8ba4944..182a665 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java @@ -21,14 +21,14 @@ */ package fr.ird.observe.ui.tree; +import fr.ird.observe.business.db.model.DataSelectionModel; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.seine.TripSeineDto; -import fr.ird.observe.ui.storage.tabs.DataSelectionModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.JTree; +import javax.swing.*; import javax.swing.event.EventListenerList; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; @@ -342,9 +342,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop log.trace("begin data node " + node); } - //FIXME -// boolean result = dataModel.isSelectedData(node.getId()); - boolean result = false; + boolean result = dataModel.isSelectedData(node.getId()); if (log.isTraceEnabled()) { log.trace("selectModel contains the program ? " + result); } @@ -590,8 +588,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop if (log.isTraceEnabled()) { log.trace("selectModel add " + id); } - //FIXME -// dataModel.addSelectedData(id); + dataModel.addSelectedData(id); } @@ -599,8 +596,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop if (log.isTraceEnabled()) { log.trace("selectModel remove " + id); } - //FIXME -// dataModel.removeSelectedData(id); + dataModel.removeSelectedData(id); } @Override diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/PersonDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/PersonDtos.java new file mode 100644 index 0000000..6636735 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/PersonDtos.java @@ -0,0 +1,48 @@ +package fr.ird.observe.services.dto.referential; + +import com.google.common.base.Predicate; + +import java.util.Objects; + +public class PersonDtos extends AbstractPersonDtos { + + public static <BeanType extends PersonDto> Predicate<ReferentialReferenceDto<BeanType>> newCaptainReferencePredicate(boolean captain) { + final boolean $tmp = captain; + return new Predicate<ReferentialReferenceDto<BeanType>>() { + + @Override + public boolean apply(ReferentialReferenceDto<BeanType> input) { + return input.getPropertyNames().contains(PersonDto.PROPERTY_CAPTAIN) + && Objects.equals($tmp, input.getPropertyValue(PersonDto.PROPERTY_CAPTAIN)); + } + }; + + } + + public static <BeanType extends PersonDto> Predicate<ReferentialReferenceDto<BeanType>> newDataEntryOperatorReferencePredicate(boolean dataEntryOperator) { + final boolean $tmp = dataEntryOperator; + return new Predicate<ReferentialReferenceDto<BeanType>>() { + + @Override + public boolean apply(ReferentialReferenceDto<BeanType> input) { + return input.getPropertyNames().contains(PersonDto.PROPERTY_DATA_ENTRY_OPERATOR) + && Objects.equals($tmp, input.getPropertyValue(PersonDto.PROPERTY_DATA_ENTRY_OPERATOR)); + } + }; + + } + + public static <BeanType extends PersonDto> Predicate<ReferentialReferenceDto<BeanType>> newObserverReferencePredicate(boolean observer) { + final boolean $tmp = observer; + return new Predicate<ReferentialReferenceDto<BeanType>>() { + + @Override + public boolean apply(ReferentialReferenceDto<BeanType> input) { + return input.getPropertyNames().contains(PersonDto.PROPERTY_OBSERVER) + && Objects.equals($tmp, input.getPropertyValue(PersonDto.PROPERTY_OBSERVER)); + } + }; + + } + +} //PersonDtos diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java index 44747cf..cc9b4b1 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java @@ -2,6 +2,7 @@ package fr.ird.observe.services.dto.referential; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.ReferenceStatus; import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; @@ -137,7 +138,10 @@ public class ReferentialDtos extends AbstractReferentialDtos { */ public static <E extends ReferentialDto> void filterReferentialListByStatus(List<E> list) { filterReferentielList(list, (Predicate<E>) IS_ACTIF_PREDICATE); + } + public static <E extends ReferentialDto> void filterReferentialReferenceListByStatus(List<ReferentialReferenceDto<E>> list) { + filterReferentialReferenceList(list, IS_REFERENCE_ACTIF_PREDICATE); } /** @@ -167,6 +171,33 @@ public class ReferentialDtos extends AbstractReferentialDtos { } } + /** + * Filter une liste d'entités d'un référentiel en supprimant toutes les + * entités qui ne rspeciesnt pas le précidat donné. + * + * @param list la liste des entitées à filtrer + * @param predicate le prédicate à appliquer pour conserver les valeurs + * @param <E> le type des entites du référentiel + */ + public static <E extends ReferentialDto> void filterReferentialReferenceList( + List<ReferentialReferenceDto<E>> list, + Predicate<ReferentialReferenceDto> predicate) { + Iterator<ReferentialReferenceDto<E>> itr = list.iterator(); + while (itr.hasNext()) { + ReferentialReferenceDto<E> e = itr.next(); + if (!predicate.apply(e)) { + + // l'entite n'est pas retenue, on ne l'affiche pas + + if (log.isDebugEnabled()) { + log.debug("remove disabled entity " + e.getId()); + } + + itr.remove(); + } + } + } + public static final Predicate<ReferentialDto> IS_ACTIF_PREDICATE = new Predicate<ReferentialDto>() { @Override @@ -175,4 +206,13 @@ public class ReferentialDtos extends AbstractReferentialDtos { } }; + public static final Predicate<ReferentialReferenceDto> IS_REFERENCE_ACTIF_PREDICATE = + new Predicate<ReferentialReferenceDto>() { + + @Override + public boolean apply(ReferentialReferenceDto input) { + return ReferenceStatus.disabled != input.getStatus(); + } + }; + } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java index f6927b1..b48db33 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java @@ -828,7 +828,11 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { PersonDto.PROPERTY_DATA_ENTRY_OPERATOR, PersonDto.PROPERTY_COUNTRY); registerReferentialReferenceDtoBinder(PersonDto.class, Person.class, false, - PersonDto.PROPERTY_FIRST_NAME, PersonDto.PROPERTY_LAST_NAME); + PersonDto.PROPERTY_FIRST_NAME, + PersonDto.PROPERTY_LAST_NAME, + PersonDto.PROPERTY_CAPTAIN, + PersonDto.PROPERTY_DATA_ENTRY_OPERATOR, + PersonDto.PROPERTY_OBSERVER); } @Override -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.