1 package fr.ifremer.tutti.ui.swing.content.cruise.actions;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
26 import fr.ifremer.tutti.persistence.entities.referential.GearWithOriginalRankOrder;
27 import fr.ifremer.tutti.persistence.entities.referential.GearWithOriginalRankOrders;
28 import fr.ifremer.tutti.service.PersistenceService;
29 import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport;
30 import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI;
31 import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUIHandler;
32 import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUIModel;
33 import fr.ifremer.tutti.ui.swing.content.cruise.GearCaracteristicsEditorUI;
34 import org.apache.commons.logging.Log;
35 import org.apache.commons.logging.LogFactory;
36
37
38
39
40
41 public class ViewGearCaracteristicsAction extends LongActionSupport<EditCruiseUIModel, EditCruiseUI, EditCruiseUIHandler> {
42
43
44 private static final Log log =
45 LogFactory.getLog(ViewGearCaracteristicsAction.class);
46
47 protected final PersistenceService persistenceService;
48
49 public ViewGearCaracteristicsAction(EditCruiseUIHandler handler) {
50 super(handler, false);
51 persistenceService = getContext().getPersistenceService();
52 }
53
54 @Override
55 public void doAction() throws Exception {
56 GearCaracteristicsEditorUI editor = getUI().getGearCaracteristicsEditor();
57 editor.getModel().setEditable(false);
58
59 GearWithOriginalRankOrder gear =
60 EditCruiseUIHandler.GEAR_EDIT_CONTEXT.getContextValue(getUI());
61
62 CaracteristicMap caracteristics =
63 persistenceService.getGearCaracteristics(
64 getDataContext().getCruise().getIdAsInt(),
65 gear.getIdAsInt(),
66 gear.getOriginalRankOrder());
67
68 GearWithOriginalRankOrder gearToEdit =
69 GearWithOriginalRankOrders.newGearWithOriginalRankOrder(gear);
70 gearToEdit.setCaracteristics(caracteristics);
71
72 if (log.isInfoEnabled()) {
73 log.info("Will edit gear " + decorate(gearToEdit) +
74 " with " + gearToEdit.getCaracteristics().size() + " caracteristics.");
75 }
76
77 editor.getModel().setGear(gearToEdit);
78
79 getUI().getMainPanelLayout().setSelected(EditCruiseUIHandler.GEAR_CARACTERISTICS_CARD);
80 }
81 }