Tutti-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
March 2013
- 5 participants
- 242 discussions
07 Mar '13
Author: tchemit
Date: 2013-03-07 16:36:14 +0100 (Thu, 07 Mar 2013)
New Revision: 563
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/563
Log:
fixes #2035: [CAMPAGNE] - Gestion des campagnes - Doublons dans la liste des navires
Modified:
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-03-07 13:27:32 UTC (rev 562)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-03-07 15:36:14 UTC (rev 563)
@@ -43,5 +43,5 @@
tutti.propety.no.species.surveyCode=\#
tutti.propety.no.vessel.name=Nom inconnu
tutti.propety.no.zone=Pas de zone
-tutti.propety.vessel.nation.registrationCode=National \: %s
+tutti.propety.vessel.nation.registrationCode=%s (nat.)
tutti.service.config=Configuration des services de Tutti
1
0
r562 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing: content/home content/operation/catches/species content/operation/catches/species/split content/program content/protocol util util/action
by tchemit@users.forge.codelutin.com 07 Mar '13
by tchemit@users.forge.codelutin.com 07 Mar '13
07 Mar '13
Author: tchemit
Date: 2013-03-07 14:27:32 +0100 (Thu, 07 Mar 2013)
New Revision: 562
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/562
Log:
fix some loading + try to improve the dialog open api
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.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/protocol/EditProtocolUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-07 10:40:39 UTC (rev 561)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-07 13:27:32 UTC (rev 562)
@@ -110,8 +110,7 @@
}
List<TuttiProtocol> protocols =
- persistenceService.getAllProtocol();
-// Lists.newArrayList(persistenceService.getAllProtocol());
+ Lists.newArrayList(persistenceService.getAllProtocol());
model.setProtocols(protocols);
if (protocols.isEmpty()) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-07 10:40:39 UTC (rev 561)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-07 13:27:32 UTC (rev 562)
@@ -1188,12 +1188,12 @@
}
public Species openAddSpeciesDialog(String title, List<Species> species) {
- SelectSpeciesUI dialog = new SelectSpeciesUI(ui);
- SelectSpeciesUIModel model = dialog.getModel();
+ SelectSpeciesUI dialogContent = new SelectSpeciesUI(ui);
+ SelectSpeciesUIModel model = dialogContent.getModel();
model.setSelectedSpecies(null);
model.setSpecies(species);
- openDialog(ui, dialog, title, new Dimension(400, 130));
+ openDialog(dialogContent, title, new Dimension(400, 130));
return model.getSelectedSpecies();
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-03-07 10:40:39 UTC (rev 561)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-03-07 13:27:32 UTC (rev 562)
@@ -39,7 +39,6 @@
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.util.Cancelable;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
-import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
@@ -244,13 +243,12 @@
}
public Species openAddSpeciesDialog(String title, List<Species> species) {
- SelectSpeciesUI dialog = new SelectSpeciesUI(ui);
- SelectSpeciesUIModel model = dialog.getModel();
+ SelectSpeciesUI dialogContent = new SelectSpeciesUI(ui);
+ SelectSpeciesUIModel model = dialogContent.getModel();
model.setSelectedSpecies(null);
model.setSpecies(species);
- TuttiActionUI actionUI = context.getActionUI();
- openDialog(actionUI, dialog, title, new Dimension(400, 130));
+ openDialog(dialogContent, title, new Dimension(400, 130));
return model.getSelectedSpecies();
}
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-07 10:40:39 UTC (rev 561)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-03-07 13:27:32 UTC (rev 562)
@@ -65,8 +65,7 @@
@Override
public void beforeInitUI() {
- EditProgramUIModel model = null;
-// EditProgramUIModel model = new EditProgramUIModel();
+ EditProgramUIModel model = new EditProgramUIModel();
List<Program> programs =
Lists.newArrayList(persistenceService.getAllProgram());
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-07 10:40:39 UTC (rev 561)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-07 13:27:32 UTC (rev 562)
@@ -484,7 +484,7 @@
model.setSpecies(species);
model.setSelectedSpecies(null);
- openDialog(ui, dialog, title, new Dimension(400, 130));
+ openDialog(dialog, title, new Dimension(400, 130));
return model.getSelectedSpecies();
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-07 10:40:39 UTC (rev 561)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-07 13:27:32 UTC (rev 562)
@@ -36,6 +36,7 @@
import fr.ifremer.tutti.ui.swing.content.MainUI;
import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
import fr.ifremer.tutti.ui.swing.util.action.TuttiUIAction;
import fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachmentEditor;
import fr.ifremer.tutti.ui.swing.util.editor.SimpleTimeEditor;
@@ -76,7 +77,6 @@
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Frame;
-import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
@@ -214,20 +214,15 @@
}
}
- public void openDialog(TuttiUI ui,
- TuttiUI dialogContent,
+ public void openDialog(TuttiUI dialogContent,
String title, Dimension dim) {
- Window window;
- if (Window.class.isAssignableFrom(ui.getClass())) {
- window = (Window) ui;
- } else {
- window = SwingUtil.getParentContainer(ui, Window.class);
- }
+ Component topestUI = getTopestUI();
+
JDialog result;
- if (window instanceof Frame) {
- result = new JDialog((Frame) window, title, true);
+ if (topestUI instanceof Frame) {
+ result = new JDialog((Frame) topestUI, title, true);
} else {
- result = new JDialog((Dialog) window, title, true);
+ result = new JDialog((Dialog) topestUI, title, true);
}
result.add((Component) dialogContent);
@@ -283,10 +278,11 @@
message,
_("tutti.dialog.askSaveBeforeLeaving.help"));
int result = JOptionPane.showConfirmDialog(
- getContext().getMainUI(),
+ getTopestUI(),
htmlMessage,
_("tutti.dialog.askSaveBeforeLeaving.title"),
- JOptionPane.YES_NO_CANCEL_OPTION);
+ JOptionPane.YES_NO_CANCEL_OPTION,
+ JOptionPane.QUESTION_MESSAGE);
return result;
}
@@ -296,11 +292,11 @@
message,
_("tutti.dialog.askCancelEditBeforeLeaving.help"));
int i = JOptionPane.showConfirmDialog(
- getContext().getMainUI(),
+ getTopestUI(),
htmlMessage,
_("tutti.dialog.askCancelEditBeforeLeaving.title"),
JOptionPane.OK_CANCEL_OPTION,
- JOptionPane.WARNING_MESSAGE);
+ JOptionPane.QUESTION_MESSAGE);
boolean result = i == JOptionPane.OK_OPTION;
return result;
@@ -317,17 +313,27 @@
_("tutti.dialog.askOverwriteFile.help"));
result = JOptionPane.showConfirmDialog(
- getContext().getMainUI(),
+ getTopestUI(),
htmlMessage,
_("tutti.dialog.askOverwriteFile.title"),
JOptionPane.OK_CANCEL_OPTION,
- JOptionPane.INFORMATION_MESSAGE) == JOptionPane.OK_OPTION;
+ JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION;
} else {
// file does not exist
result = true;
}
+ return result;
+ }
+ protected Component getTopestUI() {
+ Component result;
+ TuttiActionUI actionUI = getContext().getActionUI();
+ if (actionUI.isVisible()) {
+ result = actionUI;
+ } else {
+ result = getContext().getMainUI();
+ }
return result;
}
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-07 10:40:39 UTC (rev 561)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-07 13:27:32 UTC (rev 562)
@@ -85,7 +85,7 @@
// by default nothing to clean
}
- public void doAfterAction(Throwable error) {
+ public void postAction(Throwable error) {
// by default nothing to do after action
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-07 10:40:39 UTC (rev 561)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-07 13:27:32 UTC (rev 562)
@@ -263,7 +263,7 @@
}
// user after action call
- action.doAfterAction(error);
+ action.postAction(error);
if (timer != null) {
1
0
See <http://ci.nuiton.org/jenkins/job/tutti/456/>
------------------------------------------
Started by an SCM change
Building on master in workspace <http://ci.nuiton.org/jenkins/job/tutti/ws/>
Updating http://svn.forge.codelutin.com/svn/tutti/trunk to revision '2013-03-06T23:17:04.401 +0100'
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/CancelEditCruiseAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CancelEditProtocolAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java
AU tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/CancelEditProgramAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java
ERROR: Failed to update http://svn.forge.codelutin.com/svn/tutti/trunk
org.tmatesoft.svn.core.SVNException: svn: E175002: REPORT /svn/tutti/!svn/vcc/default failed
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:304)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:289)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:277)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:696)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:328)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1289)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.update(DAVRepository.java:837)
at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.update(SVNUpdateClient16.java:557)
at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.doUpdate(SVNUpdateClient16.java:414)
at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.doUpdate(SVNUpdateClient16.java:324)
at org.tmatesoft.svn.core.internal.wc2.old.SvnOldUpdate.run(SvnOldUpdate.java:27)
at org.tmatesoft.svn.core.internal.wc2.old.SvnOldUpdate.run(SvnOldUpdate.java:11)
at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1221)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:292)
at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:315)
at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:295)
at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:391)
at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:143)
at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:152)
at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:824)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:805)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:788)
at hudson.FilePath.act(FilePath.java:852)
at hudson.FilePath.act(FilePath.java:825)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:771)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:713)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1325)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
at hudson.model.Run.execute(Run.java:1543)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:236)
Caused by: svn: E175002: REPORT /svn/tutti/!svn/vcc/default failed
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97)
... 35 more
Caused by: org.tmatesoft.svn.core.SVNException: svn: E155017: REPORT request failed on '/svn/tutti/!svn/vcc/default'
svn: E155017: Checksum mismatch while updating '<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…';> expected: 'c918bc7575d21edc89b8da011546c513', actual: 'bc67311f994d181741b87a51edf4eba0'
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:675)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:298)
... 34 more
Caused by: svn: E155017: REPORT request failed on '/svn/tutti/!svn/vcc/default'
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97)
at org.tmatesoft.svn.core.SVNErrorMessage.wrap(SVNErrorMessage.java:414)
... 36 more
Caused by: svn: E155017: Checksum mismatch while updating '<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…';> expected: 'c918bc7575d21edc89b8da011546c513', actual: 'bc67311f994d181741b87a51edf4eba0'
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:189)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:141)
at org.tmatesoft.svn.core.internal.wc.SVNUpdateEditor15.textDeltaEnd(SVNUpdateEditor15.java:634)
at org.tmatesoft.svn.core.internal.wc.SVNAmbientDepthFilterEditor.textDeltaEnd(SVNAmbientDepthFilterEditor.java:221)
at org.tmatesoft.svn.core.internal.wc.SVNCancellableEditor.textDeltaEnd(SVNCancellableEditor.java:130)
at org.tmatesoft.svn.core.internal.io.dav.handlers.BasicDAVDeltaHandler.setDeltaProcessing(BasicDAVDeltaHandler.java:41)
at org.tmatesoft.svn.core.internal.io.dav.handlers.DAVEditorHandler.endElement(DAVEditorHandler.java:548)
at org.tmatesoft.svn.core.internal.io.dav.handlers.BasicDAVHandler.endElement(BasicDAVHandler.java:103)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1742)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2900)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:796)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:761)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:218)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:385)
... 35 more
ERROR: Subversion update failed
java.io.IOException
at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:184)
at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:152)
at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:824)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:805)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:788)
at hudson.FilePath.act(FilePath.java:852)
at hudson.FilePath.act(FilePath.java:825)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:771)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:713)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1325)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
at hudson.model.Run.execute(Run.java:1543)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:236)
Caused by: hudson.scm.subversion.UpdaterException: failed to perform svn update
... 17 more
Caused by: org.tmatesoft.svn.core.SVNException: svn: E175002: REPORT /svn/tutti/!svn/vcc/default failed
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:304)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:289)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:277)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:696)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:328)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1289)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.update(DAVRepository.java:837)
at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.update(SVNUpdateClient16.java:557)
at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.doUpdate(SVNUpdateClient16.java:414)
at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.doUpdate(SVNUpdateClient16.java:324)
at org.tmatesoft.svn.core.internal.wc2.old.SvnOldUpdate.run(SvnOldUpdate.java:27)
at org.tmatesoft.svn.core.internal.wc2.old.SvnOldUpdate.run(SvnOldUpdate.java:11)
at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1221)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:292)
at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:315)
at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:295)
at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:391)
at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:143)
... 16 more
Caused by: svn: E175002: REPORT /svn/tutti/!svn/vcc/default failed
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97)
... 35 more
Caused by: org.tmatesoft.svn.core.SVNException: svn: E155017: REPORT request failed on '/svn/tutti/!svn/vcc/default'
svn: E155017: Checksum mismatch while updating '<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…';> expected: 'c918bc7575d21edc89b8da011546c513', actual: 'bc67311f994d181741b87a51edf4eba0'
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:675)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:298)
... 34 more
Caused by: svn: E155017: REPORT request failed on '/svn/tutti/!svn/vcc/default'
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97)
at org.tmatesoft.svn.core.SVNErrorMessage.wrap(SVNErrorMessage.java:414)
... 36 more
Caused by: svn: E155017: Checksum mismatch while updating '<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…';> expected: 'c918bc7575d21edc89b8da011546c513', actual: 'bc67311f994d181741b87a51edf4eba0'
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:189)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:141)
at org.tmatesoft.svn.core.internal.wc.SVNUpdateEditor15.textDeltaEnd(SVNUpdateEditor15.java:634)
at org.tmatesoft.svn.core.internal.wc.SVNAmbientDepthFilterEditor.textDeltaEnd(SVNAmbientDepthFilterEditor.java:221)
at org.tmatesoft.svn.core.internal.wc.SVNCancellableEditor.textDeltaEnd(SVNCancellableEditor.java:130)
at org.tmatesoft.svn.core.internal.io.dav.handlers.BasicDAVDeltaHandler.setDeltaProcessing(BasicDAVDeltaHandler.java:41)
at org.tmatesoft.svn.core.internal.io.dav.handlers.DAVEditorHandler.endElement(DAVEditorHandler.java:548)
at org.tmatesoft.svn.core.internal.io.dav.handlers.BasicDAVHandler.endElement(BasicDAVHandler.java:103)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1742)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2900)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:796)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:761)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:218)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:385)
... 35 more
1
5
r561 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol
by kmorin@users.forge.codelutin.com 07 Mar '13
by kmorin@users.forge.codelutin.com 07 Mar '13
07 Mar '13
Author: kmorin
Date: 2013-03-07 11:40:39 +0100 (Thu, 07 Mar 2013)
New Revision: 561
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/561
Log:
fixes #2013 [PROTOCOLE] - Caract?\195?\169ristiques - supprimer une caract?\195?\169ristique s?\195?\169lectionn?\195?\169e des autres onglets
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
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-07 10:30:55 UTC (rev 560)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-07 10:40:39 UTC (rev 561)
@@ -10,21 +10,22 @@
* %%
* 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
+ * 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
+ *
+ * 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%
*/
import com.ezware.oxbow.swingbits.util.Preconditions;
+import com.google.common.base.Predicate;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
@@ -62,6 +63,9 @@
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._;
@@ -297,21 +301,74 @@
initDoubleList(EditProtocolUIModel.PROPERTY_LENGTH_CLASSES_PMFM_ID,
ui.getLengthClassesList(),
Lists.newArrayList(model.getCaracteristics()),
- model.getLengthClassesPmfmId());
+ 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;
+ }
+ });
+
initDoubleList(EditProtocolUIModel.PROPERTY_GEAR_USE_FEATURE_PMFM_ID,
ui.getGearUseFeatureList(),
Lists.newArrayList(model.getCaracteristics()),
- model.getGearUseFeaturePmfmId());
+ 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;
+ }
+ });
+
initDoubleList(EditProtocolUIModel.PROPERTY_VESSEL_USE_FEATURE_PMFM_ID,
ui.getVesselUseFeatureList(),
Lists.newArrayList(model.getCaracteristics()),
- model.getVesselUseFeaturePmfmId());
+ 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;
+ }
+ });
+
// if new protocol can already cancel his creation
model.setModify(model.isCreate());
+ ui.getCaracteristicPane().addChangeListener(new ChangeListener() {
+
+ public void stateChanged(ChangeEvent e) {
+ JTabbedPane tabPanel = (JTabbedPane) e.getSource();
+ int selectedIndex = tabPanel.getSelectedIndex();
+ BeanDoubleList<Caracteristic> selectedDoubleList;
+ log.debug("selected " + selectedIndex);
+ switch (selectedIndex) {
+ case 0:
+ selectedDoubleList = ui.getLengthClassesList();
+ break;
+
+ case 1:
+ selectedDoubleList = ui.getGearUseFeatureList();
+ break;
+
+ case 2:
+ selectedDoubleList = ui.getVesselUseFeatureList();
+ break;
+
+ default:
+ selectedDoubleList = null;
+ }
+ if (selectedDoubleList != null) {
+ selectedDoubleList.getHandler().refreshFilteredElements();
+ }
+ }
+ });
+
dialog = new SelectSpeciesUI(ui);
}
@@ -439,7 +496,8 @@
protected void initDoubleList(String propertyId,
BeanDoubleList<Caracteristic> widget,
List<Caracteristic> availableCaracteristics,
- List<String> selectedCaracteristics) {
+ List<String> selectedCaracteristics,
+ Predicate<Caracteristic> filter) {
initBeanList(widget, availableCaracteristics,
Lists.<Caracteristic>newArrayList());
@@ -450,6 +508,8 @@
widget.putClientProperty("_updateListener", listener);
widget.putClientProperty("_updateListenerId", propertyId);
listener.select(selectedCaracteristics);
+
+ widget.getHandler().addFilter(filter);
}
protected void selectLengthClasses(List<String> ids, JComboBox comboBox) {
1
0
Author: kmorin
Date: 2013-03-07 11:30:55 +0100 (Thu, 07 Mar 2013)
New Revision: 560
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/560
Log:
use last snapshot of jaxx
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-03-07 09:30:19 UTC (rev 559)
+++ trunk/pom.xml 2013-03-07 10:30:55 UTC (rev 560)
@@ -7,15 +7,15 @@
%%
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
+ 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
+
+ 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%
@@ -130,7 +130,7 @@
<h2Version>1.3.168</h2Version>
<postgresqlVersion>9.1-901-1.jdbc4</postgresqlVersion>
- <jaxxVersion>2.5.11</jaxxVersion>
+ <jaxxVersion>2.5.12-SNAPSHOT</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.7</xworkVersion>
@@ -161,7 +161,7 @@
<hsqldb.version>2.2.9</hsqldb.version>
<jdbc.hsqldb.version>1.8.0.7</jdbc.hsqldb.version>
<jMockVersion>2.5.1</jMockVersion>
-
+
<!-- Last JRE version to use -->
<jreVersion>1.7.10</jreVersion>
@@ -379,7 +379,7 @@
<artifactId>yamlbeans</artifactId>
<version>1.06</version>
</dependency>
-
+
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock</artifactId>
1
0
r559 - in trunk/tutti-ui-swing/src/main/resources: fr/ifremer/tutti/ui/swing/content/operation i18n
by kmorin@users.forge.codelutin.com 07 Mar '13
by kmorin@users.forge.codelutin.com 07 Mar '13
07 Mar '13
Author: kmorin
Date: 2013-03-07 10:30:19 +0100 (Thu, 07 Mar 2013)
New Revision: 559
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/559
Log:
fixes #2091 [CONTROLE] Les r?\195?\168gles qui sont bloquantes au moment de la validation doivent apparaitre en warning ?\195?\160 la saisie.
Modified:
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml 2013-03-07 09:07:31 UTC (rev 558)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml 2013-03-07 09:30:19 UTC (rev 559)
@@ -9,15 +9,15 @@
%%
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
+ 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
+
+ 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%
@@ -27,75 +27,125 @@
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
-
+
<validators>
-
+
+ <field name='strata'>
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ strata != null || subStrata != null || location != null ]]>
+ </param>
+ <message>tutti.validator.error.fishingOperation.strataLocation.required</message>
+ </field-validator>
+ </field>
+
+ <field name='subStrata'>
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ strata != null || subStrata != null || location != null ]]>
+ </param>
+ <message>tutti.validator.error.fishingOperation.strataLocation.required</message>
+ </field-validator>
+ </field>
+
+ <field name='location'>
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ strata != null || subStrata != null || location != null ]]>
+ </param>
+ <message>tutti.validator.error.fishingOperation.strataLocation.required</message>
+ </field-validator>
+ </field>
+
<field name="gearShootingStartDate">
-
+
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
<![CDATA[ gearShootingStartDate == null || isDateInCruise(gearShootingStartDate) ]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.startOutOfCruiseDates</message>
</field-validator>
-
+
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
- <![CDATA[ gearShootingStartDate == null || gearShootingEndDate == null
+ <![CDATA[ gearShootingStartDate == null || gearShootingEndDate == null
|| isValidDuration()
]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.wrongTime</message>
</field-validator>
-
+
</field>
<field name="gearShootingEndDate">
+ <field-validator type="required" short-circuit="true">
+ <message>tutti.validator.error.fishingOperation.date.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
<![CDATA[ gearShootingEndDate == null || isDateInCruise(gearShootingEndDate) ]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.endOutOfCruiseDates</message>
</field-validator>
-
+
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
- <![CDATA[ gearShootingStartDate == null || gearShootingEndDate == null
+ <![CDATA[ gearShootingStartDate == null || gearShootingEndDate == null
|| isValidDuration()
]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.wrongTime</message>
</field-validator>
-
+
</field>
-
+
<!--gear shooting start latitude validation -->
<field name="gearShootingStartLatitude">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DD".equals(coordinateEditorType.toString()) || gearShootingStartLatitude != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:90.0|max:90.0</param>
<param name="expression">
<![CDATA[
- !"DD".equals(coordinateEditorType.toString()) ||
+ !"DD".equals(coordinateEditorType.toString()) ||
( -doubles.min <= gearShootingStartLatitude && gearShootingStartLatitude <= doubles.max )
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.outOfBounds</message>
+ </field-validator>
- </field-validator>
-
</field>
-
+
<field name="gearShootingStartLatitudeDegree">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
<![CDATA[
- !"DMS".equals(coordinateEditorType.toString()) || (
+ !"DMS".equals(coordinateEditorType.toString()) || (
( -ints.min < getGearShootingStartLatitudeDegree() && getGearShootingStartLatitudeDegree() < ints.max )
|| (
( getGearShootingStartLatitudeDegree() == ints.max || getGearShootingStartLatitudeDegree() == -ints.min )
@@ -104,20 +154,30 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLatitudeDecimalDegree">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDecimalDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
<![CDATA[
- !"DMD".equals(coordinateEditorType.toString()) || (
+ !"DMD".equals(coordinateEditorType.toString()) || (
( -ints.min < getGearShootingStartLatitudeDecimalDegree() && getGearShootingStartLatitudeDecimalDegree() < ints.max )
|| (
( getGearShootingStartLatitudeDecimalDegree() == ints.max || getGearShootingStartLatitudeDecimalDegree() == -ints.min )
@@ -126,15 +186,25 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLatitudeMinute">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -143,15 +213,25 @@
( ints.min <= getGearShootingStartLatitudeMinute() && getGearShootingStartLatitudeMinute() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLatitudeDecimalMinute">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDecimalMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
@@ -163,30 +243,50 @@
<message>tutti.validator.warning.latitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLatitudeSecond">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeSecond() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
<![CDATA[
- !"DMS".equals(coordinateEditorType.toString()) ||
+ !"DMS".equals(coordinateEditorType.toString()) ||
( ints.min <= getGearShootingStartLatitudeSecond() && getGearShootingStartLatitudeSecond() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.second.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<!--gear shooting start longitude validation -->
<field name="gearShootingStartLongitude">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DD".equals(coordinateEditorType.toString()) || gearShootingStartLongitude != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:180.0|max:180.0</param>
<param name="expression">
@@ -195,20 +295,30 @@
( -doubles.min <= gearShootingStartLongitude && gearShootingStartLongitude <= doubles.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLongitudeDegree">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
<![CDATA[
- !"DMS".equals(coordinateEditorType.toString()) || (
+ !"DMS".equals(coordinateEditorType.toString()) || (
(-ints.min < getGearShootingStartLongitudeDegree() && getGearShootingStartLongitudeDegree() < ints.max)
|| (
( getGearShootingStartLongitudeDegree() == ints.max || getGearShootingStartLongitudeDegree() == -ints.min )
@@ -217,20 +327,30 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLongitudeDecimalDegree">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDecimalDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
<![CDATA[
- !"DMD".equals(coordinateEditorType.toString()) || (
+ !"DMD".equals(coordinateEditorType.toString()) || (
(-ints.min < getGearShootingStartLongitudeDecimalDegree() && getGearShootingStartLongitudeDecimalDegree() < ints.max)
|| (
( getGearShootingStartLongitudeDecimalDegree() == ints.max || getGearShootingStartLongitudeDecimalDegree() == -ints.min )
@@ -239,15 +359,25 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLongitudeMinute">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -256,15 +386,25 @@
( ints.min <= getGearShootingStartLongitudeMinute() && getGearShootingStartLongitudeMinute() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLongitudeDecimalMinute">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDecimalMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
@@ -276,11 +416,21 @@
<message>tutti.validator.warning.longitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLongitudeSecond">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeSecond() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -289,17 +439,27 @@
( ints.min <= getGearShootingStartLongitudeSecond() && getGearShootingStartLongitudeSecond() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.second.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<!--gear shooting end latitude validation -->
-
+
<field name="gearShootingEndLatitude">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DD".equals(coordinateEditorType.toString()) || gearShootingEndLatitude != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:90.0|max:90.0</param>
<param name="expression">
@@ -308,21 +468,31 @@
( -doubles.min <= gearShootingEndLatitude && gearShootingEndLatitude <= doubles.max )
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.outOfBounds</message>
</field-validator>
-
+
</field>
-
-
+
+
<field name="gearShootingEndLatitudeDegree">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
<![CDATA[
- !"DMS".equals(coordinateEditorType.toString()) || (
+ !"DMS".equals(coordinateEditorType.toString()) || (
(-ints.min < getGearShootingEndLatitudeDegree() && getGearShootingEndLatitudeDegree() < ints.max)
|| (
( getGearShootingEndLatitudeDegree() == ints.max || getGearShootingEndLatitudeDegree() == -ints.min )
@@ -331,20 +501,30 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLatitudeDecimalDegree">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDecimalDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
<![CDATA[
- !"DMD".equals(coordinateEditorType.toString()) || (
+ !"DMD".equals(coordinateEditorType.toString()) || (
(-ints.min < getGearShootingEndLatitudeDecimalDegree() && getGearShootingEndLatitudeDecimalDegree() < ints.max)
|| (
( getGearShootingEndLatitudeDecimalDegree() == ints.max || getGearShootingEndLatitudeDecimalDegree() == -ints.min )
@@ -353,15 +533,25 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLatitudeMinute">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -370,15 +560,25 @@
( ints.min <= getGearShootingEndLatitudeMinute() && getGearShootingEndLatitudeMinute() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLatitudeDecimalMinute">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDecimalMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
@@ -390,11 +590,21 @@
<message>tutti.validator.warning.latitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLatitudeSecond">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeSecond() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -403,17 +613,27 @@
( ints.min <= getGearShootingEndLatitudeSecond() && getGearShootingEndLatitudeSecond() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.second.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<!--gear shooting end longitude validation -->
-
+
<field name="gearShootingEndLongitude">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DD".equals(coordinateEditorType.toString()) || gearShootingEndLongitude != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:180.0|max:180.0</param>
<param name="expression">
@@ -422,15 +642,25 @@
( -doubles.min <= gearShootingEndLongitude && gearShootingEndLongitude <= doubles.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLongitudeDegree">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
@@ -444,15 +674,25 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLongitudeDecimalDegree">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeDecimalDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
@@ -466,15 +706,25 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLongitudeMinute">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -483,15 +733,25 @@
( ints.min <= getGearShootingEndLongitudeMinute() && getGearShootingEndLongitudeMinute() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLongitudeDecimalMinute">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeDecimalMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
@@ -503,11 +763,21 @@
<message>tutti.validator.warning.longitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLongitudeSecond">
-
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeSecond() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -516,22 +786,68 @@
( ints.min <= getGearShootingEndLongitudeSecond() && getGearShootingEndLongitudeSecond() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.second.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="trawlDistance">
-
+
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
<![CDATA[ trawlDistance == null || trawlDistance <= 5556 ]]>
</param>
<message>tutti.validator.error.fishingOperation.trawlDistance.tooLong</message>
</field-validator>
-
+
</field>
+ <field name="fishingOperationValid">
+
+ <field-validator type="required" short-circuit="true">
+ <message>tutti.validator.error.fishingOperation.fishingOperationValid.required</message>
+ </field-validator>
+
+ </field>
+
+ <field name="recorderPerson">
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ saisisseur != null && !saisisseur.isEmpty() ]]>
+ </param>
+ <message>tutti.validator.error.fishingOperation.catcher.required</message>
+ </field-validator>
+
+ </field>
+
+ <field name="vessel">
+
+ <field-validator type="required" short-circuit="true">
+ <message>tutti.validator.error.fishingOperation.vessel.required</message>
+ </field-validator>
+
+ </field>
+
+ <field name="gear">
+
+ <field-validator type="required" short-circuit="true">
+ <message>tutti.validator.error.fishingOperation.gear.required</message>
+ </field-validator>
+
+ </field>
+
+ <field name="comment">
+
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ fishingOperationValid == null || fishingOperationValid || (comment != null && !comment.isEmpty()) ]]>
+ </param>
+ <message>tutti.validator.error.fishingOperation.comment.required</message>
+ </field-validator>
+
+ </field>
+
</validators>
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-03-07 09:07:31 UTC (rev 558)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-03-07 09:30:19 UTC (rev 559)
@@ -163,6 +163,16 @@
<field name="gearShootingStartLatitude">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DD".equals(coordinateEditorType.toString()) || gearShootingStartLatitude != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:90.0|max:90.0</param>
<param name="expression">
@@ -182,6 +192,16 @@
<field name="gearShootingStartLatitudeDegree">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
@@ -205,6 +225,16 @@
<field name="gearShootingStartLatitudeDecimalDegree">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDecimalDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
@@ -228,6 +258,16 @@
<field name="gearShootingStartLatitudeMinute">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -247,6 +287,16 @@
<field name="gearShootingStartLatitudeDecimalMinute">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeDecimalMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
@@ -265,6 +315,16 @@
<field name="gearShootingStartLatitudeSecond">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLatitudeSecond() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -286,6 +346,16 @@
<field name="gearShootingStartLongitude">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DD".equals(coordinateEditorType.toString()) || gearShootingStartLongitude != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:180.0|max:180.0</param>
<param name="expression">
@@ -305,6 +375,16 @@
<field name="gearShootingStartLongitudeDegree">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
@@ -328,6 +408,16 @@
<field name="gearShootingStartLongitudeDecimalDegree">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDecimalDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
@@ -351,6 +441,16 @@
<field name="gearShootingStartLongitudeMinute">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -370,6 +470,16 @@
<field name="gearShootingStartLongitudeDecimalMinute">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeDecimalMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
@@ -388,6 +498,16 @@
<field name="gearShootingStartLongitudeSecond">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingStartLongitudeSecond() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.start.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -409,6 +529,16 @@
<field name="gearShootingEndLatitude">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DD".equals(coordinateEditorType.toString()) || gearShootingEndLatitude != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:90.0|max:90.0</param>
<param name="expression">
@@ -429,6 +559,16 @@
<field name="gearShootingEndLatitudeDegree">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
@@ -452,6 +592,16 @@
<field name="gearShootingEndLatitudeDecimalDegree">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDecimalDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
@@ -475,6 +625,16 @@
<field name="gearShootingEndLatitudeMinute">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -494,6 +654,16 @@
<field name="gearShootingEndLatitudeDecimalMinute">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeDecimalMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
@@ -512,6 +682,16 @@
<field name="gearShootingEndLatitudeSecond">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLatitudeSecond() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.latitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -533,6 +713,16 @@
<field name="gearShootingEndLongitude">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DD".equals(coordinateEditorType.toString()) || gearShootingEndLongitude != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:180.0|max:180.0</param>
<param name="expression">
@@ -552,6 +742,16 @@
<field name="gearShootingEndLongitudeDegree">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
@@ -575,6 +775,16 @@
<field name="gearShootingEndLongitudeDecimalDegree">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeDecimalDegree() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
@@ -598,6 +808,16 @@
<field name="gearShootingEndLongitudeMinute">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
@@ -617,6 +837,16 @@
<field name="gearShootingEndLongitudeDecimalMinute">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMD".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeDecimalMinute() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
@@ -635,6 +865,16 @@
<field name="gearShootingEndLongitudeSecond">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[
+ !"DMS".equals(coordinateEditorType.toString()) || getGearShootingEndLongitudeSecond() != null
+ ]]>
+ </param>
+
+ <message>tutti.validator.error.longitude.end.required</message>
+ </field-validator>
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
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-07 09:07:31 UTC (rev 558)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-07 09:30:19 UTC (rev 559)
@@ -565,6 +565,10 @@
tutti.validator.error.fishingOperation.trawlDistance.tooLong=La distance du trait dépasse 3 milles marin (5556 m), merci de vérifier les coordonnées
tutti.validator.error.fishingOperation.trawlNetNumber.required=Le numéro de poche est obligatoire
tutti.validator.error.fishingOperation.vessel.required=Le navire est obligatoire
+tutti.validator.error.latitude.end.required=La latitude de fin de traîne est obligatoire
+tutti.validator.error.latitude.start.required=La latitude de début de traîne est obligatoire
+tutti.validator.error.longitude.end.required=La longitude de fin de traîne est obligatoire
+tutti.validator.error.longitude.start.required=La longitude de début de traîne est obligatoire
tutti.validator.error.program.comment.required=Le commentaire de la série est obligatoire
tutti.validator.error.program.existingKey=Le couple nom/zone existe déjà
tutti.validator.error.program.name.required=Le nom de la série est obligatoire
1
0
r558 - trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro
by tchemit@users.forge.codelutin.com 07 Mar '13
by tchemit@users.forge.codelutin.com 07 Mar '13
07 Mar '13
Author: tchemit
Date: 2013-03-07 10:07:31 +0100 (Thu, 07 Mar 2013)
New Revision: 558
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/558
Log:
remove some TODO
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/ReferentialSynchronizeServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/TuttiDatabaseMetadata.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/TuttiTable.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/ReferentialSynchronizeServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/ReferentialSynchronizeServiceImpl.java 2013-03-07 09:06:54 UTC (rev 557)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/ReferentialSynchronizeServiceImpl.java 2013-03-07 09:07:31 UTC (rev 558)
@@ -87,7 +87,6 @@
@Override
public void synchronize(Properties remoteConnectionProperties, ReferentialSynchronizeResult result) {
- //TODO Evict all caches, restart application (but not from here,...)
Preconditions.checkNotNull(result);
Preconditions.checkNotNull(remoteConnectionProperties);
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/TuttiDatabaseMetadata.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/TuttiDatabaseMetadata.java 2013-03-07 09:06:54 UTC (rev 557)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/TuttiDatabaseMetadata.java 2013-03-07 09:07:31 UTC (rev 558)
@@ -41,7 +41,7 @@
import java.util.Set;
/**
- * TODO
+ * Tutti database metadatas.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/TuttiTable.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/TuttiTable.java 2013-03-07 09:06:54 UTC (rev 557)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/TuttiTable.java 2013-03-07 09:07:31 UTC (rev 558)
@@ -29,7 +29,7 @@
import java.util.List;
/**
- * TODO
+ * All tables to synchronize.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
1
0
07 Mar '13
Author: tchemit
Date: 2013-03-07 10:06:54 +0100 (Thu, 07 Mar 2013)
New Revision: 557
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/557
Log:
refs #2075: [TECH] Action longue (probl?\195?\168me de cin?\195?\169matique)
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionException.java
Modified:
trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java
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/CloseApplicationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.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/UpdateApplicationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.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/db/ExportDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/CloneProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/DeleteProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProgramAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProgramAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ValidateCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.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/operation/catches/species/CreateMelagAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesBatchAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesSubBatchAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RenameSpeciesBatchAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/AbstractCaracteristicTabUIHandler.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/AddSpeciesProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java
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/SelectOtherSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/SimpleTimeEditorHandler.java
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties 2013-03-07 09:06:54 UTC (rev 557)
@@ -32,7 +32,7 @@
# tutti levels
log4j.logger.fr.ifremer.tutti=INFO
log4j.logger.fr.ifremer.tutti.ui.swing.util=WARN
-#log4j.logger.fr.ifremer.tutti.ui.swing.util.action=DEBUG
+log4j.logger.fr.ifremer.tutti.ui.swing.util.action=INFO
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.file=${tutti.log.file}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -29,6 +29,7 @@
import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import fr.ifremer.tutti.ui.swing.content.UpdateApplicationAction;
import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import jaxx.runtime.SwingUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -81,7 +82,7 @@
MainUIHandler handler = new MainUIHandler(context);
// try to update jre - i18n - application and exit if so
- new UpdateApplicationAction(handler).performAndReleaseAction();
+ AbstractTuttiAction.runAction(new UpdateApplicationAction(handler));
// try to update db
// new UpdateReferentialAction(handler).doAction(null);
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-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -26,6 +26,7 @@
*/
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.TuttiUIContext;
/**
* Action to change the screen.
@@ -68,16 +69,39 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction()throws Exception {
boolean result = super.prepareAction();
result &= skipCheckCurrentScreen || getHandler().quitCurrentScreen();
return result;
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
- // change screen
- getContext().setScreen(screen);
+ TuttiUIContext context = getContext();
+
+ Exception error = null;
+ try {
+
+ // clean current screen
+ context.setScreen(null);
+
+ // change screen
+ context.setScreen(screen);
+
+ } catch (Exception e) {
+ error = e;
+ throw e;
+ } finally {
+
+ if (error != null)
+
+ if (context.isDbLoaded()) {
+
+ context.setScreen(TuttiScreen.SELECT_CRUISE);
+ } else {
+ context.setScreen(TuttiScreen.MANAGE_DB);
+ }
+ }
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -47,8 +47,10 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
+ super.doAction();
+
RunTutti.closeTutti(getUI(), true);
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -53,7 +53,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isCruiseFilled());
if (log.isInfoEnabled()) {
log.info("Edit cruise: " + getContext().getCruiseId());
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -55,13 +55,13 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isCruiseFilled());
if (log.isInfoEnabled()) {
log.info("Edit catches of cruise: " + getContext().getCruiseId());
}
getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT);
- getContext().setScreen(null);
+// getContext().setScreen(null);
super.doAction();
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -52,7 +52,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isProgramFilled());
if (log.isInfoEnabled()) {
log.info("Edit program: " + getContext().getProgramId());
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -53,7 +53,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isProtocolFilled());
if (log.isInfoEnabled()) {
log.info("Edit protocol: " + getContext().getProtocolId());
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -48,7 +48,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
super.doAction();
SwingUtilities.invokeLater(new Runnable() {
@Override
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-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -301,126 +301,113 @@
protected void setScreen(TuttiScreen screen) {
- try {
+ // close current body (if any)
+ if (currentBody != null) {
+ TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
+ body.getHandler().onCloseUI();
- // close current body (if any)
- if (currentBody != null) {
- TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
- body.getHandler().onCloseUI();
+ context.getSwingSession().save();
- context.getSwingSession().save();
+ ui.getBody().remove(currentBody);
- ui.getBody().remove(currentBody);
+ currentBody = null;
+ }
- currentBody = null;
- }
+ if (screen != null) {
- if (screen != null) {
+ // load new body
- JComponent screenUI;
- JComponent rightDecoration=null;
- String screenTitle;
+ JComponent screenUI;
+ JComponent rightDecoration = null;
+ String screenTitle;
- Icon icon;
- switch (screen) {
- default:
- case MANAGE_DB:
+ Icon icon;
+ switch (screen) {
+ default:
+ case MANAGE_DB:
- screenUI = new DbManagerUI(ui);
- screenTitle = _("tutti.title.manageDb");
- icon = ui.getMenuActionManageDb().getIcon();
- break;
+ screenUI = new DbManagerUI(ui);
+ screenTitle = _("tutti.title.manageDb");
+ icon = ui.getMenuActionManageDb().getIcon();
+ break;
- case SELECT_CRUISE:
+ case SELECT_CRUISE:
- screenUI = new SelectCruiseUI(ui);
- screenTitle = _("tutti.title.home");
- icon = ui.getMenuActionSelectCruise().getIcon();
- break;
+ screenUI = new SelectCruiseUI(ui);
+ screenTitle = _("tutti.title.home");
+ icon = ui.getMenuActionSelectCruise().getIcon();
+ break;
- case EDIT_PROGRAM:
+ case EDIT_PROGRAM:
- if (context.isProgramFilled()) {
- screenTitle = _("tutti.title.edit.program");
- } else {
- screenTitle = _("tutti.title.create.program");
- }
+ if (context.isProgramFilled()) {
+ screenTitle = _("tutti.title.edit.program");
+ } else {
+ screenTitle = _("tutti.title.create.program");
+ }
- screenUI = new EditProgramUI(ui);
- icon = ui.getMenuActionEditProgram().getIcon();
- break;
+ screenUI = new EditProgramUI(ui);
+ icon = ui.getMenuActionEditProgram().getIcon();
+ break;
- case EDIT_CRUISE:
+ case EDIT_CRUISE:
- if (context.isCruiseFilled()) {
- screenTitle = _("tutti.title.edit.cruise");
- } else {
- screenTitle = _("tutti.title.create.cruise");
- }
+ if (context.isCruiseFilled()) {
+ screenTitle = _("tutti.title.edit.cruise");
+ } else {
+ screenTitle = _("tutti.title.create.cruise");
+ }
- screenUI = new EditCruiseUI(ui);
- rightDecoration = ((EditCruiseUI)screenUI).getTopToolBar();
- icon = ui.getMenuActionEditCruise().getIcon();
- break;
+ screenUI = new EditCruiseUI(ui);
+ rightDecoration = ((EditCruiseUI) screenUI).getTopToolBar();
+ icon = ui.getMenuActionEditCruise().getIcon();
+ break;
- case EDIT_PROTOCOL:
+ case EDIT_PROTOCOL:
- if (context.isProgramFilled()) {
- screenTitle = _("tutti.title.edit.protocol");
- } else {
- screenTitle = _("tutti.title.create.protocol");
- }
+ if (context.isProgramFilled()) {
+ screenTitle = _("tutti.title.edit.protocol");
+ } else {
+ screenTitle = _("tutti.title.create.protocol");
+ }
- screenUI = new EditProtocolUI(ui);
- icon = ui.getMenuActionEditProtocol().getIcon();
- break;
+ screenUI = new EditProtocolUI(ui);
+ icon = ui.getMenuActionEditProtocol().getIcon();
+ break;
- case EDIT_FISHING_OPERATION:
+ case EDIT_FISHING_OPERATION:
- String validationContext = context.getValidationContext();
+ String validationContext = context.getValidationContext();
- if (TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(validationContext)) {
+ if (TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(validationContext)) {
- // edit catches
- screenTitle = _("tutti.title.edit.operations", getSelectedCruiseTitle());
- icon = ui.getMenuActionEditCatches().getIcon();
- } else {
+ // edit catches
+ screenTitle = _("tutti.title.edit.operations", getSelectedCruiseTitle());
+ icon = ui.getMenuActionEditCatches().getIcon();
+ } else {
- // validate catches
- screenTitle = _("tutti.title.validate.operations", getSelectedCruiseTitle());
- icon = ui.getMenuActionValidateCatches().getIcon();
- }
- screenUI = new FishingOperationsUI(ui);
+ // validate catches
+ screenTitle = _("tutti.title.validate.operations", getSelectedCruiseTitle());
+ icon = ui.getMenuActionValidateCatches().getIcon();
+ }
+ screenUI = new FishingOperationsUI(ui);
- break;
+ break;
- case IMPORT_TEMPORARY_REFERENTIAL:
- screenTitle = _("tutti.title.import.temporary.referential");
- screenUI = new ManageTemporaryReferentialUI(ui);
- icon = ui.getMenuImportTemporaryReferential().getIcon();
- break;
- }
-
- this.currentBody = screenUI;
- context.getSwingSession().add(currentBody);
- ui.getBody().setTitle(screenTitle);
- ui.getBody().add(currentBody);
- ui.getBody().setLeftDecoration(new JLabel(icon));
- ui.getBody().setRightDecoration(rightDecoration);
-
+ case IMPORT_TEMPORARY_REFERENTIAL:
+ screenTitle = _("tutti.title.import.temporary.referential");
+ screenUI = new ManageTemporaryReferentialUI(ui);
+ icon = ui.getMenuImportTemporaryReferential().getIcon();
+ break;
}
- } catch (Exception e) {
-// AbstractTuttiAction mainAction = AbstractTuttiAction.getMainAction();
-// if (mainAction != null) {
-// mainAction.setFailed(true);
-// }
+ this.currentBody = screenUI;
+ context.getSwingSession().add(currentBody);
+ ui.getBody().setTitle(screenTitle);
+ ui.getBody().add(currentBody);
+ ui.getBody().setLeftDecoration(new JLabel(icon));
+ ui.getBody().setRightDecoration(rightDecoration);
- TuttiUIContext.getErrorHelper().showErrorDialog(
- "Could not change to screen " + screen, e);
-
- // go back to home
- context.setScreen(TuttiScreen.SELECT_CRUISE);
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -59,7 +59,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
TuttiUIContext context = getContext();
TuttiApplicationConfig config = context.getConfig();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -54,12 +54,12 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isCruiseFilled());
getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
- getContext().setScreen(null);
+// getContext().setScreen(null);
if (log.isInfoEnabled()) {
- log.info("Validate catches of cruise: "+getContext().getCruiseId());
+ log.info("Validate catches of cruise: " + getContext().getCruiseId());
}
super.doAction();
}
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-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -54,7 +54,7 @@
* Otherwise, the screen changes to the home.
*/
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
TuttiUIContext context = getContext();
EditCruiseUIModel model = getModel();
PersistenceService persistenceService =
@@ -73,15 +73,6 @@
context.setProgramId(saved.getProgram().getId());
context.setCruiseId(saved.getId());
-
- //TODO-TC Make this works again but in another manner
-// TuttiScreen nextScreen;
-// if (event.getSource().getClass().isAssignableFrom(TuttiScreen.class)) {
-// nextScreen = (TuttiScreen) event.getSource();
-// } else {
-// nextScreen = TuttiScreen.SELECT_CRUISE;
-// }
-// context.setScreen(nextScreen);
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -58,7 +58,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
if (doAction) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -59,7 +59,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
TuttiApplicationConfig config = getContext().getConfig();
File current = config.getDataDirectory();
@@ -89,7 +89,7 @@
getContext().setDbExist(true);
// open db
- new OpenDbAction(getHandler()).performAndReleaseAction();
+ runAction(new OpenDbAction(getHandler()));
}
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/CloneProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/CloneProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/CloneProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -59,7 +59,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isProtocolFilled());
if (log.isInfoEnabled()) {
log.info("Clone protocol: " + getContext().getProtocolId());
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/DeleteProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/DeleteProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/DeleteProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -52,12 +52,12 @@
"delete",
_("tutti.action.deleteProtocol"),
_("tutti.action.deleteProtocol.tip"),
- true
+ false
);
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean result = super.prepareAction();
TuttiProtocol protocol = getHandler().getModel().getProtocol();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -56,7 +56,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isProgramFilled());
Preconditions.checkState(getContext().isCruiseFilled());
if (log.isInfoEnabled()) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCruiseAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCruiseAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -50,7 +50,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isProgramFilled());
Preconditions.checkState(getContext().isCruiseFilled());
super.doAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProgramAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProgramAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProgramAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -55,7 +55,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isProgramFilled());
if (log.isInfoEnabled()) {
log.info("Edit program: " + getContext().getProgramId());
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -55,7 +55,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isProtocolFilled());
if (log.isInfoEnabled()) {
log.info("Edit protocol: " + getContext().getProtocolId());
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -61,7 +61,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -66,7 +66,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
@@ -91,7 +91,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewCruiseAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewCruiseAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -49,7 +49,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
getContext().setCruiseId(null);
super.doAction();
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProgramAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProgramAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProgramAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -49,7 +49,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
getContext().setProgramId(null);
getContext().setCruiseId(null);
super.doAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -49,7 +49,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
getContext().setProtocolId(null);
super.doAction();
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -110,7 +110,8 @@
}
List<TuttiProtocol> protocols =
- Lists.newArrayList(persistenceService.getAllProtocol());
+ persistenceService.getAllProtocol();
+// Lists.newArrayList(persistenceService.getAllProtocol());
model.setProtocols(protocols);
if (protocols.isEmpty()) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ValidateCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ValidateCatchesAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ValidateCatchesAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -57,7 +57,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
Preconditions.checkState(getContext().isProgramFilled());
Preconditions.checkState(getContext().isCruiseFilled());
getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -99,7 +99,7 @@
}
// cancel to create a new fishingOperation
action.setFishingOperation(null);
- action.performAndReleaseAction();
+ runAction(action);
} else {
@@ -110,7 +110,7 @@
// re-edit current fishing operation (but do not perform any check)
action.setCheckPreviousEdit(false);
action.setFishingOperation(getModel().getFishingOperation());
- action.performAndReleaseAction();
+ runAction(action);
}
// // if called directly from the EditFishingOperationUIHandler:
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -202,7 +202,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean canContinue = super.prepareAction();
if (canContinue && checkPreviousEdit) {
FishingOperationsUI ui = getUI();
@@ -259,12 +259,12 @@
// persist previous fishing operation
if (fishingOperationModified) {
getSaveFishingOperationAction().setUpdateUI(false);
- getSaveFishingOperationAction().performAndReleaseAction();
+ runAction(getSaveFishingOperationAction());
}
if (catchBatchModified) {
getSaveCatchBatchAction().setUpdateUI(false);
- getSaveCatchBatchAction().performAndReleaseAction();
+ runAction(getSaveCatchBatchAction());
}
canContinue = true;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -32,6 +32,7 @@
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiTabContainerUIHandler;
import fr.ifremer.tutti.ui.swing.util.CloseableUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -143,7 +144,8 @@
operation.setCruise(cruise);
}
editFishingOperationAction.setFishingOperation(operation);
- editFishingOperationAction.performAndReleaseAction();
+ AbstractTuttiAction.runAction(editFishingOperationAction);
+
// getModel().setEditFishingOperation(operation);
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -29,8 +29,6 @@
import static org.nuiton.i18n.I18n._;
/**
- * TODO
- *
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -80,17 +80,9 @@
super.releaseAction();
}
- /**
- * If the event source is an EditFishingOperationUIHandler,
- * then the tab panel of the parent switch to the index set
- * in the ID param of the event.
- * If the event source is a TuttiScreen, then the screen changes to the source.
- */
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
- EditFishingOperationUIHandler handler = getHandler();
-
TuttiBeanMonitor<EditFishingOperationUIModel> monitor =
handler.getFishingOperationMonitor();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -25,6 +25,7 @@
* #L%
*/
+import fr.ifremer.tutti.TuttiBusinessException;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SampleCategory;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel;
@@ -59,6 +60,11 @@
false);
}
+ //FIXME Non, y'a des trucs qui vont pas du tout
+ //FIXME 1) eviter de faire des repaint (surtout dans ce thread)
+ //FIXME 2) pas gestion à la mimine des exceptions avec un new Exception(XXX) c moche :(
+ //FIXME 3) le releaseAction c'est pas trop le moment pour envoyer des exception non plus :(
+
@Override
protected void doAction() throws Exception {
EditCatchesUIModel model = getModel();
@@ -104,6 +110,10 @@
}
}
+ if (errorMessage!=null) {
+ throw new TuttiBusinessException(errorMessage);
+ }
+
}
//------------------------------------------------------------------------//
@@ -269,7 +279,7 @@
// if the weight of the frequencies is different from the category
// weight, then set the weight of the sample
- if (categoryWeight != null && frequencyWeight > categoryWeight) {
+ if (frequencyWeight > categoryWeight) {
errorMessage = _("tutti.action.computeWeights.error.incoherentCategoryWeight");
} else if (rowWeight == null) {
@@ -292,14 +302,14 @@
return result;
}
- @Override
- protected void releaseAction() {
- if (errorMessage != null) {
- error = new Exception(errorMessage);
- } else {
- super.releaseAction();
- }
- errorMessage = null;
- }
+// @Override
+// protected void releaseAction() {
+// if (errorMessage != null) {
+// error = new Exception(errorMessage);
+// } else {
+// super.releaseAction();
+// }
+// errorMessage = null;
+// }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -29,8 +29,6 @@
import static org.nuiton.i18n.I18n._;
/**
- * TODO
- *
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
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-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -72,10 +72,8 @@
}
@Override
- public void doAction() {
+ public void doAction() throws Exception {
- EditCatchesUIHandler handler = getHandler();
-
TuttiBeanMonitor<EditCatchesUIModel> monitor =
handler.getCatchBatchMonitor();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateMelagAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateMelagAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateMelagAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -63,7 +63,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean result = super.prepareAction();
int[] selectedRowIndexes = handler.getTable().getSelectedRows();
@@ -174,7 +174,7 @@
@Override
protected void releaseAction() {
super.releaseAction();
- //TODO-TC No release action is not design to refresh ui...
+ //FIXME-TC No release action is not design to refresh ui...
getHandler().getTable().repaint();
selectedRows.clear();
melagWeight = null;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesBatchAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesBatchAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesBatchAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -64,13 +64,11 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
TuttiPersistence persistenceService =
getContext().getPersistenceService();
- SpeciesBatchUIHandler handler = getHandler();
-
JXTable table = handler.getTable();
int rowIndex = table.getSelectedRow();
@@ -96,7 +94,7 @@
table.setRowSelectionInterval(parentIndex, parentIndex);
// remove all his children
- removeSpeciesSubBatchAction.performAndReleaseAction();
+ runAction(removeSpeciesSubBatchAction);
} else {
@@ -128,7 +126,7 @@
// refresh table from parent batch row index to the end
tableModel.fireTableDataChanged();
-
+
if (table.isEditing()) {
// but no edit it
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesSubBatchAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesSubBatchAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesSubBatchAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -60,13 +60,11 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
TuttiPersistence persistenceService =
getContext().getPersistenceService();
- SpeciesBatchUIHandler handler = getHandler();
-
JXTable table = handler.getTable();
int rowIndex = table.getSelectedRow();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RenameSpeciesBatchAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RenameSpeciesBatchAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RenameSpeciesBatchAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -61,7 +61,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean result = super.prepareAction();
SpeciesBatchUIHandler handler = getHandler();
@@ -92,8 +92,7 @@
}
@Override
- protected void doAction() {
- SpeciesBatchUIHandler handler = getHandler();
+ protected void doAction() throws Exception {
SpeciesBatchTableModel tableModel = handler.getTableModel();
JXTable table = handler.getTable();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -35,7 +35,6 @@
import java.util.List;
import java.util.Map;
-import javax.swing.JOptionPane;
import static org.nuiton.i18n.I18n._;
@@ -71,7 +70,7 @@
}
@Override
- protected void doAction() throws InterruptedException {
+ protected void doAction() throws Exception {
CreateSpeciesBatchUIModel model = getModel();
List<Species> availableSpecies = Lists.newArrayList(model.getAvailableSpecies());
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/AbstractCaracteristicTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/AbstractCaracteristicTabUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/AbstractCaracteristicTabUIHandler.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -72,7 +72,6 @@
@Override
protected boolean isRowValid(RM row) {
- //TODO
return row.getValue() != null;
}
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-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -65,11 +65,11 @@
@Override
public void beforeInitUI() {
- EditProgramUIModel model = new EditProgramUIModel();
+ EditProgramUIModel model = null;
+// EditProgramUIModel model = new EditProgramUIModel();
- //TODO 20130206 kmorin put the programs loaded in the home screen in a
- //kind of context to avoid loading the programs again
- List<Program> programs = Lists.newArrayList(persistenceService.getAllProgram());
+ List<Program> programs =
+ Lists.newArrayList(persistenceService.getAllProgram());
model.setExistingPrograms(programs);
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-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -58,7 +58,7 @@
* Otherwise, the screen changes to the home.
*/
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
TuttiUIContext context = getContext();
PersistenceService persistenceService =
getContext().getPersistenceService();
@@ -76,15 +76,6 @@
}
context.setProgramId(saved.getId());
-
- //TODO-TC Make this work again but in another manner
-// TuttiScreen nextScreen;
-// if (event.getSource().getClass().isAssignableFrom(TuttiScreen.class)) {
-// nextScreen = (TuttiScreen) event.getSource();
-// } else {
-// nextScreen = TuttiScreen.SELECT_CRUISE;
-// }
-// context.setScreen(nextScreen);
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/AddSpeciesProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/AddSpeciesProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/AddSpeciesProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -51,7 +51,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
EditProtocolUI ui = getUI();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -60,7 +60,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -61,7 +61,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -63,7 +63,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -60,7 +60,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction()throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -63,7 +63,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -55,7 +55,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction() throws Exception {
int rowIndex = handler.getTable().getSelectedRow();
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-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -64,7 +64,7 @@
* Otherwise, the screen changes to the home.
*/
@Override
- protected void doAction() {
+ protected void doAction()throws Exception {
EditProtocolUIModel model = getModel();
TuttiUIContext context = getContext();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SelectOtherSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SelectOtherSpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SelectOtherSpeciesAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -59,7 +59,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean result = super.prepareAction();
if (result) {
EditProtocolUIModel model = getModel();
@@ -84,7 +84,7 @@
}
@Override
- protected void doAction() {
+ protected void doAction()throws Exception {
String decoratedSynonym = decorate(selectedSpecies);
String taxonId = String.valueOf(selectedSpecies.getReferenceTaxonId());
selectedSpecies = getModel().getAllReferentSpeciesByTaxonId().get(taxonId);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -61,7 +61,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -62,7 +62,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -61,7 +61,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction()throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -61,7 +61,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction()throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -60,7 +60,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction()throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -60,7 +60,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -60,7 +60,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -60,7 +60,7 @@
}
@Override
- protected boolean prepareAction() {
+ protected boolean prepareAction()throws Exception {
boolean doAction = super.prepareAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -32,8 +32,6 @@
import java.awt.Component;
/**
- * TODO
- *
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -35,7 +35,7 @@
import static org.nuiton.i18n.I18n._;
/**
- * TODO
+ * helper around errors in Tutti.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -25,10 +25,11 @@
*/
import fr.ifremer.tutti.TuttiTechnicalException;
-import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.TuttiActionException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -48,23 +49,6 @@
private static final Log log =
LogFactory.getLog(TuttiExceptionHandler.class);
- public static class TuttiActionException extends RuntimeException {
-
- private static final long serialVersionUID = 1L;
-
- private final AbstractTuttiAction action;
-
- public TuttiActionException(AbstractTuttiAction action,
- Throwable cause) {
- super(cause);
- this.action = action;
- }
-
- public AbstractTuttiAction getAction() {
- return action;
- }
- }
-
@Override
public void uncaughtException(Thread t, Throwable ex) {
handleException(t.getName(), ex);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -58,7 +58,7 @@
protected final boolean hideBody;
- protected Throwable error;
+// protected Throwable error;
protected final Object lock = new Object();
@@ -76,7 +76,7 @@
this.hideBody = hideBody;
}
- protected boolean prepareAction() {
+ protected boolean prepareAction() throws Exception {
// by default nothing to prepare
return true;
}
@@ -85,20 +85,17 @@
// by default nothing to clean
}
- public final void performAndReleaseAction() {
- try {
- performAction();
- } finally {
- releaseAction();
- }
+ public void doAfterAction(Throwable error) {
+ // by default nothing to do after action
}
- protected void performAction() {
- error = null;
+ public static void runAction(AbstractTuttiAction action) {
try {
- doAction();
+ action.doAction();
} catch (Throwable e) {
- this.error = e;
+ throw TuttiActionException.propagateError(action, e);
+ } finally {
+ action.releaseAction();
}
}
@@ -156,14 +153,14 @@
return getDecorator(object.getClass(), null).toString(object);
}
- public boolean isFailed() {
- return error != null;
- }
+// public boolean isFailed() {
+// return error != null;
+// }
+//
+// public Throwable getError() {
+// return error;
+// }
- public Throwable getError() {
- return error;
- }
-
protected void test(final Runnable r) throws InterruptedException {
SwingUtilities.invokeLater(new Runnable() {
@@ -189,7 +186,7 @@
protected void block() {
try {
- synchronized (lock) {
+ synchronized (this) {
lock.wait();
}
} catch (Exception e) {
@@ -199,8 +196,8 @@
protected void unblock() {
try {
- synchronized (lock) {
- lock.notify();
+ synchronized (this) {
+ lock.notifyAll();
}
} catch (Exception e) {
e.printStackTrace();
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionException.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionException.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionException.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -0,0 +1,58 @@
+package fr.ifremer.tutti.ui.swing.util.action;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * 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%
+ */
+
+/**
+ * To boxe any error of a {@link AbstractTuttiAction}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.1
+ */
+public class TuttiActionException extends RuntimeException {
+
+ private static final long serialVersionUID = 1L;
+
+ private final AbstractTuttiAction action;
+
+ public TuttiActionException(AbstractTuttiAction action, Throwable cause) {
+ super(cause);
+ this.action = action;
+ }
+
+ public static TuttiActionException propagateError(AbstractTuttiAction action,
+ Throwable cause) {
+ TuttiActionException result;
+ if (cause instanceof TuttiActionException) {
+ result = ((TuttiActionException)cause);
+ } else {
+ result = new TuttiActionException(action, cause);
+ }
+ return result;
+ }
+
+ public AbstractTuttiAction getAction() {
+ return action;
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionException.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -25,8 +25,8 @@
*/
import fr.ifremer.tutti.persistence.ProgressionModel;
+import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.content.MainUI;
-import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
@@ -123,7 +123,7 @@
if (log.isDebugEnabled()) {
log.debug("Action to use: " + action);
}
- if (action == null || action.isFailed()) {
+ if (action == null) {
// stoping action
hideAction();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -25,7 +25,6 @@
*/
import fr.ifremer.tutti.ui.swing.content.MainUI;
-import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler;
import jaxx.runtime.SwingUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -39,6 +38,10 @@
import java.awt.event.ActionEvent;
import java.util.Timer;
import java.util.TimerTask;
+import java.util.concurrent.CancellationException;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
/**
* Abstract tutti ui action which launch a {@link AbstractTuttiAction}.
@@ -61,19 +64,15 @@
private static final Timer t = new Timer();
/**
- * To deal with errors.
- *
- * @since 1.0.2
- */
- private static final TuttiExceptionHandler exceptionHandler = new TuttiExceptionHandler();
-
- /**
* Logic Action to perform.
*
* @since 1.0.2
*/
protected final A action;
+ public static final ExecutorService waitingThread =
+ Executors.newSingleThreadExecutor();
+
public TuttiUIAction(A action) {
this.action = action;
@@ -97,8 +96,15 @@
}
// prepare action
- boolean doAction = action.prepareAction();
+ boolean doAction;
+ try {
+ doAction = action.prepareAction();
+ } catch (Exception e) {
+ action.releaseAction();
+ throw TuttiActionException.propagateError(action, e);
+ }
+
if (doAction) {
final TuttiActionSwingWorker<A> worker =
@@ -120,10 +126,37 @@
// perform and release action
worker.execute();
- if (log.isInfoEnabled()) {
- log.info("After execute of action " + action);
- }
+ // wait until action is done
+ waitingThread.execute(
+ new Runnable() {
+ @Override
+ public void run() {
+ try {
+ if (log.isInfoEnabled()) {
+ log.info("Log to death!");
+ }
+ worker.get();
+ } catch (ExecutionException e) {
+ // don't care .
+ } catch (CancellationException e) {
+ // dont care ?
+
+ } catch (InterruptedException e) {
+ // don't care ?
+ }
+ if (log.isInfoEnabled()) {
+ log.info("After execute of action " + action + " (worker done? " + worker.isDone() + ")");
+ }
+
+ if (worker.isFailed()) {
+
+ throw TuttiActionException.propagateError(action, worker.getError());
+ }
+ }
+ }
+ );
+
} else {
// release action
@@ -135,18 +168,43 @@
// putValue(MNEMONIC_KEY, key);
// }
+
protected static class TuttiActionSwingWorker<A extends AbstractTuttiAction> extends SwingWorker<Void, String> {
protected final TuttiActionUI actionUI;
protected final A action;
+ protected Throwable error;
+
protected TimerTask timer;
protected TuttiActionSwingWorker(A action) {
this.action = action;
this.actionUI = action.getContext().getActionUI();
+
+// addPropertyChangeListener(new PropertyChangeListener() {
+// @Override
+// public void propertyChange(PropertyChangeEvent evt) {
+// if (evt.getPropertyName().equals("state")) {
+// StateValue newValue = (StateValue) evt.getNewValue();
+// if (StateValue.DONE == newValue) {
+//
+// // close any ui resource
+//
+// if (timer != null) {
+//
+// timer.cancel();
+// }
+//
+// updateBusyState(false);
+//
+// actionUI.close();
+// }
+// }
+// }
+// });
}
@Override
@@ -170,7 +228,6 @@
}
actionUI.open(action);
-
}
}
};
@@ -179,8 +236,13 @@
try {
- action.performAction();
+ action.doAction();
+ } catch (Throwable e) {
+ if (log.isErrorEnabled()) {
+ log.error("Task [" + this + "] Error while doAction: ", e);
+ }
+ error = e;
} finally {
if (log.isInfoEnabled()) {
log.info("Task [" + this + "] done");
@@ -196,8 +258,13 @@
protected void done() {
super.done();
- // close timer
+ if (log.isInfoEnabled()) {
+ log.info("Task [" + this + "] execute done method after all");
+ }
+ // user after action call
+ action.doAfterAction(error);
+
if (timer != null) {
timer.cancel();
@@ -206,11 +273,6 @@
actionUI.close();
updateBusyState(false);
-
- if (action.isFailed()) {
-
- exceptionHandler.handle(new TuttiExceptionHandler.TuttiActionException(action, action.getError()));
- }
}
protected void updateBusyState(boolean busy) {
@@ -237,5 +299,13 @@
}
}
+
+ public Throwable getError() {
+ return error;
+ }
+
+ public boolean isFailed() {
+ return error != null;
+ }
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/SimpleTimeEditorHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/SimpleTimeEditorHandler.java 2013-03-06 22:07:26 UTC (rev 556)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/SimpleTimeEditorHandler.java 2013-03-07 09:06:54 UTC (rev 557)
@@ -38,10 +38,8 @@
import java.util.Date;
/**
- * TODO
- *
* @author tchemit <chemit(a)codelutin.com>
- * @since TODO
+ * @since 0.3
*/
public class SimpleTimeEditorHandler {
1
0
06 Mar '13
Author: tchemit
Date: 2013-03-06 23:07:26 +0100 (Wed, 06 Mar 2013)
New Revision: 556
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/556
Log:
fixes #2090: [TECH] Ajout d'une action longue pour la fermeture de l'application
refs #2075: [TECH] Action longue (probl?\195?\168me de cin?\195?\169matique) (erreurs r?\195?\169affich?\195?\169es)
placement des pi?\195?\168ces-jointes dans la barre du haut (cruise)
am?\195?\169lioration des messages de confirmations
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java
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/MainUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx
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/CancelEditCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx
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/db/ExportDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/CancelEditProgramAction.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/protocol/CancelEditProtocolAction.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/ExportAllCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CloseableUI.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.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/config/TuttiConfigUI.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -66,6 +66,8 @@
@Override
public void run() {
+
+ //FIXME Should be a long action?
reloadUI();
}
}
@@ -76,6 +78,8 @@
@Override
public void run() {
+
+ //FIXME Should be a long action?
reloadApplication();
}
}
@@ -87,6 +91,7 @@
@Override
public void run() {
+ //FIXME Should be a long action?
reloadShortcuts();
}
}
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-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -39,8 +39,20 @@
*/
public abstract class AbstractChangeScreenAction extends AbstractMainUITuttiAction {
+ /**
+ * Screen where to go.
+ *
+ * @since 1.0
+ */
protected final TuttiScreen screen;
+ /**
+ * Flag to skip the check of current screen.
+ *
+ * @since 1.1
+ */
+ protected boolean skipCheckCurrentScreen;
+
protected AbstractChangeScreenAction(MainUIHandler handler,
String icon,
String text,
@@ -51,10 +63,14 @@
this.screen = screen;
}
+ public void setSkipCheckCurrentScreen(boolean skipCheckCurrentScreen) {
+ this.skipCheckCurrentScreen = skipCheckCurrentScreen;
+ }
+
@Override
protected boolean prepareAction() {
boolean result = super.prepareAction();
- result &= getHandler().quitCurrentScreen();
+ result &= skipCheckCurrentScreen || getHandler().quitCurrentScreen();
return result;
}
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -0,0 +1,54 @@
+package fr.ifremer.tutti.ui.swing.content;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * 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%
+ */
+
+import fr.ifremer.tutti.ui.swing.RunTutti;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * To close Tutti Application.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.1
+ */
+public class CloseApplicationAction extends AbstractChangeScreenAction {
+
+ public CloseApplicationAction(MainUIHandler handler) {
+ super(handler,
+ "exit",
+ _("tutti.action.exit"),
+ _("tutti.action.exit.tip"),
+ false,
+ null);
+ setSkipCheckCurrentScreen(true);
+ }
+
+ @Override
+ protected void doAction() {
+
+ RunTutti.closeTutti(getUI(), true);
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2013-03-06 22:07:26 UTC (rev 556)
@@ -45,9 +45,7 @@
}
#menuFileExit {
- text: "tutti.action.exit";
- toolTipText: "tutti.action.exit.tip";
- actionIcon: exit;
+ _tuttiAction: {CloseApplicationAction.class};
}
#menuActionUpdate {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-03-06 22:07:26 UTC (rev 556)
@@ -21,7 +21,7 @@
<http://www.gnu.org/licenses/gpl-3.0.html>.
#L%
-->
-<JFrame id='mainFrame' onWindowClosing='getHandler().closeTutti()'
+<JFrame id='mainFrame' onWindowClosing='menuFileExit.getAction().actionPerformed(null)'
implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiUIContext, MainUIHandler>'
width='800' height='600'>
@@ -63,8 +63,7 @@
<JSeparator/>
<JMenuItem id='menuActionManageDb'/>
<JSeparator/>
- <JMenuItem id='menuFileExit'
- onActionPerformed='getHandler().closeTutti()'/>
+ <JMenuItem id='menuFileExit'/>
</JMenu>
<JMenu id='menuActions'>
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-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -160,10 +160,6 @@
//-- Public methods --//
//------------------------------------------------------------------------//
- public void closeTutti() {
- RunTutti.closeTutti(ui, true);
- }
-
public void reloadTutti() {
// Close the application
@@ -186,24 +182,6 @@
configUI.createUI();
}
- public void showManageProtocol() {
- context.setScreen(TuttiScreen.EDIT_PROTOCOL);
- }
-
- public void showSelectCampaign() {
- context.setScreen(TuttiScreen.SELECT_CRUISE);
- }
-
- public void showFillCatches() {
- context.setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT);
- context.setScreen(TuttiScreen.EDIT_FISHING_OPERATION);
- }
-
- public void showValidateCatches() {
- context.setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
- context.setScreen(TuttiScreen.EDIT_FISHING_OPERATION);
- }
-
public void showAbout() {
ApplicationConfig applicationConfig =
@@ -339,11 +317,8 @@
if (screen != null) {
- String programId = context.getProgramId();
- String cruiseId = context.getCruiseId();
- String protocolId = context.getProtocolId();
-
JComponent screenUI;
+ JComponent rightDecoration=null;
String screenTitle;
Icon icon;
@@ -365,10 +340,10 @@
case EDIT_PROGRAM:
- if (programId == null) {
- screenTitle = _("tutti.title.create.program");
- } else {
+ if (context.isProgramFilled()) {
screenTitle = _("tutti.title.edit.program");
+ } else {
+ screenTitle = _("tutti.title.create.program");
}
screenUI = new EditProgramUI(ui);
@@ -377,22 +352,23 @@
case EDIT_CRUISE:
- if (cruiseId == null) {
- screenTitle = _("tutti.title.create.cruise");
- } else {
+ if (context.isCruiseFilled()) {
screenTitle = _("tutti.title.edit.cruise");
+ } else {
+ screenTitle = _("tutti.title.create.cruise");
}
screenUI = new EditCruiseUI(ui);
+ rightDecoration = ((EditCruiseUI)screenUI).getTopToolBar();
icon = ui.getMenuActionEditCruise().getIcon();
break;
case EDIT_PROTOCOL:
- if (protocolId == null) {
- screenTitle = _("tutti.title.create.protocol");
- } else {
+ if (context.isProgramFilled()) {
screenTitle = _("tutti.title.edit.protocol");
+ } else {
+ screenTitle = _("tutti.title.create.protocol");
}
screenUI = new EditProtocolUI(ui);
@@ -430,6 +406,7 @@
ui.getBody().setTitle(screenTitle);
ui.getBody().add(currentBody);
ui.getBody().setLeftDecoration(new JLabel(icon));
+ ui.getBody().setRightDecoration(rightDecoration);
}
} catch (Exception e) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/CancelEditCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/CancelEditCruiseAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/CancelEditCruiseAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -46,6 +46,7 @@
true,
TuttiScreen.SELECT_CRUISE
);
+ setSkipCheckCurrentScreen(true);
}
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css 2013-03-06 22:07:26 UTC (rev 556)
@@ -22,10 +22,6 @@
* #L%
*/
-JToolBar {
- floatable: false;
-}
-
BeanComboBox {
showReset: true;
i18nPrefix: "tutti.property.";
@@ -211,6 +207,12 @@
enabled: {model.isCanGenerateName()};
}
+#topToolBar {
+ floatable: false;
+ opaque: true;
+ borderPainted: true;
+}
+
#attachmentsButton {
enabled: {model.getId() != null};
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-03-06 22:07:26 UTC (rev 556)
@@ -95,8 +95,12 @@
<field name='comment' component='commentPane'/>
</BeanValidator>
- <Table fill='both'>
+ <JToolBar id='topToolBar'>
+ <JButton id='attachmentsButton'/>
+ </JToolBar>
+ <Table fill='both' constraints='BorderLayout.CENTER'>
+
<!-- cruise program / year / program part / name -->
<row>
<cell anchor='west'>
@@ -219,12 +223,9 @@
<!-- Form Actions -->
<row>
<cell columns='6'>
- <JPanel layout='{new GridLayout(0,1)}'>
- <JButton id='attachmentsButton'/>
- <JPanel layout='{new GridLayout(1, 0)}'>
- <JButton id='cancelButton'/>
- <JButton id='saveButton'/>
- </JPanel>
+ <JPanel layout='{new GridLayout(1, 0)}'>
+ <JButton id='cancelButton'/>
+ <JButton id='saveButton'/>
</JPanel>
</cell>
</row>
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-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -230,7 +230,7 @@
boolean result = quitScreen(
getModel().isValid(),
getModel().isModify(),
- _("tutti.dialog.askCancelEditBeforeLeaving.saveCruise"),
+ _("tutti.dialog.askCancelEditBeforeLeaving.cancelSaveCruise"),
_("tutti.dialog.askSaveBeforeLeaving.saveCruise"),
ui.getSaveButton().getAction()
);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -70,7 +70,6 @@
getContext().getMainUI(),
_("tutti.title.choose.dbExportFile"),
_("tutti.action.chooseDbExportFile"),
- null,
"^.*\\.zip", _("tutti.file.zip")
);
if (file == null) {
@@ -82,9 +81,8 @@
// add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".zip");
-
// ask user to confirm overwrite.
- doAction = TuttiUIUtil.askOverwriteFile(getUI(), file);
+ doAction = getHandler().askOverwriteFile(file);
}
}
return doAction;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -72,12 +72,14 @@
getContext().getMainUI(),
_("tutti.title.choose.protocolExportFile"),
_("tutti.action.chooseProtocolFile"),
- null,
"^.+\\.tuttiProtocol$", _("tutti.file.protocol")
);
doAction = file != null;
if (doAction) {
file = TuttiIOUtil.addExtensionIfMissing(file, ".tuttiProtocol");
+
+ // ask user to confirm overwrite.
+ doAction = getHandler().askOverwriteFile(file);
}
}
return doAction;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -76,7 +76,6 @@
getContext().getMainUI(),
_("tutti.title.choose.protocolImportFile"),
_("tutti.action.chooseProtocolFile"),
- null,
"^.+\\.tuttiProtocol$", _("tutti.file.protocol")
);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-03-06 22:07:26 UTC (rev 556)
@@ -85,9 +85,7 @@
<cell>
<JPanel layout='{new GridLayout(1,0)}'>
<JButton id='editProgramButton'/>
- <!--onActionPerformed='handler.showSelectedProgram()'/>-->
<JButton id='newProgramButton'/>
- <!--onActionPerformed='handler.showNewProgram()'/>-->
</JPanel>
</cell>
</row>
@@ -102,9 +100,7 @@
<cell>
<JPanel layout='{new GridLayout(1,0)}'>
<JButton id='editCruiseButton'/>
- <!--onActionPerformed='handler.showSelectedCruise()'/>-->
<JButton id='newCruiseButton'/>
- <!--onActionPerformed='handler.showNewCruise()'/>-->
</JPanel>
</cell>
</row>
@@ -133,9 +129,7 @@
<cell columns='3'>
<JPanel layout='{new GridLayout(1,0)}'>
<JButton id='editCatchesButton'/>
- <!--onActionPerformed='handler.showFillCatches()'/>-->
<JButton id='validateCatchesButton'/>
- <!--onActionPerformed='handler.showValidateCatches()'/>-->
</JPanel>
</cell>
</row>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -109,7 +109,8 @@
}
}
- List<TuttiProtocol> protocols = persistenceService.getAllProtocol();
+ List<TuttiProtocol> protocols =
+ Lists.newArrayList(persistenceService.getAllProtocol());
model.setProtocols(protocols);
if (protocols.isEmpty()) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -11,15 +11,15 @@
* %%
* 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
+ * 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
+ *
+ * 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%
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -11,15 +11,15 @@
* %%
* 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
+ * 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
+ *
+ * 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%
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -10,15 +10,15 @@
* %%
* 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
+ * 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
+ *
+ * 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%
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/CancelEditProgramAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/CancelEditProgramAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/CancelEditProgramAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -46,6 +46,7 @@
true,
TuttiScreen.SELECT_CRUISE
);
+ setSkipCheckCurrentScreen(true);
}
}
\ No newline at end of file
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-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -129,7 +129,7 @@
boolean result = quitScreen(
getModel().isValid(),
getModel().isModify(),
- _("tutti.dialog.askCancelEditBeforeLeaving.saveProgram"),
+ _("tutti.dialog.askCancelEditBeforeLeaving.cancelSaveProgram"),
_("tutti.dialog.askSaveBeforeLeaving.saveProgram"),
ui.getSaveButton().getAction()
);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CancelEditProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CancelEditProtocolAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CancelEditProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -45,6 +45,7 @@
_("tutti.action.cancel.editProtocol.tip"),
true,
TuttiScreen.SELECT_CRUISE);
+ setSkipCheckCurrentScreen(true);
}
}
\ No newline at end of file
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-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -153,18 +153,19 @@
List<Species> allSpecies = Lists.newArrayList(getDataContext().getSpecies());
model.setAllSpecies(allSpecies);
+
Multimap<String, Species> allSpeciesByTaxonId =
TuttiEntities.splitByReferenceTaxonId(allSpecies);
+ model.setAllSpeciesByTaxonId(allSpeciesByTaxonId);
- model.setAllSpeciesByTaxonId(allSpeciesByTaxonId);
Map<String, Species> allReferentSpeciesByTaxonId = TuttiEntities.splitByTaxonId(
getDataContext().getReferentSpecies());
+ model.setAllReferentSpeciesByTaxonId(allReferentSpeciesByTaxonId);
- model.setAllReferentSpeciesByTaxonId(allReferentSpeciesByTaxonId);
- List<TuttiProtocol> protocols = persistenceService.getAllProtocol();
+ List<TuttiProtocol> protocols = Lists.newArrayList(persistenceService.getAllProtocol());
model.setExistingProtocols(protocols);
- List<Caracteristic> caracteristics = getDataContext().getCaracteristics();
+ List<Caracteristic> caracteristics = Lists.newArrayList(getDataContext().getCaracteristics());
model.setCaracteristics(caracteristics);
Map<String, Caracteristic> allCaracteristic = TuttiEntities.splitById(caracteristics);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -71,7 +71,6 @@
getContext().getMainUI(),
_("tutti.title.choose.protocolCaracteristicExportFile"),
_("tutti.action.chooseProtocolCaracteristicFile"),
- null,
"^.*\\.csv", _("tutti.file.csv")
);
if (file == null) {
@@ -82,6 +81,9 @@
// add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+
+ // ask user to confirm overwrite.
+ doAction = getHandler().askOverwriteFile(file);
}
}
return doAction;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -72,7 +72,6 @@
getContext().getMainUI(),
_("tutti.title.choose.protocolCaracteristicExportFile"),
_("tutti.action.chooseProtocolCaracteristicFile"),
- null,
"^.*\\.csv", _("tutti.file.csv")
);
if (file == null) {
@@ -83,6 +82,9 @@
// add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+
+ // ask user to confirm overwrite.
+ doAction = getHandler().askOverwriteFile(file);
}
}
return doAction;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -74,7 +74,6 @@
getContext().getMainUI(),
_("tutti.title.choose.protocolSpeciesExportFile"),
_("tutti.action.chooseProtocolSpeciesFile"),
- null,
"^.*\\.csv", _("tutti.file.csv")
);
if (file == null) {
@@ -85,6 +84,9 @@
// add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+
+ // ask user to confirm overwrite.
+ doAction = getHandler().askOverwriteFile(file);
}
}
return doAction;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -71,7 +71,6 @@
getContext().getMainUI(),
_("tutti.title.choose.protocolCaracteristicImportFile"),
_("tutti.action.chooseProtocolCaracteristicFile"),
- null,
"^.*\\.csv", _("tutti.file.csv")
);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -74,7 +74,6 @@
getContext().getMainUI(),
_("tutti.title.choose.protocolSpeciesImportFile"),
_("tutti.action.chooseProtocolSpeciesFile"),
- null,
"^.*\\.csv", _("tutti.file.csv")
);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -72,7 +72,6 @@
getContext().getMainUI(),
_("tutti.title.choose.exportTemporaryGearExampleFile"),
_("tutti.action.chooseReferentialGearFile"),
- null,
"^.*\\.csv", _("tutti.file.csv")
);
if (file == null) {
@@ -83,6 +82,9 @@
// add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+
+ // ask user to confirm overwrite.
+ doAction = getHandler().askOverwriteFile(file);
}
}
return doAction;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -73,7 +73,6 @@
getContext().getMainUI(),
_("tutti.title.choose.exportTemporaryPersonExampleFile"),
_("tutti.action.chooseReferentialPersonFile"),
- null,
"^.*\\.csv", _("tutti.file.csv")
);
if (file == null) {
@@ -84,6 +83,9 @@
// add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+
+ // ask user to confirm overwrite.
+ doAction = getHandler().askOverwriteFile(file);
}
}
return doAction;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -72,7 +72,6 @@
getContext().getMainUI(),
_("tutti.title.choose.exportTemporarySpeciesExampleFile"),
_("tutti.action.chooseReferentialSpeciesFile"),
- null,
"^.*\\.csv", _("tutti.file.csv")
);
if (file == null) {
@@ -83,6 +82,9 @@
// add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+
+ // ask user to confirm overwrite.
+ doAction = getHandler().askOverwriteFile(file);
}
}
return doAction;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -72,7 +72,6 @@
getContext().getMainUI(),
_("tutti.title.choose.exportTemporaryVesselExampleFile"),
_("tutti.action.chooseReferentialVesselFile"),
- null,
"^.*\\.csv", _("tutti.file.csv")
);
if (file == null) {
@@ -83,6 +82,9 @@
// add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+
+ // ask user to confirm overwrite.
+ doAction = getHandler().askOverwriteFile(file);
}
}
return doAction;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -71,7 +71,6 @@
getContext().getMainUI(),
_("tutti.title.choose.importTemporaryGearFile"),
_("tutti.action.chooseReferentialGearFile"),
- null,
"^.*\\.csv", _("tutti.file.csv"));
doAction = file != null;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -71,7 +71,6 @@
getContext().getMainUI(),
_("tutti.title.choose.importTemporaryPersonFile"),
_("tutti.action.chooseReferentialPersonFile"),
- null,
"^.*\\.csv", _("tutti.file.csv"));
doAction = file != null;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -70,7 +70,6 @@
getContext().getMainUI(),
_("tutti.title.choose.importTemporarySpeciesFile"),
_("tutti.action.chooseReferentialSpeciesFile"),
- null,
"^.*\\.csv", _("tutti.file.csv"));
doAction = file != null;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -70,7 +70,6 @@
getContext().getMainUI(),
_("tutti.title.choose.importTemporaryVesselFile"),
_("tutti.action.chooseReferentialVesselFile"),
- null,
"^.*\\.csv", _("tutti.file.csv"));
doAction = file != null;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -10,15 +10,15 @@
* %%
* 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
+ * 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
+ *
+ * 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%
@@ -84,16 +84,15 @@
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
-import java.awt.event.WindowListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.io.File;
import java.io.Serializable;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.swing.SwingUtilities;
import static org.nuiton.i18n.I18n._;
@@ -226,9 +225,9 @@
}
JDialog result;
if (window instanceof Frame) {
- result = new JDialog((Frame)window, title, true);
+ result = new JDialog((Frame) window, title, true);
} else {
- result = new JDialog((Dialog)window, title, true);
+ result = new JDialog((Dialog) window, title, true);
}
result.add((Component) dialogContent);
@@ -276,22 +275,61 @@
SwingUtil.getParentContainer(ui, JDialog.class).setVisible(false);
}
+ public static final String CONFIRMATION_FORMAT = "<html>%s<hr/><br/>%s</html>";
+
public int askSaveBeforeLeaving(String message) {
+ String htmlMessage = String.format(
+ CONFIRMATION_FORMAT,
+ message,
+ _("tutti.dialog.askSaveBeforeLeaving.help"));
int result = JOptionPane.showConfirmDialog(
getContext().getMainUI(),
- message,
+ htmlMessage,
_("tutti.dialog.askSaveBeforeLeaving.title"),
JOptionPane.YES_NO_CANCEL_OPTION);
return result;
}
public boolean askCancelEditBeforeLeaving(String message) {
- boolean result = TuttiUIUtil.askQuestion(
+ String htmlMessage = String.format(
+ CONFIRMATION_FORMAT,
+ message,
+ _("tutti.dialog.askCancelEditBeforeLeaving.help"));
+ int i = JOptionPane.showConfirmDialog(
getContext().getMainUI(),
- message,
- _("tutti.dialog.askCancelEditBeforeLeaving.title"));
+ htmlMessage,
+ _("tutti.dialog.askCancelEditBeforeLeaving.title"),
+ JOptionPane.OK_CANCEL_OPTION,
+ JOptionPane.WARNING_MESSAGE);
+
+ boolean result = i == JOptionPane.OK_OPTION;
return result;
}
+
+ public boolean askOverwriteFile(File file) {
+ boolean result;
+ if (file.exists()) {
+
+ // file exists ask user to overwrite
+ String htmlMessage = String.format(
+ CONFIRMATION_FORMAT,
+ _("tutti.dialog.askOverwriteFile.message", file),
+ _("tutti.dialog.askOverwriteFile.help"));
+
+ result = JOptionPane.showConfirmDialog(
+ getContext().getMainUI(),
+ htmlMessage,
+ _("tutti.dialog.askOverwriteFile.title"),
+ JOptionPane.OK_CANCEL_OPTION,
+ JOptionPane.INFORMATION_MESSAGE) == JOptionPane.OK_OPTION;
+ } else {
+
+ // file does not exist
+ result = true;
+ }
+
+ return result;
+ }
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CloseableUI.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CloseableUI.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CloseableUI.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -1,5 +1,29 @@
package fr.ifremer.tutti.ui.swing.util;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * 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%
+ */
+
/**
* Contract to close an ui.
*
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CloseableUI.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -26,7 +26,6 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.TuttiTechnicalException;
-import fr.ifremer.tutti.ui.swing.content.MainUI;
import jaxx.runtime.JAXXUtil;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang3.time.DurationFormatUtils;
@@ -66,7 +65,6 @@
* @param parent le component swing appelant le controle
* @param title le titre du dialogue de sélection
* @param buttonLabel le label du boutton d'acceptation
- * @param incoming le fichier de base à utilier
* @param filters les filtres + descriptions sur le sélecteur de
* fichiers
* @return le fichier choisi ou le fichier incoming si l'opération a été
@@ -75,27 +73,17 @@
public static File chooseFile(Component parent,
String title,
String buttonLabel,
- File incoming,
String... filters) {
- File oldBasedir = FileUtil.getCurrentDirectory();
- if (incoming != null) {
- File basedir;
- if (incoming.isFile()) {
- basedir = incoming.getParentFile();
- } else {
- basedir = incoming;
- }
- if (basedir.exists()) {
- FileUtil.setCurrentDirectory(basedir);
- }
- }
+
File file = FileUtil.getFile(title, buttonLabel, parent, filters);
if (log.isDebugEnabled()) {
log.debug(title + " : " + file);
}
- FileUtil.setCurrentDirectory(oldBasedir);
- File result = file == null ? incoming : file;
- return result;
+ if (file != null) {
+ File newDir = file.isDirectory() ? file : file.getParentFile();
+ FileUtil.setCurrentDirectory(newDir);
+ }
+ return file;
}
/**
@@ -104,35 +92,28 @@
* @param parent le component swing appelant le controle
* @param title le titre de la boite de dialogue de sléection
* @param buttonLabel le label de l'action d'acceptation
- * @param incoming le fichier de base à utiliser
* @return le répertoire choisi ou le répertoire incoming si l'opération a
* été annulée
*/
public static File chooseDirectory(Component parent,
String title,
- String buttonLabel,
- File incoming) {
- File oldBasedir = FileUtil.getCurrentDirectory();
- if (incoming != null) {
- File basedir;
- if (incoming.isFile()) {
- basedir = incoming.getParentFile();
- } else {
- basedir = incoming;
- }
- if (basedir.exists()) {
- FileUtil.setCurrentDirectory(basedir);
- }
- }
+ String buttonLabel) {
+
String file = FileUtil.getDirectory(parent, title, buttonLabel);
if (log.isDebugEnabled()) {
log.debug(title + " : " + file);
}
- FileUtil.setCurrentDirectory(oldBasedir);
- return file == null ? incoming : new File(file);
+ if (file != null) {
+ File newDir = new File(file);
+ if (!newDir.isDirectory()) {
+ newDir = newDir.getParentFile();
+ }
+ FileUtil.setCurrentDirectory(newDir);
+ }
+ return file == null ? null : new File(file);
}
- public static void showSuccessMessage(Component ui,String title, String message) {
+ public static void showSuccessMessage(Component ui, String title, String message) {
JOptionPane.showMessageDialog(
ui,
message,
@@ -142,25 +123,6 @@
);
}
- public static void showErrorMessage(Component ui, String message) {
- JOptionPane.showMessageDialog(
- ui,
- message,
- "Error",
- JOptionPane.ERROR_MESSAGE,
- UIManager.getIcon("error")
- );
- }
-
- public static boolean askQuestion(Component ui, String title, String message) {
- int i = JOptionPane.showConfirmDialog(
- ui,
- message,
- title,
- JOptionPane.YES_NO_OPTION);
- return i == JOptionPane.YES_OPTION;
- }
-
public static void setProperty(Object bean, String property, Object value) {
Preconditions.checkNotNull(bean);
Preconditions.checkNotNull(property);
@@ -239,12 +201,4 @@
return textValue;
}
- public static boolean askOverwriteFile(MainUI ui, File file) {
- boolean result =
- !file.exists() ||
- askQuestion(ui,
- _("tutti.dialog.askOverwriteFile.title"),
- _("tutti.dialog.askOverwriteFile.message", file));
- return result;
- }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -10,15 +10,15 @@
* %%
* 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
+ * 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
+ *
+ * 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%
@@ -29,14 +29,14 @@
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
-import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
-import javax.swing.SwingUtilities;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.beans.AbstractBean;
import org.nuiton.util.decorator.Decorator;
+import javax.swing.SwingUtilities;
+
/**
* Tutti base action.
*
@@ -44,7 +44,7 @@
* @since 1.0
*/
public abstract class AbstractTuttiAction<M extends AbstractBean, UI extends TuttiUI<M, ?>, H extends AbstractTuttiUIHandler<M, UI>>
- extends AbstractBean {
+ extends AbstractBean {
private static final Log log = LogFactory.getLog(AbstractTuttiAction.class);
@@ -82,11 +82,10 @@
}
protected void releaseAction() {
- error = null;
+ // by default nothing to clean
}
public final void performAndReleaseAction() {
-
try {
performAction();
} finally {
@@ -95,11 +94,11 @@
}
protected void performAction() {
+ error = null;
try {
doAction();
} catch (Throwable e) {
this.error = e;
- throw new TuttiExceptionHandler.TuttiActionException(this, e);
}
}
@@ -180,30 +179,30 @@
}
});
- log.info("Block ?");
- System.out.println("Block ?");
+ log.info("Block ?");
+ System.out.println("Block ?");
block();
- System.out.println("Block !");
- log.info("Block !");
+ System.out.println("Block !");
+ log.info("Block !");
}
protected void block() {
try {
- synchronized(lock) {
+ synchronized (lock) {
lock.wait();
}
- } catch(Exception e) {
+ } catch (Exception e) {
e.printStackTrace();
}
}
protected void unblock() {
try {
- synchronized(lock) {
+ synchronized (lock) {
lock.notify();
}
- } catch(Exception e) {
+ } catch (Exception e) {
e.printStackTrace();
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-06 22:07:26 UTC (rev 556)
@@ -181,7 +181,6 @@
action.performAction();
-
} finally {
if (log.isInfoEnabled()) {
log.info("Task [" + this + "] done");
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-06 17:39:37 UTC (rev 555)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-06 22:07:26 UTC (rev 556)
@@ -179,20 +179,23 @@
tutti.config.category.shortcuts.description=Liste des raccourcis clavier
tutti.config.category.ui=Interface utilisateur
tutti.config.category.ui.description=Options de l'interface utilisateur
-tutti.dialog.askCancelEditBeforeLeaving.cancelEditCatchBatch=La capture modifiée n'est pas valide. Voulez-vous annuler les modifications ?
-tutti.dialog.askCancelEditBeforeLeaving.cancelEditFishingOperation=Le trait modifié n'est pas valide. Voulez-vous annuler les modifications ?
-tutti.dialog.askCancelEditBeforeLeaving.cancelSaveProtocol=
-tutti.dialog.askCancelEditBeforeLeaving.saveCruise=
-tutti.dialog.askCancelEditBeforeLeaving.saveProgram=
+tutti.dialog.askCancelEditBeforeLeaving.cancelEditCatchBatch=La capture n'est pas valide et ne peut pas être enregistrée.
+tutti.dialog.askCancelEditBeforeLeaving.cancelEditFishingOperation=Le trait modifié n'est pas valide et ne peut pas être enregistré.
+tutti.dialog.askCancelEditBeforeLeaving.cancelSaveCruise=La campagne n'est pas valide et ne peut pas être enregistrée.
+tutti.dialog.askCancelEditBeforeLeaving.cancelSaveProgram=La série de campagne n'est pas valide et ne peut pas être enregistrée.
+tutti.dialog.askCancelEditBeforeLeaving.cancelSaveProtocol=Le protocole n'est pas valide et ne peut pas être enregistré.
+tutti.dialog.askCancelEditBeforeLeaving.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour rester sur cet écran<li><strong>OK</strong> pour quitter l'écran en abandonnant les modifications</ul>
tutti.dialog.askCancelEditBeforeLeaving.title=Modifications non enregistrées mais invalides
+tutti.dialog.askOverwriteFile.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas écraser le fichier et annuler l'opération<li><strong>Oui</strong> pour écraser le fichier et continuer l'opération</ul>
tutti.dialog.askOverwriteFile.message=Le fichier %s existe déjà, confirmer pour l'écraser.
tutti.dialog.askOverwriteFile.title=Confirmer l'écrasement d'un fichier...
-tutti.dialog.askSaveBeforeLeaving.createFishingOperation=Le trait n'a pas été créé. Voulez-vous l'enregistrer ?
-tutti.dialog.askSaveBeforeLeaving.saveCatchBatch=La capture a été modifiée. Voulez-vous enregistrer les modifications ?
-tutti.dialog.askSaveBeforeLeaving.saveCruise=La campagne a été modifiée. Voulez-vous enregistrer les modifications ?
-tutti.dialog.askSaveBeforeLeaving.saveFishingOperation=Le trait a été modifié. Voulez-vous enregistrer les modifications ?
-tutti.dialog.askSaveBeforeLeaving.saveProgram=La série de campagne a été modifiée. Voulez-vous enregistrer les modifications ?
-tutti.dialog.askSaveBeforeLeaving.saveProtocol=Le protocol a été modifié. Voulez-vous enregistrer les modifications ?
+tutti.dialog.askSaveBeforeLeaving.createFishingOperation=Le trait n'a pas été créé.
+tutti.dialog.askSaveBeforeLeaving.help=Que voulez-vous faire?<ul><li><strong>Annuler</strong> pour rester sur cet écran<li><strong>Non</strong> pour quitter l'écran en abandonnant les modifications en cours<li><strong>Oui</strong> pour quitter l'écran après enregistrement des modifications</ul>
+tutti.dialog.askSaveBeforeLeaving.saveCatchBatch=Des modifications sur la capture n'ont pas été enregistrées.
+tutti.dialog.askSaveBeforeLeaving.saveCruise=Des modifications sur la campagne n'ont pas été enregistrées.
+tutti.dialog.askSaveBeforeLeaving.saveFishingOperation=Des modifications sur le trait n'ont pas été enregistrées.
+tutti.dialog.askSaveBeforeLeaving.saveProgram=Des modifications sur la série de campagne n'ont pas été enregistrées.
+tutti.dialog.askSaveBeforeLeaving.saveProtocol=Des modifications sur le protocole n'ont pas été enregistrées.
tutti.dialog.askSaveBeforeLeaving.title=Modifications non enregistrées
tutti.dialog.catches.species.computeWeight.error.message=Erreur lors de l'élévation des poids
tutti.dialog.catches.species.computeWeight.error.title=Erreur
1
0
r555 - in trunk/tutti-service/src/main: java/fr/ifremer/tutti/service resources/i18n
by tchemit@users.forge.codelutin.com 06 Mar '13
by tchemit@users.forge.codelutin.com 06 Mar '13
06 Mar '13
Author: tchemit
Date: 2013-03-06 18:39:37 +0100 (Wed, 06 Mar 2013)
New Revision: 555
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/555
Log:
refs #2035: [CAMPAGNE] - Gestion des campagnes - Doublons dans la liste des navires
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java 2013-03-06 17:24:40 UTC (rev 554)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java 2013-03-06 17:39:37 UTC (rev 555)
@@ -257,7 +257,8 @@
protected Object onNullValue(Vessel bean, String token) {
Object result = null;
if ("internationalRegistrationCode".equals(token)) {
- result = _("tutti.propety.no.vessel.internationalRegistrationCode");
+ // use national registration code
+ result = _("tutti.propety.vessel.nation.registrationCode",bean.getRegistrationCode());
} else if ("name".equals(token)) {
result = _("tutti.propety.no.vessel.name");
}
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-03-06 17:24:40 UTC (rev 554)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-03-06 17:39:37 UTC (rev 555)
@@ -18,7 +18,7 @@
tutti.property.fractionName=Fraction
tutti.property.gear=Engin
tutti.property.genusSpecies=Nom scientifique
-tutti.property.internationalRegistrationCode=Immatriculation internationale
+tutti.property.internationalRegistrationCode=Immatriculation internationale (ou nationale si non trouvée)
tutti.property.label=Code
tutti.property.lastName=Nom de Famille
tutti.property.macroWasteCategory=Type de macro déchet
@@ -27,7 +27,6 @@
tutti.property.multirigAggregation=Numéro de poche
tutti.property.name=Nom
tutti.property.parameterName=Paramètre
-tutti.property.person=Personne
tutti.property.program=Série de campagne
tutti.property.protocol=Protocol de saisie
tutti.property.refTaxCode=Code RefTax
@@ -42,7 +41,7 @@
tutti.property.zoneLabel=Zone
tutti.propety.no.species.refTaxCode=\#
tutti.propety.no.species.surveyCode=\#
-tutti.propety.no.vessel.internationalRegistrationCode=Immatriculation inconnu
tutti.propety.no.vessel.name=Nom inconnu
tutti.propety.no.zone=Pas de zone
+tutti.propety.vessel.nation.registrationCode=National \: %s
tutti.service.config=Configuration des services de Tutti
1
0