branch develop updated (94244a8 -> ca190af)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See http://git.codelutin.com/observe.git from 94244a8 filtrer les liste de valeurs (combobox) coté service (refs #7587). new ca190af migration de l'écran de marée palangre (refs #7588). 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 ca190af1eae10810c5ea7ea1726df81c395d679b Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Oct 8 09:41:30 2015 +0200 migration de l'écran de marée palangre (refs #7588). Summary of changes: .../fr/ird/observe/ObserveOpenDataManager.java | 2 +- .../content/open/impl/longline/TripLonglineUI.css | 5 -- .../content/open/impl/longline/TripLonglineUI.jaxx | 3 +- .../open/impl/longline/TripLonglineUIHandler.java | 78 +++++---------------- .../open/impl/longline/TripLonglineUIModel.java | 9 ++- .../content/open/impl/seine/TripSeineUIModel.java | 4 ++ .../fr/ird/observe/ui/tree/TripLonglineNode.java | 8 +-- .../TripLonglineDto-n1-create-error-validation.xml | 0 ...ripLonglineDto-n1-create-warning-validation.xml | 0 .../TripLonglineDto-n1-update-error-validation.xml | 10 +-- ...ripLonglineDto-n1-update-warning-validation.xml | 0 .../v1/longline/TripLonglineServiceController.java | 8 ++- .../TripLongline-n1-update-error-validation.xml | 4 +- .../service/longline/TripLonglineService.java | 6 +- .../xmi/observe-services-dto-longline.properties | 1 + .../main/xmi/observe-services-dto-longline.zargo | Bin 61407 -> 62166 bytes .../services/dto/ObserveDtosInitializer.java | 10 ++- .../services/entity/ObserveEntitiesFilters.java | 7 ++ .../service/longline/TripLonglineServiceTopia.java | 14 +++- 19 files changed, 76 insertions(+), 93 deletions(-) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-create-error-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-create-error-validation.xml (100%) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/seine/TripSeine-n1-create-warning-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-create-warning-validation.xml (100%) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-update-error-validation.xml (95%) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-warning-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-update-warning-validation.xml (100%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit ca190af1eae10810c5ea7ea1726df81c395d679b Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Oct 8 09:41:30 2015 +0200 migration de l'écran de marée palangre (refs #7588). --- .../fr/ird/observe/ObserveOpenDataManager.java | 2 +- .../content/open/impl/longline/TripLonglineUI.css | 5 - .../content/open/impl/longline/TripLonglineUI.jaxx | 3 +- .../open/impl/longline/TripLonglineUIHandler.java | 78 +++--------- .../open/impl/longline/TripLonglineUIModel.java | 9 +- .../content/open/impl/seine/TripSeineUIModel.java | 4 + .../fr/ird/observe/ui/tree/TripLonglineNode.java | 8 +- .../TripLonglineDto-n1-create-error-validation.xml | 135 ++++++++++++++------- ...ripLonglineDto-n1-create-warning-validation.xml | 54 +++++++++ .../TripLonglineDto-n1-update-error-validation.xml | 10 +- ...ripLonglineDto-n1-update-warning-validation.xml | 74 +++++++++++ .../v1/longline/TripLonglineServiceController.java | 8 +- .../TripLongline-n1-update-error-validation.xml | 4 +- .../service/longline/TripLonglineService.java | 6 +- .../xmi/observe-services-dto-longline.properties | 1 + .../main/xmi/observe-services-dto-longline.zargo | Bin 61407 -> 62166 bytes .../services/dto/ObserveDtosInitializer.java | 10 +- .../services/entity/ObserveEntitiesFilters.java | 7 ++ .../service/longline/TripLonglineServiceTopia.java | 14 ++- 19 files changed, 294 insertions(+), 138 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveOpenDataManager.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveOpenDataManager.java index 005ad3d..eb113de 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveOpenDataManager.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveOpenDataManager.java @@ -96,7 +96,7 @@ public class ObserveOpenDataManager implements Closeable { // Trip Longline public boolean canOpenTripLongline() { - return openTripSeineId != null && openTripLonglineId != null; + return openTripSeineId == null && openTripLonglineId == null; } public void openTripLongline(String tripLongLineId) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.css index 17ed886..8490def 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.css @@ -48,7 +48,6 @@ NumberEditor { #observer { property:{TripLonglineDto.PROPERTY_OBSERVER}; selectedItem:{bean.getObserver()}; - _listPredicate:{PersonDtos.newObserverReferencePredicate(true)}; } #captainLabel { @@ -59,7 +58,6 @@ NumberEditor { #captain { property:{TripLonglineDto.PROPERTY_CAPTAIN}; selectedItem:{bean.getCaptain()}; - _listPredicate:{PersonDtos.newCaptainReferencePredicate(true)}; } #dataEntryOperatorLabel { @@ -70,7 +68,6 @@ NumberEditor { #dataEntryOperator { property:{TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR}; selectedItem:{bean.getDataEntryOperator()}; - _listPredicate:{PersonDtos.newDataEntryOperatorReferencePredicate(true)}; } #tripTypeLabel{ @@ -91,8 +88,6 @@ NumberEditor { #vessel { property:{TripLonglineDto.PROPERTY_VESSEL}; selectedItem:{bean.getVessel()}; - //FIXME - //_listPredicate:{VesselDtos.newVesselByVesselTypeIdPredicate(getConfig().getLonglineVesselTypeIds())}; } #oceanLabel{ diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx index 56bd105..02f3057 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx @@ -69,8 +69,7 @@ errorTableModel='{getErrorTableModel()}' autoField='true' context='n1-update'> - <!--FIXME--> - <!--<field name='activityLongline' component='{actionDown}'/>--> + <field name='activityLongline' component='{actionDown}'/> </BeanValidator> <script><![CDATA[ diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java index 420e058..23bf984 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java @@ -27,6 +27,8 @@ import fr.ird.observe.business.db.DataContext; import fr.ird.observe.business.db.constants.DataContextType; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.SaveResultDto; +import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDtos; import fr.ird.observe.services.service.longline.TripLonglineService; @@ -93,15 +95,15 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline @Override protected ContentMode getContentMode(DataContext dataContext) { - String mareeId = getSelectedId(); + String tripLongLineId = getSelectedId(); - if (mareeId == null) { + if (tripLongLineId == null) { // maree en cours de creation return ContentMode.CREATE; } - if (dataContext.isSelectedOpen(TripLonglineDto.class)) { + if (getOpenDataManager().isOpenTripLongline(tripLongLineId)) { // maree ouverte return ContentMode.UPDATE; @@ -138,8 +140,9 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline TripLonglineUI ui = getUi(); TripMapUI tripMap = ui.getTripMap(); - //FIXME -// tripMap.getHandler().doOpenMap(ui.getDataSource(), ui.getDataService(), getSelectedId()); + TripMapDto tripLonglineMap = getTripLonglineService().getTripLonglineMap(getSelectedId()); + + tripMap.getHandler().doOpenMap(tripLonglineMap); } }); buildTripMap = false; @@ -190,12 +193,6 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline // update mode formDto = getTripLonglineService().loadToEdit(tripId); -//FIXME -// if (!bean.isActivityLonglineEmpty()) { - - // on force le trie des routes -// ActivityLonglineDtos.sort(bean.getActivityLongline()); -// } } getModel().setFormDto(formDto); @@ -208,22 +205,6 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline finalizeOpenUI(mode, create); } - //FIXME -// @Override -// protected TripLongline onPreCreate(TopiaContext tx, Object parent, TripLongline bean) throws TopiaException { -// -// Program parentBean = (Program) parent; -// Date date = DateUtil.getDay(new Date()); -// bean.setStartDate(date); -// bean.setEndDate(date); -// if (log.isDebugEnabled()) { -// log.debug("start date : " + date); -// log.debug("program : " + parentBean); -// } -// bean.setProgram(parentBean); -// return bean; -// } - @Override public void startEditUI(String... binding) { @@ -293,40 +274,24 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline bean.setOpen(true); - String beanId = getTripLonglineService().save(bean); - bean.setId(beanId); + SaveResultDto saveResult = getTripLonglineService().save(bean); + bean.setId(saveResult.getId()); + bean.setLastUpdate(saveResult.getLastUpdate()); // recuperation de la position de la maree dans le program - //FIXME -// obtainChildPosition(bean, dataService, dataSource); + obtainChildPosition(bean); return true; } @Override protected int getOpenablePosition(String parentId, TripLonglineDto bean) { - // TODO - return 0; + + int position = getTripLonglineService().getTripLonglinePositionInProgram(parentId, bean.getId()); + + return position; } -//FIXME -// @Override -// protected TripLongline onCreate(TopiaContext tx, Object parent, TripLongline editBean) throws TopiaException { -// TripLongline beanToSave = ObserveDAOHelper.getTripLonglineDAO(tx).create(); -// editBean.setTopiaId(beanToSave.getTopiaId()); -// return beanToSave; -// } - - //FIXME -// @Override -// protected TripLongline onUpdate(TopiaContext tx, Object parentBean, TripLongline beanToSave) throws TopiaException { -// -// getLoadBinder().copyExcluding(getBean(), beanToSave, TripLongline.PROPERTY_ACTIVITY_LONGLINE); -// -// return beanToSave; -// } - - //FIXME @Override protected boolean doDelete(TripLonglineDto bean) throws Exception { @@ -345,19 +310,10 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline return true; } - //FIXME -// @Override -// protected void onDelete(TopiaContext tx, Object parentBean, TripLongline beanToDelete) throws TopiaException { -// -// TopiaDAO<TripLongline> dao = getDataSource().getDAO(tx, TripLongline.class); -// dao.delete(beanToDelete); -// } - @Override protected boolean obtainCanReopen(boolean create) { - DataContext dataContext = getDataContext(); - return !create && !dataContext.isOpenTrip(); + return !create && getOpenDataManager().canOpenTripLongline(); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIModel.java index 420be55..f06d2c5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIModel.java @@ -25,6 +25,7 @@ package fr.ird.observe.ui.content.open.impl.longline; import fr.ird.observe.business.BinderService; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.ui.content.open.ContentOpenableUIModel; +import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderModelBuilder; /** @@ -60,13 +61,11 @@ public class TripLonglineUIModel extends ContentOpenableUIModel<TripLonglineDto> TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, TripLonglineDto.PROPERTY_LANDING_HARBOUR, TripLonglineDto.PROPERTY_PROGRAM, - //FIXME -// TripLonglineDto.PROPERTY_ACTIVITY_LONGLINE, - TripLonglineDto.PROPERTY_OPEN); + TripLonglineDto.PROPERTY_OPEN, + TripLonglineDto.PROPERTY_ACTIVITY_LONGLINE); // on ajoute la recopie de l'association route - //FIXXME -// builder.addCollectionStrategy(Binder.CollectionStrategy.duplicate, TripLonglineDto.PROPERTY_ACTIVITY_LONGLINE); + builder.addCollectionStrategy(Binder.CollectionStrategy.duplicate, TripLonglineDto.PROPERTY_ACTIVITY_LONGLINE); return builder; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIModel.java index 54b2755..bdbf73f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIModel.java @@ -25,6 +25,7 @@ package fr.ird.observe.ui.content.open.impl.seine; import fr.ird.observe.business.BinderService; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.content.open.ContentOpenableUIModel; +import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderModelBuilder; /** @@ -62,6 +63,9 @@ public class TripSeineUIModel extends ContentOpenableUIModel<TripSeineDto> { TripSeineDto.PROPERTY_OPEN, TripSeineDto.PROPERTY_ROUTE); + // on ajoute la recopie de l'association route + builder.addCollectionStrategy(Binder.CollectionStrategy.duplicate, TripSeineDto.PROPERTY_ROUTE); + return builder; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java index 51ba0b1..ed269a7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java @@ -47,7 +47,7 @@ public class TripLonglineNode extends DtoNodeSupport<TripLonglineDto> { @Override protected ReferenceDto<TripLonglineDto> fetchEntity() { TripLonglineService tripLonglineService = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); - FormDto<TripLonglineDto> formDto = tripLonglineService.loadToRead(entity.getId()); + FormDto<TripLonglineDto> formDto = tripLonglineService.loadToRead(getId()); ReferenceDto<TripLonglineDto> referenceDto = ReferenceDtos.newReferenceDto(TripLonglineDto.class, Lists.newArrayList(TripLonglineDto.PROPERTY_ID, @@ -65,10 +65,4 @@ public class TripLonglineNode extends DtoNodeSupport<TripLonglineDto> { return referenceDto; } - //FIXME -// @Override -// protected TripLongline getEntity(DataService dataService, DataSource source) { -// return dataService.getTripLonglineStub(source, id); -// } - } diff --git a/observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-create-error-validation.xml similarity index 68% copy from observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml copy to observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-create-error-validation.xml index 5842ec8..f61e891 100644 --- a/observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-create-error-validation.xml @@ -7,15 +7,15 @@ %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the + published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public + + You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/gpl-3.0.html>. #L% @@ -33,8 +33,16 @@ <message>validator.trip.required.tripType</message> </field-validator> - </field> + <!-- tripType desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ tripType.enabled ]]> + </param> + <message>validator.trip.desactivated.tripType</message> + </field-validator> + </field> + <field name="observer"> <!-- pas de observer selectionne --> @@ -42,6 +50,38 @@ <message>validator.trip.required.observer</message> </field-validator> + <!-- observer desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ observer.enabled ]]> + </param> + <message>validator.trip.desactivated.observer</message> + </field-validator> + + </field> + + <field name="captain"> + + <!-- captain desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ captain == null || captain.enabled ]]> + </param> + <message>validator.trip.desactivated.captain</message> + </field-validator> + + </field> + + <field name="dataEntryOperator"> + + <!-- dataEntryOperator desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ dataEntryOperator == null || dataEntryOperator.enabled ]]> + </param> + <message>validator.trip.desactivated.dataEntryOperator</message> + </field-validator> + </field> <field name="vessel"> @@ -51,6 +91,14 @@ <message>validator.trip.required.vessel</message> </field-validator> + <!-- vessel desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ vessel.enabled ]]> + </param> + <message>validator.trip.desactivated.vessel</message> + </field-validator> + </field> <field name="ocean"> @@ -60,25 +108,50 @@ <message>validator.trip.required.ocean</message> </field-validator> + <!-- ocean desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ ocean.enabled ]]> + </param> + <message>validator.trip.desactivated.ocean</message> + </field-validator> + </field> - <field name="startDate"> + <field name="departureHarbour"> - <!-- pas de date de debut selectionne --> + <!-- pas de departureHarbour selectionne --> <field-validator type="required" short-circuit="true"> - <message>validator.trip.required.startDate</message> + <message>validator.trip.required.departureHarbour</message> </field-validator> - <!-- coherence startDate > date de toute route --> - <field-validator type="collectionFieldExpression"> - <param name="mode">ALL</param> - <param name="useSensitiveContext">true</param> - <param name="collectionFieldName">route</param> - <param name="expression"><![CDATA[ - startDate.time <= current.date.time - ]]> + <!-- departureHarbour desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ departureHarbour.enabled ]]> </param> - <message>validator.trip.invalid.startDate##${index}</message> + <message>validator.trip.desactivated.departureHarbour</message> + </field-validator> + + </field> + + <field name="landingHarbour"> + + <!-- landingHarbour desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ landingHarbour == null || landingHarbour.enabled ]]> + </param> + <message>validator.trip.desactivated.landingHarbour</message> + </field-validator> + + </field> + + <field name="startDate"> + + <!-- pas de date de debut selectionne --> + <field-validator type="required" short-circuit="true"> + <message>validator.trip.required.startDate</message> </field-validator> </field> @@ -98,35 +171,8 @@ <message>validator.trip.endDate.after.startDate</message> </field-validator> - <!-- coherence endDate > date de toute route --> - <field-validator type="collectionFieldExpression"> - <param name="mode">ALL</param> - <param name="useSensitiveContext">true</param> - <param name="collectionFieldName">route</param> - <param name="expression"><![CDATA[ - current.date.time <= endDate.time - ]]> - </param> - <message>validator.trip.invalid.endDate##${index}</message> - </field-validator> - </field> - <!--<field name="activityLongline">--> - - <!--<!– coherence date des routes –>--> - <!--<field-validator type="collectionFieldExpression">--> - <!--<param name="mode">ALL</param>--> - <!--<param name="useSensitiveContext">true</param>--> - <!--<param name="expression"><![CDATA[--> - <!--previous == null || previous.date.time <= current.date.time--> - <!--]]>--> - <!--</param>--> - <!--<message>validator.trip.invalid.date##${index}</message>--> - <!--</field-validator>--> - - <!--</field>--> - <field name="comment"> <!-- comentaire de moins de 1024 caractères --> @@ -200,5 +246,4 @@ </field-validator> </field> - </validators> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-create-warning-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-create-warning-validation.xml new file mode 100644 index 0000000..a39dbb4 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-create-warning-validation.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="landingHarbour"> + + <!-- pas de landingHarbour selectionne --> + <field-validator type="required" short-circuit="true"> + <message>validator.trip.null.landingHarbour</message> + </field-validator> + + </field> + + <field name="captain"> + + <!-- pas de captain selectionne --> + <field-validator type="required" short-circuit="true"> + <message>validator.trip.null.captain</message> + </field-validator> + + </field> + + <field name="dataEntryOperator"> + + <!-- pas de dataEntryOperator selectionne --> + <field-validator type="required" short-circuit="true"> + <message>validator.trip.null.dataEntryOperator</message> + </field-validator> + + </field> + +</validators> diff --git a/observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-update-error-validation.xml similarity index 95% copy from observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml copy to observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-update-error-validation.xml index 5842ec8..6c77af5 100644 --- a/observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-update-error-validation.xml @@ -73,9 +73,9 @@ <field-validator type="collectionFieldExpression"> <param name="mode">ALL</param> <param name="useSensitiveContext">true</param> - <param name="collectionFieldName">route</param> + <param name="collectionFieldName">activityLongline</param> <param name="expression"><![CDATA[ - startDate.time <= current.date.time + startDate.time <= current.timeStamp.time ]]> </param> <message>validator.trip.invalid.startDate##${index}</message> @@ -102,9 +102,9 @@ <field-validator type="collectionFieldExpression"> <param name="mode">ALL</param> <param name="useSensitiveContext">true</param> - <param name="collectionFieldName">route</param> + <param name="collectionFieldName">activityLongline</param> <param name="expression"><![CDATA[ - current.date.time <= endDate.time + current.timeStamp.time <= endDate.time ]]> </param> <message>validator.trip.invalid.endDate##${index}</message> @@ -119,7 +119,7 @@ <!--<param name="mode">ALL</param>--> <!--<param name="useSensitiveContext">true</param>--> <!--<param name="expression"><![CDATA[--> - <!--previous == null || previous.date.time <= current.date.time--> + <!--previous == null || previous.timeStamp.time <= current.timeStamp.time--> <!--]]>--> <!--</param>--> <!--<message>validator.trip.invalid.date##${index}</message>--> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-update-warning-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-update-warning-validation.xml new file mode 100644 index 0000000..c5bbc74 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/TripLonglineDto-n1-update-warning-validation.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="departureHarbour"> + + <!-- pas de departureHarbour selectionne --> + <field-validator type="required" short-circuit="true"> + <message>validator.trip.null.departureHarbour</message> + </field-validator> + + </field> + + <field name="landingHarbour"> + + <!-- pas de landingHarbour selectionne --> + <field-validator type="required" short-circuit="true"> + <message>validator.trip.null.landingHarbour</message> + </field-validator> + + </field> + + <!--<field name="activityLongline">--> + + <!-- une route est ouverte (interdit la cloture de la maree) --> + <!--<field-validator type="openableEntity">--> + <!--<message>validator.tripLongline.unclosed.activity##${openValueAsString}</message>--> + <!--</field-validator>--> + + <!--</field>--> + + <field name="captain"> + + <!-- pas de captain selectionne --> + <field-validator type="required" short-circuit="true"> + <message>validator.trip.null.captain</message> + </field-validator> + + </field> + + <field name="dataEntryOperator"> + + <!-- pas de dataEntryOperator selectionne --> + <field-validator type="required" short-circuit="true"> + <message>validator.trip.null.dataEntryOperator</message> + </field-validator> + + </field> + +</validators> diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java index 2f49cc5..7c44158 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java @@ -25,6 +25,7 @@ package fr.ird.observe.application.web.controller.v1.longline; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.SaveResultDto; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.service.longline.TripLonglineService; @@ -44,6 +45,11 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo } @Override + public int getTripLonglinePositionInProgram(String programId, String tripLonglineId) { + return service.getTripLonglinePositionInProgram(programId, tripLonglineId); + } + + @Override public TripMapDto getTripLonglineMap(String tripLonglineId) { return service.getTripLonglineMap(tripLonglineId); } @@ -64,7 +70,7 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo } @Override - public String save(TripLonglineDto dto) { + public SaveResultDto save(TripLonglineDto dto) { return service.save(dto); } diff --git a/observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml b/observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml index 5842ec8..3f08e96 100644 --- a/observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml +++ b/observe-entities-validation/src/main/resources/fr/ird/observe/entities/longline/TripLongline-n1-update-error-validation.xml @@ -73,7 +73,7 @@ <field-validator type="collectionFieldExpression"> <param name="mode">ALL</param> <param name="useSensitiveContext">true</param> - <param name="collectionFieldName">route</param> + <param name="collectionFieldName">activityLongline</param> <param name="expression"><![CDATA[ startDate.time <= current.date.time ]]> @@ -102,7 +102,7 @@ <field-validator type="collectionFieldExpression"> <param name="mode">ALL</param> <param name="useSensitiveContext">true</param> - <param name="collectionFieldName">route</param> + <param name="collectionFieldName">activityLongline</param> <param name="expression"><![CDATA[ current.date.time <= endDate.time ]]> diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java index 92482c6..c4e28e8 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java @@ -25,6 +25,7 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.SaveResultDto; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.spi.DeleteRequest; @@ -42,6 +43,9 @@ public interface TripLonglineService extends ObserveService { ReferenceSetDto<TripLonglineDto> getTripLonglineByProgram(String programId); @ReadDataPermission + int getTripLonglinePositionInProgram(String programId, String tripLonglineId); + + @ReadDataPermission TripMapDto getTripLonglineMap(String tripLonglineId); @ReadDataPermission @@ -56,7 +60,7 @@ public interface TripLonglineService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(TripLonglineDto dto); + SaveResultDto save(TripLonglineDto dto); @Write @WriteDataPermission diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties index e867990..523dfa2 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties @@ -105,4 +105,5 @@ fr.ird.observe.services.dto.longline.SetLonglineDetailComposition.attribute.sect fr.ird.observe.services.dto.longline.Section.attribute.basket.stereotype=unique,ordered fr.ird.observe.services.dto.longline.Basket.attribute.branchline.stereotype=unique,ordered fr.ird.observe.services.dto.longline.GearUseFeaturesLongline.attribute.gearUseFeaturesMeasurement.stereotype=unique,ordered +fr.ird.observe.services.dto.longline.TripLongline.attribute.activityLongline.stereotype=unique,ordered diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo index 76b9e29..ec4b438 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo differ diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java index 0620971..0fc18fe 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java @@ -142,6 +142,7 @@ import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; import fr.ird.observe.services.dto.longline.SizeMeasureDto; import fr.ird.observe.services.dto.longline.TdrDto; +import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.longline.WeightMeasureDto; import fr.ird.observe.services.dto.referential.CountryDto; @@ -708,11 +709,18 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { TripLonglineDto.PROPERTY_OCEAN, TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, TripLonglineDto.PROPERTY_LANDING_HARBOUR, - TripLonglineDto.PROPERTY_LAST_UPDATE + TripLonglineDto.PROPERTY_LAST_UPDATE, + TripLonglineDto.PROPERTY_ACTIVITY_LONGLINE ); } @Override + public void initTripLonglineActivityDto() { + registerDto(TripLonglineActivityDto.class, ActivityLongline.class, + TripLonglineActivityDto.PROPERTY_TIME_STAMP); + } + + @Override public void initTripLonglineStubDto() { // la logique de copie est à ecrire directement dans le service } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/ObserveEntitiesFilters.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/ObserveEntitiesFilters.java index e96e87d..133738f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/ObserveEntitiesFilters.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/ObserveEntitiesFilters.java @@ -3,6 +3,7 @@ package fr.ird.observe.services.entity; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Maps; +import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.referentiel.Persons; import fr.ird.observe.entities.referentiel.ReferenceEntities; import fr.ird.observe.entities.referentiel.ReferenceEntity; @@ -88,6 +89,12 @@ public class ObserveEntitiesFilters { addFilter(TripSeine.class, TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, Persons.newDataEntryOperatorPredicate()); addFilter(TripSeine.class, TripSeine.PROPERTY_VESSEL, Vessels.newVesselSeinePredicate()); + // TripLongLine + addFilter(TripLongline.class, TripLongline.PROPERTY_CAPTAIN, Persons.newCaptainPredicate()); + addFilter(TripLongline.class, TripLongline.PROPERTY_OBSERVER, Persons.newObserverPredicate()); + addFilter(TripLongline.class, TripLongline.PROPERTY_DATA_ENTRY_OPERATOR, Persons.newDataEntryOperatorPredicate()); + addFilter(TripLongline.class, TripLongline.PROPERTY_VESSEL, Vessels.newVesselLonglinePredicate()); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java index a618510..b56554b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java @@ -35,6 +35,8 @@ import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceDtos; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.dto.SaveResultDto; +import fr.ird.observe.services.dto.SaveResultDtos; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.TripMapPointDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; @@ -91,6 +93,14 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri } @Override + public int getTripLonglinePositionInProgram(String programId, String tripLonglineId) { + + int position = getDao().findPositionByProgramId(programId, tripLonglineId); + + return position; + } + + @Override public TripMapDto getTripLonglineMap(String tripLonglineId) { LinkedHashSet<TripMapPointDto> points = getDao().extractTripMapActivityPoints(tripLonglineId); @@ -152,7 +162,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri } @Override - public String save(TripLonglineDto dto) { + public SaveResultDto save(TripLonglineDto dto) { TripLongline tripLongline = dtoToEntity(TripLonglineDto.class, TripLongline.class, dto); @@ -161,7 +171,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); dao.updateEndDate(tripLongline); - return tripLongline.getTopiaId(); + return SaveResultDtos.newSaveResult(tripLongline.getTopiaId(), tripLongline.getLastUpdate()); } @Override -- 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