This is an automated email from the git hooks/post-receive script. New commit to branch feature/7621 in repository observe. See http://git.codelutin.com/observe.git commit 229426589a9f8bbb4834f47eadd8601dc8e8b6e1 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 9 17:32:04 2015 +0100 refactoring --- .../observe/ObserveSwingApplicationContext.java | 4 +- .../actions/shared/MoveTripLonglinesUIAction.java | 69 +++++++++ .../ui/actions/shared/MoveTripsUIAction.java | 166 +++++++-------------- .../content/list/impl/longline/TripLonglinesUI.css | 2 +- .../list/impl/longline/TripLonglinesUI.jaxx | 2 +- .../observe-application-swing_fr_FR.properties | 6 +- 6 files changed, 128 insertions(+), 121 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 ded603a..c829d63 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 @@ -68,7 +68,7 @@ import fr.ird.observe.ui.actions.shared.DeleteDataUIAction; import fr.ird.observe.ui.actions.shared.DeleteReferenceUIAction; import fr.ird.observe.ui.actions.shared.GoDownUIAction; import fr.ird.observe.ui.actions.shared.GoUpUIAction; -import fr.ird.observe.ui.actions.shared.MoveTripsUIAction; +import fr.ird.observe.ui.actions.shared.MoveTripLonglinesUIAction; import fr.ird.observe.ui.actions.shared.ReOpenUIAction; import fr.ird.observe.ui.actions.shared.ResetEditUIAction; import fr.ird.observe.ui.actions.shared.SaveEditUIAction; @@ -908,7 +908,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im registerMainAction(actionMap, new SaveEditUIAction(ui)); registerMainAction(actionMap, new DeleteDataUIAction(ui)); registerMainAction(actionMap, new DeleteReferenceUIAction(ui)); - registerMainAction(actionMap, new MoveTripsUIAction(ui)); + registerMainAction(actionMap, new MoveTripLonglinesUIAction(ui)); } public void registerMainAction(ActionMap actionMap, AbstractUIAction action) { 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 new file mode 100644 index 0000000..bb35e7c --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java @@ -0,0 +1,69 @@ +package fr.ird.observe.ui.actions.shared; + +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.constants.GearType; +import fr.ird.observe.services.service.longline.TripLonglineService; +import fr.ird.observe.ui.ObserveMainUI; +import fr.ird.observe.ui.content.ContentUI; +import fr.ird.observe.ui.content.list.impl.longline.TripLonglinesUI; +import fr.ird.observe.ui.content.list.impl.longline.TripLonglinesUIModel; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Kevin Morin (Code Lutin) + * @since 5.0 + */ +public class MoveTripLonglinesUIAction extends MoveTripsUIAction { + + private static final long serialVersionUID = 1L; + + /** + * Logger. + */ + private static final Log log = LogFactory.getLog(MoveTripsUIAction.class); + + public static final String ACTION_NAME = "moveTripLongliness"; + + public MoveTripLonglinesUIAction(ObserveMainUI mainUI) { + super(mainUI, ACTION_NAME); + } + + @Override + protected void checkUIClass(ContentUI<?> ui) throws IllegalStateException { + if (!(ui instanceof TripLonglinesUI)) { + throw new IllegalStateException("Can not come here!"); + } + } + + @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; + } + + @Override + protected List<Integer> getPositions(List<String> tripIds, String programId) { + TripLonglineService service = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); + return service.moveTripLonglinesToProgram(tripIds, programId); + } + + @Override + protected void updateModelData(ContentUI<?> ui) { + TripLonglinesUI tripLonglinesUI = (TripLonglinesUI) ui; + TripLonglinesUIModel model = tripLonglinesUI.getModel(); + List<ReferenceDto> data = new ArrayList<>(model.getData()); + data.removeAll(model.getSelectedDatas()); + model.setData(data); + } +} 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 1ade193..ed31b84 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 @@ -27,28 +27,19 @@ 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.constants.GearType; -import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.service.ReferentialService; -import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; -import fr.ird.observe.ui.content.list.impl.longline.ActivityLonglinesUI; -import fr.ird.observe.ui.content.list.impl.longline.TripLonglinesUI; -import fr.ird.observe.ui.content.list.impl.longline.TripLonglinesUIModel; -import fr.ird.observe.ui.content.open.impl.longline.ActivityLonglineUI; 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 javax.swing.JComponent; -import javax.swing.JTree; import javax.swing.SwingUtilities; -import javax.swing.tree.TreePath; import java.awt.event.ActionEvent; -import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.Random; @@ -56,12 +47,12 @@ import java.util.Random; import static org.nuiton.i18n.I18n.n; /** - * Action pour fermer l'objet sous-jacent à l'écran. + * Action pour changer le programme d'une ou plusieurs marée dans la liste. * - * @author Tony Chemit - chemit@codelutin.com - * @since 1.4 + * @author Kevin Morin (Code Lutin) + * @since 5.0 */ -public class MoveTripsUIAction extends AbstractUIAction { +public abstract class MoveTripsUIAction extends AbstractUIAction { private static final long serialVersionUID = 1L; @@ -72,9 +63,9 @@ public class MoveTripsUIAction extends AbstractUIAction { public static final String ACTION_NAME = "moveTrips"; - public MoveTripsUIAction(ObserveMainUI mainUI) { + public MoveTripsUIAction(ObserveMainUI mainUI, String actionName) { super(mainUI, - ACTION_NAME, + actionName, n("observe.action.move.trips"), n("observe.action.move.trips.tip"), "close" @@ -94,130 +85,79 @@ public class MoveTripsUIAction extends AbstractUIAction { if (ui == null) { throw new IllegalStateException( "could not find client property " + - "ui on component" + c); + "ui on component" + c); } - ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - - if (ui instanceof TripLonglinesUI) { - - // cas particulier pour l'écran des marées longline - - LinkedHashSet<ReferenceDto> allPrograms = applicationContext.newService(ReferentialService.class) - .getReferentialReferenceSet(ProgramDto.class) - .getReference(); + checkUIClass(ui); - List<ReferenceDto> programs = Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, GearType.longline)); - -// int programIndex = JOptionPane.showOptionDialog(ui, "mesage", "test", -// JOptionPane.OK_CANCEL_OPTION, -// JOptionPane.QUESTION_MESSAGE, -// null, -// programs.toArray(new ReferenceDto[programs.size()]), -// null); - int programIndex = new Random().nextInt(programs.size()); + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - ReferenceDto program = programs.get(programIndex); - String programId = program.getId(); + LinkedHashSet<ReferenceDto> allPrograms = applicationContext.newService(ReferentialService.class) + .getReferentialReferenceSet(ProgramDto.class) + .getReference(); - TripLonglinesUI tripLonglinesUI = (TripLonglinesUI) ui; - TripLonglinesUIModel model = tripLonglinesUI.getModel(); - List<ReferenceDto> selectedDatas = model.getSelectedDatas(); + GearType gearType = getGearType(ui); - ObserveOpenDataManager openDataManager = applicationContext.getOpenDataManager(); - ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); + List<ReferenceDto> programs = Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); + int programIndex = new Random().nextInt(programs.size()); + ReferenceDto program = programs.get(programIndex); + String programId = program.getId(); - ObserveNode oldProgramNode = treeHelper.getSelectedNode(); - String oldProgramId = oldProgramNode.getId(); + ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); + ObserveNode rootNode = treeHelper.getRootNode(); + ObserveNode newProgramNode = treeHelper.getChild(rootNode, programId); - ObserveNode rootNode = treeHelper.getRootNode(); - ObserveNode newProgramNode = treeHelper.getChild(rootNode, programId); + List<ReferenceDto> selectedDatas = getSelectedDatas(ui); + List<String> tripIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + List<Integer> positions = getPositions(tripIds, programId); - List<String> tripIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); - TripLonglineService service = applicationContext.newService(TripLonglineService.class); - List<Integer> positions = service.moveTripLonglinesToProgram(tripIds, programId); + ObserveNode oldProgramNode = treeHelper.getSelectedNode(); + String oldProgramId = oldProgramNode.getId(); + ObserveOpenDataManager openDataManager = applicationContext.getOpenDataManager(); - for (int i = 0, s = positions.size() ; i < s ; i++) { + for (int i = 0, s = positions.size(); i < s; i++) { - String tripId = tripIds.get(i); - ObserveNode tripNode = treeHelper.getChild(oldProgramNode, tripId); - boolean wasOpen = tripNode.isOpen(); - treeHelper.removeNode(tripNode); + String tripId = tripIds.get(i); + ObserveNode tripNode = treeHelper.getChild(oldProgramNode, tripId); + boolean wasOpen = tripNode.isOpen(); + treeHelper.removeNode(tripNode); - if (wasOpen) { - openDataManager.closeProgram(oldProgramId); - openDataManager.openProgram(programId); - } + if (wasOpen) { + openDataManager.closeProgram(oldProgramId); + openDataManager.openProgram(programId); + } - ObserveNode newTripNode = treeHelper.getChild(newProgramNode, tripId); + ObserveNode newTripNode = treeHelper.getChild(newProgramNode, tripId); - if (newTripNode == null) { + if (newTripNode == null) { - // create it - if (log.isInfoEnabled()) { - log.info("Insert trip node: "); - } - treeHelper.insertNode(newProgramNode, tripNode, positions.get(i)); + // create it + if (log.isInfoEnabled()) { + log.info("Insert trip node: "); } + treeHelper.insertNode(newProgramNode, tripNode, positions.get(i)); } - - List<ReferenceDto> data = new ArrayList<>(model.getData()); - data.removeAll(model.getSelectedDatas()); - model.setData(data); - - treeHelper.reloadNode(oldProgramNode, true); - treeHelper.reloadNode(newProgramNode, true); - treeHelper.selectNode(newProgramNode); - - return; } - if (ui instanceof ActivityLonglinesUI) { - - // cas particulier pour l'écran des activités - - JTree tree = getMainUI().getNavigation(); - ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); + updateModelData(ui); - // recuperation du noeud courant (activitys) - ObserveNode node = treeHelper.getSelectedNode(); + treeHelper.reloadNode(oldProgramNode, true); + treeHelper.reloadNode(newProgramNode, true); + treeHelper.selectNode(newProgramNode); - boolean wasCollapsed = isOpenActivityNodeCollapsed( - tree, - treeHelper, - getMainUI().getDataContext() - ); - - // selection du noeud de l'activity ouverte - treeHelper.selectOpenNode(getMainUI(), ActivityLonglineDto.class); - - // on conserve le path de l'activity - TreePath path = tree.getSelectionPath(); - - // recuperation de l'écran associé - ActivityLonglineUI selectedUI = (ActivityLonglineUI) - ObserveSwingApplicationContext.get().getSelectedContentUI(); - - // fermeture de l'activity - selectedUI.closeData(); + } + }); - if (wasCollapsed) { + } - // on ferme le noeud de l'activity (qui a ete ouvert - // lors de la selection de celle-ci) - tree.collapsePath(path); - } + protected abstract void checkUIClass(ContentUI<?> ui) throws IllegalStateException; - // retour sur le noeud des activitys - treeHelper.selectNode(node); + protected abstract List<ReferenceDto> getSelectedDatas(ContentUI<?> ui); - return; - } + protected abstract GearType getGearType(ContentUI<?> ui); - throw new IllegalStateException("Can not come here!"); - } - }); + protected abstract List<Integer> getPositions(List<String> tripIds, String programId); - } + protected abstract void updateModelData(ContentUI<?> ui); } 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 2856efb..7f85d81 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 @@ -45,6 +45,6 @@ text:"observe.action.move.trips"; toolTipText:"observe.action.move.trips.tip"; enabled:{model.getSelectedDatas() != null}; - _observeAction:{MoveTripsUIAction.ACTION_NAME}; + _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 1f38e94..3776dbc 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 @@ -29,7 +29,7 @@ fr.ird.observe.services.dto.longline.TripLonglineDto fr.ird.observe.services.dto.referential.ProgramDto fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction - fr.ird.observe.ui.actions.shared.MoveTripsUIAction + fr.ird.observe.ui.actions.shared.MoveTripLonglinesUIAction java.util.List 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 6772b97..843e2f3 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 @@ -280,10 +280,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.maree= -observe.action.move.maree.tip= -observe.action.move.trips= -observe.action.move.trips.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 observe.action.new.entry.tip=Créer une nouvelle entrée observe.action.objectFate.create.tip=Créer un nouveau devenir objet -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.