Author: tchemit Date: 2014-04-25 09:53:52 +0200 (Fri, 25 Apr 2014) New Revision: 1732 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1732 Log: refs #4958 Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-04-25 07:53:52 UTC (rev 1732) @@ -544,7 +544,7 @@ } @Override - public void setCruiseReadyToSynch(String cruiseId) { + public void setCruiseReadyToSynch(Integer cruiseId) { cruiseService.setCruiseReadyToSynch(cruiseId); } Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2014-04-25 07:53:52 UTC (rev 1732) @@ -365,7 +365,7 @@ } @Override - public void setCruiseReadyToSynch(String cruiseId) { + public void setCruiseReadyToSynch(Integer cruiseId) { throw notImplemented(); } Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java 2014-04-25 07:53:52 UTC (rev 1732) @@ -53,7 +53,7 @@ Cruise saveCruise(Cruise bean, boolean updateVessel, boolean updateGear); @Transactional(readOnly = false) - void setCruiseReadyToSynch(String cruiseId) ; + void setCruiseReadyToSynch(Integer cruiseId) ; CaracteristicMap getGearCaracteristics(String cruiseId, String gearId, short rankOrder); Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2014-04-25 07:53:52 UTC (rev 1732) @@ -381,7 +381,7 @@ } @Override - public void setCruiseReadyToSynch(String cruiseId) { + public void setCruiseReadyToSynch(Integer cruiseId) { synchronizationStatusHelper.setCruiseReadyToSynch(cruiseId); } Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java 2014-04-25 07:53:52 UTC (rev 1732) @@ -7,8 +7,11 @@ import fr.ifremer.adagio.core.dao.data.survey.scientificCruise.ScientificCruise; import fr.ifremer.adagio.core.dao.technical.synchronization.SynchronizationStatus; import fr.ifremer.tutti.persistence.service.AbstractPersistenceService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.hibernate.type.IntegerType; import org.hibernate.type.StringType; +import org.springframework.dao.DataIntegrityViolationException; import org.springframework.stereotype.Component; /** @@ -22,6 +25,9 @@ @Component("synchronizationStatusHelper") public class SynchronizationStatusHelper extends AbstractPersistenceService { + /** Logger. */ + private static final Log log = LogFactory.getLog(SynchronizationStatusHelper.class); + public void setDirty(ScientificCruise scientificCruise) { String synchronizationStatus = getDirtyValue(); scientificCruise.setSynchronizationStatus(synchronizationStatus); @@ -50,34 +56,49 @@ } } - public void setCruiseReadyToSynch(String cruiseId) { + public void setCruiseReadyToSynch(Integer cruiseId) { String oldStatus = getDirtyValue(); String newStatus = SynchronizationStatus.READY_TO_SYNCHRONIZE.getValue(); // update scientificCruise - queryUpdate("updateScientificCruiseSynchronizationStatus", - "cruiseId", IntegerType.INSTANCE, cruiseId, - "oldStatus", StringType.INSTANCE, oldStatus, - "newStatus", StringType.INSTANCE, newStatus); + int scientificCruiseQueryUpdate = queryUpdate("updateScientificCruiseSynchronizationStatus", + "cruiseId", IntegerType.INSTANCE, cruiseId, + "oldStatus", StringType.INSTANCE, oldStatus, + "newStatus", StringType.INSTANCE, newStatus); + if (scientificCruiseQueryUpdate == 0) { + throw new DataIntegrityViolationException("Could not attach update scientific cruise, was not found."); + } + // update fishingTrip - queryUpdate("updateFishingTripSynchronizationStatus", - "cruiseId", IntegerType.INSTANCE, cruiseId, - "oldStatus", StringType.INSTANCE, oldStatus, - "newStatus", StringType.INSTANCE, newStatus); + int fishingTripQueryUpdate = queryUpdate("updateFishingTripSynchronizationStatus", + "cruiseId", IntegerType.INSTANCE, cruiseId, + "oldStatus", StringType.INSTANCE, oldStatus, + "newStatus", StringType.INSTANCE, newStatus); + if (log.isInfoEnabled()) { + log.info("Nb fishingTrip updated: " + fishingTripQueryUpdate); + } + // update catchBatch - queryUpdate("updateCatchBatchSynchronizationStatus", - "cruiseId", IntegerType.INSTANCE, cruiseId, - "oldStatus", StringType.INSTANCE, oldStatus, - "newStatus", StringType.INSTANCE, newStatus); + int catchBatchQueryUpdate = queryUpdate("updateCatchBatchSynchronizationStatus", + "cruiseId", IntegerType.INSTANCE, cruiseId, + "oldStatus", StringType.INSTANCE, oldStatus, + "newStatus", StringType.INSTANCE, newStatus); + if (log.isInfoEnabled()) { + log.info("Nb catchBatch updated: " + catchBatchQueryUpdate); + } // update sample - queryUpdate("updateSampleSynchronizationStatus", - "cruiseId", IntegerType.INSTANCE, cruiseId, - "oldStatus", StringType.INSTANCE, oldStatus, - "newStatus", StringType.INSTANCE, newStatus); + int sampleQueryUpdate = queryUpdate("updateSampleSynchronizationStatus", + "cruiseId", IntegerType.INSTANCE, cruiseId, + "oldStatus", StringType.INSTANCE, oldStatus, + "newStatus", StringType.INSTANCE, newStatus); + + if (log.isInfoEnabled()) { + log.info("Nb sample updated: " + sampleQueryUpdate); + } } protected String getDirtyValue() { Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2014-04-25 07:53:52 UTC (rev 1732) @@ -1018,7 +1018,7 @@ } @Override - public void setCruiseReadyToSynch(String cruiseId) { + public void setCruiseReadyToSynch(Integer cruiseId) { driver.setCruiseReadyToSynch(cruiseId); } Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties =================================================================== --- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-04-25 07:53:52 UTC (rev 1732) @@ -1,5 +1,5 @@ #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo -#Sat Apr 19 15:02:16 CEST 2014 +#Thu Apr 24 18:16:32 CEST 2014 tutti.config.help=config.html tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions @@ -388,4 +388,5 @@ tutti.validateCruise.navigation.action.export.all.help=validateCruise.html\#actions tutti.validateCruise.navigation.action.export.help=validateCruise.html\#actions tutti.validateCruise.navigation.action.export.operation.help=validateCruise.html\#actions +tutti.validateCruise.navigation.action.readyToSynch.help=validateCruise.html\#actions tutti.validateCruise.navigation.action.refresh.all.help=validateCruise.html\#actions Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java 2014-04-25 07:53:52 UTC (rev 1732) @@ -23,21 +23,15 @@ /** Logger. */ private static final Log log = LogFactory.getLog(SaveCruiseToReadyToSynchAction.class); - protected boolean askUserToConfirm; - public SaveCruiseToReadyToSynchAction(ValidateCruiseUIHandler handler) { super(handler, false); setActionDescription(t("tutti.validationCruise.action.saveCruiseToReadyToSynch.tip")); } - public void setAskUserToConfirm(boolean askUserToConfirm) { - this.askUserToConfirm = askUserToConfirm; - } - @Override public boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); - if (doAction && askUserToConfirm) { + if (doAction) { int answer = JOptionPane.showConfirmDialog(getContext().getActionUI(), t("tutti.validationCruise.action.saveCruiseToReadyToSynch.message"), t("tutti.validationCruise.action.saveCruiseToReadyToSynch.title"), @@ -54,11 +48,18 @@ Preconditions.checkState(getContext().isCruiseFilled()); PersistenceService persistenceService = getContext().getPersistenceService(); - String cruiseId = getModel().getCruise().getId(); + Integer cruiseId = getModel().getCruise().getIdAsInt(); if (log.isInfoEnabled()) { log.info("Pass synchronizationStatus to *ready to synch* for cruise: " + cruiseId); } persistenceService.setCruiseReadyToSynch(cruiseId); } + + @Override + public void postSuccessAction() { + super.postSuccessAction(); + // can't synch anylonger + getModel().setReadyToSynch(false); + } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.css 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.css 2014-04-25 07:53:52 UTC (rev 1732) @@ -41,6 +41,16 @@ _help: {"tutti.validateCruise.navigation.action.export.all.help"}; } +#readyToSynchButton { + actionIcon: time; + text: "tutti.validateCruise.navigation.action.readyToSynch"; + toolTipText: "tutti.validateCruise.navigation.action.readyToSynch.tip"; + i18nMnemonic: "tutti.validateCruise.navigation.action.readyToSynch.mnemonic"; + enabled: {model.isReadyToSynch()}; + _applicationAction: {fr.ifremer.tutti.ui.swing.action.SaveCruiseToReadyToSynchAction.class}; + _help: {"tutti.validateCruise.navigation.action.readyToSynch.help"}; +} + #menuPopup { label: "tutti.editAccidentalBatch.title.batchActions"; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx 2014-04-25 07:53:52 UTC (rev 1732) @@ -57,12 +57,16 @@ <JMenuItem id='exportOperationMessagesItem'/> </JPopupMenu> - <JScrollPane id='navigationPanel'> - <JTree id='navigation' - onMouseClicked='handler.autoSelectNode(event, menuPopup)' - onKeyPressed='handler.openNodeMenu(event, menuPopup)'/> - </JScrollPane> + <JPanel layout='{new BorderLayout()}'> + <JScrollPane id='navigationPanel' constraints='BorderLayout.CENTER'> + <JTree id='navigation' + onMouseClicked='handler.autoSelectNode(event, menuPopup)' + onKeyPressed='handler.openNodeMenu(event, menuPopup)'/> + </JScrollPane> + <JButton constraints='BorderLayout.SOUTH' id='readyToSynchButton'/> + </JPanel> + </JXTitledPanel> <FishingOperationsUI id='operationPanel' constructorParams='this'> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java 2014-04-25 07:53:52 UTC (rev 1732) @@ -28,11 +28,8 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.ProgressionModel; -import fr.ifremer.tutti.persistence.entities.data.Cruise; -import fr.ifremer.tutti.persistence.entities.data.Cruises; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.ui.swing.action.EditCruiseFishingOperationAction; -import fr.ifremer.tutti.ui.swing.action.SaveCruiseToReadyToSynchAction; import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; import fr.ifremer.tutti.ui.swing.util.RemoveablePropertyChangeListener; @@ -62,7 +59,6 @@ import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; import java.util.List; import java.util.Map; import java.util.Set; @@ -79,8 +75,6 @@ protected EditCruiseFishingOperationAction editFishingOperationAction; - protected SaveCruiseToReadyToSynchAction saveCruiseToReadyToSynchAction; - @Override public void beforeInit(ValidateCruiseUI ui) { @@ -93,7 +87,7 @@ actionUIModel.setProgressionModel(progressionModel); Map<FishingOperation, NuitonValidatorResult> validator = getValidateCruiseOperationsService().validateCruiseOperations(progressionModel); - model.setValidator(validator); + model.addValidatorResults(validator); actionUIModel.setProgressionModel(null); model.addPropertyChangeListener(ValidateCruiseUIModel.PROPERTY_SELECTED_FISHING_OPERATION, @@ -106,13 +100,6 @@ } } ); - - model.addPropertyChangeListener(ValidateCruiseUIModel.PROPERTY_READY_TO_SYNCH, new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - saveReadyToSynch(); - } - }); this.ui.setContextValue(model); } @@ -121,8 +108,6 @@ initUI(ui); editFishingOperationAction = getContext().getActionFactory().createLogicAction(this, EditCruiseFishingOperationAction.class); - saveCruiseToReadyToSynchAction = getContext().getActionFactory().createLogicAction(this, SaveCruiseToReadyToSynchAction.class); - saveCruiseToReadyToSynchAction.setAskUserToConfirm(true); ui.getOperationPanel().getModel().setSelectedFishingOperation(null); DefaultMutableTreeNode root = new DefaultMutableTreeNode(); @@ -146,7 +131,8 @@ FishingOperationsUI operationPanel = ui.getOperationPanel(); operationPanel.getTopPanel().setVisible(false); - saveReadyToSynch(); + // This binding need to be replayed (was not fired, since model is computed in beforeInit method). + SwingUtil.applyDataBinding(getUI(), ValidateCruiseUI.BINDING_READY_TO_SYNCH_BUTTON_ENABLED); } @Override @@ -241,16 +227,6 @@ navigation.setSelectionPath(selectionPath); } - protected void saveReadyToSynch() { - ValidateCruiseUIModel model = getModel(); - Cruise cruise = model.getCruise(); - if (model.isReadyToSynch() && Cruises.isDirty(cruise) && saveCruiseToReadyToSynchAction != null) { - - // ask user to synch ? - getContext().getActionEngine().runAction(saveCruiseToReadyToSynchAction); - } - } - protected static class ValidationTreeCellRenderer extends DefaultTreeCellRenderer { private static final long serialVersionUID = 1L; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java 2014-04-25 07:53:52 UTC (rev 1732) @@ -26,12 +26,14 @@ import com.google.common.collect.ImmutableSet; import fr.ifremer.tutti.persistence.entities.data.Cruise; +import fr.ifremer.tutti.persistence.entities.data.Cruises; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; import org.nuiton.validator.NuitonValidatorResult; +import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -48,13 +50,13 @@ public static final String PROPERTY_SELECTED_FISHING_OPERATION = "selectedFishingOperation"; - public static final String PROPERTY_VALIDATOR = "validator"; +// public static final String PROPERTY_VALIDATOR = "validator"; public static final String PROPERTY_READY_TO_SYNCH = "readyToSynch"; protected FishingOperation selectedFishingOperation; - protected Map<FishingOperation, NuitonValidatorResult> validator; + protected final Map<FishingOperation, NuitonValidatorResult> validator = new HashMap<>(); protected boolean readyToSynch; @@ -71,7 +73,7 @@ } public Map<FishingOperation, NuitonValidatorResult> getValidator() { - return validator; + return new HashMap<>(validator); } public Set<FishingOperation> getFishingOperations() { @@ -82,24 +84,28 @@ return validator.get(fishingOperation); } - public void setValidator(Map<FishingOperation, NuitonValidatorResult> validator) { - Object oldValue = getValidator(); - this.validator = validator; - firePropertyChange(PROPERTY_VALIDATOR, oldValue, validator); + public void addValidatorResults(Map<FishingOperation, NuitonValidatorResult> validator) { + for (Map.Entry<FishingOperation, NuitonValidatorResult> entry : validator.entrySet()) { + this.validator.put(entry.getKey(), entry.getValue()); + } +// firePropertyChange(PROPERTY_VALIDATOR, null, validator); + computeReadyToSynch(); } public void addValidatorResult(FishingOperation fishingOperation, NuitonValidatorResult validatorResult) { validator.put(fishingOperation, validatorResult); - firePropertyChange(PROPERTY_VALIDATOR, null, validator); +// firePropertyChange(PROPERTY_VALIDATOR, null, validator); computeReadyToSynch(); } protected void computeReadyToSynch() { - boolean result = true; - for (NuitonValidatorResult nuitonValidatorResult : validator.values()) { - if (nuitonValidatorResult.hasErrorMessagess() || nuitonValidatorResult.hasFatalMessages()) { - result = false; - break; + boolean result = Cruises.isDirty(cruise); + if (result) { + for (NuitonValidatorResult nuitonValidatorResult : validator.values()) { + if (nuitonValidatorResult.hasErrorMessagess() || nuitonValidatorResult.hasFatalMessages()) { + result = false; + break; + } } } if (log.isInfoEnabled()) { @@ -113,13 +119,13 @@ } public void setReadyToSynch(boolean readyToSynch) { - Object oldValue = isReadyToSynch(); this.readyToSynch = readyToSynch; - firePropertyChange(PROPERTY_READY_TO_SYNCH, oldValue, readyToSynch); + firePropertyChange(PROPERTY_READY_TO_SYNCH, null /*force to fire the changes*/, readyToSynch); } public void setCruise(Cruise cruise) { this.cruise = cruise; + computeReadyToSynch(); } public Cruise getCruise() { Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-04-25 07:53:52 UTC (rev 1732) @@ -1579,6 +1579,9 @@ tutti.validateCruise.navigation.action.export.operation= tutti.validateCruise.navigation.action.export.operation.mnemonic= tutti.validateCruise.navigation.action.export.operation.tip= +tutti.validateCruise.navigation.action.readyToSynch= +tutti.validateCruise.navigation.action.readyToSynch.mnemonic= +tutti.validateCruise.navigation.action.readyToSynch.tip= tutti.validateCruise.navigation.title= tutti.validationCruise.action.saveCruiseToReadyToSynch.message= tutti.validationCruise.action.saveCruiseToReadyToSynch.tip= Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-04-24 15:27:22 UTC (rev 1731) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-04-25 07:53:52 UTC (rev 1732) @@ -1563,6 +1563,9 @@ tutti.validateCruise.navigation.action.export.operation=Exporter tutti.validateCruise.navigation.action.export.operation.mnemonic=x tutti.validateCruise.navigation.action.export.operation.tip=Exporter les messages de validation de l'opération +tutti.validateCruise.navigation.action.readyToSynch=Rendre les données synchronisables +tutti.validateCruise.navigation.action.readyToSynch.mnemonic=S +tutti.validateCruise.navigation.action.readyToSynch.tip=Rendre les données synchronisables vers Harmonie tutti.validateCruise.navigation.title=Traits tutti.validationCruise.action.saveCruiseToReadyToSynch.message=<html>Voulez vous rendre vos données synchronisables vers Harmonie ?</html> tutti.validationCruise.action.saveCruiseToReadyToSynch.tip=Rendre les données synchronisables vers Harmonie