branch develop updated (dfc4b79 -> 41d49cb)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See http://git.codelutin.com/observe.git from dfc4b79 Fix build suite à la suppression de la propriété status dans ReferentialReferenceDto + adaptation pour utiliser la propriété enabled à la place new 9c7487d migration des écrans d'échantillons de la faune accessoire (refs #7608) new fbf7f97 conserver dans le referenceDto toutes les propriétées mêmes celles null new 6e99490 ajout des validateurs (refs #7608) new 1d4970f correction de la supression des échantillons associés aux captures de faunes accesoires supprimées (refs #7608 #7609) new 41d49cb Merge branch 'feature/7608' into develop The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 41d49cbb5e173315147e56cc28112a5d0e02e10f Merge: dfc4b79 1d4970f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 16:03:05 2015 +0200 Merge branch 'feature/7608' into develop commit 1d4970fbba7655b5ccc3a5561969070149249c57 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 16:00:39 2015 +0200 correction de la supression des échantillons associés aux captures de faunes accesoires supprimées (refs #7608 #7609) commit 6e9949024ccf289dfd30983676e37a6f4281c9ef Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 15:24:14 2015 +0200 ajout des validateurs (refs #7608) commit fbf7f97d5cbe6291ed757158a18c626b7b7613d4 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 15:23:51 2015 +0200 conserver dans le referenceDto toutes les propriétées mêmes celles null commit 9c7487d6d335e61893bc4dba3a4952bf34606d4f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 14:29:08 2015 +0200 migration des écrans d'échantillons de la faune accessoire (refs #7608) Summary of changes: .../content/table/impl/seine/NonTargetSampleUI.css | 12 +- .../table/impl/seine/NonTargetSampleUI.jaxx | 8 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 188 +++------------------ .../table/impl/seine/NonTargetSampleUIModel.java | 47 ++++-- ...nTargetLengthDto-n1-update-error-validation.xml | 0 ...argetLengthDto-n1-update-warning-validation.xml | 0 ...nTargetSampleDto-n1-update-error-validation.xml | 0 .../observe-application-swing_fr_FR.properties | 4 +- .../{TargetLenghts.java => NonTargetCatchs.java} | 8 +- .../main/xmi/observe-services-dto-seine.properties | 1 + .../src/main/xmi/observe-services-dto-seine.zargo | Bin 61805 -> 61995 bytes .../builder/EntityToReferenceDtoBuilder.java | 25 +-- .../EntityToReferentialReferenceDtoBuilder.java | 28 +-- .../services/dto/ObserveDtosInitializer.java | 6 +- .../service/seine/NonTargetCatchServiceTopia.java | 6 +- .../service/seine/NonTargetSampleServiceTopia.java | 11 +- ...EntityToReferentialReferenceDtoBuilderTest.java | 33 ++++ 17 files changed, 150 insertions(+), 227 deletions(-) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/seine/NonTargetLength-n1-update-error-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-n1-update-error-validation.xml (100%) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/seine/NonTargetLength-n1-update-warning-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-n1-update-warning-validation.xml (100%) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/seine/NonTargetSample-n1-update-error-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetSampleDto-n1-update-error-validation.xml (100%) copy observe-entities/src/main/java/fr/ird/observe/entities/seine/{TargetLenghts.java => NonTargetCatchs.java} (57%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 9c7487d6d335e61893bc4dba3a4952bf34606d4f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 14:29:08 2015 +0200 migration des écrans d'échantillons de la faune accessoire (refs #7608) --- .../content/table/impl/seine/NonTargetSampleUI.css | 12 +- .../table/impl/seine/NonTargetSampleUI.jaxx | 8 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 188 +++------------------ .../table/impl/seine/NonTargetSampleUIModel.java | 47 ++++-- .../main/xmi/observe-services-dto-seine.properties | 1 + .../src/main/xmi/observe-services-dto-seine.zargo | Bin 61805 -> 61995 bytes .../services/dto/ObserveDtosInitializer.java | 6 +- .../service/seine/NonTargetSampleServiceTopia.java | 11 +- 8 files changed, 78 insertions(+), 195 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.css index cd9dd56..39dbdf5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.css @@ -73,11 +73,10 @@ labelFor:{sex}; } -//FIXME -//#sex { - //property:{NonTargetLengthDto.PROPERTY_SEX}; - //selectedItem:{tableEditBean.getSex()}; -//} +#sex { + property:{NonTargetLengthDto.PROPERTY_SEX}; + selectedItem:{tableEditBean.getSex()}; +} #picturesReferencesLabel { text:"observe.common.picturesReferences"; @@ -102,8 +101,7 @@ #speciesTypeTaille { font-weight:"bold"; - //FIXME - //text:{getSpeciesFauneTypeTaille(tableEditBean.getSpecies())}; + text:{getSpeciesFauneTypeTaille(tableEditBean.getSpecies())}; } #comment { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx index 84ef679..40eeca8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx @@ -24,9 +24,7 @@ superGenericType='NonTargetSampleDto, NonTargetLengthDto' contentTitle='{n("observe.common.nonTargetSample")}' saveNewEntryText='{n("observe.action.create.nonTargetSample")}' - saveNewEntryTip='{n("observe.action.create.nonTargetSample.tip")}' - - > + saveNewEntryTip='{n("observe.action.create.nonTargetSample.tip")}'> <style source="../../CommonTable.css"/> <style source="AbstractSampleUI.css"/> @@ -99,8 +97,8 @@ public String getLengthDataTip(boolean computed) { return computed ? t(LONGUEUR_COMPUTED_TIP) : t(LONGUEUR_OBSERVED_TIP); } -public String getSpeciesFauneTypeTaille(SpeciesDto species) { - return species == null ? t("observe.message.no.species.selected") : species.getLengthMeasureType(); +public String getSpeciesFauneTypeTaille(ReferenceDto<SpeciesDto> species) { + return species == null ? t("observe.message.no.species.selected") : (String) species.getPropertyValue(SpeciesDto.PROPERTY_LENGTH_MEASURE_TYPE); } ]]> </script> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index 698f71e..b162738 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -21,11 +21,13 @@ */ package fr.ird.observe.ui.content.table.impl.seine; +import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.business.db.DataContext; - import fr.ird.observe.business.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.NonTargetLengthDto; @@ -37,16 +39,17 @@ import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ContentTableUIHandler; -import jaxx.runtime.context.JAXXContextEntryDef; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorScope; -import javax.swing.*; +import javax.swing.JComponent; +import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -60,9 +63,6 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam /** Logger */ static private Log log = LogFactory.getLog(NonTargetSampleUIHandler.class); - protected final JAXXContextEntryDef<List<SpeciesDto>> ALL_ESPECES_ENTRY = - UIHelper.newListContextEntryDef("NonTargetSampleUI-all-speciess"); - /** * Ecoute les modifications de la propriété {@link NonTargetLengthDto#getWeight()}, * et repasser alors le flag {@link NonTargetLengthDto#isWeightSource()} à @@ -114,144 +114,10 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam @Override protected String getEditBeanIdToLoad() { - String setId = getDataContext().getSelectedSetId(); - // on doit récupérer l'unique échantillonThon de la calée - -// String id = dataService.getNonTargetSampleId(dataSource, setId); -// return id; - return null; - } - - //FIXME -// @Override -// protected NonTargetSample loadEditBean(ContentMode mode, -// DataContext dataContext, -// DataService dataService, -// DataSource dataSource) { -// -// List<Species> speciess; -// -// String setId = dataContext.getSelectedSetId(); -// -// if (mode == ContentMode.UPDATE) { -// -// -// speciess = dataService.getAvailableEspeceForNonTargetSample(dataSource, setId); -// -// } else { -// speciess = new ArrayList<Species>(); -// } -// ALL_ESPECES_ENTRY.setContextValue(getUi(), speciess); -// -// // on doit récupérer l'unique échantillonThon de la calée -// String id = getEditBeanIdToLoad(dataContext, dataService, dataSource); -// -// NonTargetSample editBean = getBean(); -// -// if (log.isInfoEnabled()) { -// log.info(prefix + " - set id : " + setId); -// log.info(prefix + " - echantillon faune id : " + id); -// log.info(prefix + " - edit bean id : " + editBean.getTopiaId()); -// } -// -// if (id == null) { -// -// // l'échantillon n'existe pas encore, donc rien a faire -// getLoadBinder().load(null, editBean, true); -// -// getModel().getChildsUpdator().setChilds(editBean, new ArrayList<NonTargetLength>()); -// -// } else { -// -// // preparation du bean d'édition -// dataService.loadEditEntity(dataSource, id, getLoadExecutor()); -// } -// -// getModel().setMode(mode); -// -// // initialisation du modèle du tableau -// getUi().getTableModel().attachModel(); -// -// return editBean; -// } - - @Override - protected boolean prepareSave(NonTargetSampleDto bean, List<NonTargetLengthDto> objets) { - - boolean withLengths = !objets.isEmpty(); - - if (withLengths) { - - if (bean.getId() == null) { - - String setId = getDataContext().getSelectedSetId(); - - // l'échantillon n'existe pas encore, il faut le créer - - if (log.isDebugEnabled()) { - log.debug("Will create nonTargetSample " + bean + " for " + setId); - } - - //FIXME -// getDataService().create(getDataSource(), setId, bean, null, getCreateExecutor()); - - } - - } - - return true; - + String id = getDataContext().getSelectedSetId(); + return id; } - //FIXME -// @Override -// protected void doPersist(NonTargetSample bean, DataService dataService, DataSource dataSource) { -// -// if (bean.getTopiaId() != null && bean.isNonTargetLengthEmpty()) { -// -// // remove orphan non target sample -// -// String setId = getDataContext().getSelectedSetId(); -// if (log.isInfoEnabled()) { -// log.info("Remove obsolete nonTargetSample " + bean.getTopiaId() + " from Set: " + setId); -// } -// getDataService().delete(getDataSource(), setId, bean, getDeleteExecutor()); -// -// } else { -// -// // normal persist -// super.doPersist(bean, dataService, dataSource); -// -// } -// -// } - - //FIXME -// @Override -// protected NonTargetSample onCreate(TopiaContext tx, -// Object parent, -// NonTargetSample editBean) throws TopiaException { -// SetSeine parentBean = (SetSeine) parent; -// NonTargetSample beanToSave = -// ObserveDAOHelper.getNonTargetSampleDAO(tx).create(); -// if (log.isInfoEnabled()) { -// log.info("Echantillon faune " + beanToSave.getTopiaId() + -// " was created."); -// } -// editBean.setTopiaId(beanToSave.getTopiaId()); -// editBean.setTopiaCreateDate(beanToSave.getTopiaCreateDate()); -// editBean.setTopiaVersion(beanToSave.getTopiaVersion()); -// parentBean.addNonTargetSample(beanToSave); -// return beanToSave; -// } - - //FIXME -// @Override -// protected void onDelete(TopiaContext tx, Object parent, NonTargetSample beanToDelete) throws TopiaException { -// SetSeine parentBean = (SetSeine) parent; -// parentBean.removeNonTargetSample(beanToDelete); -// } - @SuppressWarnings("unchecked") @Override protected void onSelectedRowChanged(int editingRow, @@ -263,13 +129,12 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam return; } -// SpeciesDto species = bean.getSpecies(); + ReferenceDto<SpeciesDto> species = bean.getSpecies(); NonTargetSampleUI ui = getUi(); - //FIXME -// if (log.isDebugEnabled()) { -// log.debug("selected species " + species); -// } -// List<Species> availableEspeces; + if (log.isDebugEnabled()) { + log.debug("selected species " + species); + } + List<ReferenceDto<SpeciesDto>> availableEspeces; JComponent requestFocus; if (create) { @@ -281,8 +146,9 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam ui.getAcquisitionModeGroup().setSelectedValue(ModeSaisieEchantillonEnum.byEffectif); } -// availableEspeces = new ArrayList<Species>( -// ALL_ESPECES_ENTRY.getContextValue(ui)); + ReferenceSetDto<SpeciesDto> speciesSetDto = getModel().getFormDto().getReferenceSetDto(SpeciesDto.class); + + availableEspeces = Lists.newArrayList((Set) speciesSetDto.getReference()); requestFocus = ui.getSpecies(); } else { @@ -295,9 +161,9 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam ui.getAcquisitionModeGroup().setSelectedValue(null); ui.getAcquisitionModeGroup().setSelectedValue(enumValue); -// availableEspeces = Arrays.asList(species); + availableEspeces = Lists.newArrayList(species); } -// ui.getSpecies().setData(availableEspeces); + ui.getSpecies().setData(availableEspeces); requestFocus.requestFocus(); NonTargetLengthDto tableEditBean = getTableEditBean(); @@ -330,11 +196,11 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam n("observe.nonTargetSample.table.picturesReferences"), n("observe.nonTargetSample.table.picturesReferences.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, SpeciesDto.class)); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); - UIHelper.setTableColumnRenderer(table, 4, UIHelper.newDecorateTableCellRenderer(renderer, SexDto.class)); + UIHelper.setTableColumnRenderer(table, 4, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SexDto.class.getSimpleName())); UIHelper.setTableColumnRenderer(table, 5, renderer); } @@ -342,17 +208,9 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam protected ContentMode getContentMode(DataContext dataContext) { ContentMode mode = super.getContentMode(dataContext); - boolean showData = false; - - //FIXME -// try { -// String setId = getDataContext().getSelectedSetId(); -// showData = getDataService().canUseNonTargetSample(getDataSource(), setId); -// } catch (DataSourceException e) { -// if (log.isErrorEnabled()) { -// log.error(e); -// } -// } + String setId = getDataContext().getSelectedSetId(); + + boolean showData = getNonTargetSampleService().canUseNonTargetSample(setId); getUi().getModel().setShowData(showData); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIModel.java index 77585e2..5219102 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIModel.java @@ -23,13 +23,16 @@ package fr.ird.observe.ui.content.table.impl.seine; */ import com.google.common.collect.Lists; +import com.google.common.collect.Sets; import fr.ird.observe.services.dto.seine.NonTargetLengthDto; +import fr.ird.observe.services.dto.seine.NonTargetLengthDtos; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.ui.content.table.ContentTableMeta; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ContentTableUIModel; import fr.ird.observe.ui.content.table.ObserveContentTableUI; +import java.util.Collection; import java.util.List; /** @@ -46,14 +49,15 @@ public class NonTargetSampleUIModel extends ContentTableUIModel<NonTargetSampleD super(NonTargetSampleDto.class, NonTargetLengthDto.class, - new String[]{NonTargetSampleDto.PROPERTY_NON_TARGET_LENGTH, NonTargetSampleDto.PROPERTY_COMMENT}, + new String[]{ + NonTargetSampleDto.PROPERTY_NON_TARGET_LENGTH, + NonTargetSampleDto.PROPERTY_COMMENT}, new String[]{NonTargetLengthDto.PROPERTY_SPECIES, NonTargetLengthDto.PROPERTY_LENGTH, NonTargetLengthDto.PROPERTY_LENGTH_SOURCE, NonTargetLengthDto.PROPERTY_WEIGHT, NonTargetLengthDto.PROPERTY_WEIGHT_SOURCE, - //FIXME -// NonTargetLengthDto.PROPERTY_SEX, + NonTargetLengthDto.PROPERTY_SEX, NonTargetLengthDto.PROPERTY_COUNT, NonTargetLengthDto.PROPERTY_ACQUISITION_MODE, NonTargetLengthDto.PROPERTY_PICTURES_REFERENCES @@ -64,16 +68,15 @@ public class NonTargetSampleUIModel extends ContentTableUIModel<NonTargetSampleD ContentTableModel.newTableMeta(NonTargetLengthDto.class, NonTargetLengthDto.PROPERTY_LENGTH, false), ContentTableModel.newTableMeta(NonTargetLengthDto.class, NonTargetLengthDto.PROPERTY_WEIGHT, false), ContentTableModel.newTableMeta(NonTargetLengthDto.class, NonTargetLengthDto.PROPERTY_COUNT, false), - //FIXME -// new ContentTableMeta<NonTargetLengthDto>(NonTargetLengthDto.class, NonTargetLengthDto.PROPERTY_SEX, false) { -// -// private static final long serialVersionUID = 1L; -// -// @Override -// public boolean isNullValue(ContentTableModel<?, ?> m, NonTargetLength bean, int row) { -// return bean.getSex() != null; -// } -// }, + new ContentTableMeta<NonTargetLengthDto>(NonTargetLengthDto.class, NonTargetLengthDto.PROPERTY_SEX, false) { + + private static final long serialVersionUID = 1L; + + @Override + public boolean isNullValue(ContentTableModel<?, ?> m, NonTargetLengthDto bean, int row) { + return bean.getSex() != null; + } + }, ContentTableModel.newTableMeta(NonTargetLengthDto.class, NonTargetLengthDto.PROPERTY_PICTURES_REFERENCES, false)); initModel(ui, metas); @@ -82,7 +85,21 @@ public class NonTargetSampleUIModel extends ContentTableUIModel<NonTargetSampleD @Override protected ContentTableModel<NonTargetSampleDto, NonTargetLengthDto> createTableModel(ObserveContentTableUI<NonTargetSampleDto, NonTargetLengthDto> ui, List<ContentTableMeta<NonTargetLengthDto>> contentTableMetas) { - // FIXME - return null; + return new ContentTableModel<NonTargetSampleDto, NonTargetLengthDto>(ui, contentTableMetas) { + @Override + protected Collection<NonTargetLengthDto> getChilds(NonTargetSampleDto bean) { + return bean.getNonTargetLength(); + } + + @Override + protected void load(NonTargetLengthDto source, NonTargetLengthDto target) { + NonTargetLengthDtos.copyNonTargetLengthDto(source, target); + } + + @Override + protected void setChilds(NonTargetSampleDto parent, List<NonTargetLengthDto> childs) { + parent.setNonTargetLength(Sets.newLinkedHashSet(childs)); + } + }; } } diff --git a/observe-services-model/src/main/xmi/observe-services-dto-seine.properties b/observe-services-model/src/main/xmi/observe-services-dto-seine.properties index cb3e6f8..0463451 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-seine.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-seine.properties @@ -55,6 +55,7 @@ fr.ird.observe.services.dto.seine.ObjectObservedSpecies.attribute.speciesStatus. fr.ird.observe.services.dto.seine.ObjectObservedSpecies.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.seine.NonTargetLength.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.seine.NonTargetLength.attribute.sex.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.seine.NonTargetCatch.attribute.reasonForDiscard.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto fr.ird.observe.services.dto.seine.NonTargetCatch.attribute.speciesFate.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.SpeciesFateDto diff --git a/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo b/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo index 15adf22..9a6fae3 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo differ 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 4462a21..7f7cb9a 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 @@ -958,7 +958,8 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { registerReferentialReferenceDtoBinder(SpeciesDto.class, Species.class, SpeciesDto.PROPERTY_FAO_CODE, SpeciesDto.PROPERTY_SCIENTIFIC_LABEL, - SpeciesDto.PROPERTY_HOME_ID); + SpeciesDto.PROPERTY_HOME_ID, + SpeciesDto.PROPERTY_LENGTH_MEASURE_TYPE); } @Override @@ -1464,7 +1465,8 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { NonTargetLengthDto.PROPERTY_WEIGHT_SOURCE, NonTargetLengthDto.PROPERTY_COUNT, NonTargetLengthDto.PROPERTY_ACQUISITION_MODE, - NonTargetLengthDto.PROPERTY_SPECIES + NonTargetLengthDto.PROPERTY_SPECIES, + NonTargetLengthDto.PROPERTY_SEX ); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java index 0deb45c..2272856 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java @@ -32,7 +32,10 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.ReferenceTypeName; +import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -90,7 +93,13 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements NonTargetSample nonTargetSample = getNonTargetSample(setSeine); - FormDto<NonTargetSampleDto> form = entityToReadFormDto(NonTargetSampleDto.class, NonTargetSample.class, nonTargetSample); + FormDto<NonTargetSampleDto> form = entityToEditFormDto( + NonTargetSampleDto.class, + NonTargetSample.class, + nonTargetSample, + new ReferenceTypeName(NonTargetLengthDto.class, SexDto.class, NonTargetLengthDto.PROPERTY_SEX), + new ReferenceTypeName(NonTargetLengthDto.class, SexDto.class, NonTargetLengthDto.PROPERTY_SPECIES) + ); // on filtre la list des espéces cibles Set<Species> speciesSet = Sets.newLinkedHashSet(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit fbf7f97d5cbe6291ed757158a18c626b7b7613d4 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 15:23:51 2015 +0200 conserver dans le referenceDto toutes les propriétées mêmes celles null --- .../builder/EntityToReferenceDtoBuilder.java | 25 ++++++++-------- .../EntityToReferentialReferenceDtoBuilder.java | 28 ++++++++++-------- ...EntityToReferentialReferenceDtoBuilderTest.java | 33 ++++++++++++++++++++++ 3 files changed, 63 insertions(+), 23 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java index bc97a46..518f155 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java @@ -58,7 +58,7 @@ public class EntityToReferenceDtoBuilder<E extends TopiaEntity, D extends IdDto> Preconditions.checkNotNull(binder, "EntityToReferenceBinder<" + entityType.getName() + ", " + dtoType.getName() + "> not found."); - Map<String, Object> entityProperties = binder.obtainProperties(entity); + Map<String, Object> entityProperties = binder.obtainProperties(entity, true); Set<String> propertyNames = entityProperties.keySet(); ReferenceDto<D> result = ReferenceDtos.newReferenceDto(dtoType, propertyNames); @@ -67,21 +67,24 @@ public class EntityToReferenceDtoBuilder<E extends TopiaEntity, D extends IdDto> String propertyName = entry.getKey(); Object propertyValue = entry.getValue(); - if (propertyValue instanceof ReferenceEntity) { + if (propertyValue != null) { - ReferenceEntity referentialEntity = (ReferenceEntity) propertyValue; - Class referenceDtoType = ObserveServiceTopia.getDtoType(referentialEntity.getClass()); - propertyValue = EntityToReferentialReferenceDtoBuilder.build(referenceDtoType, referentialLocale, referentialEntity); + if (propertyValue instanceof ReferenceEntity) { - } else if (propertyValue instanceof TopiaEntity) { + ReferenceEntity referentialEntity = (ReferenceEntity) propertyValue; + Class referenceDtoType = ObserveServiceTopia.getDtoType(referentialEntity.getClass()); + propertyValue = EntityToReferentialReferenceDtoBuilder.build(referenceDtoType, referentialLocale, referentialEntity); - TopiaEntity topiaEntity = (TopiaEntity) propertyValue; - Class referenceDtoType = ObserveServiceTopia.getDtoType(topiaEntity.getClass()); - propertyValue = EntityToReferenceDtoBuilder.build(referenceDtoType, referentialLocale, topiaEntity); + } else if (propertyValue instanceof TopiaEntity) { - } + TopiaEntity topiaEntity = (TopiaEntity) propertyValue; + Class referenceDtoType = ObserveServiceTopia.getDtoType(topiaEntity.getClass()); + propertyValue = EntityToReferenceDtoBuilder.build(referenceDtoType, referentialLocale, topiaEntity); + + } - result.setPropertyValue(propertyName, (Serializable) propertyValue); + result.setPropertyValue(propertyName, (Serializable) propertyValue); + } } result.setId(entity.getTopiaId()); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java index ae69b55..64261be 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java @@ -66,7 +66,7 @@ public class EntityToReferentialReferenceDtoBuilder<E extends ReferenceEntity, D Binder<E, D> binder = ObserveDtoBinders.newEntityToReferenceBinder(entityType, dtoType); Preconditions.checkNotNull(binder, "EntityToReferenceBinder<" + entityType.getName() + ", " + dtoType.getName() + "> not found."); - Map<String, Object> entityProperties = binder.obtainProperties(entity); + Map<String, Object> entityProperties = binder.obtainProperties(entity, true); Set<String> propertyNames = entityProperties.keySet(); ReferentialReferenceDto<D> result = ReferentialReferenceDtos.newReferentialReferenceDto(dtoType, referentialLocale, propertyNames); @@ -75,23 +75,27 @@ public class EntityToReferentialReferenceDtoBuilder<E extends ReferenceEntity, D String propertyName = entry.getKey(); Object propertyValue = entry.getValue(); - if (propertyValue instanceof ReferenceEntity) { + if (propertyValue != null) { - ReferenceEntity referentialEntity = (ReferenceEntity) propertyValue; - Class referenceDtoType = ObserveServiceTopia.getDtoType(referentialEntity.getClass()); - propertyValue = EntityToReferentialReferenceDtoBuilder.build(referenceDtoType, referentialLocale, referentialEntity); + if (propertyValue instanceof ReferenceEntity) { - } else if (propertyValue instanceof TopiaEntity) { + ReferenceEntity referentialEntity = (ReferenceEntity) propertyValue; + Class referenceDtoType = ObserveServiceTopia.getDtoType(referentialEntity.getClass()); + propertyValue = EntityToReferentialReferenceDtoBuilder.build(referenceDtoType, referentialLocale, referentialEntity); - TopiaEntity topiaEntity = (TopiaEntity) propertyValue; - Class referenceDtoType = ObserveServiceTopia.getDtoType(topiaEntity.getClass()); - propertyValue = EntityToReferenceDtoBuilder.build(referenceDtoType, referentialLocale, topiaEntity); + } else if (propertyValue instanceof TopiaEntity) { - } else { - propertyValue = transform(propertyValue); + TopiaEntity topiaEntity = (TopiaEntity) propertyValue; + Class referenceDtoType = ObserveServiceTopia.getDtoType(topiaEntity.getClass()); + propertyValue = EntityToReferenceDtoBuilder.build(referenceDtoType, referentialLocale, topiaEntity); + + } else { + propertyValue = transform(propertyValue); + } + + result.setPropertyValue(referentialLocale, propertyName, (Serializable) propertyValue); } - result.setPropertyValue(referentialLocale, propertyName, (Serializable) propertyValue); } result.setId(entity.getTopiaId()); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilderTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilderTest.java index c64795b..2f01251 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilderTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilderTest.java @@ -54,4 +54,37 @@ public class EntityToReferentialReferenceDtoBuilderTest { } + @Test + public void testCopyWithNullProperty() { + + Program program = new ProgramImpl(); + program.setCode("code"); + program.setNeedComment(true); + program.setStatus(ReferenceStatus.enabled); + program.setLabel1("label1"); + program.setLabel2("label2"); + program.setLabel3("label3"); + program.setLabel4("label4"); + program.setLabel5("label5"); + program.setLabel6("label6"); + program.setLabel7("label7"); + program.setLabel8("label8"); + program.setTopiaId("Program1"); + program.setStartDate(DateUtil.createDate(1, 1, 1)); + program.setEndDate(DateUtil.createDate(1, 1, 2)); + program.setGearType(null); + program.setTargetDiscardsObservation(1); + + ReferentialReferenceDto<ProgramDto> referenceProgramDto = EntityToReferentialReferenceDtoBuilder.build(ProgramDto.class, ReferentialLocale.FR, program); + + // On vérife que le program a bien été copié et que la propriété a null est toujour presente + + Assert.assertEquals(program.getTopiaId(), referenceProgramDto.getId()); + Assert.assertEquals(program.getCode(), referenceProgramDto.getPropertyValue(ProgramDto.PROPERTY_CODE)); + Assert.assertEquals(program.getLabel2(), referenceProgramDto.getPropertyValue("label")); + Assert.assertNull(referenceProgramDto.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE)); + + + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 6e9949024ccf289dfd30983676e37a6f4281c9ef Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 15:24:14 2015 +0200 ajout des validateurs (refs #7608) --- ...nTargetLengthDto-n1-update-error-validation.xml | 117 +++++++++++++++++++++ ...argetLengthDto-n1-update-warning-validation.xml | 53 ++++++++++ ...nTargetSampleDto-n1-update-error-validation.xml | 49 +++++++++ 3 files changed, 219 insertions(+) diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-n1-update-error-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-n1-update-error-validation.xml new file mode 100644 index 0000000..6a4dc4e --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-n1-update-error-validation.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="species"> + + <!-- pas de species selectionnee --> + <field-validator type="required" short-circuit="true"> + <message>validator.nonTargetSample.required.species</message> + </field-validator> + + <!-- species desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ species.enabled ]]> + </param> + <message>validator.nonTargetSample.desactivated.species</message> + </field-validator> + + </field> + + <field name="length"> + + <!-- taille obligatoire en mode par count --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ acquisitionMode == 1 || length != null ]]> + </param> + <message>validator.nonTargetSample.required.taille</message> + </field-validator> + + <!-- au moins un des 2 valeurs taille / weight doit etre renseignee (en mode par individu) --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ acquisitionMode == 0 || length != null || weight != null ]]> + </param> + <message>validator.nonTargetSample.required.weight.or.taille</message> + </field-validator> + + <!-- pas de length selectionnee --> + <!--field-validator type="required" short-circuit="true"> + <message>validator.nonTargetSample.required.length</message> + </field-validator--> + + <!-- length non renseigné ou > 0 --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ length == null || length > 0 ]]> + </param> + <message>validator.nonTargetSample.positive.length</message> + </field-validator> + + </field> + + <field name="weight"> + + <!-- au moins un des 2 valeurs taille / weight doit etre renseignee (en mode par individu) --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ acquisitionMode == 0 || length != null || weight != null ]]> + </param> + <message>validator.nonTargetSample.required.weight.or.taille</message> + </field-validator> + + <!-- weight non renseigné ou > 0 --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ weight == null || weight > 0 ]]> + </param> + <message>validator.nonTargetSample.positive.weight</message> + </field-validator> + + </field> + + <field name="count"> + + <!-- pas d'individu selectionnee --> + <field-validator type="required" short-circuit="true"> + <message>validator.nonTargetSample.required.count</message> + </field-validator> + + </field> + + <field name="sex"> + + <!-- pas de sex selectionne --> + <field-validator type="required" short-circuit="true"> + <message>validator.nonTargetSample.required.gender</message> + </field-validator> + + </field> + +</validators> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-n1-update-warning-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-n1-update-warning-validation.xml new file mode 100644 index 0000000..e38c3f0 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-n1-update-warning-validation.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="length"> + + <!-- validation de la taille par borne --> + <field-validator type="species_length"> + <!--<param name="fieldName">length</param>--> + <param name="ratio">1.0</param> + <message>validator.nonTargetSample.bound.length##${min}##${max}</message> + </field-validator> + + </field> + + <field name="weight"> + + <!-- validation du weight par borne (uniquement pour mode saisie par individus) --> + <field-validator type="species_weight"> + <param name="ratio">1.0</param> + <param name="expression"> + <![CDATA[ acquisitionMode == 1 ]]> + </param> + <message>validator.nonTargetSample.bound.weight##${min}##${max}</message> + </field-validator> + + </field> + +</validators> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetSampleDto-n1-update-error-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetSampleDto-n1-update-error-validation.xml new file mode 100644 index 0000000..41cda81 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetSampleDto-n1-update-error-validation.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="comment"> + + <!-- comentaire de moins de 1024 caractères --> + <field-validator type="stringlength"> + <param name="maxLength">1024</param> + <message>validator.nonTargetSample.comment.tobig</message> + </field-validator> + + <!-- comment requis selone le type d'species indiquee dans les tailles thons choisi --> + + <field-validator type="collectionFieldExpression"> + <param name="mode">ALL</param> + <param name="useSensitiveContext">true</param> + <param name="collectionFieldName">nonTargetSample</param> + <param name="expression"> + <![CDATA[ (comment != null && !comment.empty) || current.species == null || !current.species.needComment ]]></param> + <message>validator.nonTargetSample.required.comment.for.species##${index}</message> + </field-validator> + + </field> +</validators> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 1d4970fbba7655b5ccc3a5561969070149249c57 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 16:00:39 2015 +0200 correction de la supression des échantillons associés aux captures de faunes accesoires supprimées (refs #7608 #7609) --- .../i18n/observe-application-swing_fr_FR.properties | 4 ++-- .../ird/observe/entities/seine/NonTargetCatchs.java | 20 ++++++++++++++++++++ .../service/seine/NonTargetCatchServiceTopia.java | 6 +++--- .../service/seine/NonTargetSampleServiceTopia.java | 2 +- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 2012dde..f27351e 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -1539,7 +1539,7 @@ observe.message.warning.will.be.delete=%1$s\n\nAttention, l'export remplacera la observe.model.version=Version du modèle de données observe.navigationMenu.moveTrip=Réallocation du programme observe.navigationMenu.noAction=< Aucune action définie > -observe.nonTargetCatch.message.table.will.delete.nonTargetSample=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des échantillonages suivants \:\n%2$s +observe.nonTargetCatch.message.table.will.delete.nonTargetSample=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des échantillonages des ces espèces observe.nonTargetCatch.table.catchWeight=Poids observe.nonTargetCatch.table.catchWeight.tip=Poids estimé (en t) observe.nonTargetCatch.table.comment=Com @@ -2047,7 +2047,7 @@ observe.targetCatch.table.weightCategory=Catégorie de poids observe.targetCatch.table.weightCategory.tip=Catégorie de poids observe.targetCatch.table.well=Cuve observe.targetCatch.table.well.tip=Cuve -observe.targetDiscarded.message.table.will.delete.targetLength=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des échantillonnages des ses espèces +observe.targetDiscarded.message.table.will.delete.targetLength=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des échantillonnages des ces espèces observe.targetDiscarded.table.broughtOnDeck=M observe.targetDiscarded.table.broughtOnDeck.tip=Monté sur le pont ? observe.targetDiscarded.table.comment=Comm diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetCatchs.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetCatchs.java new file mode 100644 index 0000000..779473d --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetCatchs.java @@ -0,0 +1,20 @@ +package fr.ird.observe.entities.seine; + +import com.google.common.base.Function; +import fr.ird.observe.entities.referentiel.Species; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class NonTargetCatchs { + + public static Function<NonTargetCatch, Species> getSpeciesFunction() { + return new Function<NonTargetCatch, Species>() { + @Override + public Species apply(NonTargetCatch input) { + return input.getSpecies(); + } + }; + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java index 74e5811..fc9a0d1 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java @@ -28,11 +28,11 @@ import com.google.common.collect.Sets; import fr.ird.observe.entities.referentiel.Ocean; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.seine.NonTargetCatch; +import fr.ird.observe.entities.seine.NonTargetCatchs; import fr.ird.observe.entities.seine.NonTargetLenghts; import fr.ird.observe.entities.seine.NonTargetLength; import fr.ird.observe.entities.seine.NonTargetSample; import fr.ird.observe.entities.seine.SetSeine; -import fr.ird.observe.entities.seine.TargetCatchs; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; @@ -133,8 +133,8 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N NonTargetSample nonTargetSample = Iterables.get(setSeine.getNonTargetSample(), 0); Set<Species> speciesCatchs = Sets.newHashSet(Iterables.transform( - setSeine.getTargetCatch(), - TargetCatchs.getSpeciesFunction())); + setSeine.getNonTargetCatch(), + NonTargetCatchs.getSpeciesFunction())); Set<NonTargetLength> nonTargetLengthToDelete = Sets.newHashSet(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java index 2272856..fb02144 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java @@ -98,7 +98,7 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements NonTargetSample.class, nonTargetSample, new ReferenceTypeName(NonTargetLengthDto.class, SexDto.class, NonTargetLengthDto.PROPERTY_SEX), - new ReferenceTypeName(NonTargetLengthDto.class, SexDto.class, NonTargetLengthDto.PROPERTY_SPECIES) + new ReferenceTypeName(NonTargetLengthDto.class, SpeciesDto.class, NonTargetLengthDto.PROPERTY_SPECIES) ); // on filtre la list des espéces cibles -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 41d49cbb5e173315147e56cc28112a5d0e02e10f Merge: dfc4b79 1d4970f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 16:03:05 2015 +0200 Merge branch 'feature/7608' into develop .../content/table/impl/seine/NonTargetSampleUI.css | 12 +- .../table/impl/seine/NonTargetSampleUI.jaxx | 8 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 188 +++------------------ .../table/impl/seine/NonTargetSampleUIModel.java | 47 ++++-- ...nTargetLengthDto-n1-update-error-validation.xml | 117 +++++++++++++ ...argetLengthDto-n1-update-warning-validation.xml | 53 ++++++ ...nTargetSampleDto-n1-update-error-validation.xml | 49 ++++++ .../observe-application-swing_fr_FR.properties | 4 +- .../observe/entities/seine/NonTargetCatchs.java | 20 +++ .../main/xmi/observe-services-dto-seine.properties | 1 + .../src/main/xmi/observe-services-dto-seine.zargo | Bin 61805 -> 61995 bytes .../builder/EntityToReferenceDtoBuilder.java | 25 +-- .../EntityToReferentialReferenceDtoBuilder.java | 28 +-- .../services/dto/ObserveDtosInitializer.java | 6 +- .../service/seine/NonTargetCatchServiceTopia.java | 6 +- .../service/seine/NonTargetSampleServiceTopia.java | 11 +- ...EntityToReferentialReferenceDtoBuilderTest.java | 33 ++++ 17 files changed, 385 insertions(+), 223 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm