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
- 4058 discussions
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
06 Mar '13
Author: tchemit
Date: 2013-03-06 18:24:40 +0100 (Wed, 06 Mar 2013)
New Revision: 554
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/554
Log:
refs #2075: [TECH] Action longue (probl?\195?\168me de cin?\195?\169matique) (revue des actions qui changent d'?\195?\169cran)
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CloseableUI.java
Modified:
trunk/tutti-ui-swing/
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.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/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/ManageDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.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/CancelEditCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.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/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/ValidateCatchesAction.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/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/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/util/AbstractTuttiUIHandler.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Property changes on: trunk/tutti-ui-swing
___________________________________________________________________
Modified: svn:ignore
- target
.idea
*.ipr
*.iws
*.iml
.project
.classpath
.settings
tutti.config
*.log
+ target
.idea
*.ipr
*.iws
*.iml
.project
.classpath
.settings
tutti.config
*.log
data
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java 2013-03-06 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -68,13 +68,6 @@
EDIT_PROTOCOL,
/**
- * To clone a protocol.
- *
- * @since 0.4
- */
- CLONE_PROTOCOL,
-
- /**
* To open import temporary referential.
*
* @since 1.0
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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -28,29 +28,40 @@
import fr.ifremer.tutti.ui.swing.TuttiScreen;
/**
- * Abstract action defining actions which sets the screen of the application.
+ * Action to change the screen.
+ * <p/>
+ * Will just check that the current screen can be quit via
+ * the {@link MainUIHandler#quitCurrentScreen()}.
+ * <p/>
*
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
public abstract class AbstractChangeScreenAction extends AbstractMainUITuttiAction {
+ protected final TuttiScreen screen;
+
protected AbstractChangeScreenAction(MainUIHandler handler,
String icon,
String text,
String tip,
- boolean hideBody) {
+ boolean hideBody,
+ TuttiScreen screen) {
super(handler, icon, text, tip, hideBody);
+ this.screen = screen;
}
@Override
protected boolean prepareAction() {
boolean result = super.prepareAction();
- result &= getHandler().getCurrentHandler().canCloseUI(getNextScreen());
+ result &= getHandler().quitCurrentScreen();
return result;
}
- /** @return the next screen to display. */
- protected abstract TuttiScreen getNextScreen();
+ @Override
+ protected void doAction() {
+ // change screen
+ getContext().setScreen(screen);
+ }
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -40,15 +40,16 @@
public class EditSelectedCruiseAction extends AbstractChangeScreenAction {
/** Logger. */
- private static final Log log = LogFactory.getLog(EditSelectedCruiseAction.class);
+ private static final Log log =
+ LogFactory.getLog(EditSelectedCruiseAction.class);
public EditSelectedCruiseAction(MainUIHandler handler) {
super(handler,
"cruise",
_("tutti.action.editSelectedCruise"),
_("tutti.action.editSelectedCruise.tip"),
- true
- );
+ true,
+ TuttiScreen.EDIT_CRUISE);
}
@Override
@@ -57,11 +58,6 @@
if (log.isInfoEnabled()) {
log.info("Edit cruise: " + getContext().getCruiseId());
}
- getContext().setScreen(getNextScreen());
+ super.doAction();
}
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.EDIT_CRUISE;
- }
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -27,6 +27,8 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import static org.nuiton.i18n.I18n._;
@@ -38,27 +40,29 @@
*/
public class EditSelectedCruiseCatchesAction extends AbstractChangeScreenAction {
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(EditSelectedCruiseCatchesAction.class);
+
public EditSelectedCruiseCatchesAction(MainUIHandler handler) {
super(handler,
"edit",
_("tutti.action.editCatches"),
_("tutti.action.editCatches.tip"),
- true
- );
+ true,
+ TuttiScreen.EDIT_FISHING_OPERATION);
// setMnemonic('C');
}
@Override
protected void doAction() {
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(getNextScreen());
+ super.doAction();
}
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.EDIT_FISHING_OPERATION;
- }
-
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -47,22 +47,17 @@
"program",
_("tutti.action.editSelectedProgram"),
_("tutti.action.editSelectedProgram.tip"),
- true
- );
+ true,
+ TuttiScreen.EDIT_PROGRAM);
}
@Override
protected void doAction() {
- Preconditions.checkState(getContext().getProgramId() != null);
+ Preconditions.checkState(getContext().isProgramFilled());
if (log.isInfoEnabled()) {
log.info("Edit program: " + getContext().getProgramId());
}
- getContext().setScreen(getNextScreen());
+ super.doAction();
}
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.EDIT_PROGRAM;
- }
-
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -47,8 +47,8 @@
"protocol",
_("tutti.action.editSelectedProtocol"),
_("tutti.action.editSelectedProtocol.tip"),
- true
- );
+ true,
+ TuttiScreen.EDIT_PROTOCOL);
// setMnemonic('P');
}
@@ -58,12 +58,7 @@
if (log.isInfoEnabled()) {
log.info("Edit protocol: " + getContext().getProtocolId());
}
- getContext().setScreen(getNextScreen());
+ super.doAction();
}
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.EDIT_PROTOCOL;
- }
-
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,8 +25,6 @@
*/
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import javax.swing.SwingUtilities;
@@ -40,22 +38,18 @@
*/
public class ImportTemporaryReferentialAction extends AbstractChangeScreenAction {
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(ImportTemporaryReferentialAction.class);
-
public ImportTemporaryReferentialAction(MainUIHandler handler) {
super(handler,
"temporary-referential-import",
_("tutti.action.importTemporaryReferential"),
_("tutti.action.importTemporaryReferential.tip"),
- true
- );
+ true,
+ TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL);
}
@Override
protected void doAction() {
- getContext().setScreen(getNextScreen());
+ super.doAction();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
@@ -64,9 +58,4 @@
});
}
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL;
- }
}
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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -42,6 +42,7 @@
import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI;
import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUI;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
+import fr.ifremer.tutti.ui.swing.util.CloseableUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
import fr.ifremer.tutti.ui.swing.util.action.TuttiUIAction;
@@ -73,8 +74,6 @@
/** Logger. */
private static final Log log = LogFactory.getLog(MainUIHandler.class);
- public static final String CLONE_PROTOCOL = "cloneProtocol";
-
protected JComponent currentBody;
protected PersistenceService persistenceService;
@@ -277,6 +276,23 @@
ui.getValidatorMessageWidget().clearValidators();
}
+ public boolean quitCurrentScreen() {
+
+ TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
+ AbstractTuttiUIHandler<?, ?> handler = body.getHandler();
+ boolean canClose;
+ if (handler instanceof CloseableUI) {
+
+ // try to quit UI
+ canClose = ((CloseableUI) handler).quitUI();
+ } else {
+
+ // can always close ui
+ canClose = true;
+ }
+ return canClose;
+ }
+
public AbstractTuttiUIHandler getCurrentHandler() {
TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
return body.getHandler();
@@ -383,13 +399,6 @@
icon = ui.getMenuActionEditProtocol().getIcon();
break;
- case CLONE_PROTOCOL:
- screenTitle = _("tutti.title.create.protocol");
- ui.setContextValue(true, CLONE_PROTOCOL);
- screenUI = new EditProtocolUI(ui);
- icon = ui.getMenuActionEditProtocol().getIcon();
- break;
-
case EDIT_FISHING_OPERATION:
String validationContext = context.getValidationContext();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ManageDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ManageDbAction.java 2013-03-06 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ManageDbAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,8 +25,6 @@
*/
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import static org.nuiton.i18n.I18n._;
@@ -38,30 +36,14 @@
*/
public class ManageDbAction extends AbstractChangeScreenAction {
- /** Logger. */
- private static final Log log = LogFactory.getLog(ManageDbAction.class);
-
public ManageDbAction(MainUIHandler handler) {
super(handler,
"manage-db",
_("tutti.action.manageDb"),
_("tutti.action.manageDb.tip"),
- true
- );
+ true,
+ TuttiScreen.MANAGE_DB);
// setMnemonic('P');
}
- @Override
- protected void doAction() {
- if (log.isDebugEnabled()) {
- log.debug("open manage db screen");
- }
- getContext().setScreen(getNextScreen());
- }
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.MANAGE_DB;
- }
-
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java 2013-03-06 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -41,19 +41,9 @@
"home",
_("tutti.action.selectCruise"),
_("tutti.action.selectCruise.tip"),
- true
- );
+ true,
+ TuttiScreen.SELECT_CRUISE);
// setMnemonic('S');
}
- @Override
- protected void doAction() {
-// Preconditions.checkNotNull(getContext().isCruiseFilled());
- getContext().setScreen(getNextScreen());
- }
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.SELECT_CRUISE;
- }
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -27,6 +27,8 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import static org.nuiton.i18n.I18n._;
@@ -38,13 +40,17 @@
*/
public class ValidateSelectedCruiseCatchesAction extends AbstractChangeScreenAction {
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ValidateSelectedCruiseCatchesAction.class);
+
public ValidateSelectedCruiseCatchesAction(MainUIHandler handler) {
super(handler,
"validate",
_("tutti.action.validateCatches"),
_("tutti.action.validateCatches.tip"),
- true
- );
+ true,
+ TuttiScreen.EDIT_FISHING_OPERATION);
}
@Override
@@ -52,11 +58,9 @@
Preconditions.checkState(getContext().isCruiseFilled());
getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
getContext().setScreen(null);
- getContext().setScreen(getNextScreen());
+ if (log.isInfoEnabled()) {
+ log.info("Validate catches of cruise: "+getContext().getCruiseId());
+ }
+ super.doAction();
}
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.EDIT_FISHING_OPERATION;
- }
}
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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/CancelEditCruiseAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,31 +25,27 @@
*/
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import static org.nuiton.i18n.I18n._;
/**
- * Cancels the edition of a cruise
+ * Cancels the edition of a cruise.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class CancelEditCruiseAction extends AbstractTuttiAction<EditCruiseUIModel, EditCruiseUI, EditCruiseUIHandler> {
+public class CancelEditCruiseAction extends AbstractChangeScreenAction {
- public CancelEditCruiseAction(EditCruiseUIHandler handler) {
+ public CancelEditCruiseAction(MainUIHandler handler) {
super(handler,
"cancel",
_("tutti.action.cancel.editCruise"),
_("tutti.action.cancel.editCruise.tip"),
- true
+ true,
+ TuttiScreen.SELECT_CRUISE
);
}
- @Override
- protected void doAction() {
-
- getContext().setScreen(TuttiScreen.SELECT_CRUISE);
- }
-
}
\ No newline at end of file
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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -33,15 +33,13 @@
import fr.ifremer.tutti.persistence.entities.referential.Person;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
+import fr.ifremer.tutti.ui.swing.util.CloseableUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import javax.swing.JOptionPane;
-import java.awt.event.ActionEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
@@ -54,7 +52,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.1
*/
-public class EditCruiseUIHandler extends AbstractTuttiUIHandler<EditCruiseUIModel, EditCruiseUI> {
+public class EditCruiseUIHandler extends AbstractTuttiUIHandler<EditCruiseUIModel, EditCruiseUI> implements CloseableUI {
/** Logger. */
private static final Log log = LogFactory.getLog(EditCruiseUIHandler.class);
@@ -228,16 +226,14 @@
}
@Override
- public boolean canCloseUI(TuttiScreen nextScreen) {
- boolean result = true;
- if (getModel().isModify()) {
- int answer = askSaveBeforeLeaving(_("tutti.dialog.askSaveBeforeLeaving.saveCruise"));
- result = answer == JOptionPane.NO_OPTION;
- if (answer == JOptionPane.YES_OPTION) {
- ActionEvent event = new ActionEvent(nextScreen, nextScreen.ordinal(), null);
- doAction(ui.getSaveButton(), event);
- }
- }
+ public boolean quitUI() {
+ boolean result = quitScreen(
+ getModel().isValid(),
+ getModel().isModify(),
+ _("tutti.dialog.askCancelEditBeforeLeaving.saveCruise"),
+ _("tutti.dialog.askSaveBeforeLeaving.saveCruise"),
+ ui.getSaveButton().getAction()
+ );
return result;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java 2013-03-06 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -61,10 +61,16 @@
String jdbcUrl = TuttiPersistenceConfig.getInstance().getJdbcUrl();
+ // clear all caches
+ getContext().getPersistenceService().clearAllCaches();
+
+ // set to not reload a real db
getContext().setDbLoaded(false);
+ // close services + repon a fake persistence service
getHandler().reloadPersistenceService();
+ // clean db context
getContext().clearDbContext();
// make sure title is reloaded
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/CloneProtocolAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -24,10 +24,12 @@
* #L%
*/
-import com.ezware.oxbow.swingbits.util.Preconditions;
+import com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
+import jaxx.runtime.context.JAXXContextEntryDef;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -39,28 +41,42 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class CloneProtocolAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+public class CloneProtocolAction extends AbstractChangeScreenAction {
/** Logger. */
private static final Log log = LogFactory.getLog(CloneProtocolAction.class);
- public CloneProtocolAction(SelectCruiseUIHandler handler) {
+ public static final JAXXContextEntryDef<TuttiProtocol> CLONE_PROTOCOL_ENTRY = new JAXXContextEntryDef<TuttiProtocol>("cloneProtocol", TuttiProtocol.class);
+
+ public CloneProtocolAction(MainUIHandler handler) {
super(handler,
"copy",
_("tutti.action.cloneProtocol"),
_("tutti.action.cloneProtocol.tip"),
- true
+ true,
+ TuttiScreen.EDIT_PROTOCOL
);
}
@Override
protected void doAction() {
- TuttiProtocol protocol = getModel().getProtocol();
- Preconditions.checkNotNull(protocol);
- if (log.isDebugEnabled()) {
- log.debug("Clone protocol: " + protocol.getId());
+ Preconditions.checkState(getContext().isProtocolFilled());
+ if (log.isInfoEnabled()) {
+ log.info("Clone protocol: " + getContext().getProtocolId());
}
- getContext().setProtocolId(protocol.getId());
- getContext().setScreen(TuttiScreen.CLONE_PROTOCOL);
+
+ // get protocol
+ TuttiProtocol protocol = getContext().getPersistenceService().getProtocol(getContext().getProtocolId());
+
+ // remove id
+ protocol.setId(null);
+
+ // store protocol in context
+ CLONE_PROTOCOL_ENTRY.setContextValue(getContext().getMainUI(), protocol);
+
+ // removed selected protocol
+ getContext().setProtocolId(null);
+
+ super.doAction();
}
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -27,7 +27,10 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import static org.nuiton.i18n.I18n._;
@@ -37,14 +40,18 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class EditCatchesAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+public class EditCatchesAction extends AbstractChangeScreenAction {
- public EditCatchesAction(SelectCruiseUIHandler handler) {
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(EditCatchesAction.class);
+
+ public EditCatchesAction(MainUIHandler handler) {
super(handler,
"edit",
_("tutti.action.editCatches"),
_("tutti.action.editCatches.tip"),
- true
+ true,
+ TuttiScreen.EDIT_FISHING_OPERATION
);
}
@@ -52,7 +59,10 @@
protected void doAction() {
Preconditions.checkState(getContext().isProgramFilled());
Preconditions.checkState(getContext().isCruiseFilled());
+ if (log.isInfoEnabled()) {
+ log.info("Edit catches of cruise: " + getContext().getCruiseId());
+ }
getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT);
- getContext().setScreen(TuttiScreen.EDIT_FISHING_OPERATION);
+ super.doAction();
}
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCruiseAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,9 +25,9 @@
*/
import com.google.common.base.Preconditions;
-import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import static org.nuiton.i18n.I18n._;
@@ -37,22 +37,22 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class EditCruiseAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+public class EditCruiseAction extends AbstractChangeScreenAction {
- public EditCruiseAction(SelectCruiseUIHandler handler) {
+ public EditCruiseAction(MainUIHandler handler) {
super(handler,
"edit",
_("tutti.action.editCruise"),
_("tutti.action.editCruise.tip"),
- true
+ true,
+ TuttiScreen.EDIT_CRUISE
);
}
@Override
protected void doAction() {
- Cruise cruise = getModel().getCruise();
- Preconditions.checkNotNull(cruise);
- getContext().setCruiseId(cruise.getId());
- getContext().setScreen(TuttiScreen.EDIT_CRUISE);
+ 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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProgramAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,9 +25,11 @@
*/
import com.google.common.base.Preconditions;
-import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import static org.nuiton.i18n.I18n._;
@@ -37,22 +39,27 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class EditProgramAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+public class EditProgramAction extends AbstractChangeScreenAction {
- public EditProgramAction(SelectCruiseUIHandler handler) {
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(EditProgramAction.class);
+
+ public EditProgramAction(MainUIHandler handler) {
super(handler,
"edit",
_("tutti.action.editProgram"),
_("tutti.action.editProgram.tip"),
- true
+ true,
+ TuttiScreen.EDIT_PROGRAM
);
}
@Override
protected void doAction() {
- Program program = getModel().getProgram();
- Preconditions.checkNotNull(program);
- getContext().setProgramId(program.getId());
- getContext().setScreen(TuttiScreen.EDIT_PROGRAM);
+ Preconditions.checkState(getContext().isProgramFilled());
+ if (log.isInfoEnabled()) {
+ log.info("Edit program: " + getContext().getProgramId());
+ }
+ super.doAction();
}
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProtocolAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,9 +25,9 @@
*/
import com.google.common.base.Preconditions;
-import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -39,28 +39,27 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class EditProtocolAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+public class EditProtocolAction extends AbstractChangeScreenAction {
/** Logger. */
private static final Log log = LogFactory.getLog(EditProtocolAction.class);
- public EditProtocolAction(SelectCruiseUIHandler handler) {
+ public EditProtocolAction(MainUIHandler handler) {
super(handler,
"edit",
_("tutti.action.editProtocol"),
_("tutti.action.editProtocol.tip"),
- true
+ true,
+ TuttiScreen.EDIT_PROTOCOL
);
}
@Override
protected void doAction() {
- TuttiProtocol protocol = getModel().getProtocol();
- Preconditions.checkNotNull(protocol);
+ Preconditions.checkState(getContext().isProtocolFilled());
if (log.isInfoEnabled()) {
- log.info("Edit protocol: " + protocol.getId());
+ log.info("Edit protocol: " + getContext().getProtocolId());
}
- getContext().setProtocolId(protocol.getId());
- getContext().setScreen(TuttiScreen.EDIT_PROTOCOL);
+ super.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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -77,7 +77,7 @@
);
doAction = file != null;
if (doAction) {
- file = TuttiIOUtil.addExtensionIfMissing(file, ".tuttiProtocol$");
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".tuttiProtocol");
}
}
return doAction;
@@ -85,8 +85,8 @@
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -28,8 +28,9 @@
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import jaxx.runtime.context.JAXXContextEntryDef;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -44,7 +45,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class ImportProtocolAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+public class ImportProtocolAction extends AbstractChangeScreenAction {
/** Logger. */
private static final Log log =
@@ -54,12 +55,13 @@
private File file;
- public ImportProtocolAction(SelectCruiseUIHandler handler) {
+ public ImportProtocolAction(MainUIHandler handler) {
super(handler,
"import",
_("tutti.action.importProtocol"),
_("tutti.action.importProtocol.tip"),
- true
+ true,
+ TuttiScreen.EDIT_PROTOCOL
);
}
@@ -85,12 +87,12 @@
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
- protected void doAction() throws Exception {
+ protected void doAction() {
Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
@@ -104,12 +106,14 @@
sendMessage("Protocole [" + protocol.getName() + "] lu depuis le fichier.");
+ // store protocol in context
IMPORT_PROTOCOL_ENTRY.setContextValue(getContext().getMainUI(), protocol);
// remove id
protocol.setId(null);
+ // removed selected protocol
getContext().setProtocolId(null);
- getContext().setScreen(TuttiScreen.EDIT_PROTOCOL);
+ super.doAction();
}
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewCruiseAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,7 +25,8 @@
*/
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import static org.nuiton.i18n.I18n._;
@@ -35,20 +36,21 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class NewCruiseAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+public class NewCruiseAction extends AbstractChangeScreenAction {
- public NewCruiseAction(SelectCruiseUIHandler handler) {
+ public NewCruiseAction(MainUIHandler handler) {
super(handler,
"add",
_("tutti.action.newCruise"),
_("tutti.action.newCruise.tip"),
- true
+ true,
+ TuttiScreen.EDIT_CRUISE
);
}
@Override
protected void doAction() {
getContext().setCruiseId(null);
- getContext().setScreen(TuttiScreen.EDIT_CRUISE);
+ 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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProgramAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,7 +25,8 @@
*/
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import static org.nuiton.i18n.I18n._;
@@ -35,14 +36,15 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class NewProgramAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+public class NewProgramAction extends AbstractChangeScreenAction {
- public NewProgramAction(SelectCruiseUIHandler handler) {
+ public NewProgramAction(MainUIHandler handler) {
super(handler,
"add",
_("tutti.action.newProgram"),
_("tutti.action.newProgram.tip"),
- true
+ true,
+ TuttiScreen.EDIT_PROGRAM
);
}
@@ -50,6 +52,6 @@
protected void doAction() {
getContext().setProgramId(null);
getContext().setCruiseId(null);
- getContext().setScreen(TuttiScreen.EDIT_PROGRAM);
+ 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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProtocolAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,7 +25,8 @@
*/
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import static org.nuiton.i18n.I18n._;
@@ -35,20 +36,21 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class NewProtocolAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+public class NewProtocolAction extends AbstractChangeScreenAction {
- public NewProtocolAction(SelectCruiseUIHandler handler) {
+ public NewProtocolAction(MainUIHandler handler) {
super(handler,
"add",
_("tutti.action.newProtocol"),
_("tutti.action.newProtocol.tip"),
- true
+ true,
+ TuttiScreen.EDIT_PROTOCOL
);
}
@Override
protected void doAction() {
getContext().setProtocolId(null);
- getContext().setScreen(TuttiScreen.EDIT_PROTOCOL);
+ super.doAction();
}
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ValidateCatchesAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -27,7 +27,10 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import static org.nuiton.i18n.I18n._;
@@ -37,14 +40,19 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class ValidateCatchesAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+public class ValidateCatchesAction extends AbstractChangeScreenAction {
- public ValidateCatchesAction(SelectCruiseUIHandler handler) {
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ValidateCatchesAction.class);
+
+ public ValidateCatchesAction(MainUIHandler handler) {
super(handler,
"validate",
_("tutti.action.validateCatches"),
_("tutti.action.validateCatches.tip"),
- true
+ true,
+ TuttiScreen.EDIT_FISHING_OPERATION
);
}
@@ -53,6 +61,9 @@
Preconditions.checkState(getContext().isProgramFilled());
Preconditions.checkState(getContext().isCruiseFilled());
getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
- getContext().setScreen(TuttiScreen.EDIT_FISHING_OPERATION);
+ if (log.isInfoEnabled()) {
+ log.info("Validate catches of cruise: " + getContext().getCruiseId());
+ }
+ super.doAction();
}
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -28,9 +28,9 @@
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
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 jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
@@ -47,7 +47,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.1
*/
-public class FishingOperationsUIHandler extends AbstractTuttiTabContainerUIHandler<FishingOperationsUIModel, FishingOperationsUI> {
+public class FishingOperationsUIHandler extends AbstractTuttiTabContainerUIHandler<FishingOperationsUIModel, FishingOperationsUI> implements CloseableUI {
/** Logger. */
private static final Log log =
@@ -200,15 +200,16 @@
}
@Override
- public boolean canCloseUI(TuttiScreen nextScreen) {
-// boolean result = super.canCloseUI(nextScreen);
+ public boolean quitUI() {
+ //FIXME Make sure this is ok
+// boolean result = super.quitUI(nextScreen);
// try to reset current fishing operation, if afterall the fishing operation still
// there, it means user cancel save operation, so stay here
getUI().getFishingOperationComboBox().setSelectedItem(null);
// getModel().setSelectedFishingOperation(null);
boolean result = getModel().getSelectedFishingOperation() == null;
// if (getTabPanel().getSelectedIndex() == 0) {
-// result = ui.getFishingOperationTabContent().getHandler().canCloseUI(nextScreen);
+// result = ui.getFishingOperationTabContent().getHandler().quitUI(nextScreen);
// }
return result;
}
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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/CancelEditProgramAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,7 +25,8 @@
*/
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import static org.nuiton.i18n.I18n._;
@@ -35,21 +36,16 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class CancelEditProgramAction extends AbstractTuttiAction<EditProgramUIModel, EditProgramUI, EditProgramUIHandler> {
+public class CancelEditProgramAction extends AbstractChangeScreenAction {
- public CancelEditProgramAction(EditProgramUIHandler handler) {
+ public CancelEditProgramAction(MainUIHandler handler) {
super(handler,
"cancel",
_("tutti.action.cancel.editProgram"),
_("tutti.action.cancel.editProgram.tip"),
- true
+ true,
+ TuttiScreen.SELECT_CRUISE
);
}
- @Override
- protected void doAction() {
-
- getContext().setScreen(TuttiScreen.SELECT_CRUISE);
- }
-
}
\ 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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -24,17 +24,16 @@
* #L%
*/
+import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
+import fr.ifremer.tutti.ui.swing.util.CloseableUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import javax.swing.JOptionPane;
-import java.awt.event.ActionEvent;
import java.util.List;
import static org.nuiton.i18n.I18n._;
@@ -45,7 +44,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.1
*/
-public class EditProgramUIHandler extends AbstractTuttiUIHandler<EditProgramUIModel, EditProgramUI> {
+public class EditProgramUIHandler extends AbstractTuttiUIHandler<EditProgramUIModel, EditProgramUI> implements CloseableUI {
/** Logger. */
private static final Log log =
@@ -70,7 +69,7 @@
//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 = persistenceService.getAllProgram();
+ List<Program> programs = Lists.newArrayList(persistenceService.getAllProgram());
model.setExistingPrograms(programs);
@@ -126,16 +125,14 @@
}
@Override
- public boolean canCloseUI(TuttiScreen nextScreen) {
- boolean result = true;
- if (getModel().isModify()) {
- int answer = askSaveBeforeLeaving(_("tutti.dialog.askSaveBeforeLeaving.saveProgram"));
- result = answer == JOptionPane.NO_OPTION;
- if (answer == JOptionPane.YES_OPTION) {
- ActionEvent event = new ActionEvent(nextScreen, nextScreen.ordinal(), null);
- doAction(ui.getSaveButton(), event);
- }
- }
+ public boolean quitUI() {
+ boolean result = quitScreen(
+ getModel().isValid(),
+ getModel().isModify(),
+ _("tutti.dialog.askCancelEditBeforeLeaving.saveProgram"),
+ _("tutti.dialog.askSaveBeforeLeaving.saveProgram"),
+ ui.getSaveButton().getAction()
+ );
return result;
}
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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CancelEditProtocolAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -25,7 +25,8 @@
*/
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import static org.nuiton.i18n.I18n._;
@@ -35,21 +36,15 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class CancelEditProtocolAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
+public class CancelEditProtocolAction extends AbstractChangeScreenAction {
- public CancelEditProtocolAction(EditProtocolUIHandler handler) {
+ public CancelEditProtocolAction(MainUIHandler handler) {
super(handler,
"cancel",
_("tutti.action.cancel.editProtocol"),
_("tutti.action.cancel.editProtocol.tip"),
- true
- );
+ true,
+ TuttiScreen.SELECT_CRUISE);
}
- @Override
- protected void doAction() {
-
- getContext().setScreen(TuttiScreen.SELECT_CRUISE);
- }
-
}
\ 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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -32,11 +32,11 @@
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
+import fr.ifremer.tutti.ui.swing.content.home.CloneProtocolAction;
import fr.ifremer.tutti.ui.swing.content.home.ImportProtocolAction;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SelectSpeciesUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SelectSpeciesUIModel;
+import fr.ifremer.tutti.ui.swing.util.CloseableUI;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
@@ -55,10 +55,8 @@
import org.nuiton.util.decorator.Decorator;
import javax.swing.JComboBox;
-import javax.swing.JOptionPane;
import javax.swing.table.TableColumnModel;
import java.awt.Dimension;
-import java.awt.event.ActionEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Collection;
@@ -72,7 +70,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
-public class EditProtocolUIHandler extends AbstractTuttiTableUIHandler<EditProtocolSpeciesRowModel, EditProtocolUIModel, EditProtocolUI> {
+public class EditProtocolUIHandler extends AbstractTuttiTableUIHandler<EditProtocolSpeciesRowModel, EditProtocolUIModel, EditProtocolUI> implements CloseableUI {
/** Logger. */
private static final Log log =
@@ -188,48 +186,44 @@
EditProtocolUIModel model = getModel();
- TuttiProtocol protocol = ImportProtocolAction.IMPORT_PROTOCOL_ENTRY.getContextValue(ui);
+ TuttiProtocol protocol;
- if (protocol != null) {
+ if (context.isProtocolFilled()) {
- // import a protocol
+ // load existing protocol
- ImportProtocolAction.IMPORT_PROTOCOL_ENTRY.removeContextValue(ui);
+ protocol = persistenceService.getProtocol(context.getProtocolId());
model.fromBean(protocol);
- model.setImported(true);
- ui.getSaveWarning().setText(_("tutti.label.protocol.import.warning"));
+ log.debug(model.getExistingProtocols());
+ model.getExistingProtocols().remove(protocol);
- } else {
+ } else if ((protocol = ImportProtocolAction.IMPORT_PROTOCOL_ENTRY.getContextValue(ui)) != null) {
- // load protocol if existing
+ // import protocol
- if (context.isProtocolFilled()) {
+ ImportProtocolAction.IMPORT_PROTOCOL_ENTRY.removeContextValue(ui);
- // load existing protocol
- protocol = persistenceService.getProtocol(context.getProtocolId());
- Boolean mustClone = ui.getContextValue(Boolean.class, MainUIHandler.CLONE_PROTOCOL);
+ model.fromBean(protocol);
+ model.setImported(true);
+ ui.getSaveWarning().setText(_("tutti.label.protocol.import.warning"));
- model.fromBean(protocol);
- if (mustClone != null && mustClone) {
- ui.setContextValue(false, MainUIHandler.CLONE_PROTOCOL);
- model.setId(null);
- model.setCloned(true);
+ } else if ((protocol = CloneProtocolAction.CLONE_PROTOCOL_ENTRY.getContextValue(ui)) != null) {
- ui.getSaveWarning().setText(_("tutti.label.protocol.clone.warning"));
+ // clone protocol
- } else {
- log.debug(model.getExistingProtocols());
- model.getExistingProtocols().remove(protocol);
- }
+ CloneProtocolAction.CLONE_PROTOCOL_ENTRY.getContextValue(ui);
- } else {
+ model.fromBean(protocol);
+ model.setCloned(true);
+ ui.getSaveWarning().setText(_("tutti.label.protocol.clone.warning"));
- // create new protocol
+ } else {
- if (log.isDebugEnabled()) {
- log.debug("Will create a new protocol");
- }
+ // create new protocol
+
+ if (log.isDebugEnabled()) {
+ log.debug("Will create a new protocol");
}
}
@@ -364,19 +358,18 @@
}
@Override
- public boolean canCloseUI(TuttiScreen nextScreen) {
- boolean result = true;
- if (getModel().isModify()) {
- int answer = askSaveBeforeLeaving(_("tutti.dialog.askSaveBeforeLeaving.saveProtocol"));
- result = answer == JOptionPane.NO_OPTION;
- if (answer == JOptionPane.YES_OPTION) {
- ActionEvent event = new ActionEvent(nextScreen, nextScreen.ordinal(), null);
- doAction(ui.getSaveButton(), event);
- }
- }
+ public boolean quitUI() {
+ boolean result = quitScreen(
+ getModel().isValid(),
+ getModel().isModify(),
+ _("tutti.dialog.askCancelEditBeforeLeaving.cancelSaveProtocol"),
+ _("tutti.dialog.askSaveBeforeLeaving.saveProtocol"),
+ ui.getSaveButton().getAction()
+ );
return result;
}
+
@Override
protected void onAfterSelectedRowChanged(int oldRowIndex,
EditProtocolSpeciesRowModel oldRow,
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -68,15 +68,14 @@
EditProtocolUIModel model = getModel();
TuttiUIContext context = getContext();
- PersistenceService persistenceService =
- context.getPersistenceService();
+ PersistenceService persistenceService = context.getPersistenceService();
TuttiProtocol bean = model.toBean();
// get the species protocols from the table
List<SpeciesProtocol> protocols = Lists.newArrayList();
- for (EditProtocolSpeciesRowModel row : handler.getTableModel().getRows()) {
+ for (EditProtocolSpeciesRowModel row : model.getRows()) {
if (row.isValid()) {
SpeciesProtocol protocol = row.toBean();
protocols.add(protocol);
@@ -99,14 +98,7 @@
context.setProtocolId(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);
+ model.setModify(false);
}
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 17:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SelectOtherSpeciesAction.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -27,7 +27,6 @@
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.content.operation.catches.species.split.AddSpeciesAction;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -45,7 +44,8 @@
public class SelectOtherSpeciesAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
/** Logger. */
- private static final Log log = LogFactory.getLog(AddSpeciesAction.class);
+ private static final Log log =
+ LogFactory.getLog(SelectOtherSpeciesAction.class);
protected Species selectedSpecies;
@@ -61,14 +61,19 @@
@Override
protected boolean prepareAction() {
boolean result = super.prepareAction();
- EditProtocolUIModel model = getModel();
+ if (result) {
+ EditProtocolUIModel model = getModel();
- List<Species> species = Lists.newArrayList(model.getAllSynonyms());
+ List<Species> species = Lists.newArrayList(model.getAllSynonyms());
- selectedSpecies = getHandler().openSelectOtherSpeciesDialog(
- _("tutti.title.selectSpecies"), species);
+ selectedSpecies = getHandler().openSelectOtherSpeciesDialog(
+ _("tutti.title.selectSpecies"), species);
- result &= selectedSpecies != null;
+ if (log.isInfoEnabled()) {
+ log.info("SelectedSpecies: " + selectedSpecies);
+ }
+ result = selectedSpecies != null;
+ }
return result;
}
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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -30,7 +30,6 @@
import fr.ifremer.tutti.persistence.entities.IdAware;
import fr.ifremer.tutti.service.DecoratorService;
import fr.ifremer.tutti.ui.swing.TuttiDataContext;
-import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction;
@@ -72,7 +71,6 @@
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.text.JTextComponent;
-import java.awt.Color;
import java.awt.Component;
import java.awt.Dialog;
import java.awt.Dimension;
@@ -180,18 +178,6 @@
return context.getConfig();
}
- /**
- * Can the UI be closed? It is useful whe the user wants to exit the current
- * screen but the model is modified: we can then ask the user if he wants to
- * save or not.
- *
- * @param nextScreen the next screen to display
- * @return {@code true} if UI can be closed, {@code false} otherwise.
- */
- public boolean canCloseUI(TuttiScreen nextScreen) {
- return true;
- }
-
public void setText(KeyEvent event, String property) {
JTextComponent field = (JTextComponent) event.getSource();
String value = field.getText();
@@ -405,6 +391,48 @@
button.getAction().actionPerformed(event);
}
+ protected boolean quitScreen(boolean modelIsValid,
+ boolean modelIsModify,
+ String askGiveUpMessage,
+ String askSaveMessage,
+ Action saveAction) {
+ boolean result;
+
+ if (!modelIsValid) {
+
+ // model is not valid
+ // ask user to qui or not
+ result = askCancelEditBeforeLeaving(askGiveUpMessage);
+
+ } else if (modelIsModify) {
+
+ // something is modify ask user what to do
+ int answer = askSaveBeforeLeaving(askSaveMessage);
+ switch (answer) {
+ case JOptionPane.YES_OPTION:
+
+ // ok save
+ saveAction.actionPerformed(null);
+ result = true;
+ break;
+ case JOptionPane.NO_OPTION:
+
+ // do not save but can still quit the screen (so nothing to do)
+ result = true;
+ break;
+ default:
+ // do not save and stay here (so nothing to do)
+ result = false;
+
+ }
+ } else {
+
+ // model is valid and not modify, can safely quit screen
+ result = true;
+ }
+ return result;
+ }
+
protected void registerValidators(SwingValidator... validators) {
MainUI main = context.getMainUI();
Preconditions.checkNotNull(
Added: 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 (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CloseableUI.java 2013-03-06 17:24:40 UTC (rev 554)
@@ -0,0 +1,18 @@
+package fr.ifremer.tutti.ui.swing.util;
+
+/**
+ * Contract to close an ui.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0.2
+ */
+public interface CloseableUI {
+
+ /**
+ * Try to quit UI.
+ *
+ * @return {@code true} if ui is safe to quit, {@code false} otherwise
+ * (means must stay on it).
+ */
+ boolean quitUI();
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CloseableUI.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
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:22:48 UTC (rev 553)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-06 17:24:40 UTC (rev 554)
@@ -181,6 +181,9 @@
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.title=Modifications non enregistrées mais invalides
tutti.dialog.askOverwriteFile.message=Le fichier %s existe déjà, confirmer pour l'écraser.
tutti.dialog.askOverwriteFile.title=Confirmer l'écrasement d'un fichier...
@@ -346,8 +349,7 @@
tutti.label.tab.fishingOperation=Trait
tutti.label.tab.fishingOperation.gearUseFeature=Mise en oeuvre de l'engin
tutti.label.tab.fishingOperation.general=Trait
-tutti.label.tab.fishingOperation.hydrology=Paramètres hydrologiques
-tutti.label.tab.fishingOperation.vesselUseFeature=Autres caractéristiques
+tutti.label.tab.fishingOperation.vesselUseFeature=Hydrologie et paramètres environnementaux
tutti.label.tab.macroDechet=Macro déchets
tutti.label.tab.observationIndividuel=Observations individuelles
tutti.label.tab.plancton=Plancton
1
0
r553 - trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation
by kmorin@users.forge.codelutin.com 06 Mar '13
by kmorin@users.forge.codelutin.com 06 Mar '13
06 Mar '13
Author: kmorin
Date: 2013-03-06 18:22:48 +0100 (Wed, 06 Mar 2013)
New Revision: 553
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/553
Log:
refs #2014 [TRAIT] Cr?\195?\169ation du trait - bug controle "la date de fin doit ?\195?\170tre apr?\195?\168s la date de d?\195?\169but"
Modified:
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml 2013-03-06 17:10:04 UTC (rev 552)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml 2013-03-06 17:22:48 UTC (rev 553)
@@ -96,7 +96,7 @@
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
- <![CDATA[ gearShootingEndDate == null || gearShootingStartDate.before(gearShootingEndDate) ]]>
+ <![CDATA[ gearShootingEndDate == null || !gearShootingStartDate.after(gearShootingEndDate) ]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message>
</field-validator>
@@ -107,7 +107,7 @@
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
- <![CDATA[ gearShootingEndDate == null || gearShootingStartDate == null || gearShootingStartDate.before(gearShootingEndDate) ]]>
+ <![CDATA[ gearShootingEndDate == null || gearShootingStartDate == null || !gearShootingStartDate.after(gearShootingEndDate) ]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message>
</field-validator>
1
0
r552 - in trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence: entities/data service
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:10:04 +0100 (Wed, 06 Mar 2013)
New Revision: 552
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/552
Log:
improve some technical code
Added:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryEnum.java
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
Added: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryEnum.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryEnum.java (rev 0)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryEnum.java 2013-03-06 17:10:04 UTC (rev 552)
@@ -0,0 +1,76 @@
+package fr.ifremer.tutti.persistence.entities.data;
+
+/*
+ * #%L
+ * Tutti :: Persistence
+ * $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 com.google.common.base.Preconditions;
+import fr.ifremer.tutti.persistence.service.TuttiEnumerationFile;
+
+public enum SampleCategoryEnum implements TuttiEnumerationFile.TuttiEnumerable<Integer> {
+
+ sortedUnsorted("PMFM_ID_SORTED_UNSORTED"),
+ size("PMFM_ID_SIZE_CATEGORY"),
+ sex("PMFM_ID_SEX"),
+ maturity("PMFM_ID_MATURITY"),
+ age("PMFM_ID_AGE");
+
+ private final String fieldName;
+
+ private Integer fieldValue;
+
+ private boolean init;
+
+ SampleCategoryEnum(String fieldName) {
+ this.fieldName = fieldName;
+ }
+
+ @Override
+ public String getFieldName() {
+ return fieldName;
+ }
+
+ @Override
+ public Integer getFieldValue() {
+ Preconditions.checkState(
+ isInit(),
+ "Enumeration " + getClass() + " was not init!");
+ return fieldValue;
+ }
+
+ @Override
+ public void setFieldValue(Object fieldValue) {
+ this.fieldValue = (Integer) fieldValue;
+ }
+
+ @Override
+ public boolean isInit() {
+ return init;
+ }
+
+ @Override
+ public void setInit(boolean init) {
+ this.init = init;
+ }
+} //SampleCategoryEnum
Property changes on: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryEnum.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java 2013-03-06 17:10:04 UTC (rev 552)
@@ -791,7 +791,7 @@
sm = catchBatchDao.getInheritedSortingMeasurement(source, enumeration.PMFM_ID_SORTED_UNSORTED);
}
if (sm != null) {
- SampleCategoryEnum sampleCategory = referentialService.getSampleCategoryByPmfmId(sm.getPmfm().getId());
+ SampleCategoryEnum sampleCategory = enumeration.getSampleCategoryByPmfmId(sm.getPmfm().getId());
if (sampleCategory != null) {
setSampleCategoryQualitative(target, sm.getPmfm().getId(), sm.getNumericalValue(), sm.getAlphanumericalValue(), sm.getQualitativeValue().getId());
}
@@ -1039,7 +1039,7 @@
return;
}
- SampleCategoryEnum sampleCategory = referentialService.getSampleCategoryByPmfmId(pmfmId);
+ SampleCategoryEnum sampleCategory = enumeration.getSampleCategoryByPmfmId(pmfmId);
Preconditions.checkNotNull(sampleCategory, "Unable to find corresponding SampleCategoryEnum for PMFM.ID : " + pmfmId);
target.setSampleCategoryType(sampleCategory);
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-03-06 16:05:03 UTC (rev 551)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-03-06 17:10:04 UTC (rev 552)
@@ -218,8 +218,6 @@
boolean isSortedQualitativeValue(CaracteristicQualitativeValue value);
- List<Integer> getSampleCategoryIds();
-
/**
* Import given temporary species.
*
@@ -259,14 +257,4 @@
@Transactional(readOnly = false)
@CacheEvict(value = "gears", allEntries = true)
List<Gear> importTemporaryGear(List<Gear> gears);
-
-
- /**
- * Convert a PMFM ID into a SampleCategoryEnum.<br/>
- * This method will typically use enumeration values, to compare with the given pmfmId.
- *
- * @param pmfmId a Id of a PMFM
- * @return a SampleCategoryEnum, or null if the PMFM is not mapped
- */
- SampleCategoryEnum getSampleCategoryByPmfmId(Integer pmfmId);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-03-06 17:10:04 UTC (rev 552)
@@ -35,7 +35,6 @@
import fr.ifremer.adagio.core.dao.referential.taxon.TaxonRefTaxVO;
import fr.ifremer.adagio.core.service.technical.CacheService;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
-import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum;
import fr.ifremer.tutti.persistence.entities.referential.AbstractTuttiReferentialEntity;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
@@ -446,7 +445,7 @@
Integer pmfmId = (Integer) source[0];
Caracteristic target = loadCaracteristic(source);
// Skip some protected PSFM
- if (!isProtectedCaracteristic(pmfmId)) {
+ if (!enumeration.isProtectedCaracteristic(pmfmId)) {
result.add(target);
}
pmfmByIdCache.put(pmfmId, target);
@@ -843,51 +842,22 @@
entity.setStatus(newStatus);
}
- /**
- * Return list of protected pmfm for sample category
- * (i.e. to check the validity of a existing batch tree)
- *
- * @return
- */
- public List<Integer> getSampleCategoryIds() {
- return Lists.newArrayList(enumeration.PMFM_ID_SORTED_UNSORTED
- , enumeration.PMFM_ID_SIZE_CATEGORY
- , enumeration.PMFM_ID_MATURITY
- , enumeration.PMFM_ID_SEX
- , enumeration.PMFM_ID_AGE);
- }
-
- /**
- * Return true if the pmfm should NOT be used for caracteristics lists
- * (i.e. because used somewhere when storing some properties into the database)
- *
- * @param pmfmId
- * @return
- */
- protected boolean isProtectedCaracteristic(Integer pmfmId) {
- return pmfmId.equals(enumeration.PMFM_ID_MULTIRIG_AGGREGATION)
- || pmfmId.equals(enumeration.PMFM_ID_MULTIRIG_NUMBER)
- || pmfmId.equals(enumeration.PMFM_ID_STATION_NUMBER)
- || pmfmId.equals(enumeration.PMFM_ID_RECTILINEAR_OPERATION)
- || pmfmId.equals(enumeration.PMFM_ID_HAUL_VALID)
- || pmfmId.equals(enumeration.PMFM_ID_TRAWL_DISTANCE);
- }
-
- @Override
- public SampleCategoryEnum getSampleCategoryByPmfmId(Integer pmfmId) {
- if (pmfmId == null) return null;
- SampleCategoryEnum sampleCategory = null;
- if (pmfmId.intValue() == enumeration.PMFM_ID_SORTED_UNSORTED.intValue()) {
- sampleCategory = SampleCategoryEnum.sortedUnsorted;
- } else if (enumeration.PMFM_ID_SIZE_CATEGORY.equals(pmfmId)) {
- sampleCategory = SampleCategoryEnum.size;
- } else if (enumeration.PMFM_ID_MATURITY.equals(pmfmId)) {
- sampleCategory = SampleCategoryEnum.maturity;
- } else if (enumeration.PMFM_ID_SEX.equals(pmfmId)) {
- sampleCategory = SampleCategoryEnum.sex;
- } else if (enumeration.PMFM_ID_AGE.equals(pmfmId)) {
- sampleCategory = SampleCategoryEnum.age;
- }
- return sampleCategory;
- }
+// @Override
+// public SampleCategoryEnum getSampleCategoryByPmfmId(Integer pmfmId) {
+//
+// if (pmfmId == null) return null;
+// SampleCategoryEnum sampleCategory = null;
+// if (pmfmId.intValue() == enumeration.PMFM_ID_SORTED_UNSORTED.intValue()) {
+// sampleCategory = SampleCategoryEnum.sortedUnsorted;
+// } else if (enumeration.PMFM_ID_SIZE_CATEGORY.equals(pmfmId)) {
+// sampleCategory = SampleCategoryEnum.size;
+// } else if (enumeration.PMFM_ID_MATURITY.equals(pmfmId)) {
+// sampleCategory = SampleCategoryEnum.maturity;
+// } else if (enumeration.PMFM_ID_SEX.equals(pmfmId)) {
+// sampleCategory = SampleCategoryEnum.sex;
+// } else if (enumeration.PMFM_ID_AGE.equals(pmfmId)) {
+// sampleCategory = SampleCategoryEnum.age;
+// }
+// return sampleCategory;
+// }
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2013-03-06 16:05:03 UTC (rev 551)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2013-03-06 17:10:04 UTC (rev 552)
@@ -26,12 +26,15 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
+import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.ReflectionUtils;
import java.lang.reflect.Field;
import java.util.Map;
+import java.util.Set;
/**
* Contains all constants usable via the enumeration file.
@@ -241,6 +244,10 @@
void setInit(boolean init);
}
+ protected Set<Integer> propertedPmfmIds;
+
+ protected Map<Integer, SampleCategoryEnum> pmfmIdToSampleCategory;
+
public void init() {
Map<String, Object> annotatedFieldValues = Maps.newTreeMap();
@@ -263,8 +270,53 @@
// init enums
initEnum(AttachementObjectTypeEnum.class, annotatedFieldValues);
+ initEnum(SampleCategoryEnum.class, annotatedFieldValues);
+
+ // init protected pmfm ids
+ propertedPmfmIds = Sets.newHashSet(
+ PMFM_ID_MULTIRIG_AGGREGATION,
+ PMFM_ID_MULTIRIG_NUMBER,
+ PMFM_ID_STATION_NUMBER,
+ PMFM_ID_RECTILINEAR_OPERATION,
+ PMFM_ID_HAUL_VALID,
+ PMFM_ID_TRAWL_DISTANCE,
+ PMFM_ID_SURVEY_PART,
+ PMFM_ID_MEASUREMENT_FILE,
+ PMFM_ID_SORTED_UNSORTED,
+ PMFM_ID_SIZE_CATEGORY,
+ PMFM_ID_MATURITY,
+ PMFM_ID_SEX,
+ PMFM_ID_AGE
+ );
+
+ pmfmIdToSampleCategory = Maps.newTreeMap();
+ for (SampleCategoryEnum type : SampleCategoryEnum.values()) {
+ pmfmIdToSampleCategory.put(type.getFieldValue(), type);
+ }
}
+ /**
+ * @param pmfmId id of pmfm to test
+ * @return {@code true} if the pmfm should NOT be used for caracteristics lists
+ * (i.e. because used somewhere when storing some properties into the database)
+ */
+ public boolean isProtectedCaracteristic(Integer pmfmId) {
+ return propertedPmfmIds.contains(pmfmId);
+ }
+
+
+ /**
+ * Convert a PMFM ID into a SampleCategoryEnum.<br/>
+ * This method will typically use enumeration values, to compare with the given pmfmId.
+ *
+ * @param pmfmId a Id of a PMFM
+ * @return a SampleCategoryEnum, or null if the PMFM is not mapped
+ */
+ public SampleCategoryEnum getSampleCategoryByPmfmId(Integer pmfmId) {
+ SampleCategoryEnum result = pmfmIdToSampleCategory.get(pmfmId);
+ return result;
+ }
+
protected <O, E extends Enum<E> & TuttiEnumerable<O>> void initEnum(
Class<E> enumType,
Map<String, Object> annotatedFieldValues) {
1
0
r551 - trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service
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 17:05:03 +0100 (Wed, 06 Mar 2013)
New Revision: 551
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/551
Log:
fixes #2083: [TECH] Ne pas rendre modifiable les listes retourn?\195?\169es dans la couche persistence.
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551)
@@ -45,6 +45,7 @@
import javax.annotation.Resource;
import java.io.File;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -100,7 +101,7 @@
loadAttachment(source, target);
result.add(target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551)
@@ -64,6 +64,7 @@
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -323,50 +324,6 @@
return result;
}
-// @Override
-// public List<SpeciesBatch> getAllRootSpeciesBatch(String fishingOperationId) {
-//
-// // Load batch tree
-// Integer catchBatchId = catchBatchDao.getIdByFishingOperationId(Integer.valueOf(fishingOperationId));
-// fr.ifremer.adagio.core.dao.data.batch.CatchBatch catchBatch = catchBatchDao.loadFullTree(catchBatchId);
-//
-// List<SpeciesBatch> result = new ArrayList<SpeciesBatch>();
-//
-// // Vrac / Species
-// SortingBatch vracSpeciesBatch = catchBatchDao.getSortingBatch(catchBatch.getChildBatchs(),
-// "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_VRAC_ID,
-// "pmfmId", enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
-// for (Batch batch1 : vracSpeciesBatch.getChildBatchs()) {
-// SortingBatch source = (SortingBatch) batch1;
-//
-// // evict some special batches : Life (or Biota) and Inert
-// if (source.getReferenceTaxon() != null
-// && !enumeration.REFERENCE_TAXON_ID_LIFE.equals(source.getReferenceTaxon().getId())
-// && !enumeration.REFERENCE_TAXON_ID_INERT.equals(source.getReferenceTaxon().getId())) {
-// SpeciesBatch target = new SpeciesBatch();
-//
-// entityToBean(source, target);
-// result.add(target);
-// }
-// }
-//
-// // Hors-Vrac / Species
-// SortingBatch horsVracSpeciesBatch = catchBatchDao.getSortingBatch(catchBatch.getChildBatchs(),
-// "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_HORS_VRAC_ID,
-// "pmfmId", enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
-// if (horsVracSpeciesBatch != null) {
-// for (Batch batch : horsVracSpeciesBatch.getChildBatchs()) {
-// SortingBatch source = (SortingBatch) batch;
-//
-// SpeciesBatch target = new SpeciesBatch();
-//
-// entityToBean(source, target);
-// result.add(target);
-// }
-// }
-// return result;
-// }
-
@Override
public SpeciesBatch createSpeciesBatch(SpeciesBatch bean,
String parentBatchId) {
@@ -467,7 +424,7 @@
entityToBean(source, target);
results.add(target);
}
- return results;
+ return Collections.unmodifiableList(results);
}
@Override
@@ -558,7 +515,7 @@
getCurrentSession().flush();
- return notNullFrequencies;
+ return Collections.unmodifiableList(notNullFrequencies);
}
//------------------------------------------------------------------------//
@@ -605,7 +562,7 @@
result.add(target);
}
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -715,7 +672,7 @@
entityToBean(source, target);
results.add(target);
}
- return results;
+ return Collections.unmodifiableList(results);
}
@Override
@@ -799,7 +756,7 @@
getCurrentSession().flush();
- return frequencies;
+ return Collections.unmodifiableList(frequencies);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551)
@@ -69,6 +69,7 @@
import java.sql.Timestamp;
import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
@@ -143,7 +144,7 @@
target.setBeginDate((Date) source[2]);
result.add(target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551)
@@ -81,6 +81,7 @@
import java.sql.Timestamp;
import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
@@ -136,7 +137,7 @@
"pmfmIdMultirigAggregation", IntegerType.INSTANCE, enumeration.PMFM_ID_MULTIRIG_AGGREGATION
);
- List<FishingOperation> fishingOperations = new ArrayList<FishingOperation>();
+ List<FishingOperation> result = new ArrayList<FishingOperation>();
int fishingOperationRankOrder = 0;
while (list.hasNext()) {
Object[] source = list.next();
@@ -190,9 +191,9 @@
fishingOperation.setMultirigAggregation("1");
}
- fishingOperations.add(fishingOperation);
+ result.add(fishingOperation);
}
- return fishingOperations;
+ return Collections.unmodifiableList(result);
}
@Override
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551)
@@ -42,6 +42,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -87,7 +88,7 @@
loadProgram(target, source);
result.add(target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551)
@@ -39,6 +39,7 @@
import java.io.File;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import java.util.UUID;
@@ -77,7 +78,7 @@
result.add(fileName.substring(0,
fileName.length() - suffixLength));
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -87,7 +88,7 @@
for (TuttiProtocol protocol : getAllProtocol()) {
result.add(protocol.getName());
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -97,7 +98,7 @@
TuttiProtocol protocol = getProtocol(id);
result.add(protocol);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-03-06 15:21:55 UTC (rev 550)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-03-06 16:05:03 UTC (rev 551)
@@ -61,6 +61,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -125,7 +126,7 @@
setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], target);
result.add(target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -144,7 +145,7 @@
setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], target);
result.add(target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -154,7 +155,7 @@
enumeration.LOCATION_LEVEL_ID_STRATA,
Integer.valueOf(zoneId),
enumeration.LOCATION_LEVEL_ID_PROGRAM);
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -182,7 +183,7 @@
enumeration.LOCATION_LEVEL_ID_SUB_STRATA,
Integer.valueOf(parentId),
parentLocationLevelId);
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -217,7 +218,7 @@
enumeration.LOCATION_LEVEL_ID_LOCALITE,
Integer.valueOf(parentId),
parentLocationLevelId);
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -258,7 +259,7 @@
// Add to cache
vesselByCodeCache.put(target.getId(), target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -281,7 +282,7 @@
// Add to cache
vesselByCodeCache.put(target.getId(), target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -316,7 +317,7 @@
Gear target = loadGear(source, true);
result.add(target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -330,7 +331,7 @@
Gear target = loadGear(source, false);
result.add(target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -347,7 +348,7 @@
Person target = loadPerson(source);
result.add(target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -400,7 +401,7 @@
Cache allReferentSpeciesCache = cacheService.getCache("referentSpecies");
allReferentSpeciesCache.put("", referenceTaxonsOnly);
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -417,7 +418,7 @@
result.add(target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -450,7 +451,7 @@
}
pmfmByIdCache.put(pmfmId, target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -465,7 +466,7 @@
cache.put(code, target);
result.add(target);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -485,7 +486,7 @@
result.add(caracteristic);
}
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -555,7 +556,7 @@
source = importTemporarySpecies(source);
result.add(source);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -576,7 +577,7 @@
source = importTemporaryVessel(source, countryLocationId, status);
result.add(source);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -589,7 +590,7 @@
source = importTemporaryPerson(source, status);
result.add(source);
}
- return result;
+ return Collections.unmodifiableList(result);
}
@Override
@@ -602,7 +603,7 @@
source = importTemporaryGear(source, status);
result.add(source);
}
- return result;
+ return Collections.unmodifiableList(result);
}
//------------------------------------------------------------------------//
@@ -698,28 +699,6 @@
return result;
}
- protected List<FishingOperationLocation> getFishingOperationLocations(Integer locationLevelId) {
- Iterator<Object[]> sources = queryListWithStatus(
- "allFishingOperationLocation",
- "locationClassificationId", IntegerType.INSTANCE, enumeration.LOCATION_CLASSIFICATION_ID_SECTOR,
- "locationLevelId", IntegerType.INSTANCE, locationLevelId
- );
- List<FishingOperationLocation> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- FishingOperationLocation target = new FishingOperationLocation();
- target.setId(String.valueOf(source[0]));
- target.setLabel((String) source[1]);
- target.setName((String) source[2]);
-// target.setDescription((String)source[3]);
- target.setLocationLevel((Integer) source[3]);
-
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target);
- result.add(target);
- }
- return result;
- }
-
protected List<FishingOperationLocation> getFishingOperationLocationsByParent(Integer locationLevelId, Integer parentId, Integer parentLocationLevelId) {
Iterator<Object[]> sources = queryListWithStatus(
"allFishingOperationLocationByParent",
1
0