This is an automated email from the git hooks/post-receive script. New commit to branch feature/7531 in repository observe. See http://git.codelutin.com/observe.git commit e11ff675ce00b4d47b7fdcb9ccc73043b1442bcf Author: Kevin Morin <morin@codelutin.com> Date: Thu Sep 24 17:08:04 2015 +0200 début d'utilisation des services dans doSave et doDelete (refs #7531) --- .../ird/observe/ui/content/ContentUIHandler.java | 5 +- .../content/impl/longline/BranchlineUIHandler.java | 29 ++- .../FloatingObjectTransmittingBuoyOperationUI.jaxx | 6 +- ...ngObjectTransmittingBuoyOperationUIHandler.java | 139 ++++++------ ...tingObjectTransmittingBuoyOperationUIModel.java | 16 +- .../impl/seine/FloatingObjectUIHandler.java | 31 ++- .../impl/longline/ActivityLonglineUIHandler.java | 145 ++++++------- .../open/impl/seine/ActivitySeineUIHandler.java | 98 ++++----- .../ui/content/ref/ContentReferenceUIHandler.java | 239 +++++++++++---------- .../ui/content/table/ContentTableUIHandler.java | 64 +++--- .../v1/ReferentialServiceController.java | 4 +- .../ActivityLonglineServiceController.java | 9 +- .../v1/seine/ActivitySeineServiceController.java | 4 +- .../v1/seine/FloatingObjectServiceController.java | 4 +- ...TransmittingBuoyOperationServiceController.java | 4 +- .../services/service/ReferentialService.java | 2 +- .../service/longline/ActivityLonglineService.java | 8 +- .../service/seine/ActivitySeineService.java | 2 +- .../service/seine/FloatingObjectService.java | 2 +- .../seine/TransmittingBuoyOperationService.java | 2 +- .../src/main/xmi/observe-services-dto-common.zargo | Bin 35328 -> 36919 bytes ...on.zargo => observe-services-dto-common.zargo~} | Bin .../services/service/ReferentialServiceTopia.java | 6 +- .../longline/ActivityLonglineServiceTopia.java | 24 ++- .../service/seine/ActivitySeineServiceTopia.java | 4 +- .../service/seine/FloatingObjectServiceTopia.java | 4 +- .../TransmittingBuoyOperationServiceTopia.java | 4 +- 27 files changed, 423 insertions(+), 432 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index ed5acc4..dde86d0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -510,9 +510,9 @@ public abstract class ContentUIHandler<E extends IdDto> { public final void saveUI(boolean refresh) { boolean ok = false; - //FIXME try { ok = doSave(getBean()); + } catch (Exception e) { ErrorDialogUI.showError(e); if (log.isErrorEnabled()) { @@ -525,7 +525,6 @@ public abstract class ContentUIHandler<E extends IdDto> { } } -//FIXME protected boolean doSave(E bean) throws Exception { return false; } @@ -572,8 +571,10 @@ public abstract class ContentUIHandler<E extends IdDto> { boolean ok = false; ui.stopEdit(); removeAllMessages(ui); + try { ok = doDelete(getBean()); + } catch (Exception e) { ErrorDialogUI.showError(e); if (log.isErrorEnabled()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java index 568475e..f3d5478 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUIHandler.java @@ -218,23 +218,20 @@ public class BranchlineUIHandler extends ContentUIHandler<BranchlineDto> { } - //FIXME -// @Override -// protected boolean doSave(BranchlineDto bean, -// DataService dataService, -// DataSource dataSource, -// TopiaEntityBinder<BranchlineDto> binder) throws Exception { -// -// // bind back to model branchline -// BranchlineDto beanToSave = getModel().getBranchline(); + @Override + protected boolean doSave(BranchlineDto bean) throws Exception { + + // bind back to model branchline + BranchlineDto beanToSave = getModel().getBranchline(); + //FIXME // binder.copy(bean, beanToSave); -// -// // for external models -// getModel().fireSaved(); -// -// return true; -// -// } + + // for external models + getModel().fireSaved(); + + return true; + + } @Override public void resetEditUI() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx index fef4675..17116e2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx @@ -20,12 +20,12 @@ #L% --> -<fr.ird.observe.ui.content.ContentUI superGenericType='FloatingObjectDto' +<fr.ird.observe.ui.content.ContentUI superGenericType='FloatingObjectTransmittingBuoyDto' contentTitle='{n("observe.floatingObjectTransmittingBuoyOperation.title")}'> <import> fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.seine.FloatingObjectDto + fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto fr.ird.observe.services.dto.seine.TransmittingBuoyDto fr.ird.observe.services.dto.constants.seine.Ownership fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation @@ -51,7 +51,7 @@ <FloatingObjectTransmittingBuoyOperationUIModel id='model'/> <!-- edit bean --> - <FloatingObjectDto id='bean'/> + <FloatingObjectTransmittingBuoyDto id='bean'/> <!-- transmittingBuoy1 edit bean --> <TransmittingBuoyDto id='transmittingBuoy1' initializer='new TransmittingBuoyDto()'/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java index 1d7d3f0..d461585 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -24,13 +24,16 @@ package fr.ird.observe.ui.content.impl.seine; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.constants.DataContextType; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.constants.seine.Ownership; import fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; +import fr.ird.observe.services.service.seine.TransmittingBuoyOperationService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; @@ -38,9 +41,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorScope; -import javax.swing.JPanel; -import javax.swing.SwingUtilities; -import java.awt.GridLayout; +import javax.swing.*; +import java.awt.*; +import java.util.ArrayList; +import java.util.Collection; import java.util.List; import static org.nuiton.i18n.I18n.t; @@ -49,7 +53,7 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 1.0 */ -public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIHandler<FloatingObjectDto> { +public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIHandler<FloatingObjectTransmittingBuoyDto> { /** Logger */ static private Log log = LogFactory.getLog(FloatingObjectTransmittingBuoyOperationUIHandler.class); @@ -103,7 +107,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH log.info("dcpId = " + dcpId); } - FloatingObjectDto bean = getBean(); + FloatingObjectTransmittingBuoyDto bean = getBean(); //FIXME // bean.clearTransmittingBuoy(); @@ -204,17 +208,18 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH FloatingObjectTransmittingBuoyOperationUI ui = getUi(); addInfoMessage(t("observe.message.updating.floatingObject")); - //FIXME -// List<TransmittingBuoyDto> balises = getBean().getTransmittingBuoy(); -// if (balises != null && !balises.isEmpty()) { -// TransmittingBuoyDto transmittingBuoy1 = ui.getTransmittingBuoy1(); -// ui.getValidatorBalise1().setBean(transmittingBuoy1); -// -// if (balises.size() == 2) { -// TransmittingBuoyDto transmittingBuoy2 = ui.getTransmittingBuoy2(); -// ui.getValidatorBalise2().setBean(transmittingBuoy2); -// } -// } + + Collection<TransmittingBuoyDto> balises = getBean().getTransmittingBuoy(); + if (balises != null && !balises.isEmpty()) { + TransmittingBuoyDto transmittingBuoy1 = ui.getTransmittingBuoy1(); + ui.getValidatorBalise1().setBean(transmittingBuoy1); + + if (balises.size() == 2) { + TransmittingBuoyDto transmittingBuoy2 = ui.getTransmittingBuoy2(); + ui.getValidatorBalise2().setBean(transmittingBuoy2); + } + } + UIHelper.processDataBinding( ui, //FIXME @@ -243,16 +248,13 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH } //FIXME -// @Override -// protected boolean doSave(FloatingObject bean, -// DataService dataService, -// DataSource dataSource, -// TopiaEntityBinder<FloatingObject> binder) throws Exception { -// -// dataService.update(dataSource, null, bean, getUpdateExecutor()); -// //FIXME, il faut declancher un evenement dans le cache du storage pour pouvoir redessiner le noeud -// return true; -// } + @Override + protected boolean doSave(FloatingObjectTransmittingBuoyDto bean) throws Exception { + + getTransmittingBuoyOperationService().save(bean); + //FIXME, il faut declancher un evenement dans le cache du storage pour pouvoir redessiner le noeud + return true; + } //FIXME // @Override @@ -303,6 +305,16 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH resetEditUI(); } + @Override + protected FormDto<FloatingObjectTransmittingBuoyDto> loadToEdit(String id) { + return null; + } + + @Override + protected FormDto<FloatingObjectTransmittingBuoyDto> loadToReadDto(String id) { + return null; + } + protected void changeTypeOperation(TypeTransmittingBuoyOperation typeOperation, boolean reset) { FloatingObjectTransmittingBuoyOperationUI ui = getUi(); @@ -312,22 +324,21 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH } int nbBalises = typeOperation.getNbBalises(); - FloatingObjectDto bean = getBean(); + FloatingObjectTransmittingBuoyDto bean = getBean(); - //FIXME -// boolean hasBalise = !bean.isTransmittingBuoyEmpty(); -// -// List<TransmittingBuoyDto> objets = new ArrayList<TransmittingBuoyDto>(); -// if (!reset) { -// if (hasBalise) { -// objets.addAll(bean.getTransmittingBuoy()); -// } -// } -// -// if (hasBalise) { -// // always reset balise lues of editBean to avoid side-effects -// bean.getTransmittingBuoy().clear(); -// } + boolean hasBalise = !bean.isTransmittingBuoyEmpty(); + + List<TransmittingBuoyDto> objets = new ArrayList<TransmittingBuoyDto>(); + if (!reset) { + if (hasBalise) { + objets.addAll(bean.getTransmittingBuoy()); + } + } + + if (hasBalise) { + // always reset balise lues of editBean to avoid side-effects + bean.getTransmittingBuoy().clear(); + } // clean container JPanel editorPanel = ui.getTransmittingBuoys(); @@ -338,7 +349,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH ui.getTransmittingBuoyOperation1().getData(); TransmittingBuoyDto transmittingBuoy; - TransmittingBuoyOperationDto objectOperation; + ReferentialReferenceDto<TransmittingBuoyOperationDto> objectOperation; switch (nbBalises) { case 0: // no balise @@ -353,10 +364,10 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH case 1: //FIXME -// transmittingBuoy = reset ? null : objets.get(0); -// -// objectOperation = reset ? getObjectOperation(operations, codeOperations[0]) : null; -// bindEditBalise(ui.getTransmittingBuoy1(), objectOperation, transmittingBuoy); + transmittingBuoy = reset ? null : objets.get(0); + + objectOperation = reset ? getObjectOperation(operations, codeOperations[0]) : null; + bindEditBalise(ui.getTransmittingBuoy1(), objectOperation, transmittingBuoy); editorPanel.setLayout(new GridLayout(1, 0)); editorPanel.add(ui.getTransmittingBuoy1Editor()); @@ -368,13 +379,13 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH case 2: //FIXME -// transmittingBuoy = reset ? null : objets.get(0); -// objectOperation = reset ? getObjectOperation(operations, codeOperations[0]) : null; -// bindEditBalise(ui.getTransmittingBuoy1(), objectOperation, transmittingBuoy); -// -// transmittingBuoy = reset ? null : objets.get(1); -// objectOperation = reset ? getObjectOperation(operations, codeOperations[1]) : null; -// bindEditBalise(ui.getTransmittingBuoy2(), objectOperation, transmittingBuoy); + transmittingBuoy = reset ? null : objets.get(0); + objectOperation = reset ? getObjectOperation(operations, codeOperations[0]) : null; + bindEditBalise(ui.getTransmittingBuoy1(), objectOperation, transmittingBuoy); + + transmittingBuoy = reset ? null : objets.get(1); + objectOperation = reset ? getObjectOperation(operations, codeOperations[1]) : null; + bindEditBalise(ui.getTransmittingBuoy2(), objectOperation, transmittingBuoy); editorPanel.setLayout(new GridLayout(2, 0)); editorPanel.add(ui.getTransmittingBuoy1Editor()); @@ -398,7 +409,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH } protected void bindEditBalise(TransmittingBuoyDto editBean, - TransmittingBuoyOperationDto transmittingBuoyOperation, + ReferentialReferenceDto<TransmittingBuoyOperationDto> transmittingBuoyOperation, TransmittingBuoyDto transmittingBuoy) { //FIXME @@ -406,12 +417,11 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH if (transmittingBuoy == null) { - //FIXME -// editBean.setTransmittingBuoyOperation(transmittingBuoyOperation); + editBean.setTransmittingBuoyOperation(transmittingBuoyOperation); if (log.isDebugEnabled()) { log.debug("Reuse an empty balise lue for objectOperation " + - transmittingBuoyOperation.getLabel1()); + transmittingBuoyOperation.getPropertyValue(TransmittingBuoyOperationDto.PROPERTY_LABEL1)); } if (isBalisePose(transmittingBuoyOperation)) { @@ -422,7 +432,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH } } - FloatingObjectDto bean = getBean(); + FloatingObjectTransmittingBuoyDto bean = getBean(); // if (bean.getTransmittingBuoy() == null) { // bean.setTransmittingBuoy(new ArrayList<TransmittingBuoy>()); @@ -430,11 +440,11 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH // bean.getTransmittingBuoy().add(editBean); } - protected TransmittingBuoyOperationDto getObjectOperation(List<TransmittingBuoyOperationDto> objectOperations, + protected ReferentialReferenceDto<TransmittingBuoyOperationDto> getObjectOperation(List<ReferentialReferenceDto<TransmittingBuoyOperationDto>> objectOperations, String codeOperation) { - TransmittingBuoyOperationDto objectOperation = null; - for (TransmittingBuoyOperationDto op : objectOperations) { - if (codeOperation.equals(op.getCode())) { + ReferentialReferenceDto<TransmittingBuoyOperationDto> objectOperation = null; + for (ReferentialReferenceDto<TransmittingBuoyOperationDto> op : objectOperations) { + if (codeOperation.equals(op.getPropertyValue(TransmittingBuoyOperationDto.PROPERTY_CODE))) { objectOperation = op; break; } @@ -447,4 +457,9 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH return objectOperation; } + //FIXME + protected TransmittingBuoyOperationService getTransmittingBuoyOperationService() { + return null; + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIModel.java index 70dab24..815f408 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIModel.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.impl.seine; */ import fr.ird.observe.business.BinderService; -import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.ui.content.ContentUIModel; import org.nuiton.util.beans.BinderModelBuilder; @@ -33,7 +33,7 @@ import org.nuiton.util.beans.BinderModelBuilder; * @author Tony Chemit - chemit@codelutin.com * @since XXX */ -public class FloatingObjectTransmittingBuoyOperationUIModel extends ContentUIModel<FloatingObjectDto> { +public class FloatingObjectTransmittingBuoyOperationUIModel extends ContentUIModel<FloatingObjectTransmittingBuoyDto> { private static final long serialVersionUID = 1L; @@ -41,7 +41,7 @@ public class FloatingObjectTransmittingBuoyOperationUIModel extends ContentUIMod // protected TopiaEntityBinder<TransmittingBuoyDto> childLoador; public FloatingObjectTransmittingBuoyOperationUIModel() { - super(FloatingObjectDto.class); + super(FloatingObjectTransmittingBuoyDto.class); String binderName = getClass().getName() + "-open"; @@ -76,12 +76,12 @@ public class FloatingObjectTransmittingBuoyOperationUIModel extends ContentUIMod // } @Override - protected BinderModelBuilder<FloatingObjectDto, FloatingObjectDto> createOpeningBinder(BinderService binderService, String binderName) { + protected BinderModelBuilder<FloatingObjectTransmittingBuoyDto, FloatingObjectTransmittingBuoyDto> createOpeningBinder(BinderService binderService, String binderName) { - BinderModelBuilder<FloatingObjectDto, FloatingObjectDto> builder = binderService.newBinderBuilder( - FloatingObjectDto.class, - FloatingObjectDto.PROPERTY_COMMENT, - FloatingObjectDto.PROPERTY_OBJECT_OPERATION + BinderModelBuilder<FloatingObjectTransmittingBuoyDto, FloatingObjectTransmittingBuoyDto> builder = binderService.newBinderBuilder( + FloatingObjectTransmittingBuoyDto.class, + FloatingObjectTransmittingBuoyDto.PROPERTY_COMMENT +// FloatingObjectTransmittingBuoyDto.PROPERTY_OBJECT_OPERATION ); return builder; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java index 165703c..a1b3d7a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -26,6 +26,7 @@ import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.db.constants.DataContextType; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.service.seine.FloatingObjectService; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; import fr.ird.observe.ui.content.ContentUIModel; @@ -153,23 +154,15 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> } //FIXME -// @Override -// protected boolean doSave(FloatingObject bean, -// DataService dataService, -// DataSource dataSource, -// TopiaEntityBinder<FloatingObject> binder) throws Exception { -// -// String activityId = getSelectedParentId(); -// -// if (bean.getTopiaId() == null) { -// -// dataService.create(dataSource, activityId, bean, binder, getCreateExecutor()); -// } else { -// -// dataService.update(dataSource, null, bean, getUpdateExecutor()); -// } -// return true; -// } + @Override + protected boolean doSave(FloatingObjectDto bean) throws Exception { + + String activityId = getSelectedParentId(); + + getFloatingObjectService().save(activityId, bean); + + return true; + } //FIXME // @Override @@ -246,4 +239,8 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> // parentBean.removeFloatingObject(beanToDelete); // } + //FIXME + protected FloatingObjectService getFloatingObjectService() { + return null; + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index 4af6b58..7b21fd9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -22,13 +22,13 @@ package fr.ird.observe.ui.content.open.impl.longline; * #L% */ -import fr.ird.observe.business.ObserveTechnicalException; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; -import fr.ird.observe.business.db.DataSourceException; import fr.ird.observe.business.db.constants.DataContextType; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.result.TripChildSaveResultDto; +import fr.ird.observe.services.service.longline.ActivityLonglineService; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIModel; import fr.ird.observe.ui.content.open.ContentOpenableUIHandler; @@ -38,9 +38,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorScope; -import java.util.Calendar; -import java.util.Date; - import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -271,36 +268,27 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity model.setModified(create); } - //FIXME -// @Override -// protected boolean doSave(ActivityLongline bean, -// DataService dataService, -// DataSource dataSource, -// TopiaEntityBinder<ActivityLongline> binder) throws Exception { -// -// if (log.isDebugEnabled()) { -// log.debug(" long - lat = " + bean.getLongitude() + " - " + bean.getLatitude()); -// } -// boolean create = bean.getTopiaId() == null; -// -// String tripId = getSelectedParentId(); -// -// bean.setOpen(true); -// -// if (create) { -// bean = dataService.create(dataSource, tripId, bean, binder, getCreateExecutor()); -// -// } else { -// -// dataService.update(dataSource, tripId, bean, getUpdateExecutor()); -// } -// -// updateTripEndDate(tripId); -// -// obtainChildPosition(bean, dataService, dataSource); -// -// return true; -// } + @Override + protected boolean doSave(ActivityLonglineDto bean) throws Exception { + + if (log.isDebugEnabled()) { + log.debug(" long - lat = " + bean.getLongitude() + " - " + bean.getLatitude()); + } + + String tripId = getSelectedParentId(); + + bean.setOpen(true); + + TripChildSaveResultDto saveResult = getActivityLonglineService().save(tripId, getModel().getBean()); + bean.setId(saveResult.getId()); + + setUpdateMareeNodeTag(saveResult.isTripEndDateUpdated()); + + //FIXME quand on gèrera l'arbre +// obtainChildPosition(bean); + + return true; + } //FIXME // @Override @@ -332,30 +320,26 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity // return beanToSave; // } - //FIXME -// @Override -// protected boolean doDelete(ActivityLongline bean, -// DataService dataService, -// DataSource dataSource, -// TopiaExecutor2<? extends TopiaEntity, ActivityLongline> deletor) throws Exception { -// -// if (askToDelete(bean)) { -// return false; -// } -// if (log.isInfoEnabled()) { -// log.info("Will delete Activity " + bean.getTopiaId()); -// } -// -// String tripId = getSelectedParentId(); -// dataService.delete(dataSource, tripId, bean, deletor); -// if (log.isInfoEnabled()) { -// log.info("Delete done for Activity " + bean.getTopiaId()); -// } -// -// updateTripEndDate(tripId); -// return true; -// -// } + @Override + protected boolean doDelete(ActivityLonglineDto bean) throws Exception { + + if (askToDelete(bean)) { + return false; + } + if (log.isInfoEnabled()) { + log.info("Will delete Activity " + bean.getId()); + } + + String tripId = getSelectedParentId(); + boolean wasTripEndDateUpdated = getActivityLonglineService().delete(tripId, bean.getId()); + if (log.isInfoEnabled()) { + log.info("Delete done for Activity " + bean.getId()); + } + + setUpdateMareeNodeTag(wasTripEndDateUpdated); + return true; + + } //FIXME // @Override @@ -392,31 +376,20 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity public static final String UPDATE_MAREE_NODE = "updateTripNode"; - //FIXME -// protected void updateTripEndDate(String tripId) { -// -// boolean wasUpdated; -// -// // on met a jour si necessaire la date de fin de la maree -// try { -// wasUpdated = getDataService().updateEndDate(getDataSource(), tripId); -// -// } catch (DataSourceException e) { -// throw new ObserveTechnicalException("Could not update end date", e); -// } -// -// if (wasUpdated) { -// -// // la date de fin a ete modifiee, il faut : redessiner le noeud de la maree le repositionner -// getUi().setContextValue(Boolean.TRUE, UPDATE_MAREE_NODE); -// -// } else { -// -// getUi().removeContextValue(Boolean.class, UPDATE_MAREE_NODE); -// -// } -// -// } + protected void setUpdateMareeNodeTag(boolean wasUpdated) { + + if (wasUpdated) { + + // la date de fin a ete modifiee, il faut : redessiner le noeud de la maree le repositionner + getUi().setContextValue(Boolean.TRUE, UPDATE_MAREE_NODE); + + } else { + + getUi().removeContextValue(Boolean.class, UPDATE_MAREE_NODE); + + } + + } protected void repaintTripNode() { @@ -437,4 +410,8 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity } + //FIXME + protected ActivityLonglineService getActivityLonglineService() { + return null; + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java index 60ff366..23e0109 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -23,27 +23,23 @@ package fr.ird.observe.ui.content.open.impl.seine; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; -import fr.ird.observe.business.db.DataSourceException; import fr.ird.observe.business.db.constants.DataContextType; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.service.seine.ActivitySeineService; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIModel; import fr.ird.observe.ui.content.open.ContentOpenableUIHandler; -import jaxx.runtime.swing.ErrorDialogUI; import jaxx.runtime.validator.swing.SwingValidatorMessage; import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.util.DateUtil; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; -import java.util.Date; import java.util.HashSet; -import java.util.List; import java.util.Set; import static org.nuiton.i18n.I18n.n; @@ -314,34 +310,25 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei model.setModified(create); } - //FIXME -// @Override -// protected boolean doSave(ActivitySeine bean, -// DataService dataService, -// DataSource dataSource, -// TopiaEntityBinder<ActivitySeine> binder) throws Exception { -// -// if (log.isDebugEnabled()) { -// log.debug(" long - lat = " + bean.getLongitude() + " - " + bean.getLatitude()); -// } -// boolean create = bean.getTopiaId() == null; -// -// String routeId = getSelectedParentId(); -// -// bean.setOpen(true); -// -// if (create) { -// bean = dataService.create(dataSource, routeId, bean, binder, getCreateExecutor()); -// -// } else { -// -// dataService.update(dataSource, routeId, bean, getUpdateExecutor()); -// } -// -// obtainChildPosition(bean, dataService, dataSource); -// -// return true; -// } + @Override + protected boolean doSave(ActivitySeineDto bean) throws Exception { + + if (log.isDebugEnabled()) { + log.debug(" long - lat = " + bean.getLongitude() + " - " + bean.getLatitude()); + } + + String routeId = getSelectedParentId(); + + bean.setOpen(true); + + String beanId = getActivitySeineService().save(routeId, getModel().getBean()); + bean.setId(beanId); + + //FIXME quand on gèrera l'arbre +// obtainChildPosition(bean); + + return true; + } //FIXME // @Override @@ -378,27 +365,24 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei // return beanToSave; // } - //FIXME -// @Override -// protected boolean doDelete(ActivitySeine bean, -// DataService dataService, -// DataSource dataSource, -// TopiaExecutor2<? extends TopiaEntity, ActivitySeine> deletor) throws Exception { -// -// if (askToDelete(bean)) { -// return false; -// } -// if (log.isInfoEnabled()) { -// log.info("Will delete Activity " + bean.getTopiaId()); -// } -// -// String routeId = getSelectedParentId(); -// dataService.delete(dataSource, routeId, bean, deletor); -// if (log.isInfoEnabled()) { -// log.info("Delete done for Activity " + bean.getTopiaId()); -// } -// return true; -// } + @Override + protected boolean doDelete(ActivitySeineDto bean) throws Exception { + + if (askToDelete(bean)) { + return false; + } + if (log.isInfoEnabled()) { + log.info("Will delete Activity " + bean.getId()); + } + + String routeId = getSelectedParentId(); + getActivitySeineService().delete(routeId, bean.getId()); + + if (log.isInfoEnabled()) { + log.info("Delete done for Activity " + bean.getId()); + } + return true; + } //FIXME @@ -460,4 +444,10 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei } + + //FIXME + protected ActivitySeineService getActivitySeineService() { + return null; + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java index f71bc47..dfebca8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java @@ -26,15 +26,21 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.DataSource; import fr.ird.observe.business.validation.ValidationContext; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.constants.ReferenceStatus; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.I18nReferentialDto; +import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; +import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.usage.UsagesUI; import fr.ird.observe.ui.util.SpringUtilities; import jaxx.runtime.JAXXContext; @@ -45,24 +51,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; -import javax.swing.JButton; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JList; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JPopupMenu; -import javax.swing.JScrollPane; -import javax.swing.JTable; -import javax.swing.JToolBar; -import javax.swing.ListModel; -import javax.swing.SpringLayout; -import javax.swing.SwingUtilities; +import javax.swing.*; import javax.swing.border.TitledBorder; import javax.swing.table.TableCellRenderer; -import java.awt.Container; -import java.awt.Dimension; -import java.awt.Font; +import java.awt.*; import java.beans.Introspector; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -114,7 +106,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content E entity, Map<Class<? extends IdDto>, List<? extends IdDto>> usages) { - DecoratorService service = ObserveSwingApplicationContext.get().getDecoratorService(); + DecoratorService service = ObserveContext.get().getDecoratorService(); Decorator<?> decorator = service.getDecoratorByType(entity.getClass()); String type = DecoratorService.getEntityLabel(entity.getClass()); type = t(type); @@ -142,7 +134,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content E entity, Map<Class<? extends IdDto>, List<? extends IdDto>> usages) { - DecoratorService service = ObserveSwingApplicationContext.get().getDecoratorService(); + DecoratorService service = ObserveContext.get().getDecoratorService(); Decorator<?> decorator = service.getDecoratorByType(entity.getClass()); String type = DecoratorService.getEntityLabel(entity.getClass()); type = t(type); @@ -185,6 +177,10 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content //FIXME // getLoadBinder().load(selectedBean, getBean(), true); + loadBean(selectedBean); + + //TODO update data cache + } @Override @@ -333,7 +329,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // } // return; // } - DecoratorService dService = ObserveSwingApplicationContext.get().getDecoratorService(); + DecoratorService dService = ObserveContext.get().getDecoratorService(); Decorator<?> decorator = dService.getDecoratorByType(bean.getClass()); String type = DecoratorService.getEntityLabel(bean.getClass()); type = t(type); @@ -399,7 +395,6 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content public void initUI() throws Exception { ReferentialContentUIInitializer<E, ContentReferenceUI<E>> uiInitializer = new ReferentialContentUIInitializer<E, ContentReferenceUI<E>>(getUi()); - //FIXME uiInitializer.initUI(); ContentReferenceUI<E> ui = getUi(); @@ -540,9 +535,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content @Override protected void prepareValidationContext() { super.prepareValidationContext(); - //FIXME - BeanListHeader<E> jList = (BeanListHeader)getUi().getListHeader(); - List<E> data = jList.getData(); + BeanListHeader<ReferenceDto> jList = getUi().getListHeader(); + List<ReferenceDto> data = jList.getData(); ValidationContext validationContext = ObserveServiceHelper.get().getValidationContext(); if (log.isDebugEnabled()) { @@ -569,6 +563,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content //FIXME // getLoadBinder().load(null, getBean(), true); + loadBean((E) null); // on demarre l'edition ui.startEdit(null); @@ -585,6 +580,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content //FIXME // getLoadBinder().load(model.getSelectedBean(), getBean(), true); + loadBean(model.getSelectedBean()); getUi().startEdit(null); } @@ -627,57 +623,52 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // repush selected bean to bean //FIXME // getLoadBinder().load(model.getSelectedBean(), getBean(), true); + loadBean(model.getSelectedBean()); } } //FIXME -// @Override -// protected boolean doSave(E bean, -// DataService dataService, -// DataSource dataSource, -// TopiaEntityBinder<E> binder) throws Exception { -// -// ContentReferenceUIModel<EDto> model = getModel(); -// -// if (bean.getTopiaId() == null) { -// -// if (log.isInfoEnabled()) { -// log.info("Create referentiel " + bean); -// } -// dataService.create(dataSource, -// null, -// bean, -// binder, -// getCreateExecutor() -// ); -// -// if (bean instanceof Program) { -// -// // add the program in tree -// ObserveTreeHelper treeHelper = getTreeHelper(getUi()); -// treeHelper.addProgram((Program) bean); -// } -// -// return true; -// } -// -// if (log.isInfoEnabled()) { -// log.info("Will update exisintg entity : " + bean.getTopiaId()); -// } -// // le bean original -// E oldBean = model.getSelectedBean(); -// -// if (oldBean != null && -// oldBean.getStatus() == ReferenceStatus.enabled && -// bean.getStatus() == ReferenceStatus.disabled) { -// -// // l'entite a ete desactive -// // on recherche les objets utilisant cette entitee -// // on indique a l'utilisateur ce changement -// if (log.isDebugEnabled()) { -// log.debug("entity status was desactivated, looking " + -// "for usage"); -// } + @Override + protected boolean doSave(E bean) throws Exception { + + ContentReferenceUIModel<E> model = getModel(); + + if (bean.getId() == null) { + + if (log.isInfoEnabled()) { + log.info("Create referentiel " + bean); + } + + String beanId = getReferentialService().save(bean); + bean.setId(beanId); + + if (bean instanceof ProgramDto) { + + // add the program in tree + ObserveTreeHelper treeHelper = getTreeHelper(getUi()); + treeHelper.addProgram((ProgramDto) bean); + } + + return true; + } + + if (log.isInfoEnabled()) { + log.info("Will update exisintg entity : " + bean.getId()); + } + // le bean original + E oldBean = model.getSelectedBean(); + + if (oldBean != null && + oldBean.getStatus() == ReferenceStatus.enabled && + bean.getStatus() == ReferenceStatus.disabled) { + + // l'entite a ete desactive + // on recherche les objets utilisant cette entitee + // on indique a l'utilisateur ce changement + if (log.isDebugEnabled()) { + log.debug("entity status was desactivated, looking " + + "for usage"); + } // EntityMap usages = dataService.findAllUsages(dataSource, bean); // // if (usages.isEmpty()) { @@ -696,23 +687,22 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // return false; // } // } -// } -// // sauvegarde du bean d'edition dans le bean de la base -// bean = dataService.update(dataSource, -// null, // pas de parent a sauvegarder -// bean, -// getUpdateExecutor() -// ); -// -// if (bean instanceof Program) { -// -// // update the program in tree -// ObserveTreeHelper treeHelper = getTreeHelper(getUi()); -// treeHelper.updateProgram((Program) bean); -// } -// -// return true; -// } + } + + + // sauvegarde du bean d'edition dans le bean de la base + String beanId = getReferentialService().save(bean); + bean.setId(beanId); + + if (bean instanceof ProgramDto) { + + // update the program in tree + ObserveTreeHelper treeHelper = getTreeHelper(getUi()); + treeHelper.updateProgram((ProgramDto) bean); + } + + return true; + } //FIXME // @Override @@ -726,19 +716,16 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content //FIXME @Override -// protected boolean doDelete(E bean, -// DataService dataService, -// DataSource dataSource, -// TopiaExecutor2<? extends TopiaEntity, E> deletor) throws Exception { -// -// ContentReferenceUI<E> ui = getUi(); -// ContentReferenceUIModel<EDto> model = getModel(); -// -// if (log.isInfoEnabled()) { -// log.info("entity to be deleted, looking for usage"); -// } -// -// // recherche des utilisation du bean dans la base + protected boolean doDelete(E bean) throws Exception { + + ContentReferenceUI<E> ui = getUi(); + ContentReferenceUIModel<E> model = getModel(); + + if (log.isInfoEnabled()) { + log.info("entity to be deleted, looking for usage"); + } + + // recherche des utilisation du bean dans la base // EntityMap usages = dataService.findAllUsages(getDataSource(), bean); // // if (usages.isEmpty()) { @@ -754,22 +741,22 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // showUsagesForDelete(ui, bean, usages); // return false; // } -// -// if (!UIHelper.confirmForEntityDelete(ui, model.getBeanType(), bean)) { -// return false; -// } -// -// String beanId = bean.getTopiaId(); -// dataService.delete(dataSource, null, bean, deletor); -// -// if (bean instanceof Program) { -// -// // remove the program in tree -// ObserveTreeHelper treeHelper = getTreeHelper(getUi()); -// treeHelper.removeProgram(beanId); -// } -// return true; -// } + + if (!UIHelper.confirmForEntityDelete(ui, model.getBeanType(), bean)) { + return false; + } + + String beanId = bean.getId(); + getReferentialService().delete(getBeanType(), beanId); + + if (bean instanceof ProgramDto) { + + // remove the program in tree + ObserveTreeHelper treeHelper = getTreeHelper(getUi()); + treeHelper.removeProgram(beanId); + } + return true; + } //FIXME // @Override @@ -864,4 +851,24 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content ContentReferenceUI.DETAIL_VIEW : ContentReferenceUI.LIST_VIEW; } + + @Override + protected FormDto<E> loadToEdit(String id) { + ReferentialService referentialService = getReferentialService(); + FormDto<E> formDto = referentialService.loadToEdit(getBeanType(), id); + return formDto; + } + + @Override + protected FormDto<E> loadToReadDto(String id) { + ReferentialService referentialService = getReferentialService(); + FormDto<E> formDto = referentialService.loadToRead(getBeanType(), id); + return formDto; + } + + //FIXME + protected ReferentialService getReferentialService() { + return null; + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java index b3249d7..47438ab 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java @@ -35,6 +35,7 @@ import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; import fr.ird.observe.ui.content.ObserveContentUI; import fr.ird.observe.ui.tree.ObserveNode; +import jaxx.runtime.swing.ErrorDialogUI; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorScope; @@ -348,42 +349,35 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex } //FIXME -// @Override -// protected boolean doSave(E bean, -// DataService dataService, -// DataSource dataSource, -// TopiaEntityBinder<E> binder) throws Exception { -// -// ObserveContentTableUI<E, D> ui = getUi(); -// -// List<D> objets = ui.getTableModel().getData(); -// -// boolean canContinue; -// try { -// canContinue = prepareSave(bean, objets); -// } catch (Exception e) { -// if (log.isErrorEnabled()) { -// log.error(e); -// } -// ErrorDialogUI.showError(e); -// canContinue = false; -// } -// if (!canContinue) { -// -// // l'utilisateur a choisi de ne pas sauvegarder -// return false; -// } -// doPersist(bean, dataService, dataSource); -// -// -// return true; -// } + @Override + protected boolean doSave(E bean) throws Exception { - //FIXME -// protected void doPersist(E bean, DataService dataService, DataSource dataSource) throws DataSourceException { -// // sauvegarde du bean en base -// dataService.update(dataSource, null, bean, getUpdateExecutor()); -// } + ObserveContentTableUI<E, D> ui = getUi(); + + List<D> objets = ui.getTableModel().getData(); + + boolean canContinue; + try { + canContinue = prepareSave(bean, objets); + } catch (Exception e) { + if (log.isErrorEnabled()) { + log.error(e); + } + ErrorDialogUI.showError(e); + canContinue = false; + } + if (!canContinue) { + + // l'utilisateur a choisi de ne pas sauvegarder + return false; + } + doPersist(bean); + + + return true; + } + + protected abstract void doPersist(E bean); //FIXME // @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java index a917f4f..c28786d 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java @@ -68,8 +68,8 @@ public class ReferentialServiceController extends ObserveAuthenticatedServiceCon } @Override - public <R extends ReferentialDto> String save(FormDto<R> form) { - return service.save(form); + public <R extends ReferentialDto> String save(R bean) { + return service.save(bean); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java index 88ed874..10d8c27 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java @@ -26,6 +26,7 @@ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceC import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; +import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.service.longline.ActivityLonglineService; import java.util.List; @@ -60,12 +61,12 @@ public class ActivityLonglineServiceController extends ObserveAuthenticatedServi } @Override - public String save(String tripLonglineId, FormDto<ActivityLonglineDto> form) { - return service.save(tripLonglineId, form); + public TripChildSaveResultDto save(String tripLonglineId, ActivityLonglineDto bean) { + return service.save(tripLonglineId, bean); } @Override - public void delete(String tripLonglineId, String activityLonglineId) { - service.delete(tripLonglineId, activityLonglineId); + public boolean delete(String tripLonglineId, String activityLonglineId) { + return service.delete(tripLonglineId, activityLonglineId); } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java index daec866..7c0d960 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java @@ -60,8 +60,8 @@ public class ActivitySeineServiceController extends ObserveAuthenticatedServiceC } @Override - public String save(String routeId, FormDto<ActivitySeineDto> form) { - return service.save(routeId, form); + public String save(String routeId, ActivitySeineDto dto) { + return service.save(routeId, dto); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java index a819989..f2b2ce4 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java @@ -60,8 +60,8 @@ public class FloatingObjectServiceController extends ObserveAuthenticatedService } @Override - public String save(String activitySeineId, FormDto<FloatingObjectDto> form) { - return service.save(activitySeineId, form); + public String save(String activitySeineId, FloatingObjectDto dto) { + return service.save(activitySeineId, dto); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java index 53171fc..a291d0f 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java @@ -47,7 +47,7 @@ public class TransmittingBuoyOperationServiceController extends ObserveAuthentic } @Override - public String save(FormDto<FloatingObjectTransmittingBuoyDto> form) { - return service.save(form); + public String save(FloatingObjectTransmittingBuoyDto dto) { + return service.save(dto); } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java index 950b4fe..9d4921f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java @@ -60,7 +60,7 @@ public interface ReferentialService extends ObserveService { @WriteReferentialPermission @Write @PostRequest - <R extends ReferentialDto> String save(FormDto<R> form); + <R extends ReferentialDto> String save(R bean); @WriteReferentialPermission @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java index 607a902..14812b8 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java @@ -26,6 +26,7 @@ import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; +import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.spi.DeleteRequest; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -54,10 +55,13 @@ public interface ActivityLonglineService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(String tripLonglineId, FormDto<ActivityLonglineDto> form); + TripChildSaveResultDto save(String tripLonglineId, ActivityLonglineDto bean); @Write @WriteDataPermission @DeleteRequest - void delete(String tripLonglineId, String activityLonglineId); + /** + * @return true if the trip end date has been updated + */ + boolean delete(String tripLonglineId, String activityLonglineId); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java index 161bd55..cb6549d 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java @@ -54,7 +54,7 @@ public interface ActivitySeineService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(String routeId, FormDto<ActivitySeineDto> form); + String save(String routeId, ActivitySeineDto dto); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java index 424aa7d..7a541fd 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java @@ -54,7 +54,7 @@ public interface FloatingObjectService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(String activitySeineId, FormDto<FloatingObjectDto> form); + String save(String activitySeineId, FloatingObjectDto dto); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java index 88cf87e..72987d9 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java @@ -44,6 +44,6 @@ public interface TransmittingBuoyOperationService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(FormDto<FloatingObjectTransmittingBuoyDto> form); + String save(FloatingObjectTransmittingBuoyDto dto); } diff --git a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo index 59c5da7..346fde6 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo differ diff --git a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo~ similarity index 100% copy from observe-services-model/src/main/xmi/observe-services-dto-common.zargo copy to observe-services-model/src/main/xmi/observe-services-dto-common.zargo~ diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index 70b7b16..0b8c41f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -86,10 +86,10 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe return form; } - public <D extends ReferentialDto> String save(FormDto<D> form) { - Class<D> dtoType = form.getType(); + public <D extends ReferentialDto> String save(D bean) { + Class<D> dtoType = (Class<D>) bean.getClass(); Class<TopiaEntity> entityType = getEntityType(dtoType); - TopiaEntity entity = dtoToEntity(dtoType, entityType, form.getForm()); + TopiaEntity entity = dtoToEntity(dtoType, entityType, bean); entity = saveEntity(entityType, entity); FormDto<D> model = entityToEditFormDto(dtoType, entityType, entity); return model.getForm().getId(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java index 101dd16..b0e1928 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java @@ -27,11 +27,13 @@ import com.google.common.collect.Lists; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.entities.longline.TripLonglineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.type.CoordinateHelper; @@ -140,16 +142,18 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements } @Override - public String save(String tripLonglineId, FormDto<ActivityLonglineDto> form) { + public TripChildSaveResultDto save(String tripLonglineId, ActivityLonglineDto activityLonglineDto) { - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + TripChildSaveResultDto result = new TripChildSaveResultDto(); - ActivityLonglineDto activityLonglineDto = form.getForm(); + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); ActivityLongline activityLongline = dtoToEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineDto); activityLongline = saveEntity(ActivityLongline.class, activityLongline); + result.setId(activityLongline.getTopiaId()); + if (activityLonglineDto.isNotPersisted()) { tripLongline.addActivityLongline(activityLongline); @@ -158,12 +162,17 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements } - return activityLongline.getTopiaId(); + TripLonglineTopiaDao tripLonglineTopiaDao = getTopiaPersistenceContext().getTripLonglineDao(); + boolean wasEndDateUpdated = tripLonglineTopiaDao.updateEndDate(tripLongline); + + result.setTripEndDateUpdated(wasEndDateUpdated); + + return result; } @Override - public void delete(String tripLonglineId, String activityLonglineId) { + public boolean delete(String tripLonglineId, String activityLonglineId) { TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); @@ -177,7 +186,10 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements tripLongline.removeActivityLongline(activityLongline); - } + TripLonglineTopiaDao tripLonglineTopiaDao = getTopiaPersistenceContext().getTripLonglineDao(); + boolean wasEndDateUpdated = tripLonglineTopiaDao.updateEndDate(tripLongline); + return wasEndDateUpdated; + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java index 2dc4065..4c286b4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java @@ -140,12 +140,10 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac } @Override - public String save(String routeId, FormDto<ActivitySeineDto> form) { + public String save(String routeId, ActivitySeineDto activitySeineDto) { Route route = loadEntity(RouteDto.class, Route.class, routeId); - ActivitySeineDto activitySeineDto = form.getForm(); - ActivitySeine activitySeine = dtoToEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineDto); activitySeine = saveEntity(ActivitySeine.class, activitySeine); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java index de441c3..18a8b19 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java @@ -92,12 +92,10 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F } @Override - public String save(String activitySeineId, FormDto<FloatingObjectDto> form) { + public String save(String activitySeineId, FloatingObjectDto floatingObjectDto) { ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); - FloatingObjectDto floatingObjectDto = form.getForm(); - FloatingObject floatingObject = dtoToEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectDto); floatingObject = saveEntity(FloatingObject.class, floatingObject); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java index b8027b9..a505456 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java @@ -64,10 +64,10 @@ public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia i } @Override - public String save(FormDto<FloatingObjectTransmittingBuoyDto> form) { + public String save(FloatingObjectTransmittingBuoyDto dto) { FloatingObject floatingObject = - dtoToEntity(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, form.getForm()); + dtoToEntity(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, dto); floatingObject = saveEntity(FloatingObject.class, floatingObject); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.