01/01: migration des écrans d'échantillons de captures cibles (refs #7606, 7607)
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7606 in repository observe. See http://git.codelutin.com/observe.git commit 0b5772b034cfb5959f77807c7ecab896787d57f5 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 09:17:29 2015 +0200 migration des écrans d'échantillons de captures cibles (refs #7606, 7607) --- .../ird/observe/ui/content/ContentUIManager.java | 8 +- .../table/impl/seine/TargetSampleCaptureUI.jaxx | 4 +- .../table/impl/seine/TargetSampleRejeteUI.jaxx | 4 +- .../table/impl/seine/TargetSampleUIHandler.java | 193 +++------------------ .../table/impl/seine/TargetSampleUIModel.java | 47 +++-- .../ui/tree/loadors/SetSeineNodeChildLoador.java | 8 +- .../v1/seine/TargetSampleServiceController.java | 3 +- .../service/seine/TargetSampleService.java | 3 +- .../services/dto/seine/TargetLengthDto.java | 21 +++ .../src/main/java/fr/ird/observe/util/Numbers.java | 0 .../src/main/xmi/observe-services-dto-seine.zargo | Bin 61271 -> 61461 bytes .../service/seine/TargetSampleServiceTopia.java | 11 +- 12 files changed, 100 insertions(+), 202 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIManager.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIManager.java index 119fadc..873964d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIManager.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIManager.java @@ -70,12 +70,14 @@ import fr.ird.observe.ui.content.table.impl.longline.SensorUsedUI; import fr.ird.observe.ui.content.table.impl.longline.TdrUI; import fr.ird.observe.ui.content.table.impl.seine.GearUseFeaturesSeineUI; import fr.ird.observe.ui.content.table.impl.seine.NonTargetCatchUI; +import fr.ird.observe.ui.content.table.impl.seine.NonTargetSampleUI; import fr.ird.observe.ui.content.table.impl.seine.ObjectObservedSpeciesUI; import fr.ird.observe.ui.content.table.impl.seine.ObjectSchoolEstimateUI; import fr.ird.observe.ui.content.table.impl.seine.SchoolEstimateUI; import fr.ird.observe.ui.content.table.impl.seine.TargetCatchUI; import fr.ird.observe.ui.content.table.impl.seine.TargetDiscardCatchUI; import fr.ird.observe.ui.content.table.impl.seine.TargetSampleCaptureUI; +import fr.ird.observe.ui.content.table.impl.seine.TargetSampleRejeteUI; import fr.ird.observe.ui.tree.ObserveNode; import jaxx.runtime.JAXXContext; import jaxx.runtime.context.JAXXInitialContext; @@ -141,9 +143,9 @@ public class ContentUIManager { addMapping(DATA, SetSeineDto.class, SetSeineDto.PROPERTY_TARGET_DISCARDED, TargetDiscardCatchUI.class); addMapping(DATA, SetSeineDto.class, SetSeineDto.PROPERTY_TARGET_SAMPLE_CAPTURE, TargetSampleCaptureUI.class); addMapping(DATA, SetSeineDto.class, SetSeineNonTargetCatchDto.PROPERTY_NON_TARGET_CATCH, NonTargetCatchUI.class); -//FIXME -// addMapping(DATA, SetSeineDto.class, SetSeineDto.PROPERTY_TARGET_SAMPLE, TargetSampleRejeteUI.class); -// addMapping(DATA, SetSeineDto.class, SetSeineDto.PROPERTY_NON_TARGET_SAMPLE, NonTargetSampleUI.class); + + addMapping(DATA, SetSeineDto.class, "targetSample", TargetSampleRejeteUI.class); + addMapping(DATA, SetSeineDto.class, "nonTargetSample", NonTargetSampleUI.class); addMapping(DATA, FloatingObjectDto.class, FloatingObjectUI.class); addMapping(DATA, FloatingObjectDto.class, n("observe.tree.floatingObject.unsaved"), FloatingObjectUI.class); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleCaptureUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleCaptureUI.jaxx index 405cb01..2963936 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleCaptureUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleCaptureUI.jaxx @@ -23,9 +23,7 @@ <TargetSampleUI contentTitle='{n("observe.common.targetSampleCapture")}' saveNewEntryText='{n("observe.action.create.targetSampleCapture")}' - saveNewEntryTip='{n("observe.action.create.targetSampleCapture.tip")}' - - > + saveNewEntryTip='{n("observe.action.create.targetSampleCapture.tip")}'> <import> static org.nuiton.i18n.I18n.n diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleRejeteUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleRejeteUI.jaxx index 43dbba2..e0fdf34 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleRejeteUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleRejeteUI.jaxx @@ -23,9 +23,7 @@ <TargetSampleUI contentTitle='{n("observe.common.targetSample")}' saveNewEntryText='{n("observe.action.create.targetSample")}' - saveNewEntryTip='{n("observe.action.create.targetSample.tip")}' - - > + saveNewEntryTip='{n("observe.action.create.targetSample.tip")}'> <import> static org.nuiton.i18n.I18n.n diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 0c94b6e..1f3d5ce 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -23,23 +23,21 @@ package fr.ird.observe.ui.content.table.impl.seine; 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.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineDto; -import fr.ird.observe.services.dto.seine.SetSeineDtos; import fr.ird.observe.services.dto.seine.TargetLengthDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.dto.seine.TargetSampleDtos; -import fr.ird.observe.services.service.seine.SetSeineService; import fr.ird.observe.services.service.seine.TargetSampleService; 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 fr.ird.observe.ui.content.table.ContentTableUI; +import fr.ird.observe.ui.content.table.ContentTableUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorScope; @@ -49,8 +47,6 @@ import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.ArrayList; -import java.util.List; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -66,15 +62,15 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto /** * Pour différencier positionner l'invariant de l'écran - * {@link TargetSample#getDiscarded()}. + * {@link TargetSampleDto#getDiscarded()}. * * @since 1.5 */ protected final boolean discarded; /** - * Ecoute les modifications de la propriété {@link TargetLength#getWeight()}, - * et repasser alors le flag {@link TargetLength#isWeightSource()} à + * Ecoute les modifications de la propriété {@link TargetLengthDto#getWeight()}, + * et repasser alors le flag {@link TargetLengthDto#isWeightSource()} à * {@code false}. * * @since 3.0 @@ -88,8 +84,8 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto }; /** - * Ecoute les modifications de la propriété {@link TargetLength#getLength()}, - * et repasser alors le flag {@link TargetLength#isLengthSource()} à + * Ecoute les modifications de la propriété {@link TargetLengthDto#getLength()}, + * et repasser alors le flag {@link TargetLengthDto#isLengthSource()} à * {@code false}. * * @since 3.0 @@ -125,143 +121,10 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto @Override protected String getEditBeanIdToLoad() { - String setId = getDataContext().getSelectedSetId(); - // on doit récupérer l'unique échantillonThon de la calée - //FIXME -// String id = dataService.getTargetSampleId(dataSource, setId, discarded); -// return id; - return null; + String id = getDataContext().getSelectedSetId(); + return id; } -// @Override -// protected TargetSample loadEditBean(ContentMode mode, -// DataContext dataContext, -// DataService dataService, -// DataSource dataSource) { -// -// String setId = dataContext.getSelectedSetId(); -// -// if (mode == ContentMode.UPDATE) { -// -// // on ne charge les speciess uniquement si on est en mode édition -// List<Species> speciess = -// dataService.getAvailableEspeceForTargetSample(dataSource, setId, discarded); -// -// getUi().getSpecies().setData(speciess); -// } -// -// // on doit récupérer l'unique échantillonThon de la calée -// String id = getEditBeanIdToLoad(dataContext, dataService, dataSource); -// -// TargetSample editBean = getBean(); -// -// if (log.isInfoEnabled()) { -// log.info(prefix + " - set id : " + setId); -// log.info(prefix + " - echantillon thon 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<TargetLength>()); -// } 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(TargetSampleDto bean, List<TargetLengthDto> 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 targetSample " + bean + " for " + setId); - } - - //FIXME -// getDataService().create(getDataSource(), setId, bean, null, getCreateExecutor()); - - } - - for (TargetLengthDto targetLength : objets) { - - // on attache a l'echantillon - //FIXME -// targetLength.setTargetSample(bean); - } - - } - - return true; - - } - - //FIXME -// @Override -// protected void doPersist(TargetSample bean, DataService dataService, DataSource dataSource) { -// -// if (bean.getTopiaId() != null && bean.isTargetLengthEmpty()) { -// -// // remove orphan target sample -// -// String setId = getDataContext().getSelectedSetId(); -// if (log.isInfoEnabled()) { -// log.info("Remove obsolete targetSample " + bean.getTopiaId() + " from Set: " + setId); -// } -// getDataService().delete(getDataSource(), setId, bean, getDeleteExecutor()); -// -// } else { -// -// // normal persist -// super.doPersist(bean, dataService, dataSource); -// -// } -// -// } - - //FIXME -// @Override -// protected TargetSample onCreate(TopiaContext tx, -// Object parent, -// TargetSample editBean) throws TopiaException { -// SetSeine parentBean = (SetSeine) parent; -// TargetSample beanToSave = -// ObserveDAOHelper.getTargetSampleDAO(tx).create(); -// beanToSave.setDiscarded(discarded); -// editBean.setTopiaId(beanToSave.getTopiaId()); -// editBean.setTopiaCreateDate(beanToSave.getTopiaCreateDate()); -// editBean.setTopiaVersion(beanToSave.getTopiaVersion()); -// parentBean.addTargetSample(beanToSave); -// return beanToSave; -// } - - //FIXME - @Override -// protected void onDelete(TopiaContext tx, Object parent, TargetSample beanToDelete) throws TopiaException { -// SetSeine parentBean = (SetSeine) parent; -// parentBean.removeTargetSample(beanToDelete); -// } - protected void onSelectedRowChanged(int editingRow, TargetLengthDto bean, boolean create) { ContentTableModel<TargetSampleDto, TargetLengthDto> model = getTableModel(); @@ -270,8 +133,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto return; } - //FIXME -// SpeciesDto species = bean.getSpecies(); + ReferenceDto<SpeciesDto> species = bean.getSpecies(); JComponent requestFocus; @@ -283,8 +145,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto if (editingRow > 0) { // on recupere l'species de la ligne precedente TargetLengthDto editBean = model.getValueAt(editingRow - 1); - //FIXME -// species = editBean.getSpecies(); + species = editBean.getSpecies(); } // on passe le mode de saisie en count @@ -313,13 +174,12 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto // on met a jour l'espce ui.getSpecies().setSelectedItem(null); - //FIXME -// if (species != null) { -// if (log.isDebugEnabled()) { -// log.debug("species to use " + species); -// } -// ui.getSpecies().setSelectedItem(species); -// } + if (species != null) { + if (log.isDebugEnabled()) { + log.debug("species to use " + species); + } + ui.getSpecies().setSelectedItem(species); + } requestFocus.requestFocus(); TargetLengthDto tableEditBean = getTableEditBean(); @@ -350,7 +210,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto n("observe.targetSample.table.totalWeight"), n("observe.targetSample.table.totalWeight.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.newEnumTableCellRenderer(renderer, CodeMesureEnum.class)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); @@ -362,17 +222,9 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto protected ContentMode getContentMode(DataContext dataContext) { ContentMode mode = super.getContentMode(dataContext); - boolean showData = false; + String setId = dataContext.getSelectedSetId(); - //FIXME -// try { -// String setId = getDataContext().getSelectedSetId(); -// showData = getDataService().canUseTargetSample(getDataSource(), setId, discarded); -// } catch (DataSourceException e) { -// if (log.isErrorEnabled()) { -// log.error(e); -// } -// } + boolean showData = getTargetSampleService().canUseTargetSample(setId, discarded); getModel().setShowData(showData); @@ -458,7 +310,8 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto @Override protected void doPersist(TargetSampleDto bean) { - getTargetSampleService().save(getSelectedParentId(), bean); + SaveResultDto saveResultDto = getTargetSampleService().save(getSelectedParentId(), bean); + bean.setLastUpdate(saveResultDto.getLastUpdate()); } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIModel.java index 58aa066..f116c8e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIModel.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.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TargetLengthDtos; import fr.ird.observe.services.dto.seine.TargetSampleDto; 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,18 +49,18 @@ public class TargetSampleUIModel extends ContentTableUIModel<TargetSampleDto, Ta super(TargetSampleDto.class, TargetLengthDto.class, - new String[]{TargetSampleDto.PROPERTY_TARGET_LENGTH, TargetSampleDto.PROPERTY_COMMENT}, new String[]{ - //FIXME -// TargetLengthDto.PROPERTY_TARGET_SAMPLE, - TargetLengthDto.PROPERTY_SPECIES, - TargetLengthDto.PROPERTY_LENGTH, - TargetLengthDto.PROPERTY_LENGTH_SOURCE, - TargetLengthDto.PROPERTY_WEIGHT, - TargetLengthDto.PROPERTY_WEIGHT_SOURCE, - TargetLengthDto.PROPERTY_COUNT, - TargetLengthDto.PROPERTY_MEASURE_TYPE, - TargetLengthDto.PROPERTY_ACQUISITION_MODE}); + TargetSampleDto.PROPERTY_TARGET_LENGTH, + TargetSampleDto.PROPERTY_COMMENT}, + new String[]{ + TargetLengthDto.PROPERTY_SPECIES, + TargetLengthDto.PROPERTY_LENGTH, + TargetLengthDto.PROPERTY_LENGTH_SOURCE, + TargetLengthDto.PROPERTY_WEIGHT, + TargetLengthDto.PROPERTY_WEIGHT_SOURCE, + TargetLengthDto.PROPERTY_COUNT, + TargetLengthDto.PROPERTY_MEASURE_TYPE, + TargetLengthDto.PROPERTY_ACQUISITION_MODE}); List<ContentTableMeta<TargetLengthDto>> metas = Lists.newArrayList( ContentTableModel.newTableMeta(TargetLengthDto.class, TargetLengthDto.PROPERTY_SPECIES, true), @@ -72,8 +75,24 @@ public class TargetSampleUIModel extends ContentTableUIModel<TargetSampleDto, Ta } @Override - protected ContentTableModel<TargetSampleDto, TargetLengthDto> createTableModel(ObserveContentTableUI<TargetSampleDto, TargetLengthDto> ui, List<ContentTableMeta<TargetLengthDto>> contentTableMetas) { - // FIXME - return null; + protected ContentTableModel<TargetSampleDto, TargetLengthDto> createTableModel( + ObserveContentTableUI<TargetSampleDto, TargetLengthDto> ui, + List<ContentTableMeta<TargetLengthDto>> contentTableMetas) { + return new ContentTableModel<TargetSampleDto, TargetLengthDto>(ui, contentTableMetas) { + @Override + protected Collection<TargetLengthDto> getChilds(TargetSampleDto bean) { + return bean.getTargetLength(); + } + + @Override + protected void load(TargetLengthDto source, TargetLengthDto target) { + TargetLengthDtos.copyTargetLengthDto(source, target); + } + + @Override + protected void setChilds(TargetSampleDto parent, List<TargetLengthDto> childs) { + parent.setTargetLength(Sets.newLinkedHashSet(childs)); + } + }; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/SetSeineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/SetSeineNodeChildLoador.java index 39c79ea..bb5d7e1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/SetSeineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/SetSeineNodeChildLoador.java @@ -68,12 +68,10 @@ public class SetSeineNodeChildLoador extends AbstractNodeChildLoador<String, Str result.add(SetSeineSchoolEstimateDto.PROPERTY_SCHOOL_ESTIMATE); result.add(SetSeineTargetCatchDto.PROPERTY_TARGET_CATCH); result.add(SetSeineDto.PROPERTY_TARGET_DISCARDED); - //FIXME -// result.add(SetSeine.PROPERTY_TARGET_SAMPLE); -// result.add(SetSeine.PROPERTY_TARGET_SAMPLE_CAPTURE); + result.add("targetSample"); + result.add(SetSeineDto.PROPERTY_TARGET_SAMPLE_CAPTURE); result.add(SetSeineNonTargetCatchDto.PROPERTY_NON_TARGET_CATCH); - //FIXME -// result.add(SetSeine.PROPERTY_NON_TARGET_SAMPLE); + result.add("nonTargetSample"); return result; } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java index ced9af1..dd25a10 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.service.seine.TargetSampleService; @@ -52,7 +53,7 @@ public class TargetSampleServiceController extends ObserveAuthenticatedServiceCo } @Override - public String save(String setSeineId, TargetSampleDto dto) { + public SaveResultDto save(String setSeineId, TargetSampleDto dto) { return service.save(setSeineId, dto); } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java index 528c66c..da9815f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -47,6 +48,6 @@ public interface TargetSampleService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(String setSeineId, TargetSampleDto dto); + SaveResultDto save(String setSeineId, TargetSampleDto dto); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/TargetLengthDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/TargetLengthDto.java new file mode 100644 index 0000000..be99ea7 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/TargetLengthDto.java @@ -0,0 +1,21 @@ +package fr.ird.observe.services.dto.seine; + +import fr.ird.observe.util.Numbers; + +import javax.annotation.Generated; + +@Generated(value = "org.nuiton.eugene.java.SimpleJavaBeanWithNoInterfaceTransformer", date = "Tue Oct 20 17:22:11 CEST 2015") +public class TargetLengthDto extends AbstractTargetLengthDto { + + private static final long serialVersionUID = 7005688292510741559L; + + public Float getTotalWeight() { + Float result = null; + if (getWeight() != null && getCount() != null) { + result = Numbers.round3Digits(getWeight() * getCount() / 1000.0f); + } + return result; + } + + +} //TargetLengthDto diff --git a/observe-entities/src/main/java/fr/ird/observe/util/Numbers.java b/observe-services-model/src/main/java/fr/ird/observe/util/Numbers.java similarity index 100% rename from observe-entities/src/main/java/fr/ird/observe/util/Numbers.java rename to observe-services-model/src/main/java/fr/ird/observe/util/Numbers.java 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 3e11620..b801974 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/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java index 207c70b..83d6cb3 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -26,6 +26,7 @@ import com.google.common.collect.Sets; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.TargetCatch; +import fr.ird.observe.entities.seine.TargetLength; import fr.ird.observe.entities.seine.TargetSample; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; @@ -33,6 +34,8 @@ 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.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TargetLengthDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; @@ -131,12 +134,16 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar } @Override - public String save(String setSeineId, TargetSampleDto targetSampleDto) { + public SaveResultDto save(String setSeineId, TargetSampleDto targetSampleDto) { SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); TargetSample targetSample = dtoToEntity(TargetSampleDto.class, TargetSample.class, targetSampleDto); + for (TargetLength targetLength : targetSample.getTargetLength()) { + targetLength.setTargetSample(targetSample); + } + targetSample = saveEntity(TargetSample.class, targetSample); if (targetSampleDto.isNotPersisted()) { @@ -147,6 +154,6 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar } - return setSeine.getTopiaId(); + return SaveResultDtos.newSaveResult(setSeine.getTopiaId(), setSeine.getLastUpdate()); } } -- 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