branch feature/7606 created (now 0b5772b)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7606 in repository observe. See http://git.codelutin.com/observe.git at 0b5772b migration des écrans d'échantillons de captures cibles (refs #7606, 7607) This branch includes the following new commits: new 0b5772b migration des écrans d'échantillons de captures cibles (refs #7606, 7607) The 1 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 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) -- 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 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