Author: tchemit Date: 2013-03-09 18:49:45 +0100 (Sat, 09 Mar 2013) New Revision: 569 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/569 Log: fixes #2100: [CAMPAGNE] - Gestion des s?\195?\169ries : cr?\195?\169ation d'une nouvelle s?\195?\169rie fixes #2101: [CAMPAGNE] - Cr?\195?\169ation d'une campagne, ?\195?\160 l'enregistrement rien ne se passe hors la campagne est cr?\195?\169?\195?\169e am?\195?\169lioration des messages de notification (on peut y mettre de l'html mais pas besoin d'encapsuler dans la balise html) Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/CancelEditCatchBatchAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-03-09 17:49:45 UTC (rev 569) @@ -69,7 +69,7 @@ } @Override - protected boolean prepareAction()throws Exception { + protected boolean prepareAction() throws Exception { boolean result = super.prepareAction(); result &= skipCheckCurrentScreen || getHandler().quitCurrentScreen(); return result; @@ -78,6 +78,8 @@ @Override protected void doAction() throws Exception { + sendMessage(""); + TuttiUIContext context = getContext(); Exception error = null; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-09 17:49:45 UTC (rev 569) @@ -34,12 +34,15 @@ import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; import fr.ifremer.tutti.ui.swing.config.TuttiConfigUI; import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI; +import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUIHandler; import fr.ifremer.tutti.ui.swing.content.db.DbManagerUI; import fr.ifremer.tutti.ui.swing.content.db.OpenDbAction; import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI; import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI; import fr.ifremer.tutti.ui.swing.content.program.EditProgramUI; +import fr.ifremer.tutti.ui.swing.content.program.EditProgramUIHandler; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; +import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIHandler; import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUI; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; import fr.ifremer.tutti.ui.swing.util.CloseableUI; @@ -57,7 +60,6 @@ import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JLabel; -import javax.swing.JPanel; import javax.swing.JToolBar; import java.awt.Desktop; import java.beans.PropertyChangeEvent; @@ -244,7 +246,7 @@ @Override public final void showInformationMessage(String message) { - ui.getStatus().setStatus(message); + ui.getStatus().setStatus("<html><body>"+message+"</body></html>"); } public void registerValidator(SwingValidator validator) { @@ -342,11 +344,8 @@ case EDIT_PROGRAM: - if (context.isProgramFilled()) { - screenTitle = _("tutti.title.edit.program"); - } else { - screenTitle = _("tutti.title.create.program"); - } + screenTitle = EditProgramUIHandler.getTitle( + context.isProgramFilled()); screenUI = new EditProgramUI(ui); icon = ui.getMenuActionEditProgram().getIcon(); @@ -354,11 +353,8 @@ case EDIT_CRUISE: - if (context.isCruiseFilled()) { - screenTitle = _("tutti.title.edit.cruise"); - } else { - screenTitle = _("tutti.title.create.cruise"); - } + screenTitle = EditCruiseUIHandler.getTitle( + context.isCruiseFilled()); screenUI = new EditCruiseUI(ui); rightDecoration = ((EditCruiseUI) screenUI).getTopToolBar(); @@ -367,11 +363,8 @@ case EDIT_PROTOCOL: - if (context.isProgramFilled()) { - screenTitle = _("tutti.title.edit.protocol"); - } else { - screenTitle = _("tutti.title.create.protocol"); - } + screenTitle = EditProtocolUIHandler.getTitle( + context.isProtocolFilled()); screenUI = new EditProtocolUI(ui); icon = ui.getMenuActionEditProtocol().getIcon(); @@ -492,4 +485,8 @@ return title; } + + public void setBodyTitle(String title) { + ui.getBody().setTitle(title); + } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-03-09 17:49:45 UTC (rev 569) @@ -57,6 +57,17 @@ /** Logger. */ private static final Log log = LogFactory.getLog(EditCruiseUIHandler.class); + public static String getTitle(boolean exist) { + + String result; + if (exist) { + result = _("tutti.title.edit.cruise"); + } else { + result = _("tutti.title.create.cruise"); + } + return result; + } + /** * Persistence service. * Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java 2013-03-09 17:49:45 UTC (rev 569) @@ -67,12 +67,23 @@ saved = persistenceService.createCruise(bean); model.setId(saved.getId()); + sendMessage(_("tutti.flash.information.cruiseCreated", bean.getName())); } else { saved = persistenceService.saveCruise(bean); + sendMessage(_("tutti.flash.information.cruiseSaved", bean.getName())); } context.setProgramId(saved.getProgram().getId()); context.setCruiseId(saved.getId()); + + model.setModify(false); } + @Override + public void postAction(Throwable error) { + super.postAction(error); + + getContext().getMainUI().getHandler().setBodyTitle( + EditCruiseUIHandler.getTitle(true)); + } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/CancelEditCatchBatchAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/CancelEditCatchBatchAction.java 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/CancelEditCatchBatchAction.java 2013-03-09 17:49:45 UTC (rev 569) @@ -93,7 +93,7 @@ String fishingOperationText = getEditAction().getFishingOperationTitle(operation); - getEditAction().loadCatchBatch(operation, fishingOperationText, false); + getEditAction().loadCatchBatch(operation, fishingOperationText, true); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java 2013-03-09 17:49:45 UTC (rev 569) @@ -96,7 +96,8 @@ " was modified, will save it."); } - getHandler().showInformationMessage( + //FIXME I18n + sendMessage( "[ Captures - Caractéristiques générales ] " + "Sauvegarde des modifications du résumé de la capture."); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-03-09 17:49:45 UTC (rev 569) @@ -50,6 +50,17 @@ private static final Log log = LogFactory.getLog(EditProgramUIHandler.class); + public static String getTitle(boolean exist) { + + String result; + if (exist) { + result = _("tutti.title.edit.program"); + } else { + result = _("tutti.title.create.program"); + } + return result; + } + /** * Persistence service. * Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java 2013-03-09 17:49:45 UTC (rev 569) @@ -29,21 +29,18 @@ import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.TuttiUIContext; +import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUIHandler; import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import static org.nuiton.i18n.I18n._; /** * @author kmorin <kmorin@codelutin.com> + * @author tchemit <chemit@codelutin.com> * @since 1.0 */ public class SaveProgramAction extends AbstractTuttiAction<EditProgramUIModel, EditProgramUI, EditProgramUIHandler> { - /** Logger. */ - private static final Log log = LogFactory.getLog(SaveProgramAction.class); - public SaveProgramAction(EditProgramUIHandler handler) { super(handler, "save", @@ -53,10 +50,6 @@ ); } - /** - * If the event source is a TuttiScreen, then the screen changes to the source. - * Otherwise, the screen changes to the home. - */ @Override protected void doAction() throws Exception { TuttiUIContext context = getContext(); @@ -71,11 +64,24 @@ if (TuttiEntities.isNew(bean)) { saved = persistenceService.createProgram(bean); + model.setId(saved.getId()); + sendMessage(_("tutti.flash.information.programCreated", bean.getName())); } else { saved = persistenceService.saveProgram(bean); + sendMessage(_("tutti.flash.information.programSaved", bean.getName())); } context.setProgramId(saved.getId()); + + model.setModify(false); } + @Override + public void postAction(Throwable error) { + super.postAction(error); + + getContext().getMainUI().getHandler().setBodyTitle( + EditProgramUIHandler.getTitle(true)); + } + } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-09 17:49:45 UTC (rev 569) @@ -56,6 +56,9 @@ import org.nuiton.util.decorator.Decorator; import javax.swing.JComboBox; +import javax.swing.JTabbedPane; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import javax.swing.table.TableColumnModel; import java.awt.Dimension; import java.beans.PropertyChangeEvent; @@ -63,9 +66,6 @@ import java.util.Collection; import java.util.List; import java.util.Map; -import javax.swing.JTabbedPane; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; import static org.nuiton.i18n.I18n._; @@ -80,6 +80,17 @@ private static final Log log = LogFactory.getLog(EditProtocolUIHandler.class); + public static String getTitle(boolean exist) { + + String result; + if (exist) { + result = _("tutti.title.edit.protocol"); + } else { + result = _("tutti.title.create.protocol"); + } + return result; + } + protected SelectSpeciesUI dialog; public EditProtocolUIHandler(TuttiUI parentUi, EditProtocolUI ui) { @@ -304,12 +315,12 @@ model.getLengthClassesPmfmId(), new Predicate<Caracteristic>() { - public boolean apply(Caracteristic input) { - boolean result = !ui.getGearUseFeatureList().getModel().getSelected().contains(input); - result &= !ui.getVesselUseFeatureList().getModel().getSelected().contains(input); - return result; - } - }); + public boolean apply(Caracteristic input) { + boolean result = !ui.getGearUseFeatureList().getModel().getSelected().contains(input); + result &= !ui.getVesselUseFeatureList().getModel().getSelected().contains(input); + return result; + } + }); initDoubleList(EditProtocolUIModel.PROPERTY_GEAR_USE_FEATURE_PMFM_ID, ui.getGearUseFeatureList(), @@ -317,12 +328,12 @@ model.getGearUseFeaturePmfmId(), new Predicate<Caracteristic>() { - public boolean apply(Caracteristic input) { - boolean result = !ui.getLengthClassesList().getModel().getSelected().contains(input); - result &= !ui.getVesselUseFeatureList().getModel().getSelected().contains(input); - return result; - } - }); + public boolean apply(Caracteristic input) { + boolean result = !ui.getLengthClassesList().getModel().getSelected().contains(input); + result &= !ui.getVesselUseFeatureList().getModel().getSelected().contains(input); + return result; + } + }); initDoubleList(EditProtocolUIModel.PROPERTY_VESSEL_USE_FEATURE_PMFM_ID, ui.getVesselUseFeatureList(), @@ -330,12 +341,12 @@ model.getVesselUseFeaturePmfmId(), new Predicate<Caracteristic>() { - public boolean apply(Caracteristic input) { - boolean result = !ui.getGearUseFeatureList().getModel().getSelected().contains(input); - result &= !ui.getLengthClassesList().getModel().getSelected().contains(input); - return result; - } - }); + public boolean apply(Caracteristic input) { + boolean result = !ui.getGearUseFeatureList().getModel().getSelected().contains(input); + result &= !ui.getLengthClassesList().getModel().getSelected().contains(input); + return result; + } + }); // if new protocol can already cancel his creation model.setModify(model.isCreate()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java 2013-03-09 17:49:45 UTC (rev 569) @@ -64,7 +64,7 @@ * Otherwise, the screen changes to the home. */ @Override - protected void doAction()throws Exception { + protected void doAction() throws Exception { EditProtocolUIModel model = getModel(); TuttiUIContext context = getContext(); @@ -92,8 +92,11 @@ if (TuttiEntities.isNew(bean)) { saved = persistenceService.createProtocol(bean); + model.setId(saved.getId()); + sendMessage(_("tutti.flash.information.protocolCreated", bean.getName())); } else { saved = persistenceService.saveProtocol(bean); + sendMessage(_("tutti.flash.information.protocolSaved", bean.getName())); } context.setProtocolId(saved.getId()); @@ -101,5 +104,13 @@ model.setModify(false); } + @Override + public void postAction(Throwable error) { + super.postAction(error); + getContext().getMainUI().getHandler().setBodyTitle( + EditProtocolUIHandler.getTitle(true)); + } + + } 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 2013-03-09 16:33:30 UTC (rev 568) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-09 17:49:45 UTC (rev 569) @@ -212,17 +212,23 @@ tutti.file.csv=Extension d'un fichier csv tutti.file.protocol=Extension d'un fichier de protocole Tutti tutti.file.zip=Extension d'une archive zip -tutti.flash.information.all.caractristic.exported=Toutes les caractéristiques exportées dans le fichier %s. -tutti.flash.information.caracteristic.imported.in.protocol=Caractéristiques importées dans le protocole depuis le fichier %s. -tutti.flash.information.caractristic.exported.from.protocol=Caractéristiques du protocole exportées dans le fichier %s. -tutti.flash.information.db.exported=Base exportée dans l'archive %s -tutti.flash.information.species.add.to.protocol=L'espèce %s a été ajoutée au protocole -tutti.flash.information.species.exported.from.protocol=Espèces du protocole exportées dans le fichier %s. -tutti.flash.information.species.imported.in.protocol=Espèces importées dans le protocole depuis le fichier %s. -tutti.flash.information.species.remove.from.protocol=L'espèce %s a été retirée du protocole -tutti.flash.information.species.replaced=L'espèce "%s" a été remplacée par son référent "%s" +tutti.flash.information.all.caractristic.exported=Toutes les caractéristiques exportées dans le fichier <strong>%s</strong>. +tutti.flash.information.caracteristic.imported.in.protocol=Caractéristiques importées dans le protocole depuis le fichier <strong>%s</strong>. +tutti.flash.information.caractristic.exported.from.protocol=Caractéristiques du protocole exportées dans le fichier <strong>%s</strong>. +tutti.flash.information.cruiseCreated=La campagne <strong>%s</strong> a été créée. +tutti.flash.information.cruiseSaved=La campagne <strong>%s</strong> a été enregistrée. +tutti.flash.information.db.exported=Base exportée dans l'archive <strong>%s</strong>. +tutti.flash.information.programCreated=La série de campagne <strong>%s</strong> a été créée. +tutti.flash.information.programSaved=La série de campagne <strong>%s</strong> a été enregistrée. +tutti.flash.information.protocolCreated=Le protocole <strong>%s</strong> a été créé. +tutti.flash.information.protocolSaved=Le protocole <strong>%s</strong> a été enregistré. +tutti.flash.information.species.add.to.protocol=L'espèce <strong>%s</strong> a été ajoutée au protocole. +tutti.flash.information.species.exported.from.protocol=Espèces du protocole exportées dans le fichier <strong>%s</strong>. +tutti.flash.information.species.imported.in.protocol=Espèces importées dans le protocole depuis le fichier <strong>%s</strong>. +tutti.flash.information.species.remove.from.protocol=L'espèce <strong>%s</strong> a été retirée du protocole. +tutti.flash.information.species.replaced=L'espèce <strong>%s</strong> a été remplacée par son référent <strong>%s</strong>. tutti.information.db.loaded=Tutti est connecté à une base de données -tutti.information.no.db.exist=Aucune base détecté, vous pouvez installer la dernière disponible sur le réseau. +tutti.information.no.db.exist=Aucune base détectée, vous pouvez installer la dernière disponible sur le réseau. tutti.information.no.db.loaded=Tutti a détecté une base mais elle n'est pas actuellement ouverte. tutti.label.attachmentEditor.file=Fichier tutti.label.attachmentEditor.fileComment=Commentaire