branch feature/7622 updated (84e8818 -> 4990580)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7622 in repository observe. See http://git.codelutin.com/observe.git from 84e8818 ajout de l'icone (refs #7622) new 61e3841 ajout d'une methode pour déplacer plusieurs routes (refs #7622) new 2e52eeb ajout de l'icone de déplacement de route (refs #7622) new a409c49 refactoring de la sélection des éléments des listes (refs #7622) new e7d132e ajout du bouton pour déplacer des routes depuis la liste (refs #7622) new aee93ce refactoring des actions du menu contextuel de l'arbre (refs #7622) new f2355c4 correction des positions (refs #7622) new 4990580 correction de l'action de déplacement des routes depuis la liste (refs #7622) The 7 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 49905802674d40c2170ba05c1ef874e3ccda434e Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:27:19 2015 +0100 correction de l'action de déplacement des routes depuis la liste (refs #7622) commit f2355c430d38c3f9ffe19ca1dd793b11b024c4bb Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:04:10 2015 +0100 correction des positions (refs #7622) commit aee93cea8dc4e2ab6b17afde38e2232b22411573 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:00:42 2015 +0100 refactoring des actions du menu contextuel de l'arbre (refs #7622) commit e7d132e9f24b0498d0a84492cd347195be6a8dab Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:00:02 2015 +0100 ajout du bouton pour déplacer des routes depuis la liste (refs #7622) commit a409c498abee1fb058d50df9b3cf566054fec48e Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:59:07 2015 +0100 refactoring de la sélection des éléments des listes (refs #7622) commit 2e52eeb12bf9a78b11cd5a634e43c8e7fd3e16bd Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:56:13 2015 +0100 ajout de l'icone de déplacement de route (refs #7622) commit 61e3841003577098f0c188d7cac9cde6303ecfc2 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:55:45 2015 +0100 ajout d'une methode pour déplacer plusieurs routes (refs #7622) Summary of changes: .../src/main/filters/observe-ui.properties | 3 + .../observe/ObserveSwingApplicationContext.java | 2 + .../main/java/fr/ird/observe/ui/ObserveMainUI.css | 48 +------- .../main/java/fr/ird/observe/ui/ObserveMainUI.jaxx | 14 +-- ...eTripsUIAction.java => MoveRoutesUIAction.java} | 131 ++++++++++---------- .../actions/shared/MoveTripLonglinesUIAction.java | 7 -- .../ui/actions/shared/MoveTripSeinesUIAction.java | 7 -- .../ui/actions/shared/MoveTripsUIAction.java | 5 +- .../ird/observe/ui/content/list/ContentListUI.css | 10 +- .../ird/observe/ui/content/list/ContentListUI.jaxx | 13 +- .../ui/content/list/ContentListUIModel.java | 25 ++-- .../content/list/impl/longline/TripLonglinesUI.css | 9 +- .../list/impl/longline/TripLonglinesUI.jaxx | 22 +--- .../ui/content/list/impl/seine/RoutesUI.css | 6 + .../ui/content/list/impl/seine/RoutesUI.jaxx | 3 + .../ui/content/list/impl/seine/TripSeinesUI.css | 6 +- .../ui/content/list/impl/seine/TripSeinesUI.jaxx | 22 +--- .../content/list/impl/seine/TripSeinesUIModel.java | 26 ---- .../tree/ObserveNavigationTreeShowPopupAction.java | 133 ++++++++------------- .../observe-application-swing_en_GB.properties | 4 + .../observe-application-swing_es_ES.properties | 4 + .../observe-application-swing_fr_FR.properties | 6 +- .../v1/seine/RouteServiceController.java | 7 ++ .../services/service/seine/RouteService.java | 6 + .../services/service/seine/RouteServiceTopia.java | 22 ++++ 25 files changed, 223 insertions(+), 318 deletions(-) copy observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/{MoveTripsUIAction.java => MoveRoutesUIAction.java} (52%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7622 in repository observe. See http://git.codelutin.com/observe.git commit 61e3841003577098f0c188d7cac9cde6303ecfc2 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:55:45 2015 +0100 ajout d'une methode pour déplacer plusieurs routes (refs #7622) --- .../v1/seine/RouteServiceController.java | 7 +++++++ .../services/service/seine/RouteService.java | 6 ++++++ .../services/service/seine/RouteServiceTopia.java | 24 ++++++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java index 7b402f9..eb8c949 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.RouteService; +import java.util.List; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -93,4 +95,9 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle public int moveRouteToTripSeine(String routeId, String tripSeineId) { return service.moveRouteToTripSeine(routeId, tripSeineId); } + + @Override + public List<Integer> moveRoutesToTripSeine(List<String> routeIds, String tripSeineId) { + return service.moveRoutesToTripSeine(routeIds, tripSeineId); + } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java index 2a321c0..b055129 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java @@ -34,6 +34,8 @@ import fr.ird.observe.services.spi.ReadDataPermission; import fr.ird.observe.services.spi.Write; import fr.ird.observe.services.spi.WriteDataPermission; +import java.util.List; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -76,4 +78,8 @@ public interface RouteService extends ObserveService { @Write @WriteDataPermission int moveRouteToTripSeine(String routeId, String tripSeineId); + + @Write + @WriteDataPermission + List<Integer> moveRoutesToTripSeine(List<String> routeIds, String tripSeineId); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 70d71a4..1efd4ee 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -25,6 +25,7 @@ package fr.ird.observe.services.service.seine; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; +import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.ActivitySeineImpl; import fr.ird.observe.entities.seine.Route; @@ -47,6 +48,7 @@ import org.apache.commons.lang3.time.DateUtils; import org.nuiton.topia.persistence.TopiaEntities; import org.nuiton.util.DateUtil; +import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; @@ -269,4 +271,26 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi saveEntity(TripSeine.class, tripSeine); return getRoutePositionInTripSeine(tripSeineId, routeId); } + + @Override + public List<Integer> moveRoutesToTripSeine(List<String> routeIds, String tripSeineId) { + TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + + List<Integer> result = new ArrayList<>(); + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + + for (String routeId : routeIds) { + Route route = loadEntity(RouteDto.class, Route.class, routeId); + tripSeine.addRoute(route); + } + + saveEntity(TripSeine.class, tripSeine); + persistenceContext.flush(); + + for (String routeId : routeIds) { + result.add(getRoutePositionInTripSeine(tripSeineId, routeId)); + } + + return result; + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7622 in repository observe. See http://git.codelutin.com/observe.git commit 2e52eeb12bf9a78b11cd5a634e43c8e7fd3e16bd Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:56:13 2015 +0100 ajout de l'icone de déplacement de route (refs #7622) --- observe-application-swing/src/main/filters/observe-ui.properties | 3 +++ 1 file changed, 3 insertions(+) diff --git a/observe-application-swing/src/main/filters/observe-ui.properties b/observe-application-swing/src/main/filters/observe-ui.properties index 897856f..3f62e54 100644 --- a/observe-application-swing/src/main/filters/observe-ui.properties +++ b/observe-application-swing/src/main/filters/observe-ui.properties @@ -148,7 +148,10 @@ icon.action.warning=warning.png icon.action.mode-create=action-mode-create.png icon.action.mode-update=action-mode-update.png icon.action.mode-read=action-mode-read.png +icon.action.move-trip=action-move-trips.png icon.action.move-trips=action-move-trips.png +icon.action.move-route=action-move-routes.png +icon.action.move-routes=action-move-routes.png icon.action.translate=action-translate.png icon.action.application-reload=action-application-reload.png icon.action.report=action-report.png -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7622 in repository observe. See http://git.codelutin.com/observe.git commit a409c498abee1fb058d50df9b3cf566054fec48e Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:59:07 2015 +0100 refactoring de la sélection des éléments des listes (refs #7622) --- .../actions/shared/MoveTripLonglinesUIAction.java | 7 ------ .../ui/actions/shared/MoveTripSeinesUIAction.java | 7 ------ .../ui/actions/shared/MoveTripsUIAction.java | 5 ++--- .../ird/observe/ui/content/list/ContentListUI.css | 10 ++++++--- .../ird/observe/ui/content/list/ContentListUI.jaxx | 13 ++++++++++- .../ui/content/list/ContentListUIModel.java | 25 ++++++++++++--------- .../content/list/impl/longline/TripLonglinesUI.css | 9 +------- .../list/impl/longline/TripLonglinesUI.jaxx | 22 +----------------- .../ui/content/list/impl/seine/TripSeinesUI.css | 6 +---- .../ui/content/list/impl/seine/TripSeinesUI.jaxx | 22 +----------------- .../content/list/impl/seine/TripSeinesUIModel.java | 26 ---------------------- 11 files changed, 40 insertions(+), 112 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java index e7f65da..f6dbdfa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java @@ -41,13 +41,6 @@ public class MoveTripLonglinesUIAction extends MoveTripsUIAction { } @Override - protected List<ReferenceDto> getSelectedDatas(ContentUI<?> ui) { - TripLonglinesUI tripLonglinesUI = (TripLonglinesUI) ui; - TripLonglinesUIModel model = tripLonglinesUI.getModel(); - return model.getSelectedDatas(); - } - - @Override protected GearType getGearType(ContentUI<?> ui) { return GearType.longline; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java index 4532e71..ebbd01b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java @@ -41,13 +41,6 @@ public class MoveTripSeinesUIAction extends MoveTripsUIAction { } @Override - protected List<ReferenceDto> getSelectedDatas(ContentUI<?> ui) { - TripSeinesUI tripSeinesUI = (TripSeinesUI) ui; - TripSeinesUIModel model = tripSeinesUI.getModel(); - return model.getSelectedDatas(); - } - - @Override protected GearType getGearType(ContentUI<?> ui) { return GearType.seine; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java index fed3acb..181b41a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java @@ -32,6 +32,7 @@ import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; +import fr.ird.observe.ui.content.list.ContentListUIModel; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import org.apache.commons.logging.Log; @@ -102,7 +103,7 @@ public abstract class MoveTripsUIAction extends AbstractUIAction { String programId = chooseNewProgram(ui, oldProgramId); // change the program of the selected trips - List<ReferenceDto> selectedDatas = getSelectedDatas(ui); + List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); List<String> tripIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); List<Integer> positions = getPositions(tripIds, programId); @@ -197,8 +198,6 @@ public abstract class MoveTripsUIAction extends AbstractUIAction { protected abstract void checkUIClass(ContentUI<?> ui) throws IllegalStateException; - protected abstract List<ReferenceDto> getSelectedDatas(ContentUI<?> ui); - protected abstract GearType getGearType(ContentUI<?> ui); protected abstract List<Integer> getPositions(List<String> tripIds, String programId); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css index 1799390..aae257d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css @@ -38,7 +38,7 @@ } #listSelectionModel { - selectionMode:{ListSelectionModel.SINGLE_SELECTION}; + selectionMode:{ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}; } #list { @@ -48,14 +48,14 @@ #gotoSelectedChild { visible:{!model.isEmpty()}; - enabled:{model.getSelectedData() != null}; + enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; _observeAction:{SelectNodeUIAction.ACTION_NAME}; _actionIcon:{"go-down"}; } #reopenChild { visible:{!model.isEmpty() && model.isCanReopen()}; - enabled:{model.getSelectedData() != null}; + enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; _observeAction:{ReOpenUIAction.ACTION_NAME}; } @@ -64,3 +64,7 @@ visible:{model.isCreatingMode()}; } +#moveSelectedChildren { + enabled:{model.getSelectedDatas() != null}; +} + diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx index 3327d09..8b0fffc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx @@ -39,6 +39,8 @@ javax.swing.DefaultListSelectionModel javax.swing.ListSelectionModel + java.util.List + static org.nuiton.i18n.I18n.t </import> <java.lang.String id='listText' javaBean='""'/> @@ -49,7 +51,7 @@ <ListSelectionModel id='listSelectionModel' initializer='new DefaultListSelectionModel()' - onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedData(getSelectedData());'/> + onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedDatas(getSelectedDatas());'/> <ContentListUIHandler id='handler' genericType='E, C'/> @@ -59,6 +61,10 @@ public final ReferenceDto getSelectedData() { return (ReferenceDto) getSelectedBean(list); } +public final List<ReferenceDto> getSelectedDatas() { + return (List<ReferenceDto>) list.getSelectedValuesList(); +} + ]]></script> <JPanel id='body'> @@ -102,6 +108,11 @@ public final ReferenceDto getSelectedData() { <Table id='extraActions' fill="both" weightx="1" insets='2'/> </cell> </row> + <row> + <cell fill='both' columns="3"> + <JButton id='moveSelectedChildren'/> + </cell> + </row> </Table> </fr.ird.observe.ui.content.ContentUI> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java index a52ea6f..df7ffc2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java @@ -24,6 +24,7 @@ package fr.ird.observe.ui.content.list; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.content.ContentUIModel; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -39,7 +40,7 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten public static final String PROPERTY_DATA = "data"; - public static final String PROPERTY_SELECTED_DATA = "selectedData"; + public static final String PROPERTY_SELECTED_DATAS = "selectedDatas"; public static final String PROPERTY_EMPTY = "empty"; @@ -56,8 +57,8 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten /** liste des entites */ protected List<ReferenceDto> data; - /** entité sélectionnée dans la liste */ - protected ReferenceDto selectedData; + /** entités sélectionnées dans la liste */ + protected List<ReferenceDto> selectedDatas; /** un drapeau pour savoir si on peut reouvrir l'un des données de la liste. */ protected boolean canReopen; @@ -81,20 +82,24 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten // on force toujours la propagation de la liste firePropertyChange(PROPERTY_DATA, null, data); firePropertyChange(PROPERTY_EMPTY, wasEmpty, isEmpty()); - setSelectedData(null); + setSelectedDatas(null); } public ReferenceDto getSelectedData() { - return selectedData; + return CollectionUtils.isNotEmpty(selectedDatas) ? selectedDatas.get(0) : null; } - public void setSelectedData(ReferenceDto selectedData) { - ReferenceDto old = getSelectedData(); - this.selectedData = selectedData; + public List<ReferenceDto> getSelectedDatas() { + return selectedDatas; + } + + public void setSelectedDatas(List<ReferenceDto> selectedDatas) { + List<ReferenceDto> old = getSelectedDatas(); + this.selectedDatas = selectedDatas; if (log.isDebugEnabled()) { - log.debug("New selected data : " + selectedData); + log.debug("New selected datas : " + selectedDatas); } - firePropertyChange(PROPERTY_SELECTED_DATA, old, selectedData); + firePropertyChange(PROPERTY_SELECTED_DATAS, old, selectedDatas); } public boolean isCanReopen() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css index 7f85d81..4260e0d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css @@ -20,20 +20,14 @@ * #L% */ -#listSelectionModel { - selectionMode:{ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}; -} - #gotoSelectedChild { _text:{t("observe.action.goto.selected.maree")}; _toolTipText:{t("observe.action.goto.selected.maree.tip")}; - enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; } #reopenChild { _text:{t("observe.action.reopen.selected.maree")}; _toolTipText:{t("observe.action.reopen.selected.maree.tip")}; - enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; } #createChild { @@ -41,10 +35,9 @@ toolTipText:"observe.action.create.maree.tip"; } -#moveSelectedTrips { +#moveSelectedChildren { text:"observe.action.move.trips"; toolTipText:"observe.action.move.trips.tip"; - enabled:{model.getSelectedDatas() != null}; _observeAction:{MoveTripLonglinesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx index c4eb4db..d94773e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx @@ -31,23 +31,11 @@ fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction fr.ird.observe.ui.actions.shared.MoveTripLonglinesUIAction - java.util.List - - javax.swing.ListSelectionModel - static org.nuiton.i18n.I18n.n </import> <style source="CommonListUI.css"/> - <script><![CDATA[ - -public final List<ReferenceDto> getSelectedDatas() { - return (List<ReferenceDto>) list.getSelectedValuesList(); -} - -]]></script> - <!-- handler --> <TripLonglinesUIHandler id='handler' constructorParams='this'/> @@ -57,16 +45,13 @@ public final List<ReferenceDto> getSelectedDatas() { <!-- edit bean --> <ProgramDto id='bean'/> - <!-- override data selection --> - <ListSelectionModel id='listSelectionModel' - onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedDatas(getSelectedDatas());'/> - <!-- override generic actions --> <JButton id='gotoSelectedChild'/> <JButton id='reopenChild'/> <JButton id='gotoOpenChild' styleClass='gotoOpenTrip'/> <JButton id='gotoOpenChild2' styleClass='gotoOpenTrip2'/> <JButton id='createChild'/> + <JButton id='moveSelectedChildren'/> <!-- extra actions --> <Table id="extraActions" fill='both' weightx='1' weighty='1' insets='0'> @@ -78,11 +63,6 @@ public final List<ReferenceDto> getSelectedDatas() { <JButton id='gotoOpenActivity2' styleClass='gotoOpenActivity2'/> </cell> </row> - <row weighty="1" weightx="1"> - <cell columns="2"> - <JButton id='moveSelectedTrips'/> - </cell> - </row> </Table> </fr.ird.observe.ui.content.list.ContentListUI> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css index d582c45..40a6244 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css @@ -19,9 +19,6 @@ * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ -#listSelectionModel { - selectionMode:{ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}; -} #gotoSelectedChild { _text:{t("observe.action.goto.selected.maree")}; @@ -38,10 +35,9 @@ toolTipText:"observe.action.create.maree.tip"; } -#moveSelectedTrips { +#moveSelectedChildren { text:"observe.action.move.trips"; toolTipText:"observe.action.move.trips.tip"; - enabled:{model.getSelectedDatas() != null}; _observeAction:{MoveTripSeinesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx index d9a00dd..aa5089a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx @@ -33,23 +33,11 @@ fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction fr.ird.observe.ui.actions.shared.MoveTripSeinesUIAction - java.util.List - - javax.swing.ListSelectionModel - static org.nuiton.i18n.I18n.n </import> <style source="CommonListUI.css"/> - <script><![CDATA[ - -public final List<ReferenceDto> getSelectedDatas() { - return (List<ReferenceDto>) list.getSelectedValuesList(); -} - -]]></script> - <!-- handler --> <TripSeinesUIHandler id='handler' constructorParams='this'/> @@ -59,16 +47,13 @@ public final List<ReferenceDto> getSelectedDatas() { <!-- edit bean --> <ProgramDto id='bean'/> - <!-- override data selection --> - <ListSelectionModel id='listSelectionModel' - onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedDatas(getSelectedDatas());'/> - <!-- override generic actions --> <JButton id='gotoSelectedChild'/> <JButton id='reopenChild'/> <JButton id='gotoOpenChild' styleClass='gotoOpenTrip'/> <JButton id='gotoOpenChild2' styleClass='gotoOpenTrip2'/> <JButton id='createChild'/> + <JButton id='moveSelectedChildren'/> <!-- extra actions --> <Table id="extraActions" fill='both' weightx='1' weighty='1' insets='0'> @@ -88,11 +73,6 @@ public final List<ReferenceDto> getSelectedDatas() { <JButton id='gotoOpenActivity2' styleClass='gotoOpenActivity2'/> </cell> </row> - <row weighty="1" weightx="1"> - <cell columns="2"> - <JButton id='moveSelectedTrips'/> - </cell> - </row> </Table> </fr.ird.observe.ui.content.list.ContentListUI> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java index 9efc69b..7236f31 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java @@ -22,15 +22,12 @@ package fr.ird.observe.ui.content.list.impl.seine; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.content.list.ContentListUIModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import java.util.List; - /** * Created on 9/26/14. * @@ -46,31 +43,8 @@ public class TripSeinesUIModel extends ContentListUIModel<ProgramDto, TripSeineD */ private static final Log log = LogFactory.getLog(TripSeinesUIModel.class); - public static final String PROPERTY_SELECTED_DATAS = "selectedDatas"; - - /** entité sélectionnée dans la liste */ - protected List<ReferenceDto> selectedDatas; - public TripSeinesUIModel() { super(ProgramDto.class, TripSeineDto.class); } - public List<ReferenceDto> getSelectedDatas() { - return selectedDatas; - } - - public void setSelectedDatas(List<ReferenceDto> selectedDatas) { - List<ReferenceDto> old = getSelectedDatas(); - this.selectedDatas = selectedDatas; - if (log.isDebugEnabled()) { - log.debug("New selected datas : " + selectedDatas); - } - firePropertyChange(PROPERTY_SELECTED_DATAS, old, selectedDatas); - } - - @Override - public void setData(List<ReferenceDto> data) { - super.setData(data); - setSelectedDatas(null); - } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7622 in repository observe. See http://git.codelutin.com/observe.git commit e7d132e9f24b0498d0a84492cd347195be6a8dab Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:00:02 2015 +0100 ajout du bouton pour déplacer des routes depuis la liste (refs #7622) --- .../ui/actions/shared/MoveRoutesUIAction.java | 225 +++++++++++++++++++++ .../ui/content/list/impl/seine/RoutesUI.css | 7 + .../ui/content/list/impl/seine/RoutesUI.jaxx | 3 + 3 files changed, 235 insertions(+) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java new file mode 100644 index 0000000..5c23822 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -0,0 +1,225 @@ +/* + * #%L + * ObServe :: Swing + * %% + * 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% + */ +package fr.ird.observe.ui.actions.shared; + +import com.google.common.collect.Lists; +import fr.ird.observe.ObserveOpenDataManager; +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.service.seine.RouteService; +import fr.ird.observe.services.service.seine.TripSeineService; +import fr.ird.observe.ui.DecoratorService; +import fr.ird.observe.ui.ObserveMainUI; +import fr.ird.observe.ui.content.ContentUI; +import fr.ird.observe.ui.content.list.ContentListUIModel; +import fr.ird.observe.ui.content.list.impl.seine.RoutesUI; +import fr.ird.observe.ui.tree.ObserveNode; +import fr.ird.observe.ui.tree.ObserveTreeHelper; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.decorator.Decorator; + +import javax.swing.JComponent; +import javax.swing.JOptionPane; +import javax.swing.SwingUtilities; +import java.awt.event.ActionEvent; +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; + +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; + +/** + * Action pour changer le programme d'une ou plusieurs marée dans la liste. + * + * @author Kevin Morin (Code Lutin) + * @since 5.0 + */ +public class MoveRoutesUIAction extends AbstractUIAction { + + private static final long serialVersionUID = 1L; + + /** + * Logger. + */ + private static final Log log = LogFactory.getLog(MoveRoutesUIAction.class); + + public static final String ACTION_NAME = "moveRoutes"; + + public MoveRoutesUIAction(ObserveMainUI mainUI, String actionName) { + super(mainUI, + actionName, + n("observe.action.move.routes"), + n("observe.action.move.routes.tip"), + "move-trips" + ); + } + + @Override + public void actionPerformed(final ActionEvent e) { + + SwingUtilities.invokeLater(new Runnable() { + + @Override + public void run() { + JComponent c = (JComponent) e.getSource(); + ContentUI<?> ui = (ContentUI<?>) + c.getClientProperty("ui"); + if (ui == null) { + throw new IllegalStateException( + "could not find client property " + + "ui on component" + c); + } + + if (!(ui instanceof RoutesUI)) { + throw new IllegalStateException("Can not come here!"); + } + + // get current program id + ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); + ObserveNode oldRoutesNode = treeHelper.getSelectedNode(); + String oldTripSeineId = oldRoutesNode.getParent().getId(); + + // choose the new program + String tripSeineId = chooseNewTripSeine(ui, oldTripSeineId); + + // change the program of the selected trips + List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); + List<String> routeIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); + List<Integer> positions = service.moveRoutesToTripSeine(routeIds, tripSeineId); + + // update the tree + updateTree(ui, oldRoutesNode, oldTripSeineId, tripSeineId, routeIds, positions); + + } + }); + + } + + protected String chooseNewTripSeine(ContentUI<?> ui, String oldProgramId) { + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + + LinkedHashSet<ReferenceDto> allTripSeines = applicationContext.newService(TripSeineService.class) + .getAllTripSeine() + .getReference(); + + List<ReferenceDto<TripSeineDto>> tripSeines = new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(allTripSeines)); + + Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, + ProgramDto.class.getSimpleName()); + + //on crée un tableau avec un programme en moins car on ne propose pas le programme actuel + DecoratedTripSeine[] decoratedTripSeines = new DecoratedTripSeine[tripSeines.size() - 1]; + + int j = 0; + for (ReferenceDto tripSeine : tripSeines) { + if (!oldProgramId.equals(tripSeine.getId())) { + decoratedTripSeines[j++] = new DecoratedTripSeine(tripSeine.getId(), decorator.toString(tripSeine)); + } + } + + Object decoratedProgram = JOptionPane.showInputDialog(ui, + t("observe.action.choose.program.message"), + t("observe.action.choose.program.title"), + JOptionPane.QUESTION_MESSAGE, + null, + decoratedTripSeines, + null); + return ((DecoratedTripSeine) decoratedProgram).getId(); + } + + protected void updateTree(ContentUI<?> ui, + ObserveNode oldRoutesNode, + String oldTripSeineId, + String tripSeineId, + List<String> routeIds, + List<Integer> positions) { + + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + ObserveOpenDataManager openDataManager = applicationContext.getOpenDataManager(); + ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); + + ObserveNode oldTripSeineNode = oldRoutesNode.getParent(); + ObserveNode programNode = oldTripSeineNode.getParent(); + ObserveNode newTripSeineNode = treeHelper.getChild(programNode, tripSeineId); + String routesNodeId = DecoratorService.getPropertyLabel(ObserveTreeHelper.TREE_NODE_PREFIX, + TripSeineDto.PROPERTY_ROUTE); + ObserveNode newRoutesNode = treeHelper.getChild(newTripSeineNode, routesNodeId); + + for (int i = 0, s = positions.size(); i < s; i++) { + + String routeId = routeIds.get(i); + ObserveNode routeNode = treeHelper.getChild(oldRoutesNode, routeId); + boolean wasOpen = routeNode.isOpen(); + treeHelper.removeNode(routeNode); + + if (wasOpen) { + openDataManager.closeTripSeine(oldTripSeineId); + openDataManager.openTripSeine(programNode.getId(), tripSeineId); + } + + ObserveNode newRouteNode = treeHelper.getChild(newTripSeineNode, routeId); + + if (newRouteNode == null) { + + // create it + if (log.isInfoEnabled()) { + log.info("Insert route node: "); + } + //FIXME l'ordre n'est pas le bon + treeHelper.insertNode(newRoutesNode, newRouteNode, positions.get(i)); + } + } + ContentListUIModel model = (ContentListUIModel) ui.getModel(); + List<ReferenceDto> data = new ArrayList<>(model.getData()); + data.removeAll(model.getSelectedDatas()); + model.setData(data); + + treeHelper.reloadNode(programNode, true); + treeHelper.selectNode(newTripSeineNode); + } + + public static class DecoratedTripSeine { + + private final String id; + private final String label; + + public DecoratedTripSeine(String id, String label) { + this.id = id; + this.label = label; + } + + public String getId() { + return id; + } + + @Override + public String toString() { + return label; + } + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css index 7e2c1a8..a545bd0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css @@ -34,3 +34,10 @@ toolTipText:"observe.action.create.route.tip"; } +#moveSelectedTrips { + text:"observe.action.move.routes"; + toolTipText:"observe.action.move.routes.tip"; + enabled:{model.getSelectedDatas() != null}; + _observeAction:{MoveRoutesUIAction.ACTION_NAME}; +} + diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx index 2f9815e..76ae079 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx @@ -29,6 +29,8 @@ fr.ird.observe.services.dto.seine.TripSeineDto fr.ird.observe.services.dto.seine.RouteDto fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction + fr.ird.observe.ui.actions.shared.MoveRoutesUIAction + static org.nuiton.i18n.I18n.n </import> @@ -49,6 +51,7 @@ <JButton id='gotoOpenChild' styleClass='gotoOpenRoute'/> <JButton id='gotoOpenChild2' styleClass='gotoOpenRoute2'/> <JButton id='createChild'/> + <JButton id='moveSelectedChildren'/> <!-- extra actions --> <Table id='extraActions' fill="both" weightx="1" insets='2'> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7622 in repository observe. See http://git.codelutin.com/observe.git commit aee93cea8dc4e2ab6b17afde38e2232b22411573 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:00:42 2015 +0100 refactoring des actions du menu contextuel de l'arbre (refs #7622) --- .../main/java/fr/ird/observe/ui/ObserveMainUI.css | 48 +------- .../main/java/fr/ird/observe/ui/ObserveMainUI.jaxx | 14 +-- .../tree/ObserveNavigationTreeShowPopupAction.java | 133 ++++++++------------- .../observe-application-swing_en_GB.properties | 4 + .../observe-application-swing_es_ES.properties | 4 + .../observe-application-swing_fr_FR.properties | 6 +- 6 files changed, 70 insertions(+), 139 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css index f91e3c8..40e16b7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css @@ -49,57 +49,15 @@ JSplitPane { // trip menu -#navigationMoveTripAction { - text: "observe.navigationMenu.moveTrip"; - toolTipText: "observe.navigationMenu.moveTrip"; - actionIcon: "move-trips"; -} - -#navigationOpenTripAction { - text: "observe.navigationMenu.openTripAction"; - toolTipText: "observe.navigationMenu.openTripAction"; - enabled: {!dataContext.isOpenTrip()}; - action: {new fr.ird.observe.ui.actions.shared.ReOpenUIAction(this)}; -} - -#navigationCloseTripAction { - text: "observe.navigationMenu.closeTripAction"; - toolTipText: "observe.navigationMenu.closeTripAction"; - enabled: {!dataContext.isOpenRoute() && !dataContext.isOpenActivity()}; - action: {new fr.ird.observe.ui.actions.shared.CloseOpenUIAction(this)}; -} - -#navigationDeleteTripAction { - text: "observe.navigationMenu.deleteTripAction"; - toolTipText: "observe.navigationMenu.deleteTripAction"; - action: {new fr.ird.observe.ui.actions.shared.DeleteDataUIAction(this)}; -} - -// route menu - -#navigationMoveRouteAction { - text: "observe.navigationMenu.moveRoute"; - toolTipText: "observe.navigationMenu.moveRoute"; - actionIcon: "move-routes"; -} - -#navigationOpenRouteAction { - text: "observe.navigationMenu.openRouteAction"; - toolTipText: "observe.navigationMenu.openRouteAction"; - enabled: {!dataContext.isOpenRoute()}; +#navigationOpenAction { action: {new fr.ird.observe.ui.actions.shared.ReOpenUIAction(this)}; } -#navigationCloseRouteAction { - text: "observe.navigationMenu.closeRouteAction"; - toolTipText: "observe.navigationMenu.closeRouteAction"; - enabled: {!dataContext.isOpenActivity()}; +#navigationCloseAction { action: {new fr.ird.observe.ui.actions.shared.CloseOpenUIAction(this)}; } -#navigationDeleteRouteAction { - text: "observe.navigationMenu.deleteRouteAction"; - toolTipText: "observe.navigationMenu.deleteRouteAction"; +#navigationDeleteAction { action: {new fr.ird.observe.ui.actions.shared.DeleteDataUIAction(this)}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx index 480b1e3..9c5bbb9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx @@ -84,16 +84,10 @@ <JPopupMenu id='scopeDownPopup'/> <JPopupMenu id='navigationPopup'> <JMenuItem id="navigationNoAction"/> - <!-- Trip menu --> - <JMenu id="navigationMoveTripAction"/> - <JMenuItem id="navigationOpenTripAction"/> - <JMenuItem id="navigationCloseTripAction"/> - <JMenuItem id="navigationDeleteTripAction"/> - <!-- Route menu --> - <JMenu id="navigationMoveRouteAction"/> - <JMenuItem id="navigationOpenRouteAction"/> - <JMenuItem id="navigationCloseRouteAction"/> - <JMenuItem id="navigationDeleteRouteAction"/> + <JMenu id="navigationMoveAction"/> + <JMenuItem id="navigationOpenAction"/> + <JMenuItem id="navigationCloseAction"/> + <JMenuItem id="navigationDeleteAction"/> </JPopupMenu> <ObserveSwingApplicationConfig id='config' initializer='getContextValue(ObserveSwingApplicationConfig.class)'/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java index 04c80a3..87718a4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java @@ -27,6 +27,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; @@ -39,11 +40,10 @@ import fr.ird.observe.services.service.seine.TripSeineService; import fr.ird.observe.ui.tree.actions.ChangeRouteTripActionListener; import fr.ird.observe.ui.tree.actions.ChangeTripProgramActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; +import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; -import org.nuiton.decorator.DecoratorUtil; -import org.nuiton.decorator.JXPathDecorator; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; @@ -62,6 +62,9 @@ import java.lang.reflect.Constructor; import java.util.LinkedHashSet; import java.util.List; +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; + /** * Created on 1/8/15. * @@ -76,6 +79,11 @@ public class ObserveNavigationTreeShowPopupAction { private static final String TRIP_MENU_ITEMS = "trip"; private static final String ROUTE_MENU_ITEMS = "route"; + static { + n("observe.navigationMenu.move.trip"); + n("observe.navigationMenu.move.route"); + } + private final ObserveTreeHelper treeHelper; private final JScrollPane pane; @@ -85,6 +93,10 @@ public class ObserveNavigationTreeShowPopupAction { private final JTree tree; private final JMenuItem noAction; + private final JMenuItem openAction; + private final JMenuItem closeAction; + private final JMenuItem moveAction; + private final JMenuItem deleteAction; private final ImmutableMap<String, NavigationPopupMenuItems> menuItemsByNodeType; @@ -97,50 +109,35 @@ public class ObserveNavigationTreeShowPopupAction { JMenuItem noActionComponent = null; // trip menus - JMenuItem moveTripComponent = null; - JMenuItem openTripActionComponent = null; - JMenuItem closeTripActionComponent = null; - JMenuItem deleteTripActionComponent = null; - //route menus - JMenuItem moveRouteComponent = null; - JMenuItem openRouteActionComponent = null; - JMenuItem closeRouteActionComponent = null; - JMenuItem deleteRouteActionComponent = null; + JMenuItem moveComponent = null; + JMenuItem openActionComponent = null; + JMenuItem closeActionComponent = null; + JMenuItem deleteActionComponent = null; for (MenuElement menuElement : popup.getSubElements()) { if (menuElement.getComponent().getName().equals("navigationNoAction")) { noActionComponent = (JMenuItem) menuElement.getComponent(); } - // trip menus - if (menuElement.getComponent().getName().equals("navigationMoveTripAction")) { - moveTripComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationOpenTripAction")) { - openTripActionComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationCloseTripAction")) { - closeTripActionComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationDeleteTripAction")) { - deleteTripActionComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationMoveAction")) { + moveComponent = (JMenuItem) menuElement.getComponent(); } - // route menus - if (menuElement.getComponent().getName().equals("navigationMoveRouteAction")) { - moveRouteComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationOpenAction")) { + openActionComponent = (JMenuItem) menuElement.getComponent(); } - if (menuElement.getComponent().getName().equals("navigationOpenRouteAction")) { - openRouteActionComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationCloseAction")) { + closeActionComponent = (JMenuItem) menuElement.getComponent(); } - if (menuElement.getComponent().getName().equals("navigationCloseRouteAction")) { - closeRouteActionComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationDeleteRouteAction")) { - deleteRouteActionComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationDeleteAction")) { + deleteActionComponent = (JMenuItem) menuElement.getComponent(); } } this.noAction = noActionComponent; + this.openAction = openActionComponent; + this.closeAction = closeActionComponent; + this.moveAction = moveComponent; + this.deleteAction = deleteActionComponent; Function<String, List<ReferenceDto>> getProgramsFunction = new Function<String, List<ReferenceDto>>() { @@ -154,14 +151,12 @@ public class ObserveNavigationTreeShowPopupAction { .getReferentialReferenceSet(ProgramDto.class) .getReference(); - return Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); + List<ReferenceDto> result = Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); + + return result; } }; - NavigationPopupMenuItems tripItems = new NavigationPopupMenuItems(openTripActionComponent, - closeTripActionComponent, - moveTripComponent, - deleteTripActionComponent, - ProgramDto.class, + NavigationPopupMenuItems tripItems = new NavigationPopupMenuItems(ProgramDto.class, ChangeTripProgramActionListener.class, getProgramsFunction); @@ -179,11 +174,7 @@ public class ObserveNavigationTreeShowPopupAction { return Lists.newArrayList(allTripSeine); } }; - NavigationPopupMenuItems routeItems = new NavigationPopupMenuItems(openRouteActionComponent, - closeRouteActionComponent, - moveRouteComponent, - deleteRouteActionComponent, - TripSeineDto.class, + NavigationPopupMenuItems routeItems = new NavigationPopupMenuItems(TripSeineDto.class, ChangeRouteTripActionListener.class, getTripSeinesFunction); @@ -298,14 +289,23 @@ public class ObserveNavigationTreeShowPopupAction { // clean popup popup.removeAll(); + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + DataContext dataContext = applicationContext.getDataContext(); + if (selectedNode.isTripNode()) { beforeOpenMenu(selectedNode, TRIP_MENU_ITEMS); + openAction.setEnabled(!dataContext.isOpenTrip()); + closeAction.setEnabled(!dataContext.isOpenRoute() && !dataContext.isOpenActivity()); + } else if (selectedNode.isRouteNode()) { beforeOpenMenu(selectedNode, ROUTE_MENU_ITEMS); + openAction.setEnabled(!dataContext.isOpenRoute()); + closeAction.setEnabled(!dataContext.isOpenActivity()); + } else { popup.add(noAction); @@ -318,10 +318,6 @@ public class ObserveNavigationTreeShowPopupAction { } NavigationPopupMenuItems items = menuItemsByNodeType.get(nodeType); - JMenuItem openAction = items.getOpenAction(); - JMenuItem closeAction = items.getCloseAction(); - JMenuItem movePopup = items.getMovePopup(); - JMenuItem deleteAction = items.getDeleteAction(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); @@ -330,9 +326,12 @@ public class ObserveNavigationTreeShowPopupAction { closeAction.putClientProperty("ui", applicationContext.getSelectedContentUI()); popup.add(closeAction); - popup.add(movePopup); + moveAction.setText(t("observe.navigationMenu.move." + nodeType)); + moveAction.setToolTipText(t("observe.navigationMenu.move." + nodeType)); + moveAction.setIcon(SwingUtil.getUIManagerActionIcon("move-" + nodeType)); + popup.add(moveAction); - movePopup.removeAll(); + moveAction.removeAll(); // get the available program for the trip @@ -350,8 +349,6 @@ public class ObserveNavigationTreeShowPopupAction { Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, parentClass.getSimpleName()); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, parents, 0); - for (ReferenceDto parent : parents) { String parentId = parent.getId(); @@ -373,7 +370,7 @@ public class ObserveNavigationTreeShowPopupAction { id, parentId)); - movePopup.add(item); + moveAction.add(item); } catch (ReflectiveOperationException e) { if (log.isErrorEnabled()) { @@ -435,46 +432,18 @@ public class ObserveNavigationTreeShowPopupAction { private class NavigationPopupMenuItems { - private final JMenuItem openAction; - private final JMenuItem closeAction; - private final JMenuItem movePopup; - private final JMenuItem deleteAction; private final Class<?> parentClass; private final Class<? extends NodeChangeActionListener> changeActionListenerClass; private final Function<String, List<ReferenceDto>> getParentsFunction; - public NavigationPopupMenuItems(JMenuItem openAction, - JMenuItem closeAction, - JMenuItem movePopup, - JMenuItem deleteAction, - Class<?> parentClass, + public NavigationPopupMenuItems(Class<?> parentClass, Class<? extends NodeChangeActionListener> changeActionListenerClass, Function<String, List<ReferenceDto>> getParentsFunction) { - this.openAction = openAction; - this.closeAction = closeAction; - this.movePopup = movePopup; - this.deleteAction = deleteAction; this.parentClass = parentClass; this.changeActionListenerClass = changeActionListenerClass; this.getParentsFunction = getParentsFunction; } - public JMenuItem getCloseAction() { - return closeAction; - } - - public JMenuItem getDeleteAction() { - return deleteAction; - } - - public JMenuItem getMovePopup() { - return movePopup; - } - - public JMenuItem getOpenAction() { - return openAction; - } - public Class<?> getParentClass() { return parentClass; } diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties index c07a3b7..f6f520e 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties @@ -286,6 +286,8 @@ observe.action.mitigationType.save.tip= observe.action.modify=Modify observe.action.move.maree= observe.action.move.maree.tip= +observe.action.move.routes= +observe.action.move.routes.tip= observe.action.move.trips= observe.action.move.trips.tip= observe.action.new.entry=Add @@ -1558,6 +1560,8 @@ observe.navigationMenu.closeRouteAction= observe.navigationMenu.closeTripAction= observe.navigationMenu.deleteRouteAction= observe.navigationMenu.deleteTripAction= +observe.navigationMenu.move.route= +observe.navigationMenu.move.trip= observe.navigationMenu.moveRoute= observe.navigationMenu.moveTrip=Change program observe.navigationMenu.noAction=< No action > diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties index d17ed34..48f5351 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties @@ -286,6 +286,8 @@ observe.action.mitigationType.save.tip= observe.action.modify=Modificar observe.action.move.maree= observe.action.move.maree.tip= +observe.action.move.routes= +observe.action.move.routes.tip= observe.action.move.trips= observe.action.move.trips.tip= observe.action.new.entry=Nuevo @@ -1560,6 +1562,8 @@ observe.navigationMenu.closeRouteAction= observe.navigationMenu.closeTripAction= observe.navigationMenu.deleteRouteAction= observe.navigationMenu.deleteTripAction= +observe.navigationMenu.move.route= +observe.navigationMenu.move.trip= observe.navigationMenu.moveRoute= observe.navigationMenu.moveTrip= observe.navigationMenu.noAction= diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 0d8490c..82cbf09 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -282,6 +282,8 @@ observe.action.mitigationType.detail.tip=Voir les détails du type de mesure d'a observe.action.mitigationType.modify.tip=Modifier le type de mesure d'atténuation sélectionné observe.action.mitigationType.save.tip=Sauver les modifications du type de mesure d'atténuation observe.action.modify=Modifier +observe.action.move.routes= +observe.action.move.routes.tip= observe.action.move.trips=Changer de programme observe.action.move.trips.tip=Changer le programme des marées sélectionnées observe.action.new.entry=Nouveau @@ -1549,8 +1551,8 @@ observe.navigationMenu.closeRouteAction=Clôturer la route observe.navigationMenu.closeTripAction=Clôturer la marée observe.navigationMenu.deleteRouteAction=Supprimer la route observe.navigationMenu.deleteTripAction=Supprimer la marée -observe.navigationMenu.moveRoute=Changer de marée -observe.navigationMenu.moveTrip=Réallocation du programme +observe.navigationMenu.move.route=Changer de marée +observe.navigationMenu.move.trip=Réallocation du programme observe.navigationMenu.noAction=< Aucune action définie > observe.navigationMenu.openRouteAction=Réouvrir la route observe.navigationMenu.openTripAction=Réouvrir la marée -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7622 in repository observe. See http://git.codelutin.com/observe.git commit f2355c430d38c3f9ffe19ca1dd793b11b024c4bb Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:04:10 2015 +0100 correction des positions (refs #7622) --- .../java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java | 1 - .../fr/ird/observe/services/service/seine/RouteServiceTopia.java | 6 ++---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index 5c23822..d19c293 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -190,7 +190,6 @@ public class MoveRoutesUIAction extends AbstractUIAction { if (log.isInfoEnabled()) { log.info("Insert route node: "); } - //FIXME l'ordre n'est pas le bon treeHelper.insertNode(newRoutesNode, newRouteNode, positions.get(i)); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 1efd4ee..7e41a96 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -282,12 +282,10 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi for (String routeId : routeIds) { Route route = loadEntity(RouteDto.class, Route.class, routeId); tripSeine.addRoute(route); - } - saveEntity(TripSeine.class, tripSeine); - persistenceContext.flush(); + saveEntity(TripSeine.class, tripSeine); + persistenceContext.flush(); - for (String routeId : routeIds) { result.add(getRoutePositionInTripSeine(tripSeineId, routeId)); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7622 in repository observe. See http://git.codelutin.com/observe.git commit 49905802674d40c2170ba05c1ef874e3ccda434e Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:27:19 2015 +0100 correction de l'action de déplacement des routes depuis la liste (refs #7622) --- .../main/java/fr/ird/observe/ObserveSwingApplicationContext.java | 2 ++ .../java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java | 6 +++--- .../java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css | 3 +-- .../main/resources/i18n/observe-application-swing_fr_FR.properties | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java index 5efda8f..422b4c7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java @@ -25,6 +25,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import fr.ird.observe.db.DataContext; +import fr.ird.observe.ui.actions.shared.MoveRoutesUIAction; import fr.ird.observe.util.gps.GPSService; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.ObserveSwingDataSource; @@ -911,6 +912,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im registerMainAction(actionMap, new DeleteReferenceUIAction(ui)); registerMainAction(actionMap, new MoveTripLonglinesUIAction(ui)); registerMainAction(actionMap, new MoveTripSeinesUIAction(ui)); + registerMainAction(actionMap, new MoveRoutesUIAction(ui)); } public void registerMainAction(ActionMap actionMap, AbstractUIAction action) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index d19c293..8bbc322 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -69,12 +69,12 @@ public class MoveRoutesUIAction extends AbstractUIAction { public static final String ACTION_NAME = "moveRoutes"; - public MoveRoutesUIAction(ObserveMainUI mainUI, String actionName) { + public MoveRoutesUIAction(ObserveMainUI mainUI) { super(mainUI, - actionName, + ACTION_NAME, n("observe.action.move.routes"), n("observe.action.move.routes.tip"), - "move-trips" + "move-routes" ); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css index a545bd0..0de1951 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css @@ -34,10 +34,9 @@ toolTipText:"observe.action.create.route.tip"; } -#moveSelectedTrips { +#moveSelectedChildren { text:"observe.action.move.routes"; toolTipText:"observe.action.move.routes.tip"; - enabled:{model.getSelectedDatas() != null}; _observeAction:{MoveRoutesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 82cbf09..b1bbaaa 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -282,8 +282,8 @@ observe.action.mitigationType.detail.tip=Voir les détails du type de mesure d'a observe.action.mitigationType.modify.tip=Modifier le type de mesure d'atténuation sélectionné observe.action.mitigationType.save.tip=Sauver les modifications du type de mesure d'atténuation observe.action.modify=Modifier -observe.action.move.routes= -observe.action.move.routes.tip= +observe.action.move.routes=Changer de marée +observe.action.move.routes.tip=Changer la marée des routes sélectionnées observe.action.move.trips=Changer de programme observe.action.move.trips.tip=Changer le programme des marées sélectionnées observe.action.new.entry=Nouveau -- 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