Tutti-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
March 2013
- 5 participants
- 242 discussions
01 Mar '13
See <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/419/…>
Changes:
[Tony Chemit] improve action api
reformat some code
------------------------------------------
projectStarted fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 1.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma… (2 KB at 2.8 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 2.6 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.11-…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.11-… (808 B at 3.5 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.… (808 B at 3.2 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-valid…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-… (2 KB at 13.5 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-valid… (2 KB at 2.6 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 9.9 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru… (2 KB at 9.2 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 2.6 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va… (2 KB at 2.6 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 6.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi… (2 KB at 6.0 KB/sec)
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.nuiton.jaxx:jaxx-maven-plugin:2.5.11-SNAPSHOT(default)
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.11-SNAPSHOT:generate (default) @ tutti-ui-swing ---
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 15.9 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 8.9 KB/sec)
[INFO] use project compile scope class-path
[INFO] Detects 28 modified jaxx file(s).
[WARNING] JAXX detects 4 warnings :
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'text' in component 'filterSpeciesBatchRootButton' : [_("tutti.label.filterSpeciesBatchMode.mode.root", model.getRootNumber())]
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'text' in component 'gearLatitudeLabel' : [_("tutti.label.fishingOperation.gearLatitude", ((CoordinateEditorType)handler.getConfig().getCoordinateEditorType()).toString())]
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'text' in component 'gearLongitudeLabel' : [_("tutti.label.fishingOperation.gearLongitude", ((CoordinateEditorType)handler.getConfig().getCoordinateEditorType()).toString())]
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'toolTipText' in component 'trawlDistanceField' : [model.getTrawlDistance() != null ? _("tutti.tooltip.distanceInMilles", TuttiUIUtil.getDistanceInMilles(model.getTrawlDistance())) : null]
[INFO] Generated 28 file(s) in 43.857s
mojoSucceeded org.nuiton.jaxx:jaxx-maven-plugin:2.5.11-SNAPSHOT(default)
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserJava (scan-sources) @ tutti-ui-swing ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(get)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:get (get) @ tutti-ui-swing ---
[INFO] Copying tutti-ui-swing.properties to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(get)
forkedProjectSucceeded fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 83/600 empty entries! (use -Di18n.showEmpty to see these entries)
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(collect-i18n-artifacts)[INFO] collected 10 i18n artifacts for locale fr_FR stored in <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO]
[INFO] --- i18n-maven-plugin:2.5:collect-i18n-artifacts (collect-i18n-artifacts) @ tutti-ui-swing ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(collect-i18n-artifacts)
forkedProjectSucceeded fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(make-bundle)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 92/862 empty entries! (use -Di18n.showEmpty to see these entries)
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(make-bundle)
mojoStarted org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
[INFO]
[INFO] --- license-maven-plugin:1.4:update-project-license (attach-licenses) @ tutti-ui-swing ---
mojoSucceeded org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
mojoStarted org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
[INFO]
[INFO] --- license-maven-plugin:1.4:add-third-party (attach-licenses) @ tutti-ui-swing ---
[WARNING] No license name defined for org.hibernate.javax.persistence--hibernate-jpa-2.0-api--1.0.1.Final
[INFO] Load missing file <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
[INFO] Missing file <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…> is up-to-date.
[INFO] Writing third-party file to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] Writing bundled third-party file to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] Will attach third party file from <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
mojoSucceeded org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ui-swing ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] Copying 82 resources
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)[INFO] Copying 2 resources
[INFO] Copying 4 resources
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 218 source files to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[35,22] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[39,22] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[53,56] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[28,22] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[43,52] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[27,22] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[28,22] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[40,55] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[31,22] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[32,22] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[5,32] error: cannot find symbol
[ERROR] symbol: class AbstractTuttiAction
location: package fr.ifremer.tutti.ui.swing
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[23,39] error: cannot find symbol
[ERROR] symbol: class AbstractTuttiAction
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[36,43] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[38,7] [deprecation] ApplicationConfigHelper in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[39,10] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[40,21] [deprecation] ArgumentsParserException in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[51,13] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[67,20] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[80,32] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[84,12] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[85,16] [deprecation] ApplicationConfigHelper in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[91,8] [deprecation] ApplicationConfigHelper in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[96,16] [deprecation] ApplicationConfigHelper in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[108,17] [deprecation] ArgumentsParserException in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[139,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
mojoFailed org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[207,8] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[71,8] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[71,36] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[88,82] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[88,23] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[89,20] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[92,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[106,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[112,28] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[136,39] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[158,48] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[169,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[183,50] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[194,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[208,49] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[219,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[233,44] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[243,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[266,69] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[265,14] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[275,34] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[284,40] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[305,40] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[336,44] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[53,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[58,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[59,19] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[67,8] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[67,36] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[78,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[78,40] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[47,25] error: cannot find symbol
[ERROR] symbol: variable super
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[49,40] error: cannot find symbol
[ERROR] symbol: method getHandler()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[88,28] error: cannot find symbol
[ERROR] symbol: method getUI()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[45,4] error: method does not override or implement a method from a supertype
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[119,51] error: cannot find symbol
[ERROR] symbol: method getUI()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[122,16] error: cannot find symbol
[ERROR] symbol: method getConfig()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[152,8] error: cannot find symbol
[ERROR] symbol: method getHandler()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[134,4] error: method does not override or implement a method from a supertype
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[157,8] error: cannot find symbol
[ERROR] symbol: variable super
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[158,8] error: cannot find symbol
[ERROR] symbol: method getHandler()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[155,4] error: method does not override or implement a method from a supertype
[INFO] 67 errors
[INFO] -------------------------------------------------------------
projectFailed fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
1
1
01 Mar '13
Author: tchemit
Date: 2013-03-01 21:59:12 +0100 (Fri, 01 Mar 2013)
New Revision: 513
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/513
Log:
- fix dependencies
- fix build (but not tests :()
- reformat codes
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/CruisePersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.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/batch/ScientificCruiseCatchBatchValidator.java
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceReadTest.java
trunk/tutti-service/pom.xml
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.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/EnterMelagWeightDialog.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.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/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.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/BatchPersistenceServiceImpl.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -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%
@@ -30,8 +30,6 @@
import fr.ifremer.adagio.core.dao.data.batch.Batch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatchExtendDao;
import fr.ifremer.adagio.core.dao.data.batch.SortingBatch;
-import fr.ifremer.adagio.core.dao.data.batch.SortingBatchDao;
-import fr.ifremer.adagio.core.dao.data.batch.SortingBatchImpl;
import fr.ifremer.adagio.core.dao.data.batch.validator.CatchBatchValidationException;
import fr.ifremer.adagio.core.dao.data.batch.validator.CatchBatchValidator;
import fr.ifremer.adagio.core.dao.data.measure.Measurement;
@@ -57,7 +55,6 @@
import org.apache.commons.logging.LogFactory;
import org.hibernate.FlushMode;
import org.hibernate.type.IntegerType;
-import org.springframework.cache.annotation.CacheEvict;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.DataRetrievalFailureException;
import org.springframework.stereotype.Service;
@@ -156,8 +153,8 @@
SortingBatch benthosBatch = catchBatchDao.getSortingBatch(vracBatch.getChildBatchs(),
"pmfmId", enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS);
if (benthosBatch != null) {
- result.setBenthosTotalSampleSortedWeight(benthosBatch.getWeight());
- result.setBenthosTotalSortedWeight(benthosBatch.getWeightBeforeSampling());
+ result.setBenthosTotalSampleSortedWeight(benthosBatch.getWeight());
+ result.setBenthosTotalSortedWeight(benthosBatch.getWeightBeforeSampling());
}
// TODO : Plancton...
@@ -173,13 +170,13 @@
SortingBatch speciesBatch = catchBatchDao.getSortingBatch(horsVracBatch.getChildBatchs(),
"pmfmId", enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
if (speciesBatch != null) {
- result.setSpeciesTotalUnsortedWeight(speciesBatch.getWeight());
+ result.setSpeciesTotalUnsortedWeight(speciesBatch.getWeight());
}
SortingBatch benthosBatch = catchBatchDao.getSortingBatch(horsVracBatch.getChildBatchs(),
"pmfmId", enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS);
if (benthosBatch != null) {
- result.setBenthosTotalUnsortedWeight(benthosBatch.getWeight());
+ result.setBenthosTotalUnsortedWeight(benthosBatch.getWeight());
}
@@ -505,7 +502,7 @@
// If some batchs need to be update, do it
if (batchsToUpdate.size() > 0) {
- catchBatchDao.updateSortingBatch(batchsToUpdate, catchBatch);
+ catchBatchDao.updateSortingBatch(batchsToUpdate, catchBatch);
}
if (notUpdatedChildIds.size() > 0) {
@@ -1293,16 +1290,16 @@
// Sorted Vrac > Benthos
// -----------------------------------------------------------------------------
{
- SortingBatch benthosBatch = batchChilds.get(enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS);
- if (benthosBatch == null) {
- benthosBatch = SortingBatch.Factory.newInstance();
- batch.getChildBatchs().add(benthosBatch);
- }
- beanToEntitySortingBatch(target, batch, benthosBatch, recorderDepartmentId,
- enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS,
- source.getBenthosTotalSampleSortedWeight(), source.getBenthosTotalSortedWeight(),
- copyIfNull);
- benthosBatch.setRankOrder((short) 2);
+ SortingBatch benthosBatch = batchChilds.get(enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS);
+ if (benthosBatch == null) {
+ benthosBatch = SortingBatch.Factory.newInstance();
+ batch.getChildBatchs().add(benthosBatch);
+ }
+ beanToEntitySortingBatch(target, batch, benthosBatch, recorderDepartmentId,
+ enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS,
+ source.getBenthosTotalSampleSortedWeight(), source.getBenthosTotalSortedWeight(),
+ copyIfNull);
+ benthosBatch.setRankOrder((short) 2);
}
// TODO plancton, macro déchet...
@@ -1332,36 +1329,36 @@
// Hors Vrac > Species :
// -----------------------------------------------------------------------------
{
- SortingBatch speciesBatch = batchChilds.get(enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
- if (speciesBatch == null) {
- speciesBatch = SortingBatch.Factory.newInstance();
- if (batch.getChildBatchs() == null) {
- batch.setChildBatchs(Lists.newArrayList((Batch) speciesBatch));
- } else {
- batch.getChildBatchs().add(speciesBatch);
- }
- }
- beanToEntitySortingBatch(target, batch, speciesBatch, recorderDepartmentId,
- enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES,
- source.getSpeciesTotalUnsortedWeight(), null,
- copyIfNull);
- speciesBatch.setRankOrder((short) 1);
+ SortingBatch speciesBatch = batchChilds.get(enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
+ if (speciesBatch == null) {
+ speciesBatch = SortingBatch.Factory.newInstance();
+ if (batch.getChildBatchs() == null) {
+ batch.setChildBatchs(Lists.newArrayList((Batch) speciesBatch));
+ } else {
+ batch.getChildBatchs().add(speciesBatch);
+ }
+ }
+ beanToEntitySortingBatch(target, batch, speciesBatch, recorderDepartmentId,
+ enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES,
+ source.getSpeciesTotalUnsortedWeight(), null,
+ copyIfNull);
+ speciesBatch.setRankOrder((short) 1);
}
// -----------------------------------------------------------------------------
// Hors Vrac > Benthos :
// -----------------------------------------------------------------------------
{
- SortingBatch benthosBatch = batchChilds.get(enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
- if (benthosBatch == null) {
- benthosBatch = SortingBatch.Factory.newInstance();
- batch.getChildBatchs().add(benthosBatch);
- }
- beanToEntitySortingBatch(target, batch, benthosBatch, recorderDepartmentId,
- enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS,
- source.getBenthosTotalUnsortedWeight(), null,
- copyIfNull);
- benthosBatch.setRankOrder((short) 2);
+ SortingBatch benthosBatch = batchChilds.get(enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
+ if (benthosBatch == null) {
+ benthosBatch = SortingBatch.Factory.newInstance();
+ batch.getChildBatchs().add(benthosBatch);
+ }
+ beanToEntitySortingBatch(target, batch, benthosBatch, recorderDepartmentId,
+ enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS,
+ source.getBenthosTotalUnsortedWeight(), null,
+ copyIfNull);
+ benthosBatch.setRankOrder((short) 2);
}
// TODO : plancton, macro déchet...
@@ -1642,4 +1639,4 @@
return pmfmId;
}
-}
\ No newline at end of file
+}
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-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -259,7 +259,7 @@
}
// load surverPart
- result.setSurveyPart((String)source[12]);
+ result.setSurveyPart((String) source[12]);
// get secondary gears from fishingOperation (first load from Allegro DB only)
if (result.getGear() == null) {
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -26,7 +26,6 @@
import fr.ifremer.tutti.persistence.TuttiPersistenceServiceImplementor;
import fr.ifremer.tutti.persistence.entities.data.Program;
-
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.transaction.annotation.Transactional;
@@ -49,7 +48,7 @@
*
* @return the list of programs found in db.
*/
- @Cacheable(value = "programs")
+ @Cacheable(value = "programs")
List<Program> getAllProgram();
/**
@@ -63,10 +62,10 @@
Program getProgram(String id);
@Transactional(readOnly = false)
- @CacheEvict(value = {"programs", "programZones"}, allEntries = true)
+ @CacheEvict(value = {"programs", "programZones"}, allEntries = true)
Program createProgram(Program bean);
@Transactional(readOnly = false)
- @CacheEvict(value = {"programs", "programZones"}, allEntries = true)
+ @CacheEvict(value = {"programs", "programZones"}, allEntries = true)
Program saveProgram(Program bean);
}
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-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -37,7 +37,6 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
-
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.transaction.annotation.Transactional;
@@ -63,7 +62,7 @@
* @see Program#setZone(Zone)
* @since 0.3
*/
- @Cacheable(value = "programZones")
+ @Cacheable(value = "programZones")
List<Zone> getAllProgramZone();
/**
@@ -138,7 +137,7 @@
* @return the vessel
* @since 0.3
*/
- @Cacheable(value = "vesselByCode", key="#vesselCode")
+ @Cacheable(value = "vesselByCode", key = "#vesselCode")
Vessel getVessel(String vesselCode);
/**
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-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -48,8 +48,6 @@
import fr.ifremer.tutti.persistence.entities.referential.Status;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
-import net.sf.ehcache.Element;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Query;
@@ -57,10 +55,6 @@
import org.hibernate.type.IntegerType;
import org.hibernate.type.StringType;
import org.springframework.cache.Cache;
-import org.springframework.cache.annotation.CacheEvict;
-import org.springframework.cache.annotation.CachePut;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.cache.support.SimpleValueWrapper;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.DataRetrievalFailureException;
import org.springframework.stereotype.Service;
@@ -105,6 +99,7 @@
@Resource(name = "cacheService")
protected CacheService cacheService;
+ //TODO-TC We should prefer AOP thant Proxy stuff to avoid this.
@Resource(name = "referentialPersistenceService")
protected ReferentialPersistenceService thisService;
@@ -257,10 +252,10 @@
while (list.hasNext()) {
Object[] source = list.next();
- Vessel target = loadVessel(source, true);
- result.add(target);
- // Add to cache
- vesselByCodeCache.put(target.getId(), target);
+ Vessel target = loadVessel(source, true);
+ result.add(target);
+ // Add to cache
+ vesselByCodeCache.put(target.getId(), target);
}
return result;
}
@@ -275,15 +270,15 @@
List<Vessel> result = Lists.newArrayList();
Cache vesselByCodeCache = cacheService.getCache("vesselByCode");
-
+
while (list.hasNext()) {
Object[] source = list.next();
- Vessel target = loadVessel(source, true);
+ Vessel target = loadVessel(source, true);
target.setScientificVessel(false);
- result.add(target);
-
- // Add to cache
- vesselByCodeCache.put(target.getId(), target);
+ result.add(target);
+
+ // Add to cache
+ vesselByCodeCache.put(target.getId(), target);
}
return result;
}
@@ -393,8 +388,8 @@
if (target.isReferenceTaxon()) {
// Add to cache :
- referentSpeciesByIdCache.put(target.getReferenceTaxonId(), target);
-
+ referentSpeciesByIdCache.put(target.getReferenceTaxonId(), target);
+
referenceTaxonsOnly.add(target);
}
result.add(target);
@@ -452,7 +447,7 @@
Integer pmfmId = (Integer) source[0];
Caracteristic target = loadCaracteristic(source);
// Skip some protected PSFM
- if (!isProtectedCaracteristic(pmfmId)) {
+ if (!isProtectedCaracteristic(pmfmId)) {
result.add(target);
}
pmfmByIdCache.put(pmfmId, target);
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/ScientificCruiseCatchBatchValidator.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/ScientificCruiseCatchBatchValidator.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/ScientificCruiseCatchBatchValidator.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -25,24 +25,9 @@
*/
-import static org.nuiton.i18n.I18n._;
-import static org.nuiton.i18n.I18n.n_;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.dao.DataIntegrityViolationException;
-import org.springframework.stereotype.Component;
-
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-
import fr.ifremer.adagio.core.dao.data.batch.Batch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatchExtendDao;
@@ -54,112 +39,124 @@
import fr.ifremer.tutti.persistence.service.BatchPersistenceService;
import fr.ifremer.tutti.persistence.service.ReferentialPersistenceService;
import fr.ifremer.tutti.persistence.service.TuttiEnumerationFile;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DataIntegrityViolationException;
+import org.springframework.stereotype.Component;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+
+import static org.nuiton.i18n.I18n._;
+import static org.nuiton.i18n.I18n.n_;
+
@Component(value = "scientificCruiseCatchBatchValidator")
public class ScientificCruiseCatchBatchValidator implements CatchBatchValidator {
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(ScientificCruiseCatchBatchValidator.class);
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ScientificCruiseCatchBatchValidator.class);
- @Autowired
- protected BatchPersistenceService batchService;
+ @Autowired
+ protected BatchPersistenceService batchService;
- @Autowired
- protected ReferentialPersistenceService referentialService;
+ @Autowired
+ protected ReferentialPersistenceService referentialService;
- @Autowired
- protected CatchBatchExtendDao catchBatchDao;
+ @Autowired
+ protected CatchBatchExtendDao catchBatchDao;
- @Autowired
- protected TuttiEnumerationFile enumeration;
+ @Autowired
+ protected TuttiEnumerationFile enumeration;
- public ScientificCruiseCatchBatchValidator() {
- }
+ public ScientificCruiseCatchBatchValidator() {
+ }
- @Override
- public boolean isEnable(fr.ifremer.adagio.core.dao.data.batch.CatchBatch catchBatch) {
- // Apply validation only on catch batch for fishingOperation
- return (catchBatch.getFishingOperation() != null);
- }
+ @Override
+ public boolean isEnable(fr.ifremer.adagio.core.dao.data.batch.CatchBatch catchBatch) {
+ // Apply validation only on catch batch for fishingOperation
+ return (catchBatch.getFishingOperation() != null);
+ }
- @Override
- public List<CatchBatchValidationError> validate(fr.ifremer.adagio.core.dao.data.batch.CatchBatch catchBatch) {
- List<CatchBatchValidationError> errors = Lists.newArrayList();
- validate(catchBatch.getChildBatchs(), errors, 1);
- return errors;
- }
+ @Override
+ public List<CatchBatchValidationError> validate(fr.ifremer.adagio.core.dao.data.batch.CatchBatch catchBatch) {
+ List<CatchBatchValidationError> errors = Lists.newArrayList();
+ validate(catchBatch.getChildBatchs(), errors, 1);
+ return errors;
+ }
- // ------------------------------------------------------------------------//
- // -- Internal methods --//
- // ------------------------------------------------------------------------//
+ // ------------------------------------------------------------------------//
+ // -- Internal methods --//
+ // ------------------------------------------------------------------------//
- protected void validate(Collection<Batch> batchs, List<CatchBatchValidationError> errors, int treeLevel) {
+ protected void validate(Collection<Batch> batchs, List<CatchBatchValidationError> errors, int treeLevel) {
//TODO finishi i18n
- // Vrac
- SortingBatch vracBatch = catchBatchDao.getSortingBatch(batchs,
- "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_VRAC_ID);
- if (vracBatch == null) {
- addError(errors, n_("tutti.persistence.batch.validation.vracNotFound"), null);
- } else {
- // Vrac > Species
- SortingBatch speciesBatch = catchBatchDao.getSortingBatch(vracBatch.getChildBatchs(),
- "pmfmId", enumeration.PMFM_ID_SORTING_TYPE,
- enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
- if (speciesBatch == null) {
- addError(errors, n_("tutti.persistence.batch.validation.vracSpeciesNotFound"), null);
- } else {
- // Vrac > Species > Inert
- SortingBatch inertBatch = catchBatchDao.getSortingBatch(speciesBatch.getChildBatchs(),
- "referenceTaxonId", enumeration.REFERENCE_TAXON_ID_INERT);
- if (inertBatch == null) {
- addWarning(errors, n_("tutti.persistence.batch.validation.vracSpeciesInertNotFound"));
- }
+ // Vrac
+ SortingBatch vracBatch = catchBatchDao.getSortingBatch(batchs,
+ "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_VRAC_ID);
+ if (vracBatch == null) {
+ addError(errors, n_("tutti.persistence.batch.validation.vracNotFound"), null);
+ } else {
+ // Vrac > Species
+ SortingBatch speciesBatch = catchBatchDao.getSortingBatch(vracBatch.getChildBatchs(),
+ "pmfmId", enumeration.PMFM_ID_SORTING_TYPE,
+ enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
+ if (speciesBatch == null) {
+ addError(errors, n_("tutti.persistence.batch.validation.vracSpeciesNotFound"), null);
+ } else {
+ // Vrac > Species > Inert
+ SortingBatch inertBatch = catchBatchDao.getSortingBatch(speciesBatch.getChildBatchs(),
+ "referenceTaxonId", enumeration.REFERENCE_TAXON_ID_INERT);
+ if (inertBatch == null) {
+ addWarning(errors, n_("tutti.persistence.batch.validation.vracSpeciesInertNotFound"));
+ }
- // Vrac > Species > Alive no itemized
- SortingBatch livingNotItemizedBatch = catchBatchDao.getSortingBatch(speciesBatch.getChildBatchs(),
- "referenceTaxonId", enumeration.REFERENCE_TAXON_ID_LIFE);
- if (livingNotItemizedBatch == null) {
- addWarning(errors, n_("tutti.persistence.batch.validation.vracSpeciesLifeNotFound"));
- }
- }
+ // Vrac > Species > Alive no itemized
+ SortingBatch livingNotItemizedBatch = catchBatchDao.getSortingBatch(speciesBatch.getChildBatchs(),
+ "referenceTaxonId", enumeration.REFERENCE_TAXON_ID_LIFE);
+ if (livingNotItemizedBatch == null) {
+ addWarning(errors, n_("tutti.persistence.batch.validation.vracSpeciesLifeNotFound"));
+ }
+ }
- // TODO : Benthos, Plancton...
- }
+ // TODO : Benthos, Plancton...
+ }
- // Hors Vrac
- SortingBatch horsVracBatch = catchBatchDao.getSortingBatch(batchs,
- "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED,
- enumeration.QUALITATIVE_HORS_VRAC_ID);
- if (horsVracBatch == null) {
- addWarning(errors, n_("tutti.persistence.batch.validation.horsVracSpeciesNotFound"));
- } else {
- // Hors Vrac > Species
- SortingBatch speciesBatch = catchBatchDao.getSortingBatch(horsVracBatch.getChildBatchs(),
- "pmfmId", enumeration.PMFM_ID_SORTING_TYPE,
- enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
- if (speciesBatch == null) {
- addWarning(errors, n_("tutti.persistence.batch.validation.horsVracSpeciesNotFound"));
- }
+ // Hors Vrac
+ SortingBatch horsVracBatch = catchBatchDao.getSortingBatch(batchs,
+ "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED,
+ enumeration.QUALITATIVE_HORS_VRAC_ID);
+ if (horsVracBatch == null) {
+ addWarning(errors, n_("tutti.persistence.batch.validation.horsVracSpeciesNotFound"));
+ } else {
+ // Hors Vrac > Species
+ SortingBatch speciesBatch = catchBatchDao.getSortingBatch(horsVracBatch.getChildBatchs(),
+ "pmfmId", enumeration.PMFM_ID_SORTING_TYPE,
+ enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
+ if (speciesBatch == null) {
+ addWarning(errors, n_("tutti.persistence.batch.validation.horsVracSpeciesNotFound"));
+ }
- // TODO : Benthos, Plancton...
- }
+ // TODO : Benthos, Plancton...
+ }
- // Unsorted
- SortingBatch unsortedBatch = catchBatchDao.getSortingBatch(batchs,
- "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED,
- enumeration.QUALITATIVE_UNSORTED_ID);
- if (unsortedBatch == null) {
- addWarning(errors,n_( "tutti.persistence.batch.validation.unsortedNotFound"));
- }
+ // Unsorted
+ SortingBatch unsortedBatch = catchBatchDao.getSortingBatch(batchs,
+ "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED,
+ enumeration.QUALITATIVE_UNSORTED_ID);
+ if (unsortedBatch == null) {
+ addWarning(errors, n_("tutti.persistence.batch.validation.unsortedNotFound"));
+ }
- // May be, the tree is an old structure
- if (vracBatch == null && horsVracBatch == null && unsortedBatch == null) {
- boolean allBatchHasSpecies = true;
- boolean allBatchHasVrac = true;
- boolean someBatchHasSortingMeasurement = false;
+ // May be, the tree is an old structure
+ if (vracBatch == null && horsVracBatch == null && unsortedBatch == null) {
+ boolean allBatchHasSpecies = true;
+ boolean allBatchHasVrac = true;
+ boolean someBatchHasSortingMeasurement = false;
for (Batch batch1 : batchs) {
SortingBatch batch = (SortingBatch) batch1;
if (allBatchHasSpecies && batch.getReferenceTaxon() == null) {
@@ -181,52 +178,52 @@
}
}
}
- if (allBatchHasSpecies && !someBatchHasSortingMeasurement) {
- errors.clear();
- addError(errors,n_( "tutti.persistence.batch.validation.onlySpeciesBatchStructure"), new CatchBatchQuickFix() {
- @Override
- public CatchBatch repair(CatchBatch catchBatch) {
- return ScientificCruiseCatchBatchValidator.this.repairHistoricalData(catchBatch, false);
- }
- });
- }
- else if (allBatchHasSpecies && someBatchHasSortingMeasurement && allBatchHasVrac) {
- errors.clear();
- addError(errors, n_("tutti.persistence.batch.validation.onlySpeciesBatchStructure"), new CatchBatchQuickFix() {
- @Override
- public CatchBatch repair(CatchBatch catchBatch) {
- return ScientificCruiseCatchBatchValidator.this.repairHistoricalData(catchBatch, true);
- }
- });
- }
- }
- }
+ if (allBatchHasSpecies && !someBatchHasSortingMeasurement) {
+ errors.clear();
+ addError(errors, n_("tutti.persistence.batch.validation.onlySpeciesBatchStructure"), new CatchBatchQuickFix() {
+ @Override
+ public CatchBatch repair(CatchBatch catchBatch) {
+ return ScientificCruiseCatchBatchValidator.this.repairHistoricalData(catchBatch, false);
+ }
+ });
+ } else if (allBatchHasSpecies && someBatchHasSortingMeasurement && allBatchHasVrac) {
+ errors.clear();
+ addError(errors, n_("tutti.persistence.batch.validation.onlySpeciesBatchStructure"), new CatchBatchQuickFix() {
+ @Override
+ public CatchBatch repair(CatchBatch catchBatch) {
+ return ScientificCruiseCatchBatchValidator.this.repairHistoricalData(catchBatch, true);
+ }
+ });
+ }
+ }
+ }
- /**
- * Repair tree batch, when only species have been found under the cacth batch.
- * This append typically with CGFS cruise.
- * @param catchBatch
- * @return
- */
- protected CatchBatch repairHistoricalData(CatchBatch catchBatch, boolean batchHasVracSortingMeasurement) {
- Preconditions.checkNotNull(catchBatch);
- Preconditions.checkNotNull(catchBatch.getId());
- Preconditions.checkNotNull(catchBatch.getFishingOperation());
- Preconditions.checkNotNull(catchBatch.getFishingOperation().getId());
+ /**
+ * Repair tree batch, when only species have been found under the cacth batch.
+ * This append typically with CGFS cruise.
+ *
+ * @param catchBatch
+ * @return
+ */
+ protected CatchBatch repairHistoricalData(CatchBatch catchBatch, boolean batchHasVracSortingMeasurement) {
+ Preconditions.checkNotNull(catchBatch);
+ Preconditions.checkNotNull(catchBatch.getId());
+ Preconditions.checkNotNull(catchBatch.getFishingOperation());
+ Preconditions.checkNotNull(catchBatch.getFishingOperation().getId());
- // Copy catch batch children
- Collection<Batch> speciesBatchChilds = Sets.newHashSet();
- speciesBatchChilds.addAll(catchBatch.getChildBatchs());
- catchBatch.setChildBatchs(new HashSet<Batch>());
+ // Copy catch batch children
+ Collection<Batch> speciesBatchChilds = Sets.newHashSet();
+ speciesBatchChilds.addAll(catchBatch.getChildBatchs());
+ catchBatch.setChildBatchs(new HashSet<Batch>());
- // Clean catch batch
+ // Clean catch batch
batchService.cleanEntity(catchBatch, true);
SortingBatch speciesBatch = 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);
+ "pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_VRAC_ID,
+ "pmfmId", enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
if (speciesBatch == null) {
- throw new DataIntegrityViolationException("Invalid batch tree format. Could not retrieve 'Vrac>Species' batch.");
+ throw new DataIntegrityViolationException("Invalid batch tree format. Could not retrieve 'Vrac>Species' batch.");
}
// For all species batch : set the batch 'Vrac>Species' as new parent
@@ -258,24 +255,24 @@
// Save mofidifications :
catchBatchDao.update(catchBatch);
- return catchBatch;
- }
+ return catchBatch;
+ }
- protected void addError(List<CatchBatchValidationError> errors, String messageKey, CatchBatchQuickFix quickFix) {
- CatchBatchValidationError error = new CatchBatchValidationError(
- messageKey,
- _(messageKey),
- CatchBatchValidationError.GRAVITY_ERROR);
- error.setQuickFixes(Lists.newArrayList(quickFix));
- errors.add(error);
- }
+ protected void addError(List<CatchBatchValidationError> errors, String messageKey, CatchBatchQuickFix quickFix) {
+ CatchBatchValidationError error = new CatchBatchValidationError(
+ messageKey,
+ _(messageKey),
+ CatchBatchValidationError.GRAVITY_ERROR);
+ error.setQuickFixes(Lists.newArrayList(quickFix));
+ errors.add(error);
+ }
- protected void addWarning(List<CatchBatchValidationError> errors, String messageKey) {
- CatchBatchValidationError error = new CatchBatchValidationError(
- messageKey,
- _(messageKey),
- CatchBatchValidationError.GRAVITY_WARNING);
- errors.add(error);
- }
+ protected void addWarning(List<CatchBatchValidationError> errors, String messageKey) {
+ CatchBatchValidationError error = new CatchBatchValidationError(
+ messageKey,
+ _(messageKey),
+ CatchBatchValidationError.GRAVITY_WARNING);
+ errors.add(error);
+ }
}
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceReadTest.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceReadTest.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceReadTest.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -39,7 +39,6 @@
import fr.ifremer.tutti.persistence.entities.referential.Zone;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.hibernate.NonUniqueResultException;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
Modified: trunk/tutti-service/pom.xml
===================================================================
--- trunk/tutti-service/pom.xml 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-service/pom.xml 2013-03-01 20:59:12 UTC (rev 513)
@@ -49,6 +49,12 @@
</dependency>
<dependency>
+ <groupId>fr.ifremer.adagio</groupId>
+ <artifactId>adagio-core</artifactId>
+ <classifier>allegro</classifier>
+ </dependency>
+
+ <dependency>
<groupId>org.nuiton</groupId>
<artifactId>nuiton-utils</artifactId>
</dependency>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -28,6 +28,7 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import fr.ifremer.tutti.persistence.ProgressionModel;
+import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig;
import fr.ifremer.tutti.persistence.service.synchro.ReferentialSynchronizeResult;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.service.TuttiTechnicalException;
@@ -138,12 +139,32 @@
boolean doRestart = updateDoneJre(appToUpdate, appUpdateError);
- doRestart |= updateDoneTutti(appToUpdate, appUpdateError);
+ boolean updateTutti = updateDoneTutti(appToUpdate, appUpdateError);
+ doRestart |= updateTutti;
+
doRestart |= updateDoneI18n(appToUpdate, appUpdateError);
updateDoneDb(appToUpdate, appUpdateError);
if (doRestart) {
+
+ if (updateTutti) {
+
+ TuttiPersistenceConfig persistenceConfig = context.getConfig().getServiceConfig().getPersistenceConfig();
+
+ // must remove the enumeration file at exit
+ persistenceConfig.getDbEnumerationPath().deleteOnExit();
+
+ // must also remove i18n directory
+ File i18nDirectory = context.getConfig().getI18nDirectory();
+ try {
+ FileUtils.forceDeleteOnExit(i18nDirectory);
+ } catch (IOException e) {
+ throw new TuttiTechnicalException(
+ "could not delete i18n directory " + i18nDirectory, e);
+ }
+
+ }
System.exit(RunTutti.UPATE_EXIT_CODE);
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -1,5 +1,29 @@
package fr.ifremer.tutti.ui.swing;
+/*
+ * #%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 com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.Program;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.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/UpdateApplicationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -92,7 +92,7 @@
dest,
false,
callback);
- getContext().getActionUI().getModel().clear();
+// getContext().getActionUI().getModel().clear();
}
}
}
\ No newline at end of file
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-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateMelagAction.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -1,22 +1,43 @@
package fr.ifremer.tutti.ui.swing.content.operation.catches.species;
+/*
+ * #%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 com.google.common.collect.Maps;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyRowModel;
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-import java.util.Map;
-import javax.swing.JOptionPane;
-import jaxx.runtime.JAXXUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import jaxx.runtime.SwingUtil;
import org.apache.commons.lang3.StringUtils;
-import org.nuiton.util.StringUtil;
+import javax.swing.JOptionPane;
+import java.awt.Frame;
+import java.util.Map;
+
import static org.nuiton.i18n.I18n._;
/**
- *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0.2
*/
@@ -34,7 +55,6 @@
public CreateMelagAction(SpeciesBatchUIHandler handler) {
super(handler,
- "createMelag",
"batch-rename",
_("tutti.action.createMelag"),
_("tutti.action.createMelag.tip"),
@@ -43,10 +63,9 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
- boolean result = super.prepareAction(event);
+ protected boolean prepareAction() {
+ boolean result = super.prepareAction();
- SpeciesBatchUIHandler handler = getHandler();
int[] selectedRowIndexes = handler.getTable().getSelectedRows();
SpeciesBatchTableModel tableModel = handler.getTableModel();
@@ -57,7 +76,7 @@
for (int selectedRowIndex : selectedRowIndexes) {
SpeciesBatchRowModel selectedRow =
- tableModel.getEntry(selectedRowIndex);
+ tableModel.getEntry(selectedRowIndex);
Float sampleWeight = null;
if (selectedRow.getFinestCategory().getCategoryWeight() != null) {
@@ -119,7 +138,7 @@
Frame frame = SwingUtil.getParentContainer(getUI(), Frame.class);
final EnterMelagWeightDialog dialog = new EnterMelagWeightDialog(frame,
- getConfig().getShortcutClosePopup());
+ getConfig().getShortcutClosePopup());
SwingUtil.center(frame, dialog);
dialog.pack();
dialog.setVisible(true);
@@ -132,7 +151,7 @@
}
@Override
- protected void doAction(ActionEvent event) throws Exception {
+ protected void doAction() throws Exception {
for (SpeciesBatchRowModel batch : selectedRows.keySet()) {
Float sampleWeight = selectedRows.get(batch);
if (sampleWeight != null) {
@@ -153,8 +172,9 @@
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
+ //TODO-TC No release action is not design to refresh ui...
getHandler().getTable().repaint();
selectedRows.clear();
melagWeight = null;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateMelagAction.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/operation/catches/species/EnterMelagWeightDialog.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.css 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.css 2013-03-01 20:59:12 UTC (rev 513)
@@ -1,3 +1,26 @@
+/*
+ * #%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%
+ */
#dialog {
title: "tutti.dialog.createMelag.title";
}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.css
___________________________________________________________________
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/operation/catches/species/EnterMelagWeightDialog.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.jaxx 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.jaxx 2013-03-01 20:59:12 UTC (rev 513)
@@ -1,3 +1,26 @@
+<!--
+ #%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%
+ -->
<JDialog id='dialog' layout='{new BorderLayout()}'>
<import>
java.awt.Component;
@@ -43,7 +66,8 @@
</row>
</Table>
<JPanel layout='{new GridLayout(1,0)}' constraints='BorderLayout.SOUTH'>
- <JButton id='cancelButton' onActionPerformed='editor.setModel(null); dispose();'/>
+ <JButton id='cancelButton'
+ onActionPerformed='editor.setModel(null); dispose();'/>
<JButton id='validateButton' onActionPerformed='dispose();'/>
</JPanel>
</JDialog>
\ No newline at end of file
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.jaxx
___________________________________________________________________
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/operation/catches/species/SpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-03-01 20:59:12 UTC (rev 513)
@@ -8,15 +8,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/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -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%
@@ -75,6 +75,7 @@
import javax.swing.JOptionPane;
import javax.swing.RowFilter;
+import javax.swing.UIManager;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumnModel;
import java.awt.Color;
@@ -88,7 +89,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.swing.UIManager;
import static org.nuiton.i18n.I18n._;
import static org.nuiton.i18n.I18n.n_;
@@ -648,8 +648,8 @@
// highlight only the species column if the row is selected
Highlighter selectedHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
new HighlightPredicate.AndHighlightPredicate(
- HighlightPredicate.IS_SELECTED,
- new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.SPECIES)),
+ HighlightPredicate.IS_SELECTED,
+ new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.SPECIES)),
UIManager.getColor("Table[Enabled+Selected].textBackground"));
table.addHighlighter(selectedHighlighter);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -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/operation/catches/species/frequency/SpeciesFrequencyUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2013-03-01 20:59:12 UTC (rev 513)
@@ -8,15 +8,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/frequency/SpeciesFrequencyUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -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%
@@ -514,4 +514,4 @@
//-- Internal methods --//
//------------------------------------------------------------------------//
-}
\ No newline at end of file
+}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -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%
@@ -234,4 +234,4 @@
}
return result;
}
-}
\ No newline at end of file
+}
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-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -25,30 +25,15 @@
*/
import com.google.common.base.Preconditions;
-import com.google.common.collect.Sets;
-import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.MainUI;
import fr.ifremer.tutti.ui.swing.TuttiDataContext;
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 jaxx.runtime.SwingUtil;
-import org.apache.commons.lang3.ObjectUtils;
-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.AbstractAction;
-import java.awt.event.ActionEvent;
-import java.util.Set;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
/**
* TODO
*
@@ -72,10 +57,10 @@
protected abstract void doAction() throws Exception;
protected AbstractTuttiAction(H handler,
- String actionIcon,
- String actionName,
- String actionDescription,
- boolean hideBody) {
+ String actionIcon,
+ String actionName,
+ String actionDescription,
+ boolean hideBody) {
this.handler = handler;
this.actionName = actionName;
this.actionDescription = actionDescription;
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-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -1,5 +1,29 @@
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%
+ */
+
import fr.ifremer.tutti.ui.swing.MainUI;
import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler;
import jaxx.runtime.SwingUtil;
@@ -9,7 +33,6 @@
import javax.swing.AbstractAction;
import javax.swing.ImageIcon;
-import javax.swing.JRootPane;
import javax.swing.SwingUtilities;
import javax.swing.SwingWorker;
import java.awt.Cursor;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.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/table/AbstractTuttiTableUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-03-01 20:59:12 UTC (rev 513)
@@ -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%
@@ -73,7 +73,6 @@
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
-import java.util.Arrays;
import java.util.Enumeration;
import java.util.List;
import java.util.Set;
1
0
01 Mar '13
Author: tchemit
Date: 2013-03-01 21:37:07 +0100 (Fri, 01 Mar 2013)
New Revision: 512
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/512
Log:
improve action api
reformat some code
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.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/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/TuttiUI.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
Removed:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiBeanUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiErrorHelper.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiExceptionHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUI.java
Modified:
trunk/tutti-ui-swing/
trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java
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/SelectCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/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/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/cruise/EditCruiseUIModel.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/CloseDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.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/db/OpenDbAction.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/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/home/SelectCruiseUIModel.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/AbstractTuttiBatchTableUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AttachmentsAction.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/EditFishingOperationUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx
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/NewFishingOperationAction.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/CancelEditCatchBatchAction.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/EditCatchesUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.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/accidental/AccidentalBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.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/SelectSpeciesUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.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/CreateSpeciesBatchUI.jaxx
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/CreateSpeciesBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTableModel.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/EditProgramUI.jaxx
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/EditProgramUIModel.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/CancelEditProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
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/EditProtocolUIModel.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/content/referential/ManageTemporaryReferentialUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageTemporaryReferentialUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiTabContainerUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiCollectionUniqueKeyValidator.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/TuttiActionUI.jaxx
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/TuttiActionUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentCellComponent.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentEditorUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentEditorUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/LongTextCellComponent.java
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/TuttiComputedOrNotDataEditorHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIModel.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
+ target
.idea
*.ipr
*.iws
*.iml
.project
.classpath
.settings
tutti.config
*.log
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,19 +27,16 @@
# Console output
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
+log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p [%20t] (%c:%L) - %m%n
+# 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.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.file=${tutti.log.file}
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=4
log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %5p [%t] %c - %m%n
-
-# tutti levels
-log4j.logger.fr.ifremer=INFO
-log4j.logger.fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler=WARN
-log4j.logger.fr.ifremer.tutti.ui.swing.util.table=INFO
-log4j.logger.org.nuiton.util=WARN
-log4j.logger.org.nuiton.util.ApplicationConfig=INFO
-log4j.logger.org.nuiton.util.ApplicationConfigHelper=INFO
+log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %5p [%20t] %c - %m%n
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,30 +25,25 @@
* #L%
*/
-import java.awt.event.ActionEvent;
-
/**
* Abstract action defining actions which sets the screen of the application.
*
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
*/
-public abstract class AbstractChangeScreenAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> {
+public abstract class AbstractChangeScreenAction extends AbstractMainUITuttiAction {
- private static final long serialVersionUID = 1L;
-
protected AbstractChangeScreenAction(MainUIHandler handler,
- String name,
String icon,
String text,
String tip,
boolean hideBody) {
- super(handler, name, icon, text, tip, hideBody);
+ super(handler, icon, text, tip, hideBody);
}
@Override
- protected boolean prepareAction(ActionEvent event) {
- boolean result = super.prepareAction(event);
+ protected boolean prepareAction() {
+ boolean result = super.prepareAction();
result &= getHandler().getCurrentHandler().canCloseUI(getNextScreen());
return result;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,20 +24,19 @@
* #L%
*/
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+
/**
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
public abstract class AbstractMainUITuttiAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> {
- private static final long serialVersionUID = 1L;
-
protected AbstractMainUITuttiAction(MainUIHandler handler,
- String name,
String icon,
String text,
String tip,
boolean hideBody) {
- super(handler, name, icon, text, tip, hideBody);
+ super(handler, icon, text, tip, hideBody);
}
}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -1,366 +0,0 @@
-package fr.ifremer.tutti.ui.swing;
-
-/*
- * #%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 com.google.common.base.Preconditions;
-import com.google.common.collect.Sets;
-import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.service.TuttiService;
-import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
-import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
-import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUIModel;
-import jaxx.runtime.SwingUtil;
-import org.apache.commons.lang3.ObjectUtils;
-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.AbstractAction;
-import java.awt.event.ActionEvent;
-import java.util.Set;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public abstract class AbstractTuttiAction<M extends AbstractBean, UI extends TuttiUI<M, ?>, H extends AbstractTuttiUIHandler<M, UI>> extends AbstractAction {
-
- private static final long serialVersionUID = 1L;
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(AbstractTuttiAction.class);
-
- private static final Timer t = new Timer();
-
- private static final ExecutorService executorService =
- Executors.newSingleThreadExecutor();
-
- private static final TuttiExceptionHandler exceptionHandler = new TuttiExceptionHandler();
-
- private final H handler;
-
- private boolean failed;
-
- private final boolean hideBody;
-
- private final static Object lock = new Object();
-
- protected abstract void doAction(ActionEvent event) throws Exception;
-
- protected AbstractTuttiAction(H handler,
- String name,
- String icon,
- String text,
- String tip,
- boolean hideBody) {
-
- this.handler = handler;
- this.hideBody = hideBody;
- if (icon != null) {
- putValue(SMALL_ICON, SwingUtil.createActionIcon(icon));
- putValue(LARGE_ICON_KEY, SwingUtil.createActionIcon(icon));
- }
- putValue(ACTION_COMMAND_KEY, name);
- putValue(NAME, text);
- putValue(SHORT_DESCRIPTION, tip);
- }
-
- public final UI getUI() {
- return handler.getUI();
- }
-
- protected String getActionName() {
- return (String) getValue("actionName");
- }
-
- public String getActionDescription() {
- return (String) getValue("actionDescription");
- }
-
- protected boolean prepareAction(ActionEvent event) {
- putValue("actionName", getValue(NAME));
- putValue("actionDescription", getValue(SHORT_DESCRIPTION));
- return true;
- }
-
- protected void releaseAction(ActionEvent event) {
- putValue("actionName", null);
- putValue("actionDescription", null);
- }
-
- public boolean isFailed() {
- return failed;
- }
-
- public void setFailed(boolean failed) {
- this.failed = failed;
- }
-
- @Override
- public final void actionPerformed(final ActionEvent event) {
-
- if (log.isInfoEnabled()) {
- log.info("Task [" + this + "] starting");
- }
-
- setFailed(false);
-
- boolean doAction = prepareAction(event);
-
- if (doAction) {
-
- boolean useTimer;
-
- synchronized (lock) {
- useTimer = actions.isEmpty();
-
- mainAction = AbstractTuttiAction.this;
- actions.add(AbstractTuttiAction.this);
- }
-
- if (useTimer) {
-
- // a new thread action
-
- executorService.submit(new Runnable() {
- @Override
- public void run() {
-
- runAction(true, event);
- }
- });
-
- } else {
-
- runAction(false, event);
- }
- } else {
- releaseAction(event);
- }
- }
-
- protected void runAction(boolean useTimer, ActionEvent event) {
-
- TimerTask timer = null;
- if (useTimer) {
-
- // there is already anohter action in pool, no timer
-
- timer = new ActionTimerTask(this);
-
- t.schedule(timer, 1000);
- }
-
- try {
-
- this.doAction(event);
- } catch (Throwable e) {
- setFailed(true);
-
- if (log.isErrorEnabled()) {
- log.error("Task [" + this + "] error: " + e.getMessage(), e);
- }
- exceptionHandler.handle(new TuttiExceptionHandler.TuttiActionException(this, e));
- } finally {
- if (log.isInfoEnabled()) {
- log.info("Task [" + this + "] done");
- }
- if (timer != null) {
-
- timer.cancel();
- }
-
- try {
- this.releaseAction(event);
- } finally {
-
- synchronized (lock) {
-
- TuttiActionUI actionUI = AbstractTuttiAction.this.getContext().getActionUI();
-
- TuttiActionUIModel actionUIModel = actionUI.getModel();
-
- if (ObjectUtils.equals(AbstractTuttiAction.this, actionUIModel.getAction())) {
-
- // same action, then remove it (will close dialog as a side effect)
- actionUIModel.clear();
- }
- actions.remove(AbstractTuttiAction.this);
-
- if (AbstractTuttiAction.this.equals(getMainAction())) {
- mainAction = null;
- }
- }
- }
- }
- }
-
- public TuttiUIContext getContext() {
- return handler.getContext();
- }
-
- public H getHandler() {
- return handler;
- }
-
- public M getModel() {
- return handler.getModel();
- }
-
- protected <S extends TuttiService> S getService(Class<S> serviceType) {
- return getContext().getService(serviceType);
- }
-
- protected TuttiApplicationConfig getConfig() {
- return getContext().getConfig();
- }
-
- protected void setMnemonic(int key) {
- putValue(MNEMONIC_KEY, key);
- }
-
- public boolean isHideBody() {
- return hideBody;
- }
-
- private final static Set<Object> actions = Sets.newHashSet();
-
- private static AbstractTuttiAction mainAction;
-
- public static AbstractTuttiAction getMainAction() {
- return mainAction;
- }
-
- protected static class ActionTimerTask<A extends AbstractTuttiAction> extends TimerTask {
-
- private final Object lock = new Object();
-
- protected boolean canceled;
-
- private final A action;
-
- protected TuttiActionUI actionUI;
-
- public ActionTimerTask(A action) {
- this.action = action;
- this.actionUI = action.getContext().getActionUI();
- }
-
- @Override
- public void run() {
-
- if (canceled) {
-
- if (log.isDebugEnabled()) {
- log.debug("Task [" + action + "] was already canceled, do nothing");
- }
- } else {
-
- if (log.isDebugEnabled()) {
- log.debug("Task [" + action + "] is started, show waiting dialog");
- }
-
- if (log.isDebugEnabled()) {
- log.debug("Try to open dialog (was canceled ? " + canceled + ")");
- }
- if (!canceled || !action.isFailed()) {
-
- updateBusyState(true);
-
- actionUI.getModel().setAction(action);
- }
- }
- }
-
-
- @Override
- public boolean cancel() {
- synchronized (lock) {
- canceled = true;
- if (log.isDebugEnabled()) {
- log.debug("Task [" + action + "] canceled.");
- }
- boolean cancel = super.cancel();
-
- updateBusyState(false);
-
- if (ObjectUtils.equals(action, actionUI.getModel().getAction())) {
-
- // same action, then remove it (will close dialog as a side effect)
- actionUI.getModel().clear();
- }
- return cancel;
- }
- }
-
- protected void updateBusyState(boolean busy) {
-
- MainUI ui = action.getContext().getMainUI();
- if (busy) {
- // ui bloquee
- if (action.isHideBody()) {
- ui.getBody().setVisible(false);
- }
- } else {
- // ui debloquee
- if (action.isHideBody()) {
- ui.getBody().setVisible(true);
- }
- }
- }
- }
-
- protected void sendMessage(String message) {
- getContext().showInformationMessage(message);
- }
-
- protected <O> Decorator<O> getDecorator(Class<O> type, String name) {
- DecoratorService decoratorService =
- getContext().getService(DecoratorService.class);
-
- Preconditions.checkNotNull(type);
-
- Decorator decorator = decoratorService.getDecoratorByType(type, name);
- if (decorator == null) {
-
- if (DecoratorService.LabelAware.class.isAssignableFrom(type)) {
- decorator = getDecorator(DecoratorService.LabelAware.class, null);
- }
- }
- Preconditions.checkNotNull(decorator);
- return decorator;
- }
-
- protected String decorate(Object object) {
- return handler.getDecorator(object.getClass(), null).toString(object);
- }
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiBeanUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiBeanUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiBeanUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -1,130 +0,0 @@
-package fr.ifremer.tutti.ui.swing;
-
-/*
- * #%L
- * Tutti :: UI
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 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.persistence.entities.IdAware;
-import fr.ifremer.tutti.service.TuttiTechnicalException;
-import org.jdesktop.beans.AbstractSerializableBean;
-import org.nuiton.util.beans.Binder;
-
-/**
- * Abstract UI model to edit a bean.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.1
- */
-public abstract class AbstractTuttiBeanUIModel<E, B extends AbstractTuttiBeanUIModel<E, B>> extends AbstractSerializableBean implements IdAware {
-
- private static final long serialVersionUID = 1L;
-
- public static final String PROPERTY_ID = "id";
-
- public static final String PROPERTY_MODIFY = "modify";
-
- public static final String PROPERTY_VALID = "valid";
-
- protected String id;
-
- protected boolean modify;
-
- protected boolean valid;
-
- private final Class<E> entityType;
-
- private final Binder<E, B> fromBeanBinder;
-
- private final Binder<B, E> toBeanBinder;
-
- protected AbstractTuttiBeanUIModel(Class<E> entityType,
- Binder<E, B> fromBeanBinder,
- Binder<B, E> toBeanBinder) {
- this.entityType = entityType;
- this.fromBeanBinder = fromBeanBinder;
- this.toBeanBinder = toBeanBinder;
- }
-
- public final void fromBean(E bean) {
- fromBeanBinder.copy(bean, (B) this);
- }
-
- public final E toBean() {
- E result = newEntity();
- toBeanBinder.copy((B) this, result);
- return result;
- }
-
- protected E newEntity() {
- try {
- E result = entityType.newInstance();
- return result;
- } catch (Exception e) {
- throw new TuttiTechnicalException(
- "Could not instanciate entity of type " +
- entityType.getName(), e);
- }
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- Object oldValue = getId();
- this.id = id;
- firePropertyChange(PROPERTY_ID, oldValue, id);
- }
-
- public String getTitle() {
- return null;
- }
-
- public String getIcon() {
- return null;
- }
-
- public boolean isModify() {
- return modify;
- }
-
- public void setModify(boolean modify) {
- Object oldValue = isModify();
- this.modify = modify;
- firePropertyChange(PROPERTY_MODIFY, oldValue, modify);
- }
-
- public boolean isValid() {
- return valid;
- }
-
- public void setValid(boolean valid) {
- Object oldValue = isValid();
- this.valid = valid;
- firePropertyChange(PROPERTY_VALID, oldValue, valid);
- }
-
- public boolean isCreate() {
- return id == null;
- }
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -1,623 +0,0 @@
-package fr.ifremer.tutti.ui.swing;
-
-/*
- * #%L
- * Tutti :: UI
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 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 com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-import fr.ifremer.tutti.persistence.entities.IdAware;
-import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
-import fr.ifremer.tutti.ui.swing.util.Cancelable;
-import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
-import fr.ifremer.tutti.ui.swing.util.UIMessageNotifier;
-import fr.ifremer.tutti.ui.swing.util.editor.SimpleTimeEditor;
-import jaxx.runtime.JAXXUtil;
-import jaxx.runtime.SwingUtil;
-import jaxx.runtime.swing.editor.NumberEditor;
-import jaxx.runtime.swing.editor.bean.BeanComboBox;
-import jaxx.runtime.swing.editor.bean.BeanDoubleList;
-import jaxx.runtime.swing.renderer.DecoratorListCellRenderer;
-import jaxx.runtime.validator.swing.SwingValidator;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang3.reflect.ConstructorUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jdesktop.swingx.JXDatePicker;
-import org.nuiton.util.decorator.Decorator;
-import org.nuiton.util.decorator.JXPathDecorator;
-import org.nuiton.validator.bean.simple.SimpleBeanValidator;
-
-import javax.swing.AbstractAction;
-import javax.swing.AbstractButton;
-import javax.swing.Action;
-import javax.swing.DefaultComboBoxModel;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.JOptionPane;
-import javax.swing.JRootPane;
-import javax.swing.JTextField;
-import javax.swing.KeyStroke;
-import javax.swing.ListCellRenderer;
-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.Dimension;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-import java.awt.event.FocusAdapter;
-import java.awt.event.FocusEvent;
-import java.awt.event.ItemEvent;
-import java.awt.event.KeyEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-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 java.util.logging.Level;
-import java.util.logging.Logger;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * Contract of any UI handler.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.1
- */
-public abstract class AbstractTuttiUIHandler<M, UI extends TuttiUI<M, ?>> implements UIMessageNotifier {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(AbstractTuttiUIHandler.class);
-
- public abstract void beforeInitUI();
-
- public abstract void afterInitUI();
-
- public abstract void onCloseUI();
-
- public abstract SwingValidator<M> getValidator();
-
- /**
- * Global application context.
- *
- * @since 0.1
- */
- protected final TuttiUIContext context;
-
- /**
- * UI handled.
- *
- * @since 0.1
- */
- protected final UI ui;
-
- protected AbstractTuttiUIHandler(TuttiUIContext context, UI ui) {
- this.context = context;
- this.ui = ui;
- }
-
- //------------------------------------------------------------------------//
- //-- Public methods --//
- //------------------------------------------------------------------------//
-
- public DefaultComboBoxModel newComboModel(Object... items) {
- return new DefaultComboBoxModel(items);
- }
-
- public DefaultComboBoxModel newComboActionModel(Class<? extends AbstractTuttiAction>... actionNames) {
- List<Object> items = Lists.newArrayListWithCapacity(actionNames.length);
- for (Class<? extends AbstractTuttiAction> actionName : actionNames) {
- Action action = createAction(actionName);
- items.add(action);
- }
- return new DefaultComboBoxModel(items.toArray());
- }
-
- public final M getModel() {
- return ui.getModel();
- }
-
- public final UI getUI() {
- return ui;
- }
-
- @Override
- public void showInformationMessage(String message) {
- context.showInformationMessage(message);
- }
-
- public TuttiUIContext getContext() {
- return context;
- }
-
- public TuttiApplicationConfig getConfig() {
- 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();
- TuttiUIUtil.setProperty(getModel(), property, value);
- }
-
- public void setBoolean(ItemEvent event, String property) {
- boolean value = event.getStateChange() == ItemEvent.SELECTED;
- TuttiUIUtil.setProperty(getModel(), property, value);
- }
-
- public void setDate(ActionEvent event, String property) {
- JXDatePicker field = (JXDatePicker) event.getSource();
- Date value = field.getDate();
- TuttiUIUtil.setProperty(getModel(), property, value);
- }
-
- public void selectListData(ListSelectionEvent event, String property) {
- if (!event.getValueIsAdjusting()) {
- JList list = (JList) event.getSource();
- ListSelectionModel selectionModel = list.getSelectionModel();
-
- selectionModel.setValueIsAdjusting(true);
- try {
- List selectedList = Lists.newLinkedList();
-
- for (int index : list.getSelectedIndices()) {
- Object o = list.getModel().getElementAt(index);
- selectedList.add(o);
- }
- TuttiUIUtil.setProperty(getModel(), property, selectedList);
- } finally {
- selectionModel.setValueIsAdjusting(false);
- }
- }
- }
-
- public void openDialog(TuttiUI ui,
- TuttiUI dialogContent,
- String title, Dimension dim) {
- Frame frame = SwingUtil.getParentContainer(ui, Frame.class);
-
- JDialog result = new JDialog(frame, true);
- result.setTitle(title);
- result.add((Component) dialogContent);
- result.setResizable(true);
-
- result.setSize(dim);
-
- final AbstractTuttiUIHandler handler = dialogContent.getHandler();
-
- if (handler instanceof Cancelable) {
-
- // add a auto-close action
- JRootPane rootPane = result.getRootPane();
-
- KeyStroke shortcutClosePopup = getConfig().getShortcutClosePopup();
-
- rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
- shortcutClosePopup, "close");
- rootPane.getActionMap().put("close", new AbstractAction() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void actionPerformed(ActionEvent e) {
- ((Cancelable) handler).cancel();
- }
- });
- }
-
- result.addWindowListener(new WindowAdapter() {
-
- @Override
- public void windowClosed(WindowEvent e) {
- Component ui = (Component) e.getSource();
- if (log.isInfoEnabled()) {
- log.info("Destroy ui " + ui);
- }
- JAXXUtil.destroy(ui);
- }
- });
- SwingUtil.center(frame, result);
- result.setVisible(true);
- }
-
- public void closeDialog(TuttiUI ui) {
- SwingUtil.getParentContainer(ui, JDialog.class).setVisible(false);
- }
-
- public int askSaveBeforeLeaving(String message) {
- int i = JOptionPane.showConfirmDialog(
- getContext().getMainUI(),
- message,
- _("tutti.dialog.askSaveBeforeLeaving.title"),
- JOptionPane.YES_NO_CANCEL_OPTION);
- return i;
- }
-
- public int askCancelEditBeforeLeaving(String message) {
- int i = JOptionPane.showConfirmDialog(
- getContext().getMainUI(),
- message,
- _("tutti.dialog.askCancelEditBeforeLeaving.title"),
- JOptionPane.YES_NO_OPTION);
- return i;
- }
- //------------------------------------------------------------------------//
- //-- Internal methods --//
- //------------------------------------------------------------------------//
-
- protected void initUI(TuttiUI ui) {
-
- for (Map.Entry<String, Object> entry : ui.get$objectMap().entrySet()) {
- Object component = entry.getValue();
- if (component instanceof NumberEditor) {
- initNumberEditor((NumberEditor) component);
-
- } else if (component instanceof JXDatePicker) {
- initDatePicker((JXDatePicker) component);
-
- } else if (component instanceof SimpleTimeEditor) {
- initTimeEditor((SimpleTimeEditor) component);
-
- } else if (component instanceof JLabel) {
- JLabel jLabel = (JLabel) component;
- Boolean strongStyle = (Boolean) jLabel.getClientProperty("strongStyle");
- Boolean italicStyle = (Boolean) jLabel.getClientProperty("italicStyle");
- boolean addHtml = strongStyle != null && strongStyle || italicStyle != null && italicStyle;
- if (addHtml) {
- String text = jLabel.getText();
- if (strongStyle != null && strongStyle) {
- text = "<strong>" + text + "</strong>";
- }
- if (italicStyle != null && italicStyle) {
- text = "<em>" + text + "</em>";
- }
- jLabel.setText("<html>" + text + "</html>");
- }
-
- } else if (component instanceof JTextField) {
- JTextField jTextField = (JTextField) component;
- Boolean computed = (Boolean) jTextField.getClientProperty("computed");
- if (computed != null && computed) {
- Font font = jTextField.getFont().deriveFont(Font.ITALIC);
- jTextField.setFont(font);
- jTextField.setEditable(!computed);
- jTextField.setEnabled(!computed);
- jTextField.setDisabledTextColor(Color.BLUE);
- }
-
- } else if (component instanceof AbstractButton) {
- AbstractButton abstractButton = (AbstractButton) component;
- Class<? extends AbstractTuttiAction> actionName = (Class<? extends AbstractTuttiAction>) abstractButton.getClientProperty("tuttiAction");
- if (actionName != null) {
- initAction(abstractButton, actionName);
- }
- }
- }
- }
-
- protected void initAction(AbstractButton abstractButton,
- Class<? extends AbstractTuttiAction> actionName) {
- Action action = createAction(actionName);
- abstractButton.setAction(action);
- }
-
- protected <A extends AbstractTuttiAction> A createAction(Class<A> actionName) {
- A action = null;
- if (actionName != null) {
- try {
-
- AbstractTuttiUIHandler handler = this;
-
- if (AbstractMainUITuttiAction.class.isAssignableFrom(actionName) &&
- getContext().getMainUI() != null) {
- handler = getContext().getMainUI().getHandler();
- }
-
- action = (A) ConstructorUtils.invokeConstructor(
- actionName, handler);
- } catch (Exception e) {
- throw new RuntimeException(
- "Could not instanciate action " + actionName, e);
- }
- }
- return action;
- }
-
- protected void doAction(AbstractButton button, ActionEvent event) {
- button.getAction().actionPerformed(event);
- }
-
- protected void registerValidators(SwingValidator... validators) {
- MainUI main = context.getMainUI();
- Preconditions.checkNotNull(
- main, "No mainUI registred in application context");
- MainUIHandler handler = main.getHandler();
- handler.clearValidators();
- for (SwingValidator validator : validators) {
- handler.registerValidator(validator);
- }
- }
-
- public void clearValidators() {
- MainUI main = context.getMainUI();
- Preconditions.checkNotNull(
- main, "No mainUI registred in application context");
- MainUIHandler handler = main.getHandler();
- handler.clearValidators();
- }
-
-
- /**
- * Prépare un component de choix d'entités pour un type d'entité donné et
- * pour un service de persistance donné.
- *
- * @param comboBox le component graphique à initialiser
- */
- protected <E extends Serializable> void initBeanComboBox(
- BeanComboBox<E> comboBox,
- List<E> data,
- E selectedData) {
-
- initBeanComboBox(comboBox, data, selectedData, null);
- }
-
- protected <E extends Serializable> void initBeanComboBox(
- BeanComboBox<E> comboBox,
- List<E> data,
- E selectedData,
- String decoratorContext) {
-
- Preconditions.checkNotNull(comboBox, "No comboBox!");
-
- Class<E> beanType = comboBox.getBeanType();
-
- Preconditions.checkNotNull(beanType, "No beanType on the combobox!");
-
- Decorator<E> decorator = getDecorator(beanType, decoratorContext);
-
- if (data == null) {
- data = Lists.newArrayList();
- }
-
- if (log.isInfoEnabled()) {
- log.info("entity comboBox list [" + beanType.getName() + "] : " +
- (data == null ? 0 : data.size()));
- }
-
- // add data list to combo box
- comboBox.init((JXPathDecorator<E>) decorator, data);
-
- comboBox.setSelectedItem(selectedData);
-
- if (log.isDebugEnabled()) {
- log.debug("combo [" + beanType.getName() + "] : " +
- comboBox.getData().size());
- }
- }
-
- /**
- * Prépare un component de choix d'entités pour un type d'entité donné et
- * pour un service de persistance donné.
- *
- * @param list le component graphique à initialiser
- * @param data la liste des données à mettre dans la liste de gauche
- * @param selectedData la liste des données à mettre dans la liste de droite
- */
- protected <E extends IdAware> void initBeanList(
- BeanDoubleList<E> list,
- List<E> data,
- List<E> selectedData) {
-
- Preconditions.checkNotNull(list, "No list!");
-
- Class<E> beanType = list.getBeanType();
- Preconditions.checkNotNull(beanType, "No beanType on the double list!");
-
- DecoratorService decoratorService =
- context.getService(DecoratorService.class);
- Decorator<E> decorator = decoratorService.getDecoratorByType(beanType);
-
- if (log.isInfoEnabled()) {
- log.info("entity list [" + beanType.getName() + "] : " +
- (data == null ? 0 : data.size()));
- }
-
- // add data list to combo box
- list.init((JXPathDecorator<E>) decorator, data, selectedData);
-
- if (log.isDebugEnabled()) {
- log.debug("Jlist [" + beanType.getName() + "] : " +
- list.getUniverseList().getModel().getSize());
- }
- }
-
- protected void initNumberEditor(NumberEditor editor) {
- if (log.isDebugEnabled()) {
- log.debug("init number editor " + editor.getName());
- }
- editor.init();
-
- // Force binding if value is already in model
- Number model = editor.getModel();
- if (model != null) {
- editor.setModel(null);
- editor.setModel(model);
- }
- }
-
- protected void initTimeEditor(SimpleTimeEditor editor) {
- if (log.isDebugEnabled()) {
- log.debug("init time editor " + editor.getName() +
- " for property " + editor.getModel().getProperty());
- }
- editor.init();
- }
-
- protected void initDatePicker(final JXDatePicker picker) {
-
- if (log.isDebugEnabled()) {
- log.debug("disable JXDatePicker editor" + picker.getName());
- }
- String dateFormat = getConfig().getDateFormat();
- picker.setFormats(dateFormat);
- picker.getEditor().addFocusListener(new FocusAdapter() {
-
- @Override
- public void focusLost(FocusEvent e) {
- try {
- picker.commitEdit();
-
- } catch (ParseException ex) {
- if (log.isDebugEnabled()) {
- log.debug("format error", ex);
- }
- }
- }
-
- });
- }
-
- public <O> Decorator<O> getDecorator(Class<O> type, String name) {
- DecoratorService decoratorService =
- context.getService(DecoratorService.class);
-
- Preconditions.checkNotNull(type);
-
- Decorator decorator = decoratorService.getDecoratorByType(type, name);
- if (decorator == null) {
-
- if (DecoratorService.LabelAware.class.isAssignableFrom(type)) {
- decorator = getDecorator(DecoratorService.LabelAware.class, null);
- }
- }
- Preconditions.checkNotNull(decorator);
- return decorator;
- }
-
- protected String decorate(Object object) {
- String result = "";
- if (object != null) {
- getDecorator(object.getClass(), null).toString(object);
- }
- return result;
- }
-
- protected <O> ListCellRenderer newListCellRender(Class<O> type) {
-
- return newListCellRender(type, null);
- }
-
- protected <O> ListCellRenderer newListCellRender(Class<O> type, String name) {
-
- Decorator<O> decorator = getDecorator(type, name);
- return newListCellRender(decorator);
- }
-
- protected <O> ListCellRenderer newListCellRender(Decorator<O> decorator) {
-
- Preconditions.checkNotNull(decorator);
-
- ListCellRenderer result = new DecoratorListCellRenderer(decorator);
- return result;
- }
-
- protected void listenValidatorValid(SimpleBeanValidator validator,
- final AbstractTuttiBeanUIModel model) {
- validator.addPropertyChangeListener(SimpleBeanValidator.VALID_PROPERTY, new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- if (log.isDebugEnabled()) {
- log.debug("Model [" + model +
- "] pass to valid state [" +
- evt.getNewValue() + "]");
- }
- model.setValid((Boolean) evt.getNewValue());
- }
- });
- }
-
- protected void listModelIsModify(AbstractTuttiBeanUIModel model) {
- model.addPropertyChangeListener(new PropertyChangeListener() {
-
- final Set<String> excludeProperties = getPropertiesToIgnore();
-
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- if (!excludeProperties.contains(evt.getPropertyName())) {
- ((AbstractTuttiBeanUIModel) evt.getSource()).setModify(true);
- }
- }
- });
- }
-
- protected Set<String> getPropertiesToIgnore() {
- return Sets.newHashSet(
- AbstractTuttiBeanUIModel.PROPERTY_MODIFY,
- AbstractTuttiBeanUIModel.PROPERTY_VALID);
- }
-
- public <B> void selectFirstInCombo(BeanComboBox<B> combo) {
- List<B> data = combo.getData();
- B selectedItem = null;
- if (CollectionUtils.isNotEmpty(data)) {
- selectedItem = data.get(0);
- }
- combo.setSelectedItem(selectedItem);
- }
-
- protected void closeUI(TuttiUI ui) {
- ui.getHandler().onCloseUI();
- }
-
- protected <B> void changeValidatorContext(String newContext,
- SwingValidator<B> validator) {
- B bean = validator.getBean();
- validator.setContext(newContext);
- validator.setBean(bean);
- }
-}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,8 +28,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -40,14 +38,11 @@
*/
public class EditSelectedCruiseAction extends AbstractChangeScreenAction {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(EditSelectedCruiseAction.class);
public EditSelectedCruiseAction(MainUIHandler handler) {
super(handler,
- "editCruise",
"cruise",
_("tutti.action.editSelectedCruise"),
_("tutti.action.editSelectedCruise.tip"),
@@ -56,7 +51,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
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/EditSelectedCruiseCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,8 +26,6 @@
import com.google.common.base.Preconditions;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -38,21 +36,18 @@
*/
public class EditSelectedCruiseCatchesAction extends AbstractChangeScreenAction {
- private static final long serialVersionUID = 1L;
-
public EditSelectedCruiseCatchesAction(MainUIHandler handler) {
super(handler,
- "editCatches",
"edit",
_("tutti.action.editCatches"),
_("tutti.action.editCatches.tip"),
true
);
- setMnemonic('C');
+// setMnemonic('C');
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
Preconditions.checkState(getContext().isCruiseFilled());
getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT);
getContext().setScreen(null);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,8 +28,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -40,14 +38,11 @@
*/
public class EditSelectedProgramAction extends AbstractChangeScreenAction {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(EditSelectedProgramAction.class);
public EditSelectedProgramAction(MainUIHandler handler) {
super(handler,
- "editProgram",
"program",
_("tutti.action.editSelectedProgram"),
_("tutti.action.editSelectedProgram.tip"),
@@ -56,7 +51,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
Preconditions.checkState(getContext().getProgramId() != null);
if (log.isInfoEnabled()) {
log.info("Edit program: " + getContext().getProgramId());
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,8 +28,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -40,24 +38,21 @@
*/
public class EditSelectedProtocolAction extends AbstractChangeScreenAction {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(EditSelectedProtocolAction.class);
public EditSelectedProtocolAction(MainUIHandler handler) {
super(handler,
- "editProtocol",
"protocol",
_("tutti.action.editSelectedProtocol"),
_("tutti.action.editSelectedProtocol.tip"),
true
);
- setMnemonic('P');
+// setMnemonic('P');
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
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/ImportTemporaryReferentialAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,7 +28,6 @@
import org.apache.commons.logging.LogFactory;
import javax.swing.SwingUtilities;
-import java.awt.event.ActionEvent;
import static org.nuiton.i18n.I18n._;
@@ -40,15 +39,12 @@
*/
public class ImportTemporaryReferentialAction extends AbstractChangeScreenAction {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ImportTemporaryReferentialAction.class);
public ImportTemporaryReferentialAction(MainUIHandler handler) {
super(handler,
- "importTemporaryReferential",
"temporary-referential-import",
_("tutti.action.importTemporaryReferential"),
_("tutti.action.importTemporaryReferential.tip"),
@@ -57,7 +53,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
getContext().setScreen(getNextScreen());
SwingUtilities.invokeLater(new Runnable() {
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,7 +22,7 @@
#L%
-->
<JFrame id='mainFrame' onWindowClosing='getHandler().closeTutti()'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<TuttiUIContext, MainUIHandler>'
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiUIContext, MainUIHandler>'
width='800' height='600'>
<import>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -38,7 +38,10 @@
import fr.ifremer.tutti.ui.swing.content.program.EditProgramUI;
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.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
+import fr.ifremer.tutti.ui.swing.util.action.TuttiUIAction;
import jaxx.runtime.swing.AboutPanel;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
@@ -75,7 +78,7 @@
protected MainUIHandler(TuttiUIContext context, MainUI ui) {
super(context, ui);
- this.persistenceService = context.getService(PersistenceService.class);
+ this.persistenceService = context.getPersistenceService();
context.setMainUI(ui);
context.setActionUI(new TuttiActionUI(ui, context));
}
@@ -135,7 +138,7 @@
} else {
// open tutti db
- OpenDbAction openDbAction = createAction(OpenDbAction.class);
+ TuttiUIAction<OpenDbAction> openDbAction = createAction(OpenDbAction.class);
openDbAction.actionPerformed(null);
}
}
@@ -419,10 +422,10 @@
}
} catch (Exception e) {
- AbstractTuttiAction mainAction = AbstractTuttiAction.getMainAction();
- if (mainAction != null) {
- mainAction.setFailed(true);
- }
+// AbstractTuttiAction mainAction = AbstractTuttiAction.getMainAction();
+// if (mainAction != null) {
+// mainAction.setFailed(true);
+// }
TuttiUIContext.getErrorHelper().showErrorDialog(
"Could not change to screen " + screen, e);
@@ -446,61 +449,56 @@
if (context.isDbLoaded()) {
- String programId = context.getProgramId();
+ if (context.isProgramFilled()) {
- if (programId == null) {
-
- // no program selected (so neither cruise)
-
- title = _("tutti.title.noSelectedProgram");
-
- } else {
-
// selected program
- Program program = persistenceService.getProgram(programId);
+ Program program = getDataContext().getProgram();
title = _("tutti.title.selectedProgram", program.getName()) + " / ";
- String cruiseId = context.getCruiseId();
+ if (context.isCruiseFilled()) {
- if (cruiseId == null) {
-
- // no selected cruise
-
- title += _("tutti.title.noSelectedCruise");
-
- } else {
-
// selected cruise
Cruise cruise;
- cruise = persistenceService.getCruise(cruiseId);
+ cruise = getDataContext().getCruise();
if (cruise != null) {
- title += _("tutti.title.selectedCruise", cruise.getName());
+ title += _("tutti.title.selectedCruise", cruise.getName());
}
+ } else {
+
+ // no selected cruise
+
+ title += _("tutti.title.noSelectedCruise");
}
title += " / ";
- String protocolId = context.getProtocolId();
+ if (context.isProtocolFilled()) {
- if (protocolId == null) {
+ // selected protocol
+ TuttiProtocol protocol = getDataContext().getProtocol();
+ title += _("tutti.title.selectedProtocol", protocol.getName());
+ } else {
+
// no selected protocol
title += _("tutti.title.noSelectedProtocol");
+ }
- } else {
+ } else {
- // selected protocol
- TuttiProtocol protocol = persistenceService.getProtocol(protocolId);
+ // no program selected (so neither cruise)
- title += _("tutti.title.selectedProtocol", protocol.getName());
- }
+ title = _("tutti.title.noSelectedProgram");
}
} else {
+
+ // no db loaded
+
title = _("tutti.title.nodb");
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,8 +27,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -39,24 +37,21 @@
*/
public class ManageDbAction extends AbstractChangeScreenAction {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(ManageDbAction.class);
public ManageDbAction(MainUIHandler handler) {
super(handler,
- "mnanageDb",
"manage-db",
_("tutti.action.manageDb"),
_("tutti.action.manageDb.tip"),
true
);
- setMnemonic('P');
+// setMnemonic('P');
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
if (log.isDebugEnabled()) {
log.debug("open manage db screen");
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,6 +25,7 @@
*/
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler;
import jaxx.runtime.SwingUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -77,7 +78,7 @@
MainUIHandler handler = new MainUIHandler(context);
// try to update jre - i18n - application and exit if so
- new UpdateApplicationAction(handler).doAction(null);
+ new UpdateApplicationAction(handler).performAndReleaseAction();
// try to update db
// new UpdateReferentialAction(handler).doAction(null);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,8 +24,6 @@
* #L%
*/
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -36,21 +34,18 @@
*/
public class SelectCruiseAction extends AbstractChangeScreenAction {
- private static final long serialVersionUID = 1L;
-
public SelectCruiseAction(MainUIHandler handler) {
super(handler,
- "selectCruise",
"home",
_("tutti.action.selectCruise"),
_("tutti.action.selectCruise.tip"),
true
);
- setMnemonic('S');
+// setMnemonic('S');
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
// Preconditions.checkNotNull(getContext().isCruiseFilled());
getContext().setScreen(getNextScreen());
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -306,7 +306,7 @@
if (log.isInfoEnabled()) {
log.info(String.format("A database update was downloaded (oldVersion: %s, newVersion: %s), will launch a referential synchronize operation ", info.oldVersion, info.newVersion));
}
- TuttiReferentialSynchronizeService service = context.getService(TuttiReferentialSynchronizeService.class);
+ TuttiReferentialSynchronizeService service = context.getTuttiReferentialSynchronizeService();
ReferentialSynchronizeResult result = new ReferentialSynchronizeResult();
File dbDirectory = getDbDirectory(info);
@@ -328,7 +328,7 @@
if (log.isInfoEnabled()) {
log.info("Reset all caches.");
}
- PersistenceService persistence = context.getService(PersistenceService.class);
+ PersistenceService persistence = context.getPersistenceService();
persistence.clearAllCaches();
// replace the version.appup file content
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -0,0 +1,252 @@
+package fr.ifremer.tutti.ui.swing;
+
+import com.google.common.base.Preconditions;
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
+import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.persistence.entities.referential.Gear;
+import fr.ifremer.tutti.persistence.entities.referential.Person;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+import fr.ifremer.tutti.persistence.entities.referential.Vessel;
+import fr.ifremer.tutti.service.PersistenceService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.io.Closeable;
+import java.util.List;
+
+/**
+ * Data context of ui.
+ * <p/>
+ * All shared data must be there to avoid reloading some stuff.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0.2
+ */
+public class TuttiDataContext implements Closeable {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(TuttiDataContext.class);
+
+ protected Program program;
+
+ protected Cruise cruise;
+
+ protected TuttiProtocol protocol;
+
+ protected List<Caracteristic> caracteristics;
+
+ protected List<Person> persons;
+
+ protected List<Species> species;
+
+ protected List<Species> referentSpecies;
+
+ protected List<Vessel> fishingVessels;
+
+ protected List<Vessel> scientificVessels;
+
+ protected List<Gear> fishingGears;
+
+ protected List<Gear> scientificGears;
+
+ protected PersistenceService service;
+
+ protected final TuttiUIContext uiContext;
+
+ public TuttiDataContext(TuttiUIContext uiContext) {
+ this.uiContext = uiContext;
+ this.uiContext.addPropertyChangeListener(TuttiUIContext.PROPERTY_PROGRAM_ID, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ program = null;
+ }
+ });
+ this.uiContext.addPropertyChangeListener(TuttiUIContext.PROPERTY_CRUISE_ID, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ cruise = null;
+ }
+ });
+ this.uiContext.addPropertyChangeListener(TuttiUIContext.PROPERTY_PROTOCOL_ID, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ protocol = null;
+ }
+ });
+ }
+
+ public Program getProgram() {
+ checkOpened();
+ if (program == null) {
+ if (uiContext.isProgramFilled()) {
+ String id = uiContext.getProgramId();
+ if (log.isInfoEnabled()) {
+ log.info("Loading program: " + id);
+ }
+ program = service.getProgram(id);
+ }
+ }
+ return program;
+ }
+
+ public Cruise getCruise() {
+ checkOpened();
+ if (cruise == null) {
+ if (uiContext.isCruiseFilled()) {
+ String id = uiContext.getCruiseId();
+ if (log.isInfoEnabled()) {
+ log.info("Loading cruise: " + id);
+ }
+ cruise = service.getCruise(id);
+ }
+ }
+ return cruise;
+ }
+
+ public TuttiProtocol getProtocol() {
+ checkOpened();
+ if (protocol == null) {
+ if (uiContext.isProtocolFilled()) {
+ String id = uiContext.getProtocolId();
+ if (log.isInfoEnabled()) {
+ log.info("Loading cruise: " + id);
+ }
+ protocol = service.getProtocol(id);
+ }
+ }
+ return protocol;
+ }
+
+ public List<Caracteristic> getCaracteristics() {
+ if (caracteristics == null) {
+ if (log.isInfoEnabled()) {
+ log.info("Loading allCaracteristic");
+ }
+ caracteristics = service.getAllCaracteristic();
+ }
+ return caracteristics;
+ }
+
+ public List<Species> getSpecies() {
+ if (species == null) {
+ if (log.isInfoEnabled()) {
+ log.info("Loading allSpecies");
+ }
+ species = service.getAllSpecies();
+ }
+ return species;
+ }
+
+ public List<Species> getReferentSpecies() {
+ if (referentSpecies == null) {
+ if (log.isInfoEnabled()) {
+ log.info("Loading allReferentSpecies");
+ }
+ referentSpecies = service.getAllReferentSpecies();
+ }
+ return referentSpecies;
+ }
+
+ public List<Person> getPersons() {
+ checkOpened();
+ if (persons == null) {
+ if (log.isInfoEnabled()) {
+ log.info("Loading allPerson");
+ }
+ persons = service.getAllPerson();
+ }
+ return persons;
+ }
+
+ public List<Vessel> getFishingVessels() {
+ checkOpened();
+ if (fishingVessels == null) {
+ if (log.isInfoEnabled()) {
+ log.info("Loading allfishingVessel");
+ }
+ fishingVessels = service.getAllFishingVessel();
+ }
+ return fishingVessels;
+ }
+
+ public List<Vessel> getScientificVessels() {
+ checkOpened();
+ if (scientificVessels == null) {
+ if (log.isInfoEnabled()) {
+ log.info("Loading allScientificVessel");
+ }
+ scientificVessels = service.getAllScientificVessel();
+ }
+ return scientificVessels;
+ }
+
+ public List<Gear> getFishingGears() {
+ checkOpened();
+ if (fishingGears == null) {
+ if (log.isInfoEnabled()) {
+ log.info("Loading allFishingGear");
+ }
+ fishingGears = service.getAllFishingGear();
+ }
+ return fishingGears;
+ }
+
+ public List<Gear> getScientificGears() {
+ checkOpened();
+ if (scientificGears == null) {
+ if (log.isInfoEnabled()) {
+ log.info("Loading allScientificGear");
+ }
+ scientificGears = service.getAllScientificGear();
+ }
+ return scientificGears;
+ }
+
+ public void open(PersistenceService persistenceService) {
+ close();
+ this.service = persistenceService;
+ }
+
+ @Override
+ public void close() {
+ service = null;
+ program = null;
+ cruise = null;
+ program = null;
+ resetVessels();
+ resetGears();
+ resetPersons();
+ resetSpecies();
+ }
+
+ public void resetGears() {
+ fishingGears = null;
+ scientificGears = null;
+ }
+
+ public void resetVessels() {
+ fishingVessels = null;
+ scientificVessels = null;
+ }
+
+ public void resetPersons() {
+ persons = null;
+ }
+
+ public void resetSpecies() {
+ species = null;
+ referentSpecies = null;
+ }
+
+ public void resetCaracteristics() {
+ caracteristics = null;
+ }
+
+ protected void checkOpened() {
+ Preconditions.checkState(service != null, "No persistence service assigned!");
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiErrorHelper.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiErrorHelper.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiErrorHelper.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -1,90 +0,0 @@
-package fr.ifremer.tutti.ui.swing;
-
-/*
- * #%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.service.TuttiBusinessException;
-import org.jdesktop.swingx.JXErrorPane;
-import org.jdesktop.swingx.error.ErrorInfo;
-import org.jdesktop.swingx.error.ErrorReporter;
-
-import javax.swing.JOptionPane;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class TuttiErrorHelper implements ErrorReporter {
-
- protected TuttiUIContext context;
-
- public TuttiErrorHelper(TuttiUIContext context) {
- this.context = context;
- }
-
- /**
- * Display a user friendly error frame.
- *
- * @param message message for user
- * @param cause exception cause
- */
- public void showErrorDialog(String message, Throwable cause) {
-
- if (cause instanceof TuttiBusinessException) {
- JOptionPane.showMessageDialog(context.getMainUI(), cause.getMessage(),
- _("tutti.ui.common.error"),
- JOptionPane.ERROR_MESSAGE);
- } else {
-
- JXErrorPane pane = new JXErrorPane();
- ErrorInfo info = new ErrorInfo(_("tutti.common.error"),
- _("tutti.error.errorpane.htmlmessage", message), null, null,
- cause, null, null);
- pane.setErrorInfo(info);
- pane.setErrorReporter(this);
- JXErrorPane.showDialog(context.getMainUI(), pane);
- }
-
- }
-
- /**
- * Display a user friendly error frame.
- *
- * @param message message for user
- */
- public void showErrorDialog(String message) {
- showErrorDialog(message, null);
- }
-
- @Override
- public void reportError(ErrorInfo errorInfo) throws NullPointerException {
-
- showErrorDialog(errorInfo.getBasicErrorMessage(), errorInfo.getErrorException());
- }
-
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiExceptionHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiExceptionHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiExceptionHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -1,132 +0,0 @@
-package fr.ifremer.tutti.ui.swing;
-
-/*
- * #%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.service.TuttiTechnicalException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Tutti global exception handler.
- * <p/>
- * Catch all application uncaught and display it in a custom JoptionPane
- * or JXErrorPane.
- * <p/>
- * See http://stackoverflow.com/a/4448569/1165234 for details.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class TuttiExceptionHandler implements Thread.UncaughtExceptionHandler {
-
- 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);
- }
-
- public void handle(Throwable thrown) {
- // for EDT exceptions
- handleException(Thread.currentThread().getName(), thrown);
- }
-
- protected void handleException(String tname, Throwable ex) {
- if (log.isErrorEnabled()) {
- log.error("Global application exception [" + tname + "]", ex);
- }
-
- Throwable cause = ex;
-
- if (cause instanceof NullPointerException) {
-
- // See http://forge.codelutin.com/issues/2055
- if (ex.getStackTrace().length > 0 &&
- ex.getStackTrace()[0].getClassName().contains("swing.")) {
- if (log.isWarnEnabled()) {
- log.warn("AWT bad error (See http://forge.codelutin.com/issues/2055)", ex);
- }
- return;
- }
- }
-
- if (cause instanceof IndexOutOfBoundsException) {
- // See http://forge.codelutin.com/issues/2055
- if (ex.getStackTrace().length > 0 &&
- "convertRowIndexToModel".equals(ex.getStackTrace()[0].getMethodName())) {
- if (log.isWarnEnabled()) {
- log.warn("AWT bad error (See http://forge.codelutin.com/issues/2055)", ex);
- }
- return;
- }
- }
- if (cause instanceof TuttiTechnicalException) {
- cause = cause.getCause();
- }
-
- boolean backToScreen = false;
-
- AbstractTuttiAction action = null;
- if (cause instanceof TuttiActionException) {
-
- TuttiActionException actionException = (TuttiActionException) cause;
- cause = cause.getCause();
-
- // close action ui
-
- action = actionException.getAction();
-
- if (action instanceof AbstractChangeScreenAction) {
- backToScreen = true;
- }
- action.getContext().getActionUI().getModel().setAction(null);
- }
-
- TuttiUIContext.getErrorHelper().showErrorDialog(cause.getMessage(), ex);
-
- if (backToScreen) {
- action.getContext().setScreen(TuttiScreen.SELECT_CRUISE);
- }
- }
-
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUI.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUI.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUI.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -1,135 +0,0 @@
-package fr.ifremer.tutti.ui.swing;
-
-/*
- * #%L
- * Tutti :: UI
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 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 jaxx.runtime.JAXXObject;
-
-import javax.swing.UIManager;
-import java.awt.Font;
-
-/**
- * Contract to place on each generated jaxx ui.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.1
- */
-public interface TuttiUI<M, H extends AbstractTuttiUIHandler<M, ?>> extends JAXXObject {
-
- M getModel();
-
- H getHandler();
-
- /**
- * Pattern to use for short numeric values in editors with max 1 digits.
- *
- * @since 0.2
- */
- public static final String INT_1_DIGITS_PATTERN = "\\d{0,1}";
-
- /**
- * Pattern to use for short numeric values in editors with max 2 digits.
- *
- * @since 0.1
- */
- public static final String INT_2_DIGITS_PATTERN = "\\d{0,2}";
-
- /**
- * Pattern to use for signed numeric values in editors with max 2 digits.
- *
- * @since 1.0
- */
- public static final String SIGNED_INT_2_DIGITS_PATTERN = "-?\\d{0,2}";
-
- /**
- * Pattern to use for short numeric values in editors with max 3 digits.
- *
- * @since 0.1
- */
- public static final String INT_3_DIGITS_PATTERN = "\\d{0,3}";
-
- /**
- * Pattern to use for singed numeric values in editors with max 3 digits.
- *
- * @since 1.0
- */
- public static final String SIGNED_INT_3_DIGITS_PATTERN = "-?\\d{0,3}";
-
- /**
- * Pattern to use for short numeric values in editors with max 4 digits.
- *
- * @since 0.2
- */
- public static final String INT_4_DIGITS_PATTERN = "\\d{0,4}";
-
- /**
- * Pattern to use for integer numeric values in editors with max 6 digits.
- *
- * @since 0.1
- */
- public static final String INT_6_DIGITS_PATTERN = "\\d{0,6}";
-
- /**
- * Pattern to use for integer numeric values in editors with max 7 digits.
- *
- * @since 0.1
- */
- public static final String INT_7_DIGITS_PATTERN = "\\d{0,7}";
-
- /**
- * Pattern to use for decimal numeric values with 1 decimal digits in
- * editors.
- *
- * @since 0.1
- */
- public static final String DECIMAL1_PATTERN = "\\d{0,6}|\\d{1,6}\\.\\d{0,1}";
-
- /**
- * Pattern to use for decimal numeric values with 2 decimal digits in
- * editors.
- *
- * @since 0.1
- */
- public static final String DECIMAL2_PATTERN = "\\d{0,6}|\\d{1,6}\\.\\d{0,2}";
-
- /**
- * Pattern to use for decimal numeric values with 3 decimal digits in
- * editors.
- *
- * @since 0.1
- */
- public static final String DECIMAL3_PATTERN = "\\d{0,6}|\\d{1,6}\\.\\d{0,3}";
-
- /**
- * Pattern to use for decimal numeric values with 2 digits + 3 decimal digits in
- * editors.
- *
- * @since 1.0
- */
- public static final String DECIMAL2_3_PATTERN = "\\d{0,2}|\\d{1,2}\\.\\d{0,3}";
-
- public static final Font TEXTFIELD_NORMAL_FONT = UIManager.getDefaults().getFont("TextField.font");
-
- public static final Font TEXTFIELD_COMPUTED_FONT = UIManager.getDefaults().getFont("TextField.font").deriveFont(Font.ITALIC);
-}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -31,11 +31,15 @@
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.service.ClosedPersistenceService;
+import fr.ifremer.tutti.service.DecoratorService;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.service.TuttiService;
import fr.ifremer.tutti.service.TuttiServiceContext;
import fr.ifremer.tutti.service.TuttiTechnicalException;
+import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
+import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
+import fr.ifremer.tutti.service.referential.TuttiReferentialSynchronizeService;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import fr.ifremer.tutti.ui.swing.util.TuttiErrorHelper;
import fr.ifremer.tutti.ui.swing.util.UIMessageNotifier;
import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
import org.apache.commons.io.FileUtils;
@@ -161,6 +165,13 @@
protected String protocolId;
/**
+ * Shared data context.
+ *
+ * @since 1.0.2
+ */
+ protected TuttiDataContext dataContext;
+
+ /**
* Current screen displayed in ui.
*
* @since 0.1
@@ -221,6 +232,7 @@
this.serviceContext = new TuttiServiceContext(resourceLoader, config.getServiceConfig());
this.swingSession = new SwingSession(getConfig().getUIConfigFile(), false);
this.errorHelper = new TuttiErrorHelper(this);
+ this.dataContext = new TuttiDataContext(this);
UIMessageNotifier logMessageNotifier = new UIMessageNotifier() {
@Override
@@ -234,13 +246,41 @@
addMessageNotifier(logMessageNotifier);
}
- public <S extends TuttiService> S getService(Class<S> serviceType) {
- if (PersistenceService.class.equals(serviceType) && !useRealPersistenceService()) {
- serviceType = (Class<S>) ClosedPersistenceService.class;
+ public PersistenceService getPersistenceService() {
+
+ PersistenceService service;
+
+ if (useRealPersistenceService()) {
+ service = dataContext.service;
+ if (service == null) {
+
+ // use real service
+ service = serviceContext.getService(PersistenceService.class);
+
+ dataContext.open(service);
+ }
+ } else {
+ service = serviceContext.getService(ClosedPersistenceService.class);
}
- return serviceContext.getService(serviceType);
+ return service;
}
+ public DecoratorService getDecoratorService() {
+ return serviceContext.getService(DecoratorService.class);
+ }
+
+ public TuttiReferentialSynchronizeService getTuttiReferentialSynchronizeService() {
+ return serviceContext.getService(TuttiReferentialSynchronizeService.class);
+ }
+
+ public TuttiProtocolImportExportService getTuttiProtocolImportExportService() {
+ return serviceContext.getService(TuttiProtocolImportExportService.class);
+ }
+
+ public TuttiReferentialImportExportService getTuttiReferentialImportExportService() {
+ return serviceContext.getService(TuttiReferentialImportExportService.class);
+ }
+
public boolean useRealPersistenceService() {
return isDbExist() && isDbLoaded();
}
@@ -252,8 +292,9 @@
} catch (IOException e) {
throw new TuttiTechnicalException("Could not close services", e);
}
+ dataContext.close();
- return getService(PersistenceService.class);
+ return getPersistenceService();
}
public TuttiApplicationConfig getConfig() {
@@ -359,6 +400,10 @@
firePropertyChange(PROPERTY_SCREEN, oldValue, screen);
}
+ public TuttiDataContext getDataContext() {
+ return dataContext;
+ }
+
public void init() {
try {
@@ -500,8 +545,7 @@
if (actionUI != null) {
// close action ui
- actionUI.getModel().setProgressionModel(null);
- actionUI.getModel().setAction(null);
+ actionUI.getModel().clear();
}
setActionUI(null);
}
@@ -558,7 +602,7 @@
public void checkDbContext() {
//check if programId is sane
- PersistenceService service = getService(PersistenceService.class);
+ PersistenceService service = getPersistenceService();
if (isProtocolFilled()) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,11 +26,11 @@
import fr.ifremer.tutti.persistence.ProgressionModel;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationUpdater;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -43,15 +43,12 @@
*/
public class UpdateApplicationAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(UpdateApplicationAction.class);
public UpdateApplicationAction(MainUIHandler handler) {
super(handler,
- "updateApplication",
"update-application",
_("tutti.action.updateApplication"),
_("tutti.action.updateApplication.tip"),
@@ -59,7 +56,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
TuttiApplicationConfig config = getContext().getConfig();
@@ -95,7 +92,7 @@
dest,
false,
callback);
- getContext().getActionUI().getModel().setProgressionModel(null);
+ getContext().getActionUI().getModel().clear();
}
}
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -30,7 +30,6 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationUpdater;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -43,15 +42,12 @@
*/
public class UpdateReferentialAction extends AbstractMainUITuttiAction {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(UpdateReferentialAction.class);
public UpdateReferentialAction(MainUIHandler handler) {
super(handler,
- "updateReferential",
"update-referential",
_("tutti.action.updateReferential"),
_("tutti.action.updateReferential.tip"),
@@ -59,7 +55,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
TuttiApplicationConfig config = getContext().getConfig();
File current = config.getDataDirectory();
@@ -94,10 +90,4 @@
sendMessage("Aucune mise à jour de base détectée.");
}
}
-
- @Override
- protected void releaseAction(ActionEvent event) {
- getContext().getActionUI().getModel().setProgressionModel(null);
- super.releaseAction(event);
- }
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,8 +26,6 @@
import com.google.common.base.Preconditions;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -38,11 +36,8 @@
*/
public class ValidateSelectedCruiseCatchesAction extends AbstractChangeScreenAction {
- private static final long serialVersionUID = 1L;
-
public ValidateSelectedCruiseCatchesAction(MainUIHandler handler) {
super(handler,
- "validateCatches",
"validate",
_("tutti.action.validateCatches"),
_("tutti.action.validateCatches.tip"),
@@ -51,7 +46,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
Preconditions.checkState(getContext().isCruiseFilled());
getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
getContext().setScreen(null);
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/CancelEditCruiseAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,11 +24,9 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -39,11 +37,8 @@
*/
public class CancelEditCruiseAction extends AbstractTuttiAction<EditCruiseUIModel, EditCruiseUI, EditCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
public CancelEditCruiseAction(EditCruiseUIHandler handler) {
super(handler,
- "cancelEditCruise",
"cancel",
_("tutti.action.cancel.editCruise"),
_("tutti.action.cancel.editCruise.tip"),
@@ -52,7 +47,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
getContext().setScreen(TuttiScreen.SELECT_CRUISE);
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,7 +22,7 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<EditCruiseUIModel, EditCruiseUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<EditCruiseUIModel, EditCruiseUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.data.Program
@@ -30,7 +30,7 @@
fr.ifremer.tutti.persistence.entities.referential.Gear
fr.ifremer.tutti.persistence.entities.referential.Person
fr.ifremer.tutti.persistence.entities.referential.Vessel
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
jaxx.runtime.swing.editor.NumberEditor
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -32,11 +32,9 @@
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.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
-import jaxx.runtime.JAXXUtil;
-import jaxx.runtime.context.JAXXContextEntryDef;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
+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;
@@ -69,7 +67,7 @@
public EditCruiseUIHandler(TuttiUI parentUi, EditCruiseUI ui) {
super(parentUi.getHandler().getContext(), ui);
- persistenceService = context.getService(PersistenceService.class);
+ persistenceService = context.getPersistenceService();
}
@Override
@@ -79,26 +77,10 @@
// get vessels
- List<Vessel> fishingVessels = persistenceService.getAllFishingVessel();
- FISHING_VESSELS_CONTEXT_ENTRY.setContextValue(ui, fishingVessels);
+ if (!context.isCruiseFilled()) {
- List<Vessel> scientificVessels = persistenceService.getAllScientificVessel();
- SCIENTIFIC_VESSELS_CONTEXT_ENTRY.setContextValue(ui, scientificVessels);
-
- // get gears
-
- List<Gear> scientificGears = persistenceService.getAllScientificGear();
- SCIENTIFIC_GEARS_CONTEXT_ENTRY.setContextValue(ui, scientificGears);
-
- List<Gear> fishingGears = persistenceService.getAllFishingGear();
- FISHING_GEARS_CONTEXT_ENTRY.setContextValue(ui, fishingGears);
-
- String cruiseId = context.getCruiseId();
- if (cruiseId == null) {
-
// create new cruise
- Program program =
- persistenceService.getProgram(context.getProgramId());
+ Program program = getDataContext().getProgram();
model.setProgram(program);
model.setMultirigNumber(1);
@@ -108,26 +90,17 @@
} else {
// load existing program
- Cruise cruise =
- persistenceService.getCruise(cruiseId);
+ Cruise cruise = getDataContext().getCruise();
model.fromBean(cruise);
if (log.isDebugEnabled()) {
- log.debug("Will edit cruise: " + cruiseId);
+ log.debug("Will edit cruise: " + cruise.getId());
}
}
listModelIsModify(model);
ui.setContextValue(model);
}
- JAXXContextEntryDef<List<Vessel>> SCIENTIFIC_VESSELS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef("scientificVessel");
-
- JAXXContextEntryDef<List<Vessel>> FISHING_VESSELS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef("fishingVessel");
-
- JAXXContextEntryDef<List<Gear>> SCIENTIFIC_GEARS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef("scientificGear");
-
- JAXXContextEntryDef<List<Gear>> FISHING_GEARS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef("fishingGear");
-
@Override
public void afterInitUI() {
@@ -136,19 +109,19 @@
List<Person> users = persistenceService.getAllPerson();
EditCruiseUIModel model = getModel();
-
- final List<Vessel> scientificVesselList = SCIENTIFIC_VESSELS_CONTEXT_ENTRY.getContextValue(ui);
- final List<Vessel> fishingVesselList = FISHING_VESSELS_CONTEXT_ENTRY.getContextValue(ui);
+
+ final List<Vessel> scientificVesselList = getDataContext().getScientificVessels();
+ final List<Vessel> fishingVesselList = getDataContext().getFishingVessels();
final List<Vessel> allVesselList = Lists.newArrayList();
allVesselList.addAll(scientificVesselList);
allVesselList.addAll(fishingVesselList);
-
- final List<Gear> scientificGearList = SCIENTIFIC_GEARS_CONTEXT_ENTRY.getContextValue(ui);
- final List<Gear> fishingGearList = FISHING_GEARS_CONTEXT_ENTRY.getContextValue(ui);
+
+ final List<Gear> scientificGearList = getDataContext().getScientificGears();
+ final List<Gear> fishingGearList = getDataContext().getFishingGears();
final List<Gear> allGearList = Lists.newArrayList();
allGearList.addAll(scientificGearList);
allGearList.addAll(fishingGearList);
-
+
// Change vessel list and gear list when vessel type changes
model.addPropertyChangeListener(EditCruiseUIModel.PROPERTY_VESSEL_TYPE, new PropertyChangeListener() {
@Override
@@ -158,7 +131,7 @@
Predicate<Vessel> vesselPredicate = null;
Predicate<Gear> gearPredicate = null;
-
+
switch (vesselType) {
case FISHING:
vesselPredicate = new Predicate<Vessel>() {
@@ -174,7 +147,7 @@
}
};
break;
-
+
case SCIENTIFIC:
vesselPredicate = new Predicate<Vessel>() {
@@ -189,11 +162,11 @@
}
};
break;
-
+
}
ui.getVesselList().getHandler().clearFilters();
ui.getGearList().getHandler().clearFilters();
-
+
if (vesselPredicate != null) {
ui.getVesselList().getHandler().addFilter(vesselPredicate);
}
@@ -212,7 +185,7 @@
persistenceService.getAllCountry(),
model.getCountry());
-
+
initBeanList(ui.getVesselList(),
allVesselList,
model.getVessel());
@@ -234,7 +207,7 @@
// if new fishingOperation can already cancel his creation
model.setModify(model.isCreate());
-
+
model.setVesselType(VesselTypeEnum.SCIENTIFIC);
registerValidators(validator);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -30,7 +30,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Gear;
import fr.ifremer.tutti.persistence.entities.referential.Person;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,12 +27,9 @@
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
-import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -43,11 +40,8 @@
*/
public class SaveCruiseAction extends AbstractTuttiAction<EditCruiseUIModel, EditCruiseUI, EditCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
public SaveCruiseAction(EditCruiseUIHandler handler) {
super(handler,
- "saveCruise",
"save",
_("tutti.action.saveCruise"),
_("tutti.action.saveCruise.tip"),
@@ -58,15 +52,13 @@
/**
* If the event source is a TuttiScreen, then the screen changes to the source.
* Otherwise, the screen changes to the home.
- *
- * @param event
*/
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
TuttiUIContext context = getContext();
EditCruiseUIModel model = getModel();
PersistenceService persistenceService =
- getService(PersistenceService.class);
+ getContext().getPersistenceService();
Cruise bean = model.toBean();
@@ -81,13 +73,14 @@
context.setProgramId(saved.getProgram().getId());
context.setCruiseId(saved.getId());
- TuttiScreen nextScreen;
- if (event.getSource().getClass().isAssignableFrom(TuttiScreen.class)) {
- nextScreen = (TuttiScreen) event.getSource();
- } else {
- nextScreen = TuttiScreen.SELECT_CRUISE;
- }
- context.setScreen(nextScreen);
+ //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/CloseDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -31,8 +31,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -43,14 +41,11 @@
*/
public class CloseDbAction extends AbstractMainUITuttiAction {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(CloseDbAction.class);
public CloseDbAction(MainUIHandler handler) {
super(handler,
- "closeDb",
"close-db",
_("tutti.action.closeDb"),
_("tutti.action.closeDb.tip"),
@@ -58,7 +53,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
if (log.isInfoEnabled()) {
log.info("Will close db...");
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,11 +22,11 @@
#L%
-->
<JPanel id='noDbUITopPanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<TuttiUIContext, DbManagerUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiUIContext, DbManagerUIHandler>'>
<import>
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.UpdateReferentialAction
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,8 +24,8 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
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;
import org.apache.commons.logging.LogFactory;
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -29,8 +29,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -41,14 +39,11 @@
*/
public class ExportDbAction extends AbstractMainUITuttiAction {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(ExportDbAction.class);
public ExportDbAction(MainUIHandler handler) {
super(handler,
- "exportDb",
"export-db",
_("tutti.action.exportDb"),
_("tutti.action.exportDb.tip"),
@@ -56,7 +51,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
if (log.isInfoEnabled()) {
log.info("Will export db...");
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -34,7 +34,6 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationUpdater;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -47,15 +46,12 @@
*/
public class InstallDbAction extends AbstractMainUITuttiAction {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(InstallDbAction.class);
public InstallDbAction(MainUIHandler handler) {
super(handler,
- "installDb",
"install-db",
_("tutti.action.installDb"),
_("tutti.action.installDb.tip"),
@@ -63,7 +59,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
TuttiApplicationConfig config = getContext().getConfig();
File current = config.getDataDirectory();
@@ -93,12 +89,7 @@
getContext().setDbExist(true);
// open db
- new OpenDbAction(getHandler()).actionPerformed(event);
+ new OpenDbAction(getHandler()).performAndReleaseAction();
}
- @Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
- getContext().getActionUI().getModel().setProgressionModel(null);
- }
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -31,8 +31,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -43,14 +41,11 @@
*/
public class OpenDbAction extends AbstractMainUITuttiAction {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(OpenDbAction.class);
public OpenDbAction(MainUIHandler handler) {
super(handler,
- "openDb",
"open-db",
_("tutti.action.openDb"),
_("tutti.action.openDb.tip"),
@@ -58,7 +53,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ public void doAction() {
if (log.isDebugEnabled()) {
log.debug("Will open db...");
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/CloneProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,13 +26,11 @@
import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -43,14 +41,11 @@
*/
public class CloneProtocolAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(CloneProtocolAction.class);
public CloneProtocolAction(SelectCruiseUIHandler handler) {
super(handler,
- "cloneProtocol",
"copy",
_("tutti.action.cloneProtocol"),
_("tutti.action.cloneProtocol.tip"),
@@ -59,11 +54,11 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
TuttiProtocol protocol = getModel().getProtocol();
Preconditions.checkNotNull(protocol);
- if (log.isInfoEnabled()) {
- log.info("Clone protocol: " + protocol.getId());
+ if (log.isDebugEnabled()) {
+ log.debug("Clone protocol: " + protocol.getId());
}
getContext().setProtocolId(protocol.getId());
getContext().setScreen(TuttiScreen.CLONE_PROTOCOL);
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/DeleteProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,12 +27,11 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
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,14 +44,11 @@
*/
public class DeleteProtocolAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(EditProtocolAction.class);
public DeleteProtocolAction(SelectCruiseUIHandler handler) {
super(handler,
- "deleteProtocol",
"delete",
_("tutti.action.deleteProtocol"),
_("tutti.action.deleteProtocol.tip"),
@@ -61,8 +57,8 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
- boolean result = super.prepareAction(event);
+ protected boolean prepareAction() {
+ boolean result = super.prepareAction();
TuttiProtocol protocol = getHandler().getModel().getProtocol();
int answer = JOptionPane.showConfirmDialog(
@@ -77,7 +73,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
TuttiProtocol protocol = getModel().getProtocol();
Preconditions.checkNotNull(protocol);
String id = protocol.getId();
@@ -86,7 +82,7 @@
log.info("Delete protocol: " + id);
}
- PersistenceService service = getService(PersistenceService.class);
+ PersistenceService service = getContext().getPersistenceService();
service.deleteProtocol(id);
getModel().setProtocol(null);
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,12 +25,10 @@
*/
import com.google.common.base.Preconditions;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -41,11 +39,8 @@
*/
public class EditCatchesAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
public EditCatchesAction(SelectCruiseUIHandler handler) {
super(handler,
- "editCatches",
"edit",
_("tutti.action.editCatches"),
_("tutti.action.editCatches.tip"),
@@ -54,7 +49,8 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
+ Preconditions.checkState(getContext().isProgramFilled());
Preconditions.checkState(getContext().isCruiseFilled());
getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT);
getContext().setScreen(TuttiScreen.EDIT_FISHING_OPERATION);
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCruiseAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,11 +26,9 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -41,11 +39,8 @@
*/
public class EditCruiseAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
public EditCruiseAction(SelectCruiseUIHandler handler) {
super(handler,
- "editCruise",
"edit",
_("tutti.action.editCruise"),
_("tutti.action.editCruise.tip"),
@@ -54,7 +49,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
Cruise cruise = getModel().getCruise();
Preconditions.checkNotNull(cruise);
getContext().setCruiseId(cruise.getId());
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProgramAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,11 +26,9 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.entities.data.Program;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -41,11 +39,8 @@
*/
public class EditProgramAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
public EditProgramAction(SelectCruiseUIHandler handler) {
super(handler,
- "editProgram",
"edit",
_("tutti.action.editProgram"),
_("tutti.action.editProgram.tip"),
@@ -54,7 +49,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
Program program = getModel().getProgram();
Preconditions.checkNotNull(program);
getContext().setProgramId(program.getId());
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,13 +26,11 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -43,14 +41,11 @@
*/
public class EditProtocolAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(EditProtocolAction.class);
public EditProtocolAction(SelectCruiseUIHandler handler) {
super(handler,
- "editProtocol",
"edit",
_("tutti.action.editProtocol"),
_("tutti.action.editProtocol.tip"),
@@ -59,7 +54,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
TuttiProtocol protocol = getModel().getProtocol();
Preconditions.checkNotNull(protocol);
if (log.isInfoEnabled()) {
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,12 +27,11 @@
import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -45,8 +44,6 @@
*/
public class ExportProtocolAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ExportProtocolAction.class);
@@ -55,7 +52,6 @@
public ExportProtocolAction(SelectCruiseUIHandler handler) {
super(handler,
- "exportProtocol",
"export",
_("tutti.action.exportProtocol"),
_("tutti.action.exportProtocol.tip"),
@@ -64,7 +60,8 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
+
// choose file to import
file = TuttiUIUtil.chooseFile(
@@ -77,19 +74,19 @@
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
TuttiProtocol protocol = getModel().getProtocol();
Preconditions.checkNotNull(protocol);
@@ -107,7 +104,7 @@
}
// export protocol
TuttiProtocolImportExportService service =
- getService(TuttiProtocolImportExportService.class);
+ getContext().getTuttiProtocolImportExportService();
service.exportProtocol(protocol, file);
sendMessage("Protocole [" + protocol.getName() +
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,14 +26,13 @@
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
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;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -46,8 +45,6 @@
*/
public class ImportProtocolAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ImportProtocolAction.class);
@@ -58,7 +55,6 @@
public ImportProtocolAction(SelectCruiseUIHandler handler) {
super(handler,
- "importProtocol",
"import",
_("tutti.action.importProtocol"),
_("tutti.action.importProtocol.tip"),
@@ -67,7 +63,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to import
file = TuttiUIUtil.chooseFile(
@@ -79,19 +75,19 @@
);
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("TODO Import protocol!");
}
@@ -102,7 +98,7 @@
// import protocol
TuttiProtocolImportExportService service =
- getService(TuttiProtocolImportExportService.class);
+ getContext().getTuttiProtocolImportExportService();
TuttiProtocol protocol = service.importProtocol(file);
sendMessage("Protocole [" + protocol.getName() + "] lu depuis le fichier.");
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewCruiseAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,11 +24,9 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -39,11 +37,8 @@
*/
public class NewCruiseAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
public NewCruiseAction(SelectCruiseUIHandler handler) {
super(handler,
- "newCruise",
"add",
_("tutti.action.newCruise"),
_("tutti.action.newCruise.tip"),
@@ -52,7 +47,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
getContext().setCruiseId(null);
getContext().setScreen(TuttiScreen.EDIT_CRUISE);
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProgramAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,11 +24,9 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -39,11 +37,8 @@
*/
public class NewProgramAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
public NewProgramAction(SelectCruiseUIHandler handler) {
super(handler,
- "newProgram",
"add",
_("tutti.action.newProgram"),
_("tutti.action.newProgram.tip"),
@@ -52,7 +47,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
getContext().setProgramId(null);
getContext().setCruiseId(null);
getContext().setScreen(TuttiScreen.EDIT_PROGRAM);
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,13 +24,9 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -41,14 +37,8 @@
*/
public class NewProtocolAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(NewProtocolAction.class);
-
public NewProtocolAction(SelectCruiseUIHandler handler) {
super(handler,
- "newProtocol",
"add",
_("tutti.action.newProtocol"),
_("tutti.action.newProtocol.tip"),
@@ -57,10 +47,7 @@
}
@Override
- protected void doAction(ActionEvent e) {
- if (log.isInfoEnabled()) {
- log.info("New protocol");
- }
+ protected void doAction() {
getContext().setProtocolId(null);
getContext().setScreen(TuttiScreen.EDIT_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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,14 +22,14 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<SelectCruiseUIModel, SelectCruiseUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<SelectCruiseUIModel, SelectCruiseUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.data.Program
fr.ifremer.tutti.persistence.entities.data.Cruise
fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.util.ActionListCellRenderer
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,37 +25,26 @@
*/
import com.google.common.collect.Lists;
-import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
-import java.awt.AWTEvent;
-import java.awt.Event;
-import java.awt.event.ActionEvent;
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.List;
-import java.util.Timer;
-import java.util.TimerTask;
-import javax.swing.Action;
-import javax.swing.JComboBox;
-import javax.swing.SwingUtilities;
-import javax.swing.event.ListDataEvent;
-import javax.swing.event.ListDataListener;
-import javax.swing.event.PopupMenuEvent;
-import javax.swing.event.PopupMenuListener;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.swing.Action;
+import javax.swing.JComboBox;
+import java.awt.event.ActionEvent;
+import java.awt.event.MouseEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
/**
* Main ui content to select cruise.
*
@@ -72,7 +61,7 @@
public SelectCruiseUIHandler(TuttiUI<?, ?> parentUI, SelectCruiseUI ui) {
super(parentUI.getHandler().getContext(), ui);
- persistenceService = context.getService(PersistenceService.class);
+ persistenceService = context.getPersistenceService();
}
@Override
@@ -97,12 +86,11 @@
// get selected program (if any)
- String programId = context.getProgramId();
Program selectedProgram = null;
List<Cruise> cruises = null;
- if (programId != null) {
- selectedProgram = TuttiEntities.findById(programs, programId);
- cruises = persistenceService.getAllCruise(programId);
+ if (context.isProgramFilled()) {
+ selectedProgram = getDataContext().getProgram();
+ cruises = persistenceService.getAllCruise(selectedProgram.getId());
}
model.setProgram(selectedProgram);
@@ -112,12 +100,10 @@
// nothing to select
} else {
- String cruiseId = context.getCruiseId();
Cruise selectedCruise = null;
- if (cruiseId != null) {
- selectedCruise =
- TuttiEntities.findById(cruises, cruiseId);
+ if (context.isCruiseFilled()) {
+ selectedCruise = getDataContext().getCruise();
}
model.setCruise(selectedCruise);
}
@@ -134,10 +120,9 @@
}
} else {
- String protocolId = context.getProtocolId();
TuttiProtocol selectedProtocol = null;
- if (protocolId != null) {
- selectedProtocol = TuttiEntities.findById(protocols, protocolId);
+ if (context.isProgramFilled()) {
+ selectedProtocol = getDataContext().getProtocol();
}
model.setProtocol(selectedProtocol);
}
@@ -162,7 +147,7 @@
initBeanComboBox(ui.getProtocolCombobox(),
model.getProtocols(),
model.getProtocol());
-
+
ui.getEditProtocolComboBox().putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE);
ui.getNewProtocolComboBox().putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE);
@@ -259,13 +244,13 @@
}
clearValidators();
}
-
+
public void startExistingProtocolAction(MouseEvent event) {
JComboBox existingProtocolCombo = (JComboBox) event.getSource();
Action selectedAction = (Action) existingProtocolCombo.getItemAt(0);
selectedAction.actionPerformed(null);
}
-
+
public void startExistingProtocolAction(ActionEvent event) {
if (!resetEditProtolAction) {
JComboBox existingProtocolCombo = (JComboBox) event.getSource();
@@ -285,7 +270,7 @@
Action selectedAction = (Action) newProtocolCombo.getItemAt(0);
selectedAction.actionPerformed(null);
}
-
+
public void startNewProtocolAction(ActionEvent event) {
JComboBox newProtocolCombo = (JComboBox) event.getSource();
Action selectedAction = (Action) newProtocolCombo.getSelectedItem();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,7 +27,7 @@
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import java.util.List;
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ValidateCatchesAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,12 +25,10 @@
*/
import com.google.common.base.Preconditions;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -41,11 +39,8 @@
*/
public class ValidateCatchesAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
- private static final long serialVersionUID = 1L;
-
public ValidateCatchesAction(SelectCruiseUIHandler handler) {
super(handler,
- "validateCatches",
"validate",
_("tutti.action.validateCatches"),
_("tutti.action.validateCatches.tip"),
@@ -54,7 +49,8 @@
}
@Override
- protected void doAction(ActionEvent e) {
+ protected void doAction() {
+ Preconditions.checkState(getContext().isProgramFilled());
Preconditions.checkState(getContext().isCruiseFilled());
getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
getContext().setScreen(TuttiScreen.EDIT_FISHING_OPERATION);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -30,8 +30,8 @@
import com.ezware.oxbow.swingbits.table.filter.JTableFilter;
import com.ezware.oxbow.swingbits.table.filter.TableRowFilterSupport;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
import jaxx.runtime.SwingUtil;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,8 +26,8 @@
import com.google.common.collect.Sets;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel;
import java.beans.PropertyChangeEvent;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AttachmentsAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AttachmentsAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AttachmentsAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,10 +24,8 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -36,11 +34,8 @@
*/
public class AttachmentsAction extends AbstractTuttiAction<EditFishingOperationUIModel, EditFishingOperationUI, EditFishingOperationUIHandler> {
- private static final long serialVersionUID = 1L;
-
public AttachmentsAction(EditFishingOperationUIHandler handler) {
super(handler,
- "attachments",
"edit-attachment",
_("tutti.action.attachments", 0),
_("tutti.action.attachments.tip"),
@@ -48,13 +43,8 @@
}
@Override
- protected void doAction(ActionEvent event) throws Exception {
+ protected void doAction() throws Exception {
//TODO
}
- @Override
- public boolean isEnabled() {
- return false;
- }
-
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,14 +25,10 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -43,8 +39,6 @@
*/
public class CancelEditFishingOperationAction extends AbstractTuttiAction<EditFishingOperationUIModel, EditFishingOperationUI, EditFishingOperationUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(SaveFishingOperationAction.class);
@@ -57,27 +51,27 @@
public CancelEditFishingOperationAction(EditFishingOperationUIHandler handler) {
super(handler,
- "cancelFishingOperation",
"cancel",
_("tutti.action.cancel.editFishingOperation"),
_("tutti.action.cancel.editFishingOperation.tip"),
true
);
-
- getModel().addPropertyChangeListener(EditFishingOperationUIModel.PROPERTY_ID,
- new PropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent evt) {
- if (evt.getNewValue() == null) {
- putValue(NAME, _("tutti.action.cancel.editFishingOperation"));
- putValue(SHORT_DESCRIPTION, _("tutti.action.cancel.editFishingOperation.tip"));
-
- } else {
- putValue(NAME, _("tutti.action.reset.editFishingOperation"));
- putValue(SHORT_DESCRIPTION, _("tutti.action.reset.editFishingOperation.tip"));
- }
- }
- });
+ //TODO-TC REmake this works
+// getModel().addPropertyChangeListener(EditFishingOperationUIModel.PROPERTY_ID,
+// new PropertyChangeListener() {
+//
+// public void propertyChange(PropertyChangeEvent evt) {
+// if (evt.getNewValue() == null) {
+// putValue(NAME, _("tutti.action.cancel.editFishingOperation"));
+// putValue(SHORT_DESCRIPTION, _("tutti.action.cancel.editFishingOperation.tip"));
+//
+// } else {
+// putValue(NAME, _("tutti.action.reset.editFishingOperation"));
+// putValue(SHORT_DESCRIPTION, _("tutti.action.reset.editFishingOperation.tip"));
+// }
+// }
+// });
}
public EditFishingOperationAction getEditAction() {
@@ -92,11 +86,10 @@
* then the tab panel of the parent switch to the index set
* in the ID param of the event.
*
- * @param event
* @throws Exception
*/
@Override
- protected void doAction(ActionEvent event) throws Exception {
+ protected void doAction() throws Exception {
EditFishingOperationAction action = getEditAction();
@@ -106,7 +99,7 @@
}
// cancel to create a new fishingOperation
action.setFishingOperation(null);
- action.doAction(event);
+ action.performAndReleaseAction();
} else {
@@ -117,7 +110,7 @@
// re-edit current fishing operation (but do not perform any check)
action.setCheckPreviousEdit(false);
action.setFishingOperation(getModel().getFishingOperation());
- action.actionPerformed(event);
+ action.performAndReleaseAction();
}
// // 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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -32,7 +32,6 @@
import fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation;
import fr.ifremer.tutti.persistence.entities.referential.Person;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.content.operation.catches.ComputeWeightsAction;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
@@ -41,6 +40,7 @@
import fr.ifremer.tutti.ui.swing.content.operation.fishing.gearshooting.GearShootingTabUI;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.hydrology.HydrologyTabUI;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.decorator.Decorator;
@@ -50,7 +50,6 @@
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
-import java.awt.event.ActionEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
@@ -65,8 +64,6 @@
*/
public class EditFishingOperationAction extends AbstractTuttiAction<FishingOperationsUIModel, FishingOperationsUI, FishingOperationsUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(EditFishingOperationAction.class);
@@ -97,7 +94,7 @@
* @since 1.0
*/
protected SaveFishingOperationAction saveFishingOperationAction;
-
+
/**
* Delegate action to compute the weight of the catches.
*
@@ -151,7 +148,6 @@
public EditFishingOperationAction(FishingOperationsUIHandler handler) {
super(handler,
- "editFishingOperation",
"edit",
null,
_("tutti.action.editFishingOperation.tip"),
@@ -164,7 +160,7 @@
String text,
String tip,
boolean hideBody) {
- super(handler, name, icon, text, tip, hideBody);
+ super(handler, icon, text, tip, hideBody);
}
public void setFishingOperation(FishingOperation fishingOperation) {
@@ -176,10 +172,10 @@
}
@Override
- protected void releaseAction(ActionEvent event) {
+ protected void releaseAction() {
fishingOperation = null;
checkPreviousEdit = true;
- super.releaseAction(event);
+ super.releaseAction();
// getComputeWeightsAction().actionPerformed(event);
}
@@ -196,7 +192,7 @@
}
return saveCatchBatchAction;
}
-
+
protected ComputeWeightsAction getComputeWeightsAction() {
if (computeWeightsAction == null) {
computeWeightsAction = new ComputeWeightsAction(getUI().getCatchesTabContent().getHandler());
@@ -205,8 +201,8 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
- boolean canContinue = super.prepareAction(event);
+ protected boolean prepareAction() {
+ boolean canContinue = super.prepareAction();
if (canContinue && checkPreviousEdit) {
FishingOperationsUI ui = getUI();
@@ -262,12 +258,12 @@
// persist previous fishing operation
if (fishingOperationModified) {
getSaveFishingOperationAction().setUpdateUI(false);
- getSaveFishingOperationAction().actionPerformed(event);
+ getSaveFishingOperationAction().performAndReleaseAction();
}
if (catchBatchModified) {
getSaveCatchBatchAction().setUpdateUI(false);
- getSaveCatchBatchAction().actionPerformed(event);
+ getSaveCatchBatchAction().performAndReleaseAction();
}
canContinue = true;
@@ -325,7 +321,7 @@
}
@Override
- protected void doAction(ActionEvent event) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Try to edit fishingOperation: " + fishingOperation);
@@ -365,9 +361,9 @@
// wait last minute to display (avoid dirty display effects)
ui.add(form, BorderLayout.CENTER);
-
+
ui.getFishingOperationTabContent().getFishingOperationTabPane().setSelectedIndex(0);
-
+
if (checkPreviousEdit) {
ui.getTabPane().setSelectedIndex(0);
}
@@ -444,7 +440,7 @@
// update saisissuer selection
List<Person> saisisseur = editFishingOperationUIModel.getSaisisseur();
ui.getSaisisseurList().getHandler().setSelected(saisisseur);
-
+
// update model empty property
editFishingOperationUIModel.setEmpty(false);
@@ -502,7 +498,7 @@
}
PersistenceService persistenceService =
- getService(PersistenceService.class);
+ getContext().getPersistenceService();
batch = persistenceService.getCatchBatchFromFishingOperation(
operationId, true);
@@ -549,7 +545,7 @@
}
-
+
}
-
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,7 +22,7 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<EditFishingOperationUIModel, EditFishingOperationUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<EditFishingOperationUIModel, EditFishingOperationUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -35,35 +35,33 @@
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.CaracteristicTabUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.environment.EnvironmentTabUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.gearshooting.GearShootingTabUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.hydrology.HydrologyTabUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiTabContainerUIHandler;
import fr.ifremer.tutti.ui.swing.util.TabHandler;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
-import java.awt.Color;
-import java.awt.Component;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.jdesktop.swingx.JXDatePicker;
import javax.swing.JOptionPane;
import javax.swing.JTabbedPane;
+import java.awt.Color;
+import java.awt.Component;
import java.awt.event.ActionEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Calendar;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.Date;
import java.util.List;
-import org.jdesktop.swingx.JXDatePicker;
import static org.nuiton.i18n.I18n._;
@@ -95,8 +93,8 @@
//check if the user changed the date and not only the time)
Date oldDate = (Date) evt.getOldValue();
Date newDate = (Date) evt.getNewValue();
- if (getModel().getGearShootingEndDate() == null &&
- (oldDate == null || !DateUtils.isSameDay(oldDate, newDate))) {
+ if (getModel().getGearShootingEndDate() == null &&
+ (oldDate == null || !DateUtils.isSameDay(oldDate, newDate))) {
getModel().setGearShootingEndDate(newDate);
}
}
@@ -151,7 +149,7 @@
EditFishingOperationUI ui) {
super(parentUi.getHandler().getContext(), ui);
this.parentUi = parentUi;
- this.persistenceService = context.getService(PersistenceService.class);
+ this.persistenceService = context.getPersistenceService();
this.fishingOperationMonitor = new TuttiBeanMonitor<EditFishingOperationUIModel>(
EditFishingOperationUIModel.PROPERTY_STATION_NUMBER,
EditFishingOperationUIModel.PROPERTY_FISHING_OPERATION_NUMBER,
@@ -226,7 +224,7 @@
tab.setBackground(color);
}
});
-
+
ui.setContextValue(model);
fishingOperationMonitor.setBean(model);
@@ -255,12 +253,12 @@
Lists.<Gear>newArrayList(),
null);
- Cruise cruise = TuttiUIUtil.getCruise(context);
+ Cruise cruise = getDataContext().getCruise();
Preconditions.checkNotNull(cruise,
"Could not find cruise in ui context");
ui.getMultirigAggregationField().setEnabled(cruise.getMultirigNumber() != 1);
- Program program = TuttiUIUtil.getProgram(context);
+ Program program = getDataContext().getProgram();
Preconditions.checkNotNull(program,
"Could not find program in ui context");
@@ -342,14 +340,14 @@
}
});
}
-
+
// FIXME kmorin 20130222 remove this when we use jaxx 2.5.11
model.addPropertyChangeListener(EditFishingOperationUIModel.PROPERTY_TRAWL_DISTANCE, new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
String tooltip = model.getTrawlDistance() != null ?
- _("tutti.tooltip.distanceInMilles", TuttiUIUtil.getDistanceInMilles(model.getTrawlDistance())) :
- null;
+ _("tutti.tooltip.distanceInMilles", TuttiUIUtil.getDistanceInMilles(model.getTrawlDistance())) :
+ null;
ui.getTrawlDistanceField().getTextField().setToolTipText(tooltip);
}
});
@@ -490,7 +488,7 @@
public TuttiBeanMonitor<EditFishingOperationUIModel> getFishingOperationMonitor() {
return fishingOperationMonitor;
}
-
+
@Override
public void setDate(ActionEvent event, String property) {
JXDatePicker field = (JXDatePicker) event.getSource();
@@ -517,7 +515,7 @@
// reset sub strata combo
ui.getSubStrataComboBox().setData(null);
- Zone zone = TuttiUIUtil.getProgram(context).getZone();
+ Zone zone = getDataContext().getProgram().getZone();
String zoneId = zone.getId();
String strataId = newStrata == null ? null : newStrata.getId();
@@ -558,7 +556,7 @@
// reset localite combo
ui.getLocationComboBox().setData(null);
- Zone zone = TuttiUIUtil.getProgram(context).getZone();
+ Zone zone = getDataContext().getProgram().getZone();
String zoneId = zone.getId();
FishingOperationLocation strata = model.getStrata();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -33,7 +33,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Person;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.spatial.SexagecimalPosition;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType;
import org.nuiton.util.DateUtil;
@@ -43,7 +43,6 @@
import java.util.Calendar;
import java.util.Date;
import java.util.List;
-import org.apache.commons.lang3.time.DateUtils;
import static org.nuiton.i18n.I18n.n_;
@@ -92,7 +91,7 @@
public static final String PROPERTY_GEAR_SHOOTING_START_LONGITUDE_SECOND = "gearShootingStartLongitudeSecond";
public static final String PROPERTY_GEAR_SHOOTING_START_DATE = "gearShootingStartDate";
-
+
public static final String PROPERTY_GEAR_SHOOTING_END_LATITUDE = "gearShootingEndLatitude";
public static final String PROPERTY_GEAR_SHOOTING_END_LATITUDE_DEGREE = "gearShootingEndLatitudeDegree";
@@ -442,7 +441,7 @@
}
firePropertyChange(PROPERTY_GEAR_SHOOTING_START_DATE, oldValue, this.gearShootingStartDate);
}
-
+
public void setGearShootingStartTime(Date gearShootingStartDate) {
Object oldValue = getGearShootingStartDate();
if (oldValue != null) {
@@ -602,7 +601,7 @@
}
firePropertyChange(PROPERTY_GEAR_SHOOTING_END_DATE, oldValue, this.gearShootingEndDate);
}
-
+
public void setGearShootingEndTime(Date gearShootingEndDate) {
Object oldValue = getGearShootingEndDate();
if (oldValue != null) {
@@ -729,7 +728,7 @@
public boolean isDateInCruise(Date date) {
return DateUtil.between(date, cruise.getBeginDate(), cruise.getEndDate());
}
-
+
public boolean isValidDuration() {
int minutes = DateUtil.getDifferenceInMinutes(gearShootingStartDate, gearShootingEndDate);
return minutes <= 45 && minutes >= 20;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,12 +22,12 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<FishingOperationsUIModel, FishingOperationsUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<FishingOperationsUIModel, FishingOperationsUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.data.FishingOperation
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -29,10 +29,9 @@
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.TuttiUI;
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.TuttiUIUtil;
+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;
@@ -61,7 +60,7 @@
public FishingOperationsUIHandler(TuttiUI parentUI,
FishingOperationsUI ui) {
super(parentUI.getHandler().getContext(), ui);
- persistenceService = context.getService(PersistenceService.class);
+ persistenceService = context.getPersistenceService();
}
@Override
@@ -74,15 +73,9 @@
EditCatchesUIModel catchesUIModel = new EditCatchesUIModel();
- String cruiseId = context.getCruiseId();
-
// load existing cruise
- Cruise cruise = persistenceService.getCruise(cruiseId);
+ Cruise cruise = getDataContext().getCruise();
- // store it in context
- TuttiUIUtil.setCruise(context, cruise);
- TuttiUIUtil.setProgram(context, cruise.getProgram());
-
TuttiProtocol protocol;
if (getContext().isProtocolFilled()) {
@@ -94,16 +87,10 @@
if (log.isInfoEnabled()) {
log.info("Loading existing protocol: " + protocol);
}
- } else {
-
- // remove any previous existing protocol
- protocol = null;
}
- TuttiUIUtil.setProtocol(context, protocol);
-
List<FishingOperation> fishingOperations =
- persistenceService.getAllFishingOperation(cruiseId);
+ persistenceService.getAllFishingOperation(cruise.getId());
for (FishingOperation fishingOperation : fishingOperations) {
fishingOperation.setCruise(cruise);
@@ -124,8 +111,7 @@
initUI(ui);
- editFishingOperationAction =
- createAction(EditFishingOperationAction.class);
+ editFishingOperationAction = new EditFishingOperationAction(this);
FishingOperationsUIModel model = getModel();
@@ -153,11 +139,11 @@
operation = null;
} else {
operation = persistenceService.getFishingOperation(newValue.getId());
- Cruise cruise = TuttiUIUtil.getCruise(context);
+ Cruise cruise = getDataContext().getCruise();
operation.setCruise(cruise);
}
editFishingOperationAction.setFishingOperation(operation);
- editFishingOperationAction.actionPerformed(null);
+ editFishingOperationAction.performAndReleaseAction();
// getModel().setEditFishingOperation(operation);
}
}
@@ -190,11 +176,11 @@
FishingOperation selectedOperation = null;
for (FishingOperation fishingOperation : fishingOperations) {
if (selectedOperation == null ||
- fishingOperation.getGearShootingStartDate()
- .after(selectedOperation.getGearShootingStartDate())
- && fishingOperation.getFishingOperationNumber()
- > selectedOperation.getFishingOperationNumber()
- ) {
+ fishingOperation.getGearShootingStartDate()
+ .after(selectedOperation.getGearShootingStartDate())
+ && fishingOperation.getFishingOperationNumber()
+ > selectedOperation.getFishingOperationNumber()
+ ) {
selectedOperation = fishingOperation;
}
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,10 +24,8 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -38,11 +36,8 @@
*/
public class ImportCasinoAction extends AbstractTuttiAction<EditFishingOperationUIModel, EditFishingOperationUI, EditFishingOperationUIHandler> {
- private static final long serialVersionUID = 1L;
-
public ImportCasinoAction(EditFishingOperationUIHandler handler) {
super(handler,
- "importCasino",
"casino-import",
_("tutti.action.importCasino"),
_("tutti.action.importCasino.tip"),
@@ -50,12 +45,8 @@
}
@Override
- protected void doAction(ActionEvent event) throws Exception {
+ protected void doAction() throws Exception {
//TODO
}
- @Override
- public boolean isEnabled() {
- return false;
- }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/NewFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/NewFishingOperationAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/NewFishingOperationAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,9 +28,7 @@
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.referential.Gear;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
-import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
-import java.awt.event.ActionEvent;
import java.util.List;
import static org.nuiton.i18n.I18n._;
@@ -43,8 +41,6 @@
*/
public class NewFishingOperationAction extends EditFishingOperationAction {
- private static final long serialVersionUID = 1L;
-
public NewFishingOperationAction(FishingOperationsUIHandler handler) {
super(handler,
"newFishingOperation",
@@ -55,7 +51,7 @@
}
@Override
- protected void doAction(ActionEvent event) throws Exception {
+ protected void doAction() throws Exception {
FishingOperationsUIModel model = getModel();
@@ -72,7 +68,7 @@
// creates a empty bean
FishingOperation newFishingOperation = new FishingOperation();
- Cruise cruise = TuttiUIUtil.getCruise(getContext());
+ Cruise cruise = getDataContext().getCruise();
newFishingOperation.setCruise(cruise);
//TODO Should select vessel from possible one ?
@@ -95,6 +91,6 @@
newFishingOperation.setGearShootingEndDate(null);
setFishingOperation(newFishingOperation);
- super.doAction(event);
+ super.doAction();
}
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -30,18 +30,16 @@
import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.CaracteristicTabUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.environment.EnvironmentTabUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.gearshooting.GearShootingTabUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.hydrology.HydrologyTabUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -52,8 +50,6 @@
*/
public class SaveFishingOperationAction extends AbstractTuttiAction<EditFishingOperationUIModel, EditFishingOperationUI, EditFishingOperationUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(SaveFishingOperationAction.class);
@@ -68,7 +64,6 @@
public SaveFishingOperationAction(EditFishingOperationUIHandler handler) {
super(handler,
- "saveFishingOperation",
"save",
_("tutti.action.saveFishingOperation"),
_("tutti.action.saveFishingOperation.tip"),
@@ -81,9 +76,9 @@
}
@Override
- protected void releaseAction(ActionEvent event) {
+ protected void releaseAction() {
updateUI = true;
- super.releaseAction(event);
+ super.releaseAction();
}
/**
@@ -91,11 +86,9 @@
* 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.
- *
- * @param event
*/
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
EditFishingOperationUIHandler handler = getHandler();
@@ -151,7 +144,7 @@
getModel().setModify(false);
saveFishingOperation(toSave);
-
+
handler.getParentUi().getTabPane().setSelectedIndex(1);
}
@@ -159,7 +152,7 @@
protected void saveFishingOperation(FishingOperation toSave) {
- PersistenceService service = getService(PersistenceService.class);
+ PersistenceService service = getContext().getPersistenceService();
boolean create = TuttiEntities.isNew(toSave);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/CancelEditCatchBatchAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/CancelEditCatchBatchAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/CancelEditCatchBatchAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,13 +27,11 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -44,8 +42,6 @@
*/
public class CancelEditCatchBatchAction extends AbstractTuttiAction<EditCatchesUIModel, EditCatchesUI, EditCatchesUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(CancelEditCatchBatchAction.class);
@@ -61,7 +57,6 @@
public CancelEditCatchBatchAction(EditCatchesUIHandler handler) {
super(handler,
- "cancelEditCatchBatch",
"cancel",
_("tutti.action.reset.editCatchBatch"),
_("tutti.action.reset.editCatchBatch.tip"),
@@ -77,7 +72,7 @@
}
@Override
- protected void doAction(ActionEvent event) throws Exception {
+ protected void doAction() throws Exception {
if (getModel().isCreate()) {
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,24 +25,19 @@
* #L%
*/
-import com.google.common.collect.Maps;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SampleCategory;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyRowModel;
-import jaxx.runtime.JAXXUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import javax.swing.JOptionPane;
-import javax.swing.JTextField;
import java.awt.Component;
-import java.awt.event.ActionEvent;
import java.util.List;
-import java.util.Map;
import static org.nuiton.i18n.I18n._;
@@ -52,8 +47,6 @@
*/
public class ComputeWeightsAction extends AbstractTuttiAction<EditCatchesUIModel, EditCatchesUI, EditCatchesUIHandler> {
- private static final long serialVersionUID = 1L;
-
private static final Log log = LogFactory.getLog(ComputeWeightsAction.class);
protected String errorMessage;
@@ -64,7 +57,6 @@
public ComputeWeightsAction(EditCatchesUIHandler handler) {
super(handler,
- "computeWeights",
"generate",
_("tutti.action.computeWeights"),
_("tutti.action.computeWeights.tip"),
@@ -72,18 +64,18 @@
}
@Override
- protected void doAction(ActionEvent event) throws Exception {
+ protected void doAction() throws Exception {
EditCatchesUIModel model = getModel();
-
+
computeSpeciesBatches();
Float speciesTotalSortedWeight = model.getSpeciesTotalSortedComputedWeight();
Float speciesTotalUnsortedWeight = model.getSpeciesTotalUnsortedComputedWeight();
-
+
EditCatchesUI ui = getUI();
model.setCatchTotalSortedComputedWeight(speciesTotalSortedWeight);
model.setCatchTotalUnsortedComputedWeight(speciesTotalUnsortedWeight);
-
+
Float totalWeight = model.getCatchTotalWeight();
Float rejectedWeight = model.getCatchTotalRejectedWeight();
@@ -107,12 +99,12 @@
model.setCatchTotalRejectedComputedWeight(0f);
}
model.setCatchTotalComputedWeight(speciesTotalUnsortedWeight
- + speciesTotalSortedWeight
+ + speciesTotalSortedWeight
+ rejectedWeight);
} else if (rejectedWeight != null
&& !totalWeight.equals(speciesTotalUnsortedWeight
- + speciesTotalSortedWeight
+ + speciesTotalSortedWeight
+ rejectedWeight)) {
errorMessage = _("tutti.action.computeWeights.error.incoherentTotal");
errorTitle = _("tutti.action.computeWeights.error.incoherentTotal.title");
@@ -127,7 +119,7 @@
protected void computeSpeciesBatches() {
PersistenceService persistenceService =
- getService(PersistenceService.class);
+ getContext().getPersistenceService();
EditCatchesUIModel model = getModel();
Float totalSortedWeight = 0f;
@@ -156,14 +148,14 @@
}
}
}
-
+
Number inertWeight = model.getSpeciesTotalInertWeight();
if (inertWeight != null) {
totalSortedWeight += inertWeight.floatValue();
} else {
model.setSpeciesTotalInertWeight(0f);
}
-
+
Number livingNotItemizedWeight = model.getSpeciesTotalLivingNotItemizedWeight();
if (livingNotItemizedWeight != null) {
totalSortedWeight += livingNotItemizedWeight.floatValue();
@@ -308,7 +300,7 @@
}
@Override
- protected void releaseAction(ActionEvent event) {
+ protected void releaseAction() {
if (errorMessage != null) {
JOptionPane.showMessageDialog(
getUI(),
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,7 +22,7 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<EditCatchesUIModel, EditCatchesUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<EditCatchesUIModel, EditCatchesUIHandler>'>
<import>
fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI
@@ -162,11 +162,11 @@
constructorParams='this'/>
</cell>
</row>
-<!-- <row>
- <cell columns='4'>
- <JLabel id='catchThalassaLabel'/>
- </cell>
- </row>-->
+ <!-- <row>
+ <cell columns='4'>
+ <JLabel id='catchThalassaLabel'/>
+ </cell>
+ </row>-->
</Table>
</cell>
</row>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,12 +25,12 @@
*/
import com.google.common.collect.Sets;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI;
import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUIHandler;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiTabContainerUIHandler;
import fr.ifremer.tutti.ui.swing.util.TabHandler;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import jaxx.runtime.swing.CardLayout2Ext;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,7 +26,7 @@
import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiComputedOrNotData;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
@@ -47,9 +47,9 @@
public static final String PROPERTY_CATCH_TOTAL_WEIGHT = "catchTotalWeight";
public static final String PROPERTY_CATCH_TOTAL_COMPUTED_WEIGHT = "catchTotalComputedWeight";
-
+
public static final String PROPERTY_CATCH_TOTAL_SORTED_COMPUTED_WEIGHT = "catchTotalSortedComputedWeight";
-
+
public static final String PROPERTY_CATCH_TOTAL_UNSORTED_COMPUTED_WEIGHT = "catchTotalUnsortedComputedWeight";
public static final String PROPERTY_CATCH_TOTAL_SORTED_TREMIS_WEIGHT = "catchTotalSortedTremisWeight";
@@ -61,13 +61,13 @@
public static final String PROPERTY_CATCH_TOTAL_REJECTED_COMPUTED_WEIGHT = "catchTotalRejectedComputedWeight";
public static final String PROPERTY_SPECIES_TOTAL_COMPUTED_WEIGHT = "speciesTotalComputedWeight";
-
+
public static final String PROPERTY_SPECIES_TOTAL_SORTED_WEIGHT = "speciesTotalSortedWeight";
public static final String PROPERTY_SPECIES_TOTAL_SORTED_COMPUTED_WEIGHT = "speciesTotalSortedComputedWeight";
-
+
public static final String PROPERTY_SPECIES_TOTAL_UNSORTED_COMPUTED_WEIGHT = "speciesTotalUnsortedComputedWeight";
-
+
public static final String PROPERTY_SPECIES_TOTAL_SAMPLE_SORTED_COMPUTED_WEIGHT = "speciesTotalSampleSortedComputedWeight";
public static final String PROPERTY_SPECIES_TOTAL_INERT_WEIGHT = "speciesTotalInertWeight";
@@ -132,13 +132,13 @@
protected static final Binder<EditCatchesUIModel, CatchBatch> toBeanBinder = BinderFactory.newBinder(EditCatchesUIModel.class, CatchBatch.class);
protected Float speciesTotalComputedWeight;
-
+
protected TuttiComputedOrNotData<Float> speciesTotalSortedComputedOrNotWeight = new TuttiComputedOrNotData<Float>();
protected Float speciesTotalUnsortedComputedWeight;
protected Float speciesTotalSampleSortedComputedWeight;
-
+
protected Float speciesTotalInertWeight = 0f;
protected Float speciesTotalLivingNotItemizedWeight = 0f;
@@ -161,9 +161,9 @@
= new TuttiComputedOrNotData<Float>();
protected Float catchTotalSortedComputedWeight;
-
+
protected Float catchTotalUnsortedComputedWeight;
-
+
protected Float catchTotalSortedTremisWeight;
protected Float catchTotalSortedCarousselWeight;
@@ -254,7 +254,7 @@
this.catchTotalComputedOrNotWeight.setComputedData(catchTotalComputedWeight);
firePropertyChange(PROPERTY_CATCH_TOTAL_COMPUTED_WEIGHT, oldValue, catchTotalComputedWeight);
}
-
+
public Float getCatchTotalSortedComputedWeight() {
return catchTotalSortedComputedWeight;
}
@@ -264,7 +264,7 @@
this.catchTotalSortedComputedWeight = catchTotalSortedComputedWeight;
firePropertyChange(PROPERTY_CATCH_TOTAL_SORTED_COMPUTED_WEIGHT, oldValue, catchTotalSortedComputedWeight);
}
-
+
public Float getCatchTotalUnsortedComputedWeight() {
return catchTotalUnsortedComputedWeight;
}
@@ -328,7 +328,7 @@
this.speciesTotalComputedWeight = speciesTotalComputedWeight;
firePropertyChange(PROPERTY_SPECIES_TOTAL_COMPUTED_WEIGHT, oldValue, speciesTotalComputedWeight);
}
-
+
public TuttiComputedOrNotData<Float> getSpeciesTotalSortedComputedOrNotWeight() {
return speciesTotalSortedComputedOrNotWeight;
}
@@ -372,7 +372,7 @@
this.speciesTotalUnsortedComputedWeight = speciesTotalUnsortedComputedWeight;
firePropertyChange(PROPERTY_SPECIES_TOTAL_UNSORTED_COMPUTED_WEIGHT, oldValue, speciesTotalUnsortedComputedWeight);
}
-
+
public Float getSpeciesTotalInertWeight() {
return speciesTotalInertWeight;
}
@@ -473,10 +473,10 @@
setCatchTotalUnsortedComputedWeight(null);
setCatchTotalComputedWeight(null);
}
-
+
@Override
protected CatchBatch newEntity() {
return catchBatch;
}
-
+
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,10 +24,8 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -38,11 +36,8 @@
*/
public class ImportPupitriAction extends AbstractTuttiAction<EditCatchesUIModel, EditCatchesUI, EditCatchesUIHandler> {
- private static final long serialVersionUID = 1L;
-
public ImportPupitriAction(EditCatchesUIHandler handler) {
super(handler,
- "importPupitri",
"pupitri-import",
_("tutti.action.importPupitri"),
_("tutti.action.importPupitri.tip"),
@@ -50,7 +45,7 @@
}
@Override
- protected void doAction(ActionEvent event) throws Exception {
+ protected void doAction() throws Exception {
//TODO
}
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,13 +26,11 @@
import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -43,13 +41,10 @@
*/
public class SaveCatchBatchAction extends AbstractTuttiAction<EditCatchesUIModel, EditCatchesUI, EditCatchesUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(SaveCatchBatchAction.class);
-
/**
* A flag to update ui after create or save the edit catch batch.
*
@@ -59,7 +54,6 @@
public SaveCatchBatchAction(EditCatchesUIHandler handler) {
super(handler,
- "saveCatchBatch",
"save",
_("tutti.action.saveCatchBatch"),
_("tutti.action.saveCatchBatch.tip"),
@@ -72,13 +66,13 @@
}
@Override
- protected void releaseAction(ActionEvent event) {
+ protected void releaseAction() {
updateUI = true;
- super.releaseAction(event);
+ super.releaseAction();
}
@Override
- protected void doAction(ActionEvent event) {
+ public void doAction() {
EditCatchesUIHandler handler = getHandler();
@@ -95,7 +89,7 @@
if (mustSave) {
PersistenceService persistenceService =
- getService(PersistenceService.class);
+ getContext().getPersistenceService();
CatchBatch catchBatch = beanToSave.toBean();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchRowModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchRowModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,7 +27,7 @@
import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
import fr.ifremer.tutti.persistence.entities.data.Attachment;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,10 +22,10 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<AccidentalBatchUIModel, AccidentalBatchUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<AccidentalBatchUIModel, AccidentalBatchUIHandler>'>
<import>
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -31,10 +31,10 @@
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent;
import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent;
import jaxx.runtime.validator.swing.SwingValidator;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchRowModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchRowModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,7 +27,7 @@
import fr.ifremer.tutti.persistence.entities.data.Attachment;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.apache.commons.collections.CollectionUtils;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -29,8 +29,6 @@
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
-import javax.swing.table.TableColumnModel;
-
import static org.nuiton.i18n.I18n.n_;
/**
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,10 +22,10 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<BenthosBatchUIModel, BenthosBatchUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<BenthosBatchUIModel, BenthosBatchUIHandler>'>
<import>
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -31,10 +31,10 @@
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent;
import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent;
import jaxx.runtime.validator.swing.SwingValidator;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchRowModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchRowModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,7 +27,7 @@
import fr.ifremer.tutti.persistence.entities.data.Attachment;
import fr.ifremer.tutti.persistence.entities.data.MacroWasteBatch;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchTableModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchTableModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,8 +28,6 @@
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
-import javax.swing.table.TableColumnModel;
-
import static org.nuiton.i18n.I18n.n_;
/**
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,10 +22,10 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<MacroWasteBatchUIModel, MacroWasteBatchUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<MacroWasteBatchUIModel, MacroWasteBatchUIHandler>'>
<import>
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -30,10 +30,10 @@
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.data.MacroWasteBatch;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent;
import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent;
import jaxx.runtime.validator.swing.SwingValidator;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchRowModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchRowModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,7 +27,7 @@
import fr.ifremer.tutti.persistence.entities.data.Attachment;
import fr.ifremer.tutti.persistence.entities.data.PlanktonBatch;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchTableModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchTableModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,8 +28,6 @@
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
-import javax.swing.table.TableColumnModel;
-
import static org.nuiton.i18n.I18n.n_;
/**
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,10 +22,10 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<PlanktonBatchUIModel, PlanktonBatchUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<PlanktonBatchUIModel, PlanktonBatchUIHandler>'>
<import>
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
fr.ifremer.tutti.ui.swing.util.editor.AttachmentEditorUI
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -31,10 +31,10 @@
import fr.ifremer.tutti.persistence.entities.data.PlanktonBatch;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent;
import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent;
import jaxx.runtime.validator.swing.SwingValidator;
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesBatchAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,14 +28,12 @@
import com.google.common.collect.Sets;
import fr.ifremer.tutti.persistence.TuttiPersistence;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
-import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.table.AbstractSelectTableAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
-import java.awt.event.ActionEvent;
import java.util.Set;
import static org.nuiton.i18n.I18n._;
@@ -48,8 +46,6 @@
*/
public class RemoveSpeciesBatchAction extends AbstractTuttiAction<SpeciesBatchUIModel, SpeciesBatchUI, SpeciesBatchUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(RemoveSpeciesBatchAction.class);
@@ -58,7 +54,6 @@
public RemoveSpeciesBatchAction(SpeciesBatchUIHandler handler) {
super(handler,
- "removeSpeciesBatch",
"batch-delete",
_("tutti.action.removeSpeciesBatch"),
_("tutti.action.removeSpeciesBatch.tip"),
@@ -69,10 +64,10 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
TuttiPersistence persistenceService =
- getContext().getService(PersistenceService.class);
+ getContext().getPersistenceService();
SpeciesBatchUIHandler handler = getHandler();
@@ -101,7 +96,7 @@
table.setRowSelectionInterval(parentIndex, parentIndex);
// remove all his children
- removeSpeciesSubBatchAction.doAction(event);
+ removeSpeciesSubBatchAction.performAndReleaseAction();
} else {
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesSubBatchAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,14 +28,12 @@
import com.google.common.collect.Sets;
import fr.ifremer.tutti.persistence.TuttiPersistence;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
-import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.table.AbstractSelectTableAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
-import java.awt.event.ActionEvent;
import java.util.Set;
import static org.nuiton.i18n.I18n._;
@@ -48,29 +46,24 @@
*/
public class RemoveSpeciesSubBatchAction extends AbstractTuttiAction<SpeciesBatchUIModel, SpeciesBatchUI, SpeciesBatchUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(RemoveSpeciesSubBatchAction.class);
public RemoveSpeciesSubBatchAction(SpeciesBatchUIHandler handler) {
super(handler,
- "removeSpeciesSubBatch",
"batch-delete",
_("tutti.action.removeSpeciesSubBatch"),
_("tutti.action.removeSpeciesSubBatch.tip"),
false
);
-
-
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
TuttiPersistence persistenceService =
- getContext().getService(PersistenceService.class);
+ getContext().getPersistenceService();
SpeciesBatchUIHandler handler = getHandler();
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RenameSpeciesBatchAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,12 +27,11 @@
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
-import java.awt.event.ActionEvent;
import java.util.Collection;
import java.util.List;
@@ -46,8 +45,6 @@
*/
public class RenameSpeciesBatchAction extends AbstractTuttiAction<SpeciesBatchUIModel, SpeciesBatchUI, SpeciesBatchUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(RenameSpeciesBatchAction.class);
@@ -55,7 +52,6 @@
public RenameSpeciesBatchAction(SpeciesBatchUIHandler handler) {
super(handler,
- "renameSpeciesBatch",
"batch-rename",
_("tutti.action.renameSpeciesBatch"),
_("tutti.action.renameSpeciesBatch.tip"),
@@ -65,8 +61,8 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
- boolean result = super.prepareAction(event);
+ protected boolean prepareAction() {
+ boolean result = super.prepareAction();
SpeciesBatchUIHandler handler = getHandler();
@@ -90,20 +86,20 @@
}
@Override
- protected void releaseAction(ActionEvent event) {
+ protected void releaseAction() {
selectedSpecies = null;
- super.releaseAction(event);
+ super.releaseAction();
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
SpeciesBatchUIHandler handler = getHandler();
SpeciesBatchTableModel tableModel = handler.getTableModel();
JXTable table = handler.getTable();
SpeciesBatchRowModel row = tableModel.getEntry(table.getSelectedRow());
- PersistenceService persistenceService = getService(PersistenceService.class);
+ PersistenceService persistenceService = getContext().getPersistenceService();
persistenceService.changeSpeciesBatchSpecies(row.getId(), selectedSpecies);
Collection<Species> speciesUsed = getModel().getSpeciesUsed()
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,11 +22,11 @@
#L%
-->
<JPanel layout='{new BorderLayout()}' id='selectSpeciesPopup'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<SelectSpeciesUIModel, SelectSpeciesUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<SelectSpeciesUIModel, SelectSpeciesUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.referential.Species
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
jaxx.runtime.swing.editor.bean.BeanComboBox
</import>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,14 +27,15 @@
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
+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 java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
/**
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.0
@@ -60,14 +61,14 @@
initBeanComboBox(ui.getSpeciesCombo(),
Lists.<Species>newArrayList(),
null);
-
+
getModel().addPropertyChangeListener(SelectSpeciesUIModel.PROPERTY_SPECIES,
- new PropertyChangeListener() {
+ new PropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent evt) {
- ui.getSpeciesCombo().getHandler().sortData();
- }
- });
+ public void propertyChange(PropertyChangeEvent evt) {
+ ui.getSpeciesCombo().getHandler().sortData();
+ }
+ });
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SelectSpeciesUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,7 +27,7 @@
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import java.util.List;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -31,8 +31,8 @@
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyRowModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiComputedOrNotData;
import org.apache.commons.collections.CollectionUtils;
import org.nuiton.util.beans.Binder;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,10 +22,10 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<SpeciesBatchUIModel, SpeciesBatchUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<SpeciesBatchUIModel, SpeciesBatchUIHandler>'>
<import>
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
fr.ifremer.tutti.ui.swing.util.editor.AttachmentEditorUI
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -41,7 +41,6 @@
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler;
@@ -54,6 +53,7 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.split.SplitSpeciesBatchUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.split.SplitSpeciesBatchUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent;
import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent;
@@ -399,13 +399,13 @@
// get loaded protocol
- protocol = TuttiUIUtil.getProtocol(context);
+ protocol = getDataContext().getProtocol();
lengthCaracterics = Lists.newArrayListWithCapacity(
protocol.sizeLengthClassesPmfmId());
Map<String, Caracteristic> allCaractericsById =
- TuttiEntities.splitById(persistenceService.getAllCaracteristic());
+ TuttiEntities.splitById(getDataContext().getCaracteristics());
if (!protocol.isLengthClassesPmfmIdEmpty()) {
for (String id : protocol.getLengthClassesPmfmId()) {
@@ -417,12 +417,12 @@
// use all caracteristics
lengthCaracterics = Lists.newArrayList(
- persistenceService.getAllCaracteristic());
+ getDataContext().getCaracteristics());
}
// use only the referent here, if the user needs a synonym, he will
// click on the button to select another species
- List<Species> speciesList = persistenceService.getAllReferentSpecies();
+ List<Species> speciesList = getDataContext().getReferentSpecies();
SPECIES_REFERENT_CONTEXT_ENTRY.setContextValue(ui, speciesList);
FREQUENCY_LENGTH_CONTEXT_ENTRY.setContextValue(ui, lengthCaracterics);
@@ -452,7 +452,7 @@
// get loaded protocol
- TuttiProtocol protocol = TuttiUIUtil.getProtocol(context);
+ TuttiProtocol protocol = getDataContext().getProtocol();
Preconditions.checkNotNull(protocol,
"Could not find protocol in ui context");
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -29,7 +29,7 @@
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -30,7 +30,6 @@
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
-import javax.swing.table.TableColumnModel;
import java.util.List;
import java.util.Map;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,12 +22,12 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<SpeciesFrequencyUIModel, SpeciesFrequencyUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<SpeciesFrequencyUIModel, SpeciesFrequencyUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.referential.Caracteristic
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI
fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -33,7 +33,6 @@
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.TuttiUI;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler;
@@ -42,7 +41,7 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.FrequencyCellComponent.FrequencyCellEditor;
import fr.ifremer.tutti.ui.swing.util.Cancelable;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
-import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.validator.swing.SwingValidator;
@@ -190,7 +189,7 @@
if (context.isProtocolFilled()) {
// get loaded protocol
- protocol = TuttiUIUtil.getProtocol(context);
+ protocol = getDataContext().getProtocol();
Preconditions.checkNotNull(protocol,
"Could not find protocol in ui context");
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -29,12 +29,10 @@
import fr.ifremer.tutti.persistence.TuttiPersistence;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.util.List;
import java.util.Map;
@@ -48,34 +46,32 @@
*/
public class AddSpeciesAction extends AbstractTuttiAction<CreateSpeciesBatchUIModel, CreateSpeciesBatchUI, CreateSpeciesBatchUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(AddSpeciesAction.class);
protected List<Species> allSpecies;
-
+
protected List<Species> referentSpecies;
protected Species selectedSpecies;
public AddSpeciesAction(CreateSpeciesBatchUIHandler handler) {
super(handler,
- "addSpecies",
null,
_("tutti.action.addSpecies.text"),
_("tutti.action.addSpecies.tip"),
false
);
- TuttiPersistence persistenceService = getContext().getService(PersistenceService.class);
+ TuttiPersistence persistenceService =
+ getContext().getPersistenceService();
allSpecies = persistenceService.getAllSpecies();
referentSpecies = persistenceService.getAllReferentSpecies();
}
@Override
- protected boolean prepareAction(ActionEvent event) {
- boolean result = super.prepareAction(event);
+ protected boolean prepareAction() {
+ boolean result = super.prepareAction();
List<Species> availableSpecies = getModel().getAvailableSpecies();
List<Species> species = Lists.newArrayList(allSpecies);
@@ -88,7 +84,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
CreateSpeciesBatchUIModel model = getModel();
if (!selectedSpecies.isReferenceTaxon()) {
@@ -100,7 +96,7 @@
String decoratedReferent = decorate(selectedSpecies);
sendMessage(_("tutti.flash.information.species.replaced", decoratedSynonym, decoratedReferent));
}
-
+
List<Species> availableSpecies = Lists.newArrayList(model.getAvailableSpecies());
if (!availableSpecies.contains(selectedSpecies)) {
availableSpecies.add(selectedSpecies);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,7 +22,7 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<CreateSpeciesBatchUIModel, CreateSpeciesBatchUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<CreateSpeciesBatchUIModel, CreateSpeciesBatchUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.referential.Species
@@ -31,7 +31,7 @@
fr.ifremer.tutti.ui.swing.content.operation.catches.species.SampleCategoryType
fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
org.jdesktop.swingx.JXTable
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,20 +27,18 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import fr.ifremer.tutti.persistence.TuttiPersistence;
-import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler;
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.content.operation.catches.species.SpeciesBatchUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.util.Cancelable;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
@@ -50,9 +48,6 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
-import java.util.Map;
-import jaxx.runtime.JAXXUtil;
-import jaxx.runtime.context.JAXXContextEntryDef;
/**
* Handler of {@link CreateSpeciesBatchUI}.
@@ -73,7 +68,7 @@
public CreateSpeciesBatchUIHandler(TuttiUI parentUi,
CreateSpeciesBatchUI ui) {
super(parentUi.getHandler().getContext(), ui);
- persistenceService = context.getService(PersistenceService.class);
+ this.persistenceService = context.getPersistenceService();
Caracteristic caracteristic =
persistenceService.getSortedUnsortedCaracteristic();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,7 +28,7 @@
import com.google.common.collect.Multimap;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,9 +25,9 @@
*/
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SampleCategory;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SampleCategoryType;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchTableModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchTableModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,8 +28,6 @@
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
-import javax.swing.table.TableColumnModel;
-
import static org.nuiton.i18n.I18n.n_;
/**
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,14 +22,14 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<SplitSpeciesBatchUIModel, SplitSpeciesBatchUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<SplitSpeciesBatchUIModel, SplitSpeciesBatchUIHandler>'>
<import>
fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI
fr.ifremer.tutti.ui.swing.content.operation.catches.species.SampleCategoryType
fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchUI
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
org.jdesktop.swingx.JXTable
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -29,7 +29,6 @@
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SampleCategory;
@@ -38,6 +37,7 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchUI;
import fr.ifremer.tutti.ui.swing.util.Cancelable;
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;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.validator.swing.SwingValidator;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicRowModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicRowModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,7 +26,7 @@
*/
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import java.io.Serializable;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -32,10 +32,9 @@
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
-import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
@@ -200,7 +199,7 @@
}
model.setCaracteristicMap(caracteristicMap);
- TuttiProtocol protocol = TuttiUIUtil.getProtocol(context);
+ TuttiProtocol protocol = getDataContext().getProtocol();
List<String> pmfmIds = Lists.newArrayList();
if (protocol != null) {
List<String> protocolPmfmId = getProtocolPmfmIds(protocol);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/CaracteristicTabUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,7 +28,7 @@
import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel;
import java.io.Serializable;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,7 +22,7 @@
#L%
-->
<Table
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<EnvironmentTabUIModel, EnvironmentTabUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<EnvironmentTabUIModel, EnvironmentTabUIHandler>'>
<import>
fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTableModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTableModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,8 +28,6 @@
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
-import javax.swing.table.TableColumnModel;
-
import static org.nuiton.i18n.I18n.n_;
/**
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,7 +22,7 @@
#L%
-->
<Table
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<GearShootingTabUIModel, GearShootingTabUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<GearShootingTabUIModel, GearShootingTabUIHandler>'>
<import>
fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTableModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTableModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,8 +28,6 @@
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
-import javax.swing.table.TableColumnModel;
-
import static org.nuiton.i18n.I18n.n_;
/**
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,7 +22,7 @@
#L%
-->
<Table
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<HydrologyTabUIModel, HydrologyTabUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<HydrologyTabUIModel, HydrologyTabUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.referential.Caracteristic
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTableModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTableModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,8 +28,6 @@
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
-import javax.swing.table.TableColumnModel;
-
import static org.nuiton.i18n.I18n.n_;
/**
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/CancelEditProgramAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,11 +24,9 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -39,11 +37,8 @@
*/
public class CancelEditProgramAction extends AbstractTuttiAction<EditProgramUIModel, EditProgramUI, EditProgramUIHandler> {
- private static final long serialVersionUID = 1L;
-
public CancelEditProgramAction(EditProgramUIHandler handler) {
super(handler,
- "cancelEditProgram",
"cancel",
_("tutti.action.cancel.editProgram"),
_("tutti.action.cancel.editProgram.tip"),
@@ -52,7 +47,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
getContext().setScreen(TuttiScreen.SELECT_CRUISE);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,11 +22,11 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<EditProgramUIModel, EditProgramUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<EditProgramUIModel, EditProgramUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.referential.Zone
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
jaxx.runtime.swing.editor.bean.BeanComboBox
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,9 +26,9 @@
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
+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;
@@ -60,7 +60,7 @@
public EditProgramUIHandler(TuttiUI parentUi, EditProgramUI ui) {
super(parentUi.getHandler().getContext(), ui);
- persistenceService = context.getService(PersistenceService.class);
+ this.persistenceService = context.getPersistenceService();
}
@Override
@@ -74,8 +74,8 @@
model.setExistingPrograms(programs);
- String surveyId = context.getProgramId();
- if (surveyId == null) {
+ String programId = context.getProgramId();
+ if (programId == null) {
if (log.isInfoEnabled()) {
log.info("Edit new program");
@@ -83,10 +83,10 @@
} else {
if (log.isInfoEnabled()) {
- log.info("Edit existing program " + surveyId);
+ log.info("Edit existing program " + programId);
}
// load existing program
- Program program = persistenceService.getProgram(surveyId);
+ Program program = persistenceService.getProgram(programId);
model.fromBean(program);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,7 +26,7 @@
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,14 +28,11 @@
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
-import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -44,14 +41,11 @@
*/
public class SaveProgramAction extends AbstractTuttiAction<EditProgramUIModel, EditProgramUI, EditProgramUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(SaveProgramAction.class);
public SaveProgramAction(EditProgramUIHandler handler) {
super(handler,
- "saveProgram",
"save",
_("tutti.action.saveProgram"),
_("tutti.action.saveProgram.tip"),
@@ -62,14 +56,12 @@
/**
* If the event source is a TuttiScreen, then the screen changes to the source.
* Otherwise, the screen changes to the home.
- *
- * @param event
*/
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
TuttiUIContext context = getContext();
PersistenceService persistenceService =
- getService(PersistenceService.class);
+ getContext().getPersistenceService();
EditProgramUIModel model = getModel();
@@ -85,13 +77,14 @@
context.setProgramId(saved.getId());
- TuttiScreen nextScreen;
- if (event.getSource().getClass().isAssignableFrom(TuttiScreen.class)) {
- nextScreen = (TuttiScreen) event.getSource();
- } else {
- nextScreen = TuttiScreen.SELECT_CRUISE;
- }
- context.setScreen(nextScreen);
+ //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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/AddSpeciesProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,9 +27,8 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
import java.util.Collection;
import static org.nuiton.i18n.I18n._;
@@ -42,11 +41,8 @@
*/
public class AddSpeciesProtocolAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
- private static final long serialVersionUID = 1L;
-
public AddSpeciesProtocolAction(EditProtocolUIHandler handler) {
super(handler,
- "addSpeciesProtocol",
"add",
null,
_("tutti.action.addSpeciesProtocol.tip"),
@@ -55,7 +51,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
EditProtocolUI ui = getUI();
@@ -66,7 +62,7 @@
Preconditions.checkNotNull(
species, "Can't add a speciesProtocol with a null species");
Preconditions.checkArgument(species.isReferenceTaxon(),
- "Can't add a speciesProtocol with a not referent species");
+ "Can't add a speciesProtocol with a not referent species");
Integer taxonId = species.getReferenceTaxonId();
String taxonIdStr = String.valueOf(taxonId);
@@ -74,7 +70,7 @@
// remove all synonyms of this taxon
Collection<Species> allSynonyms = getModel().getAllSynonyms(taxonIdStr);
getModel().getAllSynonyms().removeAll(allSynonyms);
-
+
ui.getSpeciesComboBox().getData().remove(species);
ui.getSpeciesComboBox().getHandler().sortData();
handler.selectFirstInCombo(ui.getSpeciesComboBox());
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CancelEditProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,11 +24,9 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import java.awt.event.ActionEvent;
-
import static org.nuiton.i18n.I18n._;
/**
@@ -39,11 +37,8 @@
*/
public class CancelEditProtocolAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
- private static final long serialVersionUID = 1L;
-
public CancelEditProtocolAction(EditProtocolUIHandler handler) {
super(handler,
- "cancelEditProtocol",
"cancel",
_("tutti.action.cancel.editProtocol"),
_("tutti.action.cancel.editProtocol.tip"),
@@ -52,7 +47,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
getContext().setScreen(TuttiScreen.SELECT_CRUISE);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,7 +27,7 @@
import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,8 +28,6 @@
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
-import javax.swing.table.TableColumnModel;
-
import static org.nuiton.i18n.I18n.n_;
/**
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,12 +22,12 @@
#L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<EditProtocolUIModel, EditProtocolUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<EditProtocolUIModel, EditProtocolUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.referential.Caracteristic
fr.ifremer.tutti.persistence.entities.referential.Species
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
jaxx.runtime.swing.editor.bean.BeanComboBox
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,7 +27,6 @@
import com.ezware.oxbow.swingbits.util.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
-import com.google.common.collect.Multimaps;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
@@ -35,13 +34,12 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.MainUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
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.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
-import java.awt.Dimension;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.swing.editor.bean.BeanDoubleList;
import jaxx.runtime.swing.editor.bean.BeanDoubleListModel;
@@ -59,6 +57,7 @@
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;
@@ -80,7 +79,7 @@
LogFactory.getLog(EditProtocolUIHandler.class);
protected SelectSpeciesUI dialog;
-
+
public EditProtocolUIHandler(TuttiUI parentUi, EditProtocolUI ui) {
super(parentUi.getHandler().getContext(), ui);
}
@@ -154,20 +153,20 @@
// load cache data
- List<Species> allSpecies = Lists.newArrayList(persistenceService.getAllSpecies());
+ List<Species> allSpecies = Lists.newArrayList(getDataContext().getSpecies());
model.setAllSpecies(allSpecies);
- Multimap<String, Species> allSpeciesByTaxonId =
+ Multimap<String, Species> allSpeciesByTaxonId =
TuttiEntities.splitByReferenceTaxonId(allSpecies);
model.setAllSpeciesByTaxonId(allSpeciesByTaxonId);
Map<String, Species> allReferentSpeciesByTaxonId = TuttiEntities.splitByTaxonId(
- persistenceService.getAllReferentSpecies());
+ getDataContext().getReferentSpecies());
model.setAllReferentSpeciesByTaxonId(allReferentSpeciesByTaxonId);
List<TuttiProtocol> protocols = persistenceService.getAllProtocol();
model.setExistingProtocols(protocols);
- List<Caracteristic> caracteristics = persistenceService.getAllCaracteristic();
+ List<Caracteristic> caracteristics = getDataContext().getCaracteristics();
model.setCaracteristics(caracteristics);
Map<String, Caracteristic> allCaracteristic = TuttiEntities.splitById(caracteristics);
@@ -274,12 +273,12 @@
initTable(table);
- Collection<Species> referents =
+ Collection<Species> referents =
model.getAllReferentSpeciesByTaxonId().values();
List<Species> speciesList = Lists.newArrayList(referents);
initBeanComboBox(ui.getSpeciesComboBox(), speciesList, null);
-
+
List<EditProtocolSpeciesRowModel> rows;
// build speciesProtocol rows
@@ -322,7 +321,7 @@
// if new protocol can already cancel his creation
model.setModify(model.isCreate());
-
+
dialog = new SelectSpeciesUI(ui);
}
@@ -349,7 +348,7 @@
Species species = allReferentSpeciesByTaxonId.get(taxonIdStr);
// remove it from the combo box
speciesList.remove(species);
-
+
EditProtocolSpeciesRowModel row = getTableModel().createNewRow();
row.setSpecies(species);
row.setLengthStepPmfm(allCaracteristic.get(speciesProtocol.getLengthStepPmfmId()));
@@ -451,7 +450,7 @@
return model.getSelectedSpecies();
}
-
+
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -98,9 +98,9 @@
protected boolean removeSpeciesEnabled;
protected List<Species> allSpecies;
-
+
protected List<Species> allSynonyms;
-
+
protected Multimap<String, Species> allSpeciesByTaxonId;
protected Map<String, Species> allReferentSpeciesByTaxonId;
@@ -255,7 +255,7 @@
public Multimap<String, Species> getAllSpeciesByTaxonId() {
return allSpeciesByTaxonId;
}
-
+
public Collection<Species> getAllSynonyms(String taxonId) {
return allSpeciesByTaxonId.get(taxonId);
}
@@ -267,7 +267,7 @@
public List<Species> getAllSynonyms() {
return allSynonyms;
}
-
+
public Map<String, Species> getAllReferentSpeciesByTaxonId() {
return allReferentSpeciesByTaxonId;
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,12 +25,11 @@
*/
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -43,8 +42,6 @@
*/
public class ExportAllCaracteristicAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ExportAllCaracteristicAction.class);
@@ -53,7 +50,6 @@
public ExportAllCaracteristicAction(EditProtocolUIHandler handler) {
super(handler,
- "exportAllCaracteristic",
"export",
_("tutti.action.exportAllCaracteristic"),
_("tutti.action.exportAllCaracteristic.tip"),
@@ -62,7 +58,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to import
file = TuttiUIUtil.chooseFile(
@@ -74,19 +70,19 @@
);
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will export all caracteristic to file: " + file);
@@ -94,7 +90,7 @@
// export protocol caracteristics
TuttiProtocolImportExportService service =
- getService(TuttiProtocolImportExportService.class);
+ getContext().getTuttiProtocolImportExportService();
service.exportAllCaracteristic(file, getModel().getAllCaracteristic());
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,12 +26,11 @@
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -44,8 +43,6 @@
*/
public class ExportProtocolCaracteristicAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ExportProtocolCaracteristicAction.class);
@@ -54,7 +51,6 @@
public ExportProtocolCaracteristicAction(EditProtocolUIHandler handler) {
super(handler,
- "exportProtocolCaracteristic",
"export",
_("tutti.action.exportProtocolCaracteristic"),
_("tutti.action.exportProtocolCaracteristic.tip"),
@@ -63,7 +59,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to import
file = TuttiUIUtil.chooseFile(
@@ -75,19 +71,19 @@
);
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will export protocol caracteristic to file: " + file);
@@ -98,7 +94,7 @@
// export protocol caracteristics
TuttiProtocolImportExportService service =
- getService(TuttiProtocolImportExportService.class);
+ getContext().getTuttiProtocolImportExportService();
service.exportProtocolCaracteristic(file,
protocol,
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,12 +27,11 @@
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import java.util.List;
@@ -46,8 +45,6 @@
*/
public class ExportProtocolSpeciesAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ExportProtocolSpeciesAction.class);
@@ -56,7 +53,6 @@
public ExportProtocolSpeciesAction(EditProtocolUIHandler handler) {
super(handler,
- "exportProtocolSpecies",
"export",
_("tutti.action.exportProtocolSpecies"),
_("tutti.action.exportProtocolSpecies.tip"),
@@ -65,7 +61,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to export
file = TuttiUIUtil.chooseFile(
@@ -77,19 +73,19 @@
);
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will export protocol species to file: " + file);
@@ -108,7 +104,7 @@
// import
TuttiProtocolImportExportService service =
- getService(TuttiProtocolImportExportService.class);
+ getContext().getTuttiProtocolImportExportService();
service.exportProtocolSpecies(file,
protocols,
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,12 +26,11 @@
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -44,8 +43,6 @@
*/
public class ImportProtocolCaracteristicAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ImportProtocolCaracteristicAction.class);
@@ -54,7 +51,6 @@
public ImportProtocolCaracteristicAction(EditProtocolUIHandler handler) {
super(handler,
- "importProtocolCaracteristic",
"import",
_("tutti.action.importProtocolCaracteristic"),
_("tutti.action.importProtocolCaracteristic.tip"),
@@ -63,7 +59,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to import
file = TuttiUIUtil.chooseFile(
@@ -75,19 +71,19 @@
);
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will import protocol caracteristic file: " + file);
@@ -100,7 +96,7 @@
TuttiProtocol protocol = model.toBean();
TuttiProtocolImportExportService service =
- getService(TuttiProtocolImportExportService.class);
+ getContext().getTuttiProtocolImportExportService();
service.importProtocolCaracteristic(file,
protocol,
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,13 +27,12 @@
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import java.util.List;
@@ -47,8 +46,6 @@
*/
public class ImportProtocolSpeciesAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ImportProtocolSpeciesAction.class);
@@ -57,7 +54,6 @@
public ImportProtocolSpeciesAction(EditProtocolUIHandler handler) {
super(handler,
- "importProtocolSpecies",
"import",
_("tutti.action.importProtocolSpecies"),
_("tutti.action.importProtocolSpecies.tip"),
@@ -66,7 +62,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to import
file = TuttiUIUtil.chooseFile(
@@ -78,19 +74,19 @@
);
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will import protocol species file: " + file);
@@ -104,7 +100,7 @@
// import
TuttiProtocolImportExportService service =
- getService(TuttiProtocolImportExportService.class);
+ getContext().getTuttiProtocolImportExportService();
service.importProtocolSpecies(file,
protocol,
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,14 +28,12 @@
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import jaxx.runtime.swing.editor.bean.BeanComboBox;
-import java.awt.event.ActionEvent;
-import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
-import jaxx.runtime.swing.editor.bean.BeanComboBox;
import static org.nuiton.i18n.I18n._;
@@ -47,11 +45,8 @@
*/
public class RemoveSpeciesProtocolAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
- private static final long serialVersionUID = 1L;
-
public RemoveSpeciesProtocolAction(EditProtocolUIHandler handler) {
super(handler,
- "removeSpeciesProtocol",
"batch-delete",
_("tutti.action.removeSpeciesProtocol"),
_("tutti.action.removeSpeciesProtocol.tip"),
@@ -60,7 +55,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
EditProtocolUIHandler handler = getHandler();
int rowIndex = handler.getTable().getSelectedRow();
@@ -77,7 +72,7 @@
BeanComboBox<Species> combo = getUI().getSpeciesComboBox();
combo.getData().add(species);
combo.getHandler().sortData();
-
+
EditProtocolUIModel model = getModel();
Integer taxonId = species.getReferenceTaxonId();
List<Species> allSynonyms = Lists.newArrayList(
@@ -97,7 +92,7 @@
}
return o1.getName().compareTo(o2.getName());
}
-
+
});
// remove the row from the model(do it after treating the comboBox which can be long)
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -30,13 +30,11 @@
import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
-import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.util.List;
import static org.nuiton.i18n.I18n._;
@@ -52,11 +50,8 @@
/** Logger. */
private static final Log log = LogFactory.getLog(SaveProtocolAction.class);
- private static final long serialVersionUID = 1L;
-
public SaveProtocolAction(EditProtocolUIHandler handler) {
super(handler,
- "saveProtocol",
"save",
_("tutti.action.saveProtocol"),
_("tutti.action.saveProtocol.tip"),
@@ -67,16 +62,14 @@
/**
* If the event source is a TuttiScreen, then the screen changes to the source.
* Otherwise, the screen changes to the home.
- *
- * @param event
*/
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
EditProtocolUIModel model = getModel();
TuttiUIContext context = getContext();
EditProtocolUIHandler handler = getHandler();
PersistenceService persistenceService =
- context.getService(PersistenceService.class);
+ context.getPersistenceService();
TuttiProtocol bean = model.toBean();
@@ -106,13 +99,14 @@
context.setProtocolId(saved.getId());
- TuttiScreen nextScreen;
- if (event.getSource().getClass().isAssignableFrom(TuttiScreen.class)) {
- nextScreen = (TuttiScreen) event.getSource();
- } else {
- nextScreen = TuttiScreen.SELECT_CRUISE;
- }
- context.setScreen(nextScreen);
+ //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/protocol/SelectOtherSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SelectOtherSpeciesAction.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SelectOtherSpeciesAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -27,25 +27,23 @@
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
-import fr.ifremer.tutti.ui.swing.content.operation.catches.species.split.*;
-import java.awt.event.ActionEvent;
-import java.util.Collection;
-import java.util.List;
+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;
+
+import java.util.List;
+
import static org.nuiton.i18n.I18n._;
/**
* Action to select a species which is not in the referent list.
- *
+ *
* @author kmorin <kmorin(a)codelutin.com>
* @since 1.1
*/
public class SelectOtherSpeciesAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log = LogFactory.getLog(AddSpeciesAction.class);
@@ -53,7 +51,6 @@
public SelectOtherSpeciesAction(EditProtocolUIHandler handler) {
super(handler,
- "selectOtherSpecies",
null,
_("tutti.action.selectOtherSpecies.text"),
_("tutti.action.selectOtherSpecies.tip"),
@@ -62,8 +59,8 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
- boolean result = super.prepareAction(event);
+ protected boolean prepareAction() {
+ boolean result = super.prepareAction();
EditProtocolUIModel model = getModel();
List<Species> species = Lists.newArrayList(model.getAllSynonyms());
@@ -76,7 +73,7 @@
}
@Override
- protected void doAction(ActionEvent event) {
+ protected void doAction() {
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,13 +25,12 @@
*/
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -44,8 +43,6 @@
*/
public class ExportTemporaryGearExampleAction extends AbstractTuttiAction<TuttiUIContext, ManageTemporaryReferentialUI, ManageTemporaryReferentialUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ExportTemporaryGearExampleAction.class);
@@ -54,7 +51,6 @@
public ExportTemporaryGearExampleAction(ManageTemporaryReferentialUIHandler handler) {
super(handler,
- "exportTemporaryGearExample",
"export",
_("tutti.action.exportTemporaryGearExample"),
_("tutti.action.exportTemporaryGearExample.tip"),
@@ -63,7 +59,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to export
file = TuttiUIUtil.chooseFile(
@@ -75,19 +71,19 @@
);
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will export example gears temporary " +
@@ -95,7 +91,7 @@
}
TuttiReferentialImportExportService service =
- getService(TuttiReferentialImportExportService.class);
+ getContext().getTuttiReferentialImportExportService();
service.exportTemporaryGearExample(file);
sendMessage("Exemple de référentiel temporaire d'engins exporté " +
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,13 +25,12 @@
*/
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -43,7 +42,6 @@
* @since 1.0
*/
public class ExportTemporaryPersonExampleAction extends AbstractTuttiAction<TuttiUIContext, ManageTemporaryReferentialUI, ManageTemporaryReferentialUIHandler> {
- private static final long serialVersionUID = 1L;
/** Logger. */
@@ -54,7 +52,6 @@
public ExportTemporaryPersonExampleAction(ManageTemporaryReferentialUIHandler handler) {
super(handler,
- "exportTemporaryPersonExample",
"export",
_("tutti.action.exportTemporaryPersonExample"),
_("tutti.action.exportTemporaryPersonExample.tip"),
@@ -63,7 +60,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to export
file = TuttiUIUtil.chooseFile(
@@ -75,19 +72,19 @@
);
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will export example persons temporary " +
@@ -95,7 +92,7 @@
}
TuttiReferentialImportExportService service =
- getService(TuttiReferentialImportExportService.class);
+ getContext().getTuttiReferentialImportExportService();
service.exportTemporaryPersonExample(file);
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,13 +25,12 @@
*/
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -44,8 +43,6 @@
*/
public class ExportTemporarySpeciesExampleAction extends AbstractTuttiAction<TuttiUIContext, ManageTemporaryReferentialUI, ManageTemporaryReferentialUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ExportTemporarySpeciesExampleAction.class);
@@ -54,7 +51,6 @@
public ExportTemporarySpeciesExampleAction(ManageTemporaryReferentialUIHandler handler) {
super(handler,
- "exportTemporarySpeciesExample",
"export",
_("tutti.action.exportTemporarySpeciesExample"),
_("tutti.action.exportTemporarySpeciesExample.tip"),
@@ -63,7 +59,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to export
file = TuttiUIUtil.chooseFile(
@@ -75,19 +71,19 @@
);
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will export example species temporary " +
@@ -95,7 +91,7 @@
}
TuttiReferentialImportExportService service =
- getService(TuttiReferentialImportExportService.class);
+ getContext().getTuttiReferentialImportExportService();
service.exportTemporarySpeciesExample(file);
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,13 +25,12 @@
*/
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -44,8 +43,6 @@
*/
public class ExportTemporaryVesselExampleAction extends AbstractTuttiAction<TuttiUIContext, ManageTemporaryReferentialUI, ManageTemporaryReferentialUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ExportTemporaryVesselExampleAction.class);
@@ -54,7 +51,6 @@
public ExportTemporaryVesselExampleAction(ManageTemporaryReferentialUIHandler handler) {
super(handler,
- "exportTemporaryVesselExample",
"export",
_("tutti.action.exportTemporaryVesselExample"),
_("tutti.action.exportTemporaryVesselExample.tip"),
@@ -63,7 +59,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to export
file = TuttiUIUtil.chooseFile(
@@ -75,19 +71,19 @@
);
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will export example vessels temporary " +
@@ -95,7 +91,7 @@
}
TuttiReferentialImportExportService service =
- getService(TuttiReferentialImportExportService.class);
+ getContext().getTuttiReferentialImportExportService();
service.exportTemporaryVesselExample(file);
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,13 +25,12 @@
*/
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -44,8 +43,6 @@
*/
public class ImportTemporaryGearAction extends AbstractTuttiAction<TuttiUIContext, ManageTemporaryReferentialUI, ManageTemporaryReferentialUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ImportTemporaryGearAction.class);
@@ -54,7 +51,6 @@
public ImportTemporaryGearAction(ManageTemporaryReferentialUIHandler handler) {
super(handler,
- "importTemporaryGear",
"import",
_("tutti.action.importTemporaryGear"),
_("tutti.action.importTemporaryGear.tip"),
@@ -63,7 +59,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to import
file = TuttiUIUtil.chooseFile(
@@ -75,19 +71,19 @@
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will import gear temporary " +
@@ -95,10 +91,13 @@
}
TuttiReferentialImportExportService service =
- getService(TuttiReferentialImportExportService.class);
+ getContext().getTuttiReferentialImportExportService();
service.importTemporaryGear(file);
+ // reset ui cache
+ getDataContext().resetGears();
+
sendMessage("Référentiel temporaire d'engins importé depuis le " +
"fichier " + file + ".");
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,13 +25,12 @@
*/
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -44,8 +43,6 @@
*/
public class ImportTemporaryPersonAction extends AbstractTuttiAction<TuttiUIContext, ManageTemporaryReferentialUI, ManageTemporaryReferentialUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ImportTemporaryPersonAction.class);
@@ -54,7 +51,6 @@
public ImportTemporaryPersonAction(ManageTemporaryReferentialUIHandler handler) {
super(handler,
- "importTemporaryPerson",
"import",
_("tutti.action.importTemporaryPerson"),
_("tutti.action.importTemporaryPerson.tip"),
@@ -63,7 +59,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to import
file = TuttiUIUtil.chooseFile(
@@ -75,19 +71,19 @@
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will import person temporary " +
@@ -95,10 +91,13 @@
}
TuttiReferentialImportExportService service =
- getService(TuttiReferentialImportExportService.class);
+ getContext().getTuttiReferentialImportExportService();
service.importTemporaryPerson(file);
+ // reset ui cache
+ getDataContext().resetPersons();
+
sendMessage("Référentiel temporaire de personnes importé depuis le " +
"fichier " + file + ".");
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,13 +25,12 @@
*/
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -44,8 +43,6 @@
*/
public class ImportTemporarySpeciesAction extends AbstractTuttiAction<TuttiUIContext, ManageTemporaryReferentialUI, ManageTemporaryReferentialUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ImportTemporarySpeciesAction.class);
@@ -54,7 +51,6 @@
public ImportTemporarySpeciesAction(ManageTemporaryReferentialUIHandler handler) {
super(handler,
- "importTemporarySpecies",
"import",
_("tutti.action.importTemporarySpecies"),
_("tutti.action.importTemporarySpecies.tip"),
@@ -63,7 +59,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to import
file = TuttiUIUtil.chooseFile(
@@ -75,19 +71,19 @@
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will import species temporary " +
@@ -95,10 +91,13 @@
}
TuttiReferentialImportExportService service =
- getService(TuttiReferentialImportExportService.class);
+ getContext().getTuttiReferentialImportExportService();
service.importTemporarySpecies(file);
+ // reset ui cache
+ getDataContext().resetSpecies();
+
sendMessage("Référentiel temporaire d'espèces importé depuis le " +
"fichier " + file + ".");
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,13 +25,12 @@
*/
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.awt.event.ActionEvent;
import java.io.File;
import static org.nuiton.i18n.I18n._;
@@ -44,8 +43,6 @@
*/
public class ImportTemporaryVesselAction extends AbstractTuttiAction<TuttiUIContext, ManageTemporaryReferentialUI, ManageTemporaryReferentialUIHandler> {
- private static final long serialVersionUID = 1L;
-
/** Logger. */
private static final Log log =
LogFactory.getLog(ImportTemporaryVesselAction.class);
@@ -54,7 +51,6 @@
public ImportTemporaryVesselAction(ManageTemporaryReferentialUIHandler handler) {
super(handler,
- "importTemporaryVessel",
"import",
_("tutti.action.importTemporaryVessel"),
_("tutti.action.importTemporaryVessel.tip"),
@@ -63,7 +59,7 @@
}
@Override
- protected boolean prepareAction(ActionEvent event) {
+ protected boolean prepareAction() {
// choose file to import
file = TuttiUIUtil.chooseFile(
@@ -75,19 +71,19 @@
boolean doAction = file != null;
if (doAction) {
- super.prepareAction(event);
+ super.prepareAction();
}
return doAction;
}
@Override
- protected void releaseAction(ActionEvent event) {
- super.releaseAction(event);
+ protected void releaseAction() {
+ super.releaseAction();
file = null;
}
@Override
- protected void doAction(ActionEvent e) throws Exception {
+ protected void doAction() throws Exception {
if (log.isInfoEnabled()) {
log.info("Will import vessel temporary " +
@@ -95,10 +91,13 @@
}
TuttiReferentialImportExportService service =
- getService(TuttiReferentialImportExportService.class);
+ getContext().getTuttiReferentialImportExportService();
service.importTemporaryVessel(file);
+ // reset ui cache
+ getDataContext().resetVessels();
+
sendMessage("Référentiel temporaire de navires importé depuis le " +
"fichier " + file + ".");
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageTemporaryReferentialUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageTemporaryReferentialUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageTemporaryReferentialUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -22,11 +22,11 @@
#L%
-->
<JPanel id='manageTemporaryReferentialTopPanel' layout='{new BorderLayout()}'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<TuttiUIContext, ManageTemporaryReferentialUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiUIContext, ManageTemporaryReferentialUIHandler>'>
<import>
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
static org.nuiton.i18n.I18n._
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageTemporaryReferentialUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageTemporaryReferentialUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ManageTemporaryReferentialUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,8 +25,8 @@
*/
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
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;
import org.apache.commons.logging.LogFactory;
@@ -50,7 +50,7 @@
protected ManageTemporaryReferentialUIHandler(TuttiUIContext context,
ManageTemporaryReferentialUI ui) {
super(context, ui);
- this.persistenceService = context.getService(PersistenceService.class);
+ this.persistenceService = context.getPersistenceService();
}
//------------------------------------------------------------------------//
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java (from rev 502, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiBeanUIModel.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -0,0 +1,130 @@
+package fr.ifremer.tutti.ui.swing.util;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 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.persistence.entities.IdAware;
+import fr.ifremer.tutti.service.TuttiTechnicalException;
+import org.jdesktop.beans.AbstractSerializableBean;
+import org.nuiton.util.beans.Binder;
+
+/**
+ * Abstract UI model to edit a bean.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public abstract class AbstractTuttiBeanUIModel<E, B extends AbstractTuttiBeanUIModel<E, B>> extends AbstractSerializableBean implements IdAware {
+
+ private static final long serialVersionUID = 1L;
+
+ public static final String PROPERTY_ID = "id";
+
+ public static final String PROPERTY_MODIFY = "modify";
+
+ public static final String PROPERTY_VALID = "valid";
+
+ protected String id;
+
+ protected boolean modify;
+
+ protected boolean valid;
+
+ private final Class<E> entityType;
+
+ private final Binder<E, B> fromBeanBinder;
+
+ private final Binder<B, E> toBeanBinder;
+
+ protected AbstractTuttiBeanUIModel(Class<E> entityType,
+ Binder<E, B> fromBeanBinder,
+ Binder<B, E> toBeanBinder) {
+ this.entityType = entityType;
+ this.fromBeanBinder = fromBeanBinder;
+ this.toBeanBinder = toBeanBinder;
+ }
+
+ public final void fromBean(E bean) {
+ fromBeanBinder.copy(bean, (B) this);
+ }
+
+ public final E toBean() {
+ E result = newEntity();
+ toBeanBinder.copy((B) this, result);
+ return result;
+ }
+
+ protected E newEntity() {
+ try {
+ E result = entityType.newInstance();
+ return result;
+ } catch (Exception e) {
+ throw new TuttiTechnicalException(
+ "Could not instanciate entity of type " +
+ entityType.getName(), e);
+ }
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ Object oldValue = getId();
+ this.id = id;
+ firePropertyChange(PROPERTY_ID, oldValue, id);
+ }
+
+ public String getTitle() {
+ return null;
+ }
+
+ public String getIcon() {
+ return null;
+ }
+
+ public boolean isModify() {
+ return modify;
+ }
+
+ public void setModify(boolean modify) {
+ Object oldValue = isModify();
+ this.modify = modify;
+ firePropertyChange(PROPERTY_MODIFY, oldValue, modify);
+ }
+
+ public boolean isValid() {
+ return valid;
+ }
+
+ public void setValid(boolean valid) {
+ Object oldValue = isValid();
+ this.valid = valid;
+ firePropertyChange(PROPERTY_VALID, oldValue, valid);
+ }
+
+ public boolean isCreate() {
+ return id == null;
+ }
+}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiTabContainerUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiTabContainerUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiTabContainerUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,9 +25,6 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java (from rev 502, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -0,0 +1,635 @@
+package fr.ifremer.tutti.ui.swing.util;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 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 com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+import fr.ifremer.tutti.persistence.entities.IdAware;
+import fr.ifremer.tutti.service.DecoratorService;
+import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction;
+import fr.ifremer.tutti.ui.swing.MainUI;
+import fr.ifremer.tutti.ui.swing.MainUIHandler;
+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.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.TuttiUIAction;
+import fr.ifremer.tutti.ui.swing.util.editor.SimpleTimeEditor;
+import jaxx.runtime.JAXXUtil;
+import jaxx.runtime.SwingUtil;
+import jaxx.runtime.swing.editor.NumberEditor;
+import jaxx.runtime.swing.editor.bean.BeanComboBox;
+import jaxx.runtime.swing.editor.bean.BeanDoubleList;
+import jaxx.runtime.swing.renderer.DecoratorListCellRenderer;
+import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.reflect.ConstructorUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jdesktop.swingx.JXDatePicker;
+import org.nuiton.util.decorator.Decorator;
+import org.nuiton.util.decorator.JXPathDecorator;
+import org.nuiton.validator.bean.simple.SimpleBeanValidator;
+
+import javax.swing.AbstractAction;
+import javax.swing.AbstractButton;
+import javax.swing.Action;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JOptionPane;
+import javax.swing.JRootPane;
+import javax.swing.JTextField;
+import javax.swing.KeyStroke;
+import javax.swing.ListCellRenderer;
+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.Dimension;
+import java.awt.Font;
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+import java.awt.event.FocusAdapter;
+import java.awt.event.FocusEvent;
+import java.awt.event.ItemEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+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 static org.nuiton.i18n.I18n._;
+
+/**
+ * Contract of any UI handler.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public abstract class AbstractTuttiUIHandler<M, UI extends TuttiUI<M, ?>> implements UIMessageNotifier {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(AbstractTuttiUIHandler.class);
+
+ public abstract void beforeInitUI();
+
+ public abstract void afterInitUI();
+
+ public abstract void onCloseUI();
+
+ public abstract SwingValidator<M> getValidator();
+
+ /**
+ * Global application context.
+ *
+ * @since 0.1
+ */
+ protected final TuttiUIContext context;
+
+ /**
+ * UI handled.
+ *
+ * @since 0.1
+ */
+ protected final UI ui;
+
+ protected AbstractTuttiUIHandler(TuttiUIContext context, UI ui) {
+ this.context = context;
+ this.ui = ui;
+ }
+
+ //------------------------------------------------------------------------//
+ //-- Public methods --//
+ //------------------------------------------------------------------------//
+
+ public DefaultComboBoxModel newComboModel(Object... items) {
+ return new DefaultComboBoxModel(items);
+ }
+
+ public DefaultComboBoxModel newComboActionModel(Class<?>... actionNames) {
+ List<Object> items = Lists.newArrayListWithCapacity(actionNames.length);
+ for (Class<?> actionName : actionNames) {
+ Action action = createAction((Class<AbstractTuttiAction>) actionName);
+ items.add(action);
+ }
+ return newComboModel(items.toArray());
+ }
+
+ public final M getModel() {
+ return ui.getModel();
+ }
+
+ public final UI getUI() {
+ return ui;
+ }
+
+ @Override
+ public void showInformationMessage(String message) {
+ context.showInformationMessage(message);
+ }
+
+ public TuttiUIContext getContext() {
+ return context;
+ }
+
+ public TuttiDataContext getDataContext() {
+ return getContext().getDataContext();
+ }
+
+ public TuttiApplicationConfig getConfig() {
+ 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();
+ TuttiUIUtil.setProperty(getModel(), property, value);
+ }
+
+ public void setBoolean(ItemEvent event, String property) {
+ boolean value = event.getStateChange() == ItemEvent.SELECTED;
+ TuttiUIUtil.setProperty(getModel(), property, value);
+ }
+
+ public void setDate(ActionEvent event, String property) {
+ JXDatePicker field = (JXDatePicker) event.getSource();
+ Date value = field.getDate();
+ TuttiUIUtil.setProperty(getModel(), property, value);
+ }
+
+ public void selectListData(ListSelectionEvent event, String property) {
+ if (!event.getValueIsAdjusting()) {
+ JList list = (JList) event.getSource();
+ ListSelectionModel selectionModel = list.getSelectionModel();
+
+ selectionModel.setValueIsAdjusting(true);
+ try {
+ List selectedList = Lists.newLinkedList();
+
+ for (int index : list.getSelectedIndices()) {
+ Object o = list.getModel().getElementAt(index);
+ selectedList.add(o);
+ }
+ TuttiUIUtil.setProperty(getModel(), property, selectedList);
+ } finally {
+ selectionModel.setValueIsAdjusting(false);
+ }
+ }
+ }
+
+ public void openDialog(TuttiUI ui,
+ TuttiUI dialogContent,
+ String title, Dimension dim) {
+ Frame frame = SwingUtil.getParentContainer(ui, Frame.class);
+
+ JDialog result = new JDialog(frame, true);
+ result.setTitle(title);
+ result.add((Component) dialogContent);
+ result.setResizable(true);
+
+ result.setSize(dim);
+
+ final AbstractTuttiUIHandler handler = dialogContent.getHandler();
+
+ if (handler instanceof Cancelable) {
+
+ // add a auto-close action
+ JRootPane rootPane = result.getRootPane();
+
+ KeyStroke shortcutClosePopup = getConfig().getShortcutClosePopup();
+
+ rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
+ shortcutClosePopup, "close");
+ rootPane.getActionMap().put("close", new AbstractAction() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ ((Cancelable) handler).cancel();
+ }
+ });
+ }
+
+ result.addWindowListener(new WindowAdapter() {
+
+ @Override
+ public void windowClosed(WindowEvent e) {
+ Component ui = (Component) e.getSource();
+ if (log.isInfoEnabled()) {
+ log.info("Destroy ui " + ui);
+ }
+ JAXXUtil.destroy(ui);
+ }
+ });
+ SwingUtil.center(frame, result);
+ result.setVisible(true);
+ }
+
+ public void closeDialog(TuttiUI ui) {
+ SwingUtil.getParentContainer(ui, JDialog.class).setVisible(false);
+ }
+
+ public int askSaveBeforeLeaving(String message) {
+ int i = JOptionPane.showConfirmDialog(
+ getContext().getMainUI(),
+ message,
+ _("tutti.dialog.askSaveBeforeLeaving.title"),
+ JOptionPane.YES_NO_CANCEL_OPTION);
+ return i;
+ }
+
+ public int askCancelEditBeforeLeaving(String message) {
+ int i = JOptionPane.showConfirmDialog(
+ getContext().getMainUI(),
+ message,
+ _("tutti.dialog.askCancelEditBeforeLeaving.title"),
+ JOptionPane.YES_NO_OPTION);
+ return i;
+ }
+ //------------------------------------------------------------------------//
+ //-- Internal methods --//
+ //------------------------------------------------------------------------//
+
+ protected void initUI(TuttiUI ui) {
+
+ for (Map.Entry<String, Object> entry : ui.get$objectMap().entrySet()) {
+ Object component = entry.getValue();
+ if (component instanceof NumberEditor) {
+ initNumberEditor((NumberEditor) component);
+
+ } else if (component instanceof JXDatePicker) {
+ initDatePicker((JXDatePicker) component);
+
+ } else if (component instanceof SimpleTimeEditor) {
+ initTimeEditor((SimpleTimeEditor) component);
+
+ } else if (component instanceof JLabel) {
+ JLabel jLabel = (JLabel) component;
+ Boolean strongStyle = (Boolean) jLabel.getClientProperty("strongStyle");
+ Boolean italicStyle = (Boolean) jLabel.getClientProperty("italicStyle");
+ boolean addHtml = strongStyle != null && strongStyle || italicStyle != null && italicStyle;
+ if (addHtml) {
+ String text = jLabel.getText();
+ if (strongStyle != null && strongStyle) {
+ text = "<strong>" + text + "</strong>";
+ }
+ if (italicStyle != null && italicStyle) {
+ text = "<em>" + text + "</em>";
+ }
+ jLabel.setText("<html>" + text + "</html>");
+ }
+
+ } else if (component instanceof JTextField) {
+ JTextField jTextField = (JTextField) component;
+ Boolean computed = (Boolean) jTextField.getClientProperty("computed");
+ if (computed != null && computed) {
+ Font font = jTextField.getFont().deriveFont(Font.ITALIC);
+ jTextField.setFont(font);
+ jTextField.setEditable(!computed);
+ jTextField.setEnabled(!computed);
+ jTextField.setDisabledTextColor(Color.BLUE);
+ }
+
+ } else if (component instanceof AbstractButton) {
+ AbstractButton abstractButton = (AbstractButton) component;
+ Class<AbstractTuttiAction> actionName = (Class<AbstractTuttiAction>) abstractButton.getClientProperty("tuttiAction");
+ if (actionName != null) {
+ initAction(abstractButton, actionName);
+ }
+ }
+ }
+ }
+
+ protected <A extends AbstractTuttiAction> void initAction(AbstractButton abstractButton,
+ Class<A> actionName) {
+
+ Action action = createAction(actionName);
+ abstractButton.setAction(action);
+ }
+
+ protected <A extends AbstractTuttiAction> TuttiUIAction<A> createAction(Class<A> actionName) {
+ TuttiUIAction result = null;
+ if (actionName != null) {
+ try {
+
+ AbstractTuttiUIHandler handler = this;
+
+ if (AbstractMainUITuttiAction.class.isAssignableFrom(actionName) &&
+ getContext().getMainUI() != null) {
+ handler = getContext().getMainUI().getHandler();
+ }
+
+ // create action
+ AbstractTuttiAction action = ConstructorUtils.invokeConstructor(actionName, handler);
+
+ // create ui action
+ result = new TuttiUIAction(action);
+
+ } catch (Exception e) {
+ throw new RuntimeException(
+ "Could not instanciate action " + actionName, e);
+ }
+ }
+ return result;
+ }
+
+ protected void doAction(AbstractButton button, ActionEvent event) {
+ button.getAction().actionPerformed(event);
+ }
+
+ protected void registerValidators(SwingValidator... validators) {
+ MainUI main = context.getMainUI();
+ Preconditions.checkNotNull(
+ main, "No mainUI registred in application context");
+ MainUIHandler handler = main.getHandler();
+ handler.clearValidators();
+ for (SwingValidator validator : validators) {
+ handler.registerValidator(validator);
+ }
+ }
+
+ public void clearValidators() {
+ MainUI main = context.getMainUI();
+ Preconditions.checkNotNull(
+ main, "No mainUI registred in application context");
+ MainUIHandler handler = main.getHandler();
+ handler.clearValidators();
+ }
+
+
+ /**
+ * Prépare un component de choix d'entités pour un type d'entité donné et
+ * pour un service de persistance donné.
+ *
+ * @param comboBox le component graphique à initialiser
+ */
+ protected <E extends Serializable> void initBeanComboBox(
+ BeanComboBox<E> comboBox,
+ List<E> data,
+ E selectedData) {
+
+ initBeanComboBox(comboBox, data, selectedData, null);
+ }
+
+ protected <E extends Serializable> void initBeanComboBox(
+ BeanComboBox<E> comboBox,
+ List<E> data,
+ E selectedData,
+ String decoratorContext) {
+
+ Preconditions.checkNotNull(comboBox, "No comboBox!");
+
+ Class<E> beanType = comboBox.getBeanType();
+
+ Preconditions.checkNotNull(beanType, "No beanType on the combobox!");
+
+ Decorator<E> decorator = getDecorator(beanType, decoratorContext);
+
+ if (data == null) {
+ data = Lists.newArrayList();
+ }
+
+ if (log.isInfoEnabled()) {
+ log.info("entity comboBox list [" + beanType.getName() + "] : " +
+ (data == null ? 0 : data.size()));
+ }
+
+ // add data list to combo box
+ comboBox.init((JXPathDecorator<E>) decorator, data);
+
+ comboBox.setSelectedItem(selectedData);
+
+ if (log.isDebugEnabled()) {
+ log.debug("combo [" + beanType.getName() + "] : " +
+ comboBox.getData().size());
+ }
+ }
+
+ /**
+ * Prépare un component de choix d'entités pour un type d'entité donné et
+ * pour un service de persistance donné.
+ *
+ * @param list le component graphique à initialiser
+ * @param data la liste des données à mettre dans la liste de gauche
+ * @param selectedData la liste des données à mettre dans la liste de droite
+ */
+ protected <E extends IdAware> void initBeanList(
+ BeanDoubleList<E> list,
+ List<E> data,
+ List<E> selectedData) {
+
+ Preconditions.checkNotNull(list, "No list!");
+
+ Class<E> beanType = list.getBeanType();
+ Preconditions.checkNotNull(beanType, "No beanType on the double list!");
+
+ DecoratorService decoratorService =
+ context.getDecoratorService();
+ Decorator<E> decorator = decoratorService.getDecoratorByType(beanType);
+
+ if (log.isInfoEnabled()) {
+ log.info("entity list [" + beanType.getName() + "] : " +
+ (data == null ? 0 : data.size()));
+ }
+
+ // add data list to combo box
+ list.init((JXPathDecorator<E>) decorator, data, selectedData);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Jlist [" + beanType.getName() + "] : " +
+ list.getUniverseList().getModel().getSize());
+ }
+ }
+
+ protected void initNumberEditor(NumberEditor editor) {
+ if (log.isDebugEnabled()) {
+ log.debug("init number editor " + editor.getName());
+ }
+ editor.init();
+
+ // Force binding if value is already in model
+ Number model = editor.getModel();
+ if (model != null) {
+ editor.setModel(null);
+ editor.setModel(model);
+ }
+ }
+
+ protected void initTimeEditor(SimpleTimeEditor editor) {
+ if (log.isDebugEnabled()) {
+ log.debug("init time editor " + editor.getName() +
+ " for property " + editor.getModel().getProperty());
+ }
+ editor.init();
+ }
+
+ protected void initDatePicker(final JXDatePicker picker) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("disable JXDatePicker editor" + picker.getName());
+ }
+ String dateFormat = getConfig().getDateFormat();
+ picker.setFormats(dateFormat);
+ picker.getEditor().addFocusListener(new FocusAdapter() {
+
+ @Override
+ public void focusLost(FocusEvent e) {
+ try {
+ picker.commitEdit();
+
+ } catch (ParseException ex) {
+ if (log.isDebugEnabled()) {
+ log.debug("format error", ex);
+ }
+ }
+ }
+
+ });
+ }
+
+ public <O> Decorator<O> getDecorator(Class<O> type, String name) {
+ DecoratorService decoratorService =
+ context.getDecoratorService();
+
+ Preconditions.checkNotNull(type);
+
+ Decorator decorator = decoratorService.getDecoratorByType(type, name);
+ if (decorator == null) {
+
+ if (DecoratorService.LabelAware.class.isAssignableFrom(type)) {
+ decorator = getDecorator(DecoratorService.LabelAware.class, null);
+ }
+ }
+ Preconditions.checkNotNull(decorator);
+ return decorator;
+ }
+
+ protected String decorate(Object object) {
+ String result = "";
+ if (object != null) {
+ getDecorator(object.getClass(), null).toString(object);
+ }
+ return result;
+ }
+
+ protected <O> ListCellRenderer newListCellRender(Class<O> type) {
+
+ return newListCellRender(type, null);
+ }
+
+ protected <O> ListCellRenderer newListCellRender(Class<O> type, String name) {
+
+ Decorator<O> decorator = getDecorator(type, name);
+ return newListCellRender(decorator);
+ }
+
+ protected <O> ListCellRenderer newListCellRender(Decorator<O> decorator) {
+
+ Preconditions.checkNotNull(decorator);
+
+ ListCellRenderer result = new DecoratorListCellRenderer(decorator);
+ return result;
+ }
+
+ protected void listenValidatorValid(SimpleBeanValidator validator,
+ final AbstractTuttiBeanUIModel model) {
+ validator.addPropertyChangeListener(SimpleBeanValidator.VALID_PROPERTY, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (log.isDebugEnabled()) {
+ log.debug("Model [" + model +
+ "] pass to valid state [" +
+ evt.getNewValue() + "]");
+ }
+ model.setValid((Boolean) evt.getNewValue());
+ }
+ });
+ }
+
+ protected void listModelIsModify(AbstractTuttiBeanUIModel model) {
+ model.addPropertyChangeListener(new PropertyChangeListener() {
+
+ final Set<String> excludeProperties = getPropertiesToIgnore();
+
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (!excludeProperties.contains(evt.getPropertyName())) {
+ ((AbstractTuttiBeanUIModel) evt.getSource()).setModify(true);
+ }
+ }
+ });
+ }
+
+ protected Set<String> getPropertiesToIgnore() {
+ return Sets.newHashSet(
+ AbstractTuttiBeanUIModel.PROPERTY_MODIFY,
+ AbstractTuttiBeanUIModel.PROPERTY_VALID);
+ }
+
+ public <B> void selectFirstInCombo(BeanComboBox<B> combo) {
+ List<B> data = combo.getData();
+ B selectedItem = null;
+ if (CollectionUtils.isNotEmpty(data)) {
+ selectedItem = data.get(0);
+ }
+ combo.setSelectedItem(selectedItem);
+ }
+
+ protected void closeUI(TuttiUI ui) {
+ ui.getHandler().onCloseUI();
+ }
+
+ protected <B> void changeValidatorContext(String newContext,
+ SwingValidator<B> validator) {
+ B bean = validator.getBean();
+ validator.setContext(newContext);
+ validator.setBean(bean);
+ }
+}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,7 +25,6 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import jaxx.runtime.SwingUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiCollectionUniqueKeyValidator.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiCollectionUniqueKeyValidator.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiCollectionUniqueKeyValidator.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -34,7 +34,7 @@
/**
* To fix a bug (will be moved back to nuiton-validator) (see
* http://nuiton.org/issues/2545)
- *
+ * <p/>
* TODO Remove this when using nuiton-validator 2.6.10 and reuse the basic validator.
*
* @author tchemit <chemit(a)codelutin.com>
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java (from rev 502, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiErrorHelper.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -0,0 +1,91 @@
+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%
+ */
+
+import fr.ifremer.tutti.service.TuttiBusinessException;
+import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import org.jdesktop.swingx.JXErrorPane;
+import org.jdesktop.swingx.error.ErrorInfo;
+import org.jdesktop.swingx.error.ErrorReporter;
+
+import javax.swing.JOptionPane;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class TuttiErrorHelper implements ErrorReporter {
+
+ protected TuttiUIContext context;
+
+ public TuttiErrorHelper(TuttiUIContext context) {
+ this.context = context;
+ }
+
+ /**
+ * Display a user friendly error frame.
+ *
+ * @param message message for user
+ * @param cause exception cause
+ */
+ public void showErrorDialog(String message, Throwable cause) {
+
+ if (cause instanceof TuttiBusinessException) {
+ JOptionPane.showMessageDialog(context.getMainUI(), cause.getMessage(),
+ _("tutti.ui.common.error"),
+ JOptionPane.ERROR_MESSAGE);
+ } else {
+
+ JXErrorPane pane = new JXErrorPane();
+ ErrorInfo info = new ErrorInfo(_("tutti.common.error"),
+ _("tutti.error.errorpane.htmlmessage", message), null, null,
+ cause, null, null);
+ pane.setErrorInfo(info);
+ pane.setErrorReporter(this);
+ JXErrorPane.showDialog(context.getMainUI(), pane);
+ }
+
+ }
+
+ /**
+ * Display a user friendly error frame.
+ *
+ * @param message message for user
+ */
+ public void showErrorDialog(String message) {
+ showErrorDialog(message, null);
+ }
+
+ @Override
+ public void reportError(ErrorInfo errorInfo) throws NullPointerException {
+
+ showErrorDialog(errorInfo.getBasicErrorMessage(), errorInfo.getErrorException());
+ }
+
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java (from rev 502, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiExceptionHandler.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -0,0 +1,138 @@
+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%
+ */
+
+import fr.ifremer.tutti.service.TuttiTechnicalException;
+import fr.ifremer.tutti.ui.swing.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Tutti global exception handler.
+ * <p/>
+ * Catch all application uncaught and display it in a custom JoptionPane
+ * or JXErrorPane.
+ * <p/>
+ * See http://stackoverflow.com/a/4448569/1165234 for details.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class TuttiExceptionHandler implements Thread.UncaughtExceptionHandler {
+
+ 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);
+ }
+
+ public void handle(Throwable thrown) {
+ // for EDT exceptions
+ handleException(Thread.currentThread().getName(), thrown);
+ }
+
+ protected void handleException(String tname, Throwable ex) {
+ if (log.isErrorEnabled()) {
+ log.error("Global application exception [" + tname + "]", ex);
+ }
+
+ Throwable cause = ex;
+
+ if (cause instanceof NullPointerException) {
+
+ // See http://forge.codelutin.com/issues/2055
+ if (ex.getStackTrace().length > 0 &&
+ ex.getStackTrace()[0].getClassName().contains("swing.")) {
+ if (log.isWarnEnabled()) {
+ log.warn("AWT bad error (See http://forge.codelutin.com/issues/2055)", ex);
+ }
+ return;
+ }
+ }
+
+ if (cause instanceof IndexOutOfBoundsException) {
+ // See http://forge.codelutin.com/issues/2055
+ if (ex.getStackTrace().length > 0 &&
+ "convertRowIndexToModel".equals(ex.getStackTrace()[0].getMethodName())) {
+ if (log.isWarnEnabled()) {
+ log.warn("AWT bad error (See http://forge.codelutin.com/issues/2055)", ex);
+ }
+ return;
+ }
+ }
+ if (cause instanceof TuttiTechnicalException) {
+ cause = cause.getCause();
+ }
+
+ boolean backToScreen = false;
+
+ AbstractTuttiAction action = null;
+
+ if (cause instanceof TuttiActionException) {
+
+ TuttiActionException actionException = (TuttiActionException) cause;
+ cause = cause.getCause();
+
+ // close action ui
+
+
+ action = actionException.getAction();
+
+ if (action instanceof AbstractChangeScreenAction) {
+ backToScreen = true;
+ }
+// TuttiUIContext.getApplicationContext().getActionUI().getModel().clear();
+ }
+
+ TuttiUIContext.getErrorHelper().showErrorDialog(cause.getMessage(), ex);
+
+ if (backToScreen) {
+ action.getContext().setScreen(TuttiScreen.SELECT_CRUISE);
+ }
+ }
+
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUI.java (from rev 502, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUI.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUI.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUI.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -0,0 +1,135 @@
+package fr.ifremer.tutti.ui.swing.util;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 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 jaxx.runtime.JAXXObject;
+
+import javax.swing.UIManager;
+import java.awt.Font;
+
+/**
+ * Contract to place on each generated jaxx ui.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public interface TuttiUI<M, H extends AbstractTuttiUIHandler<M, ?>> extends JAXXObject {
+
+ M getModel();
+
+ H getHandler();
+
+ /**
+ * Pattern to use for short numeric values in editors with max 1 digits.
+ *
+ * @since 0.2
+ */
+ public static final String INT_1_DIGITS_PATTERN = "\\d{0,1}";
+
+ /**
+ * Pattern to use for short numeric values in editors with max 2 digits.
+ *
+ * @since 0.1
+ */
+ public static final String INT_2_DIGITS_PATTERN = "\\d{0,2}";
+
+ /**
+ * Pattern to use for signed numeric values in editors with max 2 digits.
+ *
+ * @since 1.0
+ */
+ public static final String SIGNED_INT_2_DIGITS_PATTERN = "-?\\d{0,2}";
+
+ /**
+ * Pattern to use for short numeric values in editors with max 3 digits.
+ *
+ * @since 0.1
+ */
+ public static final String INT_3_DIGITS_PATTERN = "\\d{0,3}";
+
+ /**
+ * Pattern to use for singed numeric values in editors with max 3 digits.
+ *
+ * @since 1.0
+ */
+ public static final String SIGNED_INT_3_DIGITS_PATTERN = "-?\\d{0,3}";
+
+ /**
+ * Pattern to use for short numeric values in editors with max 4 digits.
+ *
+ * @since 0.2
+ */
+ public static final String INT_4_DIGITS_PATTERN = "\\d{0,4}";
+
+ /**
+ * Pattern to use for integer numeric values in editors with max 6 digits.
+ *
+ * @since 0.1
+ */
+ public static final String INT_6_DIGITS_PATTERN = "\\d{0,6}";
+
+ /**
+ * Pattern to use for integer numeric values in editors with max 7 digits.
+ *
+ * @since 0.1
+ */
+ public static final String INT_7_DIGITS_PATTERN = "\\d{0,7}";
+
+ /**
+ * Pattern to use for decimal numeric values with 1 decimal digits in
+ * editors.
+ *
+ * @since 0.1
+ */
+ public static final String DECIMAL1_PATTERN = "\\d{0,6}|\\d{1,6}\\.\\d{0,1}";
+
+ /**
+ * Pattern to use for decimal numeric values with 2 decimal digits in
+ * editors.
+ *
+ * @since 0.1
+ */
+ public static final String DECIMAL2_PATTERN = "\\d{0,6}|\\d{1,6}\\.\\d{0,2}";
+
+ /**
+ * Pattern to use for decimal numeric values with 3 decimal digits in
+ * editors.
+ *
+ * @since 0.1
+ */
+ public static final String DECIMAL3_PATTERN = "\\d{0,6}|\\d{1,6}\\.\\d{0,3}";
+
+ /**
+ * Pattern to use for decimal numeric values with 2 digits + 3 decimal digits in
+ * editors.
+ *
+ * @since 1.0
+ */
+ public static final String DECIMAL2_3_PATTERN = "\\d{0,2}|\\d{1,2}\\.\\d{0,3}";
+
+ public static final Font TEXTFIELD_NORMAL_FONT = UIManager.getDefaults().getFont("TextField.font");
+
+ public static final Font TEXTFIELD_COMPUTED_FONT = UIManager.getDefaults().getFont("TextField.font").deriveFont(Font.ITALIC);
+}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,13 +25,8 @@
*/
import com.google.common.base.Preconditions;
-import fr.ifremer.tutti.persistence.entities.data.Cruise;
-import fr.ifremer.tutti.persistence.entities.data.Program;
-import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.TuttiTechnicalException;
-import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import jaxx.runtime.JAXXUtil;
-import jaxx.runtime.context.JAXXContextEntryDef;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang3.time.DurationFormatUtils;
import org.apache.commons.logging.Log;
@@ -44,7 +39,6 @@
import javax.swing.UIManager;
import java.awt.Color;
import java.awt.Component;
-import java.awt.Cursor;
import java.io.File;
import java.util.Date;
@@ -65,111 +59,6 @@
// never instanciate util class
}
- private static final JAXXContextEntryDef<Program> PROGRAM_ENTRY =
- JAXXUtil.newContextEntryDef("loadedProgram", Program.class);
-
- private static final JAXXContextEntryDef<Cruise> CRUISE_ENTRY =
- JAXXUtil.newContextEntryDef("loadedCruise", Cruise.class);
-
- private static final JAXXContextEntryDef<TuttiProtocol> PROTOCOL_ENTRY =
- JAXXUtil.newContextEntryDef("loadedProtocol", TuttiProtocol.class);
-
-// public static Program getProgram(JAXXContext context) {
-// return PROGRAM_ENTRY.getContextValue(context);
-// }
-
-// public static Cruise getCruise(JAXXContext context) {
-// return CRUISE_ENTRY.getContextValue(context);
-// }
-
-// public static TuttiProtocol getProtocol(JAXXContext context) {
-// return PROTOCOL_ENTRY.getContextValue(context);
-// }
-
- public static Program getProgram(TuttiUIContext context) {
- return PROGRAM_ENTRY.getContextValue(context.getMainUI());
- }
-
- public static Cruise getCruise(TuttiUIContext context) {
- return CRUISE_ENTRY.getContextValue(context.getMainUI());
- }
-
- public static TuttiProtocol getProtocol(TuttiUIContext context) {
- return PROTOCOL_ENTRY.getContextValue(context.getMainUI());
- }
-
- public static void setProgram(TuttiUIContext context, Program value) {
- if (value == null) {
-
- PROGRAM_ENTRY.removeContextValue(context.getMainUI());
- } else {
-
- PROGRAM_ENTRY.setContextValue(context.getMainUI(), value);
- }
- }
-
- public static void setCruise(TuttiUIContext context, Cruise value) {
- if (value == null) {
- CRUISE_ENTRY.removeContextValue(context.getMainUI());
- } else {
- CRUISE_ENTRY.setContextValue(context.getMainUI(), value);
- }
- }
-
- public static void setProtocol(TuttiUIContext context, TuttiProtocol value) {
- if (value == null) {
-
- PROTOCOL_ENTRY.removeContextValue(context.getMainUI());
- } else {
- PROTOCOL_ENTRY.setContextValue(context.getMainUI(), value);
- }
- }
-
- // public static JDialog openInDialog(JComponent ui,
-// Frame frame,
-// String title,
-// boolean modal,
-// Action closeAction) {
-// return openInDialog(ui, frame, title, modal, closeAction, null);
-// }
-//
-// public static JDialog openInDialog(JComponent ui,
-// Frame frame,
-// String title,
-// boolean modal,
-// Action closeAction,
-// Dimension dim) {
-//
-// JDialog result = new JDialog(frame, modal);
-// result.setTitle(title);
-// result.add(ui);
-// result.setResizable(true);
-// if (dim == null) {
-// result.setSize(550, 450);
-// } else {
-// result.setSize(dim);
-// }
-// if (closeAction != null) {
-// JRootPane rootPane = result.getRootPane();
-// rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close");
-// rootPane.getActionMap().put("close", closeAction);
-// }
-// result.addWindowListener(new WindowAdapter() {
-//
-// @Override
-// public void windowClosed(WindowEvent e) {
-// Component ui = (Component) e.getSource();
-// if (log.isInfoEnabled()) {
-// log.info("Destroy ui " + ui);
-// }
-// JAXXUtil.destroy(ui);
-// }
-// });
-// SwingUtil.center(frame, result);
-// result.setVisible(true);
-// return result;
-// }
-
/**
* Choisir un fichier via un sélecteur graphique de fichiers.
*
@@ -242,22 +131,6 @@
return file == null ? incoming : new File(file);
}
- public static void updateBusyState(Component ui, boolean busy) {
- if (busy) {
- // ui bloquee
- if (log.isDebugEnabled()) {
- log.debug("block ui in busy mode");
- }
- ui.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
- } else {
- // ui debloquee
- if (log.isDebugEnabled()) {
- log.debug("unblock ui in none busy mode");
- }
- ui.setCursor(Cursor.getDefaultCursor());
- }
- }
-
public static void showSuccessMessage(Component ui, String message) {
JOptionPane.showMessageDialog(
ui,
@@ -341,24 +214,24 @@
+ Math.cos(eLong - sLong) * Math.cos(eLat) * Math.cos(sLat)));
return d.intValue();
}
-
+
public static String getDistanceInMilles(Float distance) {
String distanceText;
if (distance != null) {
Float distanceInMilles = distance / 1852;
distanceText = String.format("%.3f", distanceInMilles);
-
+
} else {
distanceText = "";
}
return distanceText;
}
-
+
public static String getWeightStringValue(Float weight) {
String textValue;
if (weight != null) {
textValue = String.format("%.3f", weight);
-
+
} else {
textValue = JAXXUtil.getStringValue(weight);
}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java (from rev 502, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -0,0 +1,174 @@
+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%
+ */
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Sets;
+import fr.ifremer.tutti.service.DecoratorService;
+import fr.ifremer.tutti.ui.swing.MainUI;
+import fr.ifremer.tutti.ui.swing.TuttiDataContext;
+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 jaxx.runtime.SwingUtil;
+import org.apache.commons.lang3.ObjectUtils;
+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.AbstractAction;
+import java.awt.event.ActionEvent;
+import java.util.Set;
+import java.util.Timer;
+import java.util.TimerTask;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public abstract class AbstractTuttiAction<M extends AbstractBean, UI extends TuttiUI<M, ?>, H extends AbstractTuttiUIHandler<M, UI>> {
+
+ protected final H handler;
+
+ protected final String actionName;
+
+ protected final String actionDescription;
+
+ protected final String actionIcon;
+
+ protected final boolean hideBody;
+
+ protected Throwable error;
+
+ protected abstract void doAction() throws Exception;
+
+ protected AbstractTuttiAction(H handler,
+ String actionIcon,
+ String actionName,
+ String actionDescription,
+ boolean hideBody) {
+ this.handler = handler;
+ this.actionName = actionName;
+ this.actionDescription = actionDescription;
+ this.actionIcon = actionIcon;
+ this.hideBody = hideBody;
+ }
+
+ protected boolean prepareAction() {
+ // by default nothing to prepare
+ return true;
+ }
+
+ protected void releaseAction() {
+ error = null;
+ }
+
+ public final void performAndReleaseAction() {
+
+ try {
+ performAction();
+ } finally {
+ releaseAction();
+ }
+ }
+
+ protected void performAction() {
+ try {
+ doAction();
+ } catch (Throwable e) {
+ this.error = e;
+ throw new TuttiExceptionHandler.TuttiActionException(this, e);
+ }
+ }
+
+ public H getHandler() {
+ return handler;
+ }
+
+ public M getModel() {
+ return handler.getModel();
+ }
+
+ public final UI getUI() {
+ return handler.getUI();
+ }
+
+ public TuttiUIContext getContext() {
+ return handler.getContext();
+ }
+
+ protected String getActionName() {
+ return actionName;
+ }
+
+ public String getActionDescription() {
+ return actionDescription;
+ }
+
+ public String getActionIcon() {
+ return actionIcon;
+ }
+
+ public boolean isHideBody() {
+ return hideBody;
+ }
+
+ public TuttiDataContext getDataContext() {
+ return getContext().getDataContext();
+ }
+
+ protected TuttiApplicationConfig getConfig() {
+ return getContext().getConfig();
+ }
+
+ protected void sendMessage(String message) {
+ getContext().showInformationMessage(message);
+ }
+
+ protected <O> Decorator<O> getDecorator(Class<O> type, String name) {
+ Decorator<O> decorator = handler.getDecorator(type, name);
+ Preconditions.checkNotNull(decorator);
+ return decorator;
+ }
+
+ protected String decorate(Object object) {
+ return getDecorator(object.getClass(), null).toString(object);
+ }
+
+ public boolean isFailed() {
+ return error != null;
+ }
+
+ public Throwable getError() {
+ return error;
+ }
+}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -23,10 +23,10 @@
-->
<JDialog layout='{new BorderLayout()}' width='300' height='200' modal='true'
undecorated='true'
- implements='fr.ifremer.tutti.ui.swing.TuttiUI<TuttiActionUIModel, TuttiActionUIHandler>'>
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiActionUIModel, TuttiActionUIHandler>'>
<import>
- fr.ifremer.tutti.ui.swing.TuttiUI
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
javax.swing.border.EmptyBorder
@@ -43,6 +43,14 @@
handler.beforeInitUI();
}
+ public void open(AbstractTuttiAction action) {
+ getModel().setAction(action);
+ }
+
+ public void close() {
+ getModel().clear();
+ }
+
protected void $afterCompleteSetup() {
handler.afterInitUI();
}
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,16 +25,15 @@
*/
import fr.ifremer.tutti.persistence.ProgressionModel;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.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;
import org.apache.commons.logging.LogFactory;
-import javax.swing.SwingUtilities;
import java.awt.Container;
+import java.awt.Cursor;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
@@ -50,7 +49,6 @@
private static final Log log =
LogFactory.getLog(TuttiActionUIHandler.class);
-
public TuttiActionUIHandler(TuttiUIContext context, TuttiActionUI ui) {
super(context, ui);
}
@@ -82,10 +80,34 @@
//------------------------------------------------------------------------//
protected void hideAction() {
- getModel().setProgressionModel(null);
ui.setVisible(false);
}
+ protected void showAction(AbstractTuttiAction action) {
+ ui.getGlobalActionLabel().setText(
+ _("tutti.message.action.running",
+ action.getActionDescription()));
+ ui.pack();
+
+ MainUI mainUI = getContext().getMainUI();
+ if (mainUI != null) {
+ Container component = mainUI.getBody();
+ int width = component.getWidth();
+ int height = component.getHeight();
+ int x;
+ int y;
+ if (height == 0) {
+ x = mainUI.getX() + 5;
+ y = mainUI.getY() + 20;
+ } else {
+ x = mainUI.getX() + (mainUI.getWidth() - width);
+ y = mainUI.getY() + (mainUI.getHeight() - height);
+ }
+ ui.setLocation(x, y);
+ }
+ ui.setVisible(true);
+ }
+
@Override
public void beforeInitUI() {
TuttiActionUIModel model = new TuttiActionUIModel();
@@ -104,35 +126,11 @@
if (action == null || action.isFailed()) {
// stoping action
-
- if (SwingUtilities.isEventDispatchThread()) {
-
- hideAction();
- } else {
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- hideAction();
- }
- });
- }
+ hideAction();
} else {
// starting action
-
- // new action
- ui.getGlobalActionLabel().setText(
- _("tutti.message.action.running", action.getActionDescription()));
- ui.pack();
-
- MainUI mainUI = getContext().getMainUI();
- if (mainUI != null) {
- Container component = mainUI.getBody();
- int x = mainUI.getX() + (mainUI.getWidth() - component.getWidth());
- int y = mainUI.getY() + (mainUI.getHeight() - component.getHeight());
- ui.setLocation(x, y);
- }
- ui.setVisible(true);
+ showAction(action);
}
}
});
@@ -174,6 +172,8 @@
public void afterInitUI() {
initUI(ui);
+
+ ui.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
}
@Override
@@ -186,7 +186,4 @@
return null;
}
- public void closeAction() {
- getModel().clear();
- }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,8 +24,8 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.persistence.ProgressionModel;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
import org.jdesktop.beans.AbstractSerializableBean;
/**
@@ -59,6 +59,7 @@
}
public void setAction(AbstractTuttiAction action) {
+ Preconditions.checkNotNull(action, "action can not be null");
Object oldValue = getAction();
this.action = action;
firePropertyChange(PROPERTY_ACTION, oldValue, action);
@@ -66,6 +67,9 @@
public void clear() {
setProgressionModel(null);
- setAction(null);
+
+ Object oldValue = getAction();
+ action = null;
+ firePropertyChange(PROPERTY_ACTION, oldValue, null);
}
}
Added: 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 (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -0,0 +1,228 @@
+package fr.ifremer.tutti.ui.swing.util.action;
+
+import fr.ifremer.tutti.ui.swing.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;
+import org.jdesktop.swingx.JXTitledPanel;
+
+import javax.swing.AbstractAction;
+import javax.swing.ImageIcon;
+import javax.swing.JRootPane;
+import javax.swing.SwingUtilities;
+import javax.swing.SwingWorker;
+import java.awt.Cursor;
+import java.awt.event.ActionEvent;
+import java.util.Timer;
+import java.util.TimerTask;
+
+/**
+ * Abstract tutti ui action which launch a {@link AbstractTuttiAction}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0.2
+ */
+public class TuttiUIAction<A extends AbstractTuttiAction> extends AbstractAction {
+
+ private static final long serialVersionUID = 1L;
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(TuttiUIAction.class);
+
+ /**
+ * Timer used to launch timerTask (to open load dialog).
+ *
+ * @since 1.0.2
+ */
+ 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 TuttiUIAction(A action) {
+
+ this.action = action;
+
+ String icon = action.getActionIcon();
+ if (icon != null) {
+ ImageIcon actionIcon = SwingUtil.createActionIcon(icon);
+ putValue(SMALL_ICON, actionIcon);
+ putValue(LARGE_ICON_KEY, actionIcon);
+ }
+ putValue(ACTION_COMMAND_KEY, action.getClass().getName());
+ putValue(NAME, action.getActionName());
+ putValue(SHORT_DESCRIPTION, action.getActionDescription());
+ }
+
+ @Override
+ public final void actionPerformed(final ActionEvent event) {
+
+ if (log.isInfoEnabled()) {
+ log.info("Task [" + this + "] starting");
+ }
+
+ // prepare action
+ boolean doAction = action.prepareAction();
+
+ if (doAction) {
+
+ final TuttiActionSwingWorker<A> worker =
+ new TuttiActionSwingWorker<A>(action);
+
+ SwingUtilities.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+
+ // make ui busy
+ worker.updateBusyState(true);
+
+ }
+ });
+
+ if (log.isInfoEnabled()) {
+ log.info("Before execute of action " + action);
+ }
+
+ // perform and release action
+ worker.execute();
+ if (log.isInfoEnabled()) {
+ log.info("After execute of action " + action);
+ }
+
+ } else {
+
+ // release action
+ action.releaseAction();
+ }
+ }
+
+ // protected void setMnemonic(int key) {
+// putValue(MNEMONIC_KEY, key);
+// }
+
+ protected static class TuttiActionSwingWorker<A extends AbstractTuttiAction> extends SwingWorker<Void, String> {
+
+ protected final TuttiActionUI actionUI;
+
+ protected final A action;
+
+ protected TimerTask timer;
+
+ protected TuttiActionSwingWorker(A action) {
+
+ this.action = action;
+ this.actionUI = action.getContext().getActionUI();
+ }
+
+ @Override
+ protected Void doInBackground() throws Exception {
+
+ if (!isCancelled()) {
+
+ timer = new TimerTask() {
+
+ @Override
+ public void run() {
+ if (isCancelled() || isDone()) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Task [" + action + "] was already canceled or done, do nothing");
+ }
+ } else {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Task [" + action + "] is started, show waiting dialog");
+ }
+
+ actionUI.open(action);
+
+ }
+ }
+ };
+
+ t.schedule(timer, 1000);
+
+ try {
+
+ action.performAction();
+
+
+ } finally {
+ if (log.isInfoEnabled()) {
+ log.info("Task [" + this + "] done");
+ }
+
+ action.releaseAction();
+ }
+ }
+ return null;
+ }
+
+ @Override
+ protected void done() {
+ super.done();
+
+ // close timer
+
+ if (timer != null) {
+
+ timer.cancel();
+ }
+
+ actionUI.close();
+
+ updateBusyState(false);
+
+ if (action.isFailed()) {
+
+ exceptionHandler.handle(new TuttiExceptionHandler.TuttiActionException(action, action.getError()));
+ }
+ }
+
+ protected void updateBusyState(boolean busy) {
+
+ boolean hideBody = action.isHideBody();
+
+ final MainUI mainUI = action.getContext().getMainUI();
+ JXTitledPanel body = mainUI.getBody();
+ if (busy) {
+ // ui bloquee
+ if (log.isDebugEnabled()) {
+ log.debug("block ui in busy mode");
+ }
+ mainUI.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+ } else {
+ // ui debloquee
+ if (log.isDebugEnabled()) {
+ log.debug("unblock ui in none busy mode");
+ }
+ mainUI.setCursor(Cursor.getDefaultCursor());
+ }
+ if (hideBody) {
+ body.setVisible(!busy);
+ }
+
+// SwingUtilities.invokeLater(
+// new Runnable() {
+// @Override
+// public void run() {
+// mainUI.repaint();
+// }
+// }
+// );
+
+ }
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentCellComponent.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentCellComponent.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentCellComponent.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,7 +26,7 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.entities.data.Attachment;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.table.AbstractSelectTableAction;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentEditorUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentEditorUI.jaxx 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentEditorUI.jaxx 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,7 +24,7 @@
<Table id='mainPanel'>
<import>
- fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel
+ fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel
fr.ifremer.tutti.persistence.entities.data.Attachment
jaxx.runtime.swing.editor.FileEditor
</import>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentEditorUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentEditorUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/AttachmentEditorUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,7 +26,7 @@
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.data.Attachment;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.swing.HBox;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -71,7 +71,7 @@
public CaracteristicValueEditor(int caracteristicColumn, TuttiUIContext context) {
super();
this.caracteristicColumn = caracteristicColumn;
- DecoratorService decoratorService = context.getService(DecoratorService.class);
+ DecoratorService decoratorService = context.getDecoratorService();
decorator = decoratorService.getDecoratorByType(CaracteristicQualitativeValue.class);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -56,7 +56,7 @@
public CaracteristicValueRenderer(int caracteristicColumn, TuttiUIContext context) {
super();
this.caracteristicColumn = caracteristicColumn;
- DecoratorService decoratorService = context.getService(DecoratorService.class);
+ DecoratorService decoratorService = context.getDecoratorService();
decorator = decoratorService.getDecoratorByType(CaracteristicQualitativeValue.class);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/LongTextCellComponent.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/LongTextCellComponent.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/LongTextCellComponent.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,7 +25,7 @@
*/
import com.google.common.base.Preconditions;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.table.AbstractSelectTableAction;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/SimpleTimeEditorHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -99,7 +99,7 @@
log.debug("date changed : new value " + hours + ":" + minutes);
}
model.setTimeModel(hours * 60 + minutes);
-
+
} else {
model.setTimeModel(null);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -25,8 +25,8 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiComputedOrNotData;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import jaxx.runtime.JAXXUtil;
import jaxx.runtime.swing.editor.NumberEditorHandler;
import org.apache.commons.logging.Log;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -24,8 +24,8 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiComputedOrNotData;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import jaxx.runtime.JAXXUtil;
import javax.swing.AbstractCellEditor;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -28,12 +28,12 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
-import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchTableModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.swing.JAXXWidgetUtil;
@@ -162,7 +162,7 @@
String... properties) {
super(context, ui);
- this.persistenceService = context.getService(PersistenceService.class);
+ this.persistenceService = context.getPersistenceService();
rowMonitor = new TuttiBeanMonitor<R>(properties);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIModel.java 2013-03-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIModel.java 2013-03-01 20:37:07 UTC (rev 512)
@@ -26,8 +26,8 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.environment.EnvironmentRowModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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-01 17:26:39 UTC (rev 511)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-01 20:37:07 UTC (rev 512)
@@ -16,6 +16,8 @@
tutti.action.cancel.editProgram.tip=Annuler l'édition (ou la création) de la série de campagne
tutti.action.cancel.editProtocol=Annuler
tutti.action.cancel.editProtocol.tip=Annuler l'édition (ou la création) du protocole
+tutti.action.cancelEditCatchBatch=
+tutti.action.cancelEditCatchBatch.tip=
tutti.action.chooseProtocolCaracteristicFile=Choisir le fichier des caractéristiques
tutti.action.chooseProtocolFile=Choisir le fichier de protocole
tutti.action.chooseProtocolSpeciesFile=Choisir le fichier des espèces
1
0
r511 - trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation
by kmorin@users.forge.codelutin.com 01 Mar '13
by kmorin@users.forge.codelutin.com 01 Mar '13
01 Mar '13
Author: kmorin
Date: 2013-03-01 18:26:39 +0100 (Fri, 01 Mar 2013)
New Revision: 511
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/511
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
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-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-01 17:12:08 UTC (rev 510)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml 2013-03-01 17:26:39 UTC (rev 511)
@@ -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%
@@ -41,7 +41,7 @@
tutti.validator.error.fishingOperation.stationNumber.too.long##${maxLength}
</message>
</field-validator>
-
+
<field-validator type="collectionUniqueKey" short-circuit="true">
<param name="collectionFieldName">existingOperations</param>
<param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param>
@@ -59,7 +59,7 @@
tutti.validator.error.fishingOperation.fishingOperationNumber.required
</message>
</field-validator>
-
+
<field-validator type="collectionUniqueKey" short-circuit="true">
<param name="collectionFieldName">existingOperations</param>
<param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param>
@@ -85,7 +85,7 @@
<field-validator type="required" short-circuit="true">
<message>tutti.validator.error.fishingOperation.date.start.required</message>
</field-validator>
-
+
<field-validator type="collectionUniqueKey" short-circuit="true">
<param name="collectionFieldName">existingOperations</param>
<param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param>
@@ -93,21 +93,21 @@
<param name="nullValueSkipped">true</param>
<message>tutti.validator.error.fishingOperation.existingKey</message>
</field-validator>
-
+
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
- <![CDATA[ gearShootingEndDate == null || !gearShootingStartDate.after(gearShootingEndDate) ]]>
+ <![CDATA[ gearShootingEndDate == null || gearShootingStartDate.before(gearShootingEndDate) ]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message>
</field-validator>
</field>
-
+
<field name="gearShootingEndDate">
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
- <![CDATA[ gearShootingEndDate == null || gearShootingStartDate == null || !gearShootingStartDate.after(gearShootingEndDate) ]]>
+ <![CDATA[ gearShootingEndDate == null || gearShootingStartDate == null || gearShootingStartDate.before(gearShootingEndDate) ]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message>
</field-validator>
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-01 17:12:08 UTC (rev 510)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-03-01 17:26:39 UTC (rev 511)
@@ -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%
@@ -41,7 +41,7 @@
tutti.validator.error.fishingOperation.stationNumber.too.long##${maxLength}
</message>
</field-validator>
-
+
<field-validator type="collectionUniqueKey" short-circuit="true">
<param name="collectionFieldName">existingOperations</param>
<param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param>
@@ -59,7 +59,7 @@
tutti.validator.error.fishingOperation.fishingOperationNumber.required
</message>
</field-validator>
-
+
<field-validator type="collectionUniqueKey" short-circuit="true">
<param name="collectionFieldName">existingOperations</param>
<param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param>
@@ -79,7 +79,7 @@
</field-validator>
</field>
-
+
<field name='strata'>
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
@@ -88,7 +88,7 @@
<message>tutti.validator.error.fishingOperation.strataLocation.required</message>
</field-validator>
</field>
-
+
<field name='subStrata'>
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
@@ -97,7 +97,7 @@
<message>tutti.validator.error.fishingOperation.strataLocation.required</message>
</field-validator>
</field>
-
+
<field name='location'>
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
@@ -112,7 +112,7 @@
<field-validator type="required" short-circuit="true">
<message>tutti.validator.error.fishingOperation.date.start.required</message>
</field-validator>
-
+
<field-validator type="collectionUniqueKey" short-circuit="true">
<param name="collectionFieldName">existingOperations</param>
<param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param>
@@ -120,68 +120,68 @@
<param name="nullValueSkipped">true</param>
<message>tutti.validator.error.fishingOperation.existingKey</message>
</field-validator>
-
+
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
- <![CDATA[ gearShootingEndDate == null || gearShootingStartDate.compareTo(gearShootingEndDate) < 0 ]]>
+ <![CDATA[ gearShootingEndDate == null || gearShootingStartDate.before(gearShootingEndDate) ]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message>
</field-validator>
-
+
<field-validator type="fieldexpression" short-circuit="true">
<param name="expression">
<![CDATA[ isDateInCruise(gearShootingStartDate) ]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.startOutOfCruiseDates</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[ gearShootingStartDate == null || gearShootingStartDate.compareTo(gearShootingEndDate) < 0 ]]>
+ <![CDATA[ gearShootingStartDate == null || gearShootingStartDate.before(gearShootingEndDate) ]]>
</param>
<message>tutti.validator.error.fishingOperation.dates.endBeforeStart</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.startOutOfCruiseDates</message>
</field-validator>
-
+
</field>
<!--gear shooting start latitude validation -->
<field name="gearShootingStartLatitude">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:90.0|max:90.0</param>
<param name="expression">
<![CDATA[
- !"DD".equals(coordinateEditorType.toString()) ||
- ( gearShootingStartLatitude != null
- && -doubles.min <= gearShootingStartLatitude
+ !"DD".equals(coordinateEditorType.toString()) ||
+ ( gearShootingStartLatitude != null
+ && -doubles.min <= gearShootingStartLatitude
&& gearShootingStartLatitude <= doubles.max )
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLatitudeDegree">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
@@ -196,20 +196,20 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLatitudeDecimalDegree">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
<![CDATA[
- !"DMD".equals(coordinateEditorType.toString()) || (
+ !"DMD".equals(coordinateEditorType.toString()) || (
getGearShootingStartLatitudeDecimalDegree() != null &&
(( -ints.min < getGearShootingStartLatitudeDecimalDegree() && getGearShootingStartLatitudeDecimalDegree() < ints.max )
|| (
@@ -219,97 +219,97 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLatitudeMinute">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
<![CDATA[
!"DMS".equals(coordinateEditorType.toString()) ||
- ( getGearShootingStartLatitudeMinute() != null
- && ints.min <= getGearShootingStartLatitudeMinute()
+ ( getGearShootingStartLatitudeMinute() != null
+ && ints.min <= getGearShootingStartLatitudeMinute()
&& getGearShootingStartLatitudeMinute() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLatitudeDecimalMinute">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
<![CDATA[
!"DMD".equals(coordinateEditorType.toString()) ||
( getGearShootingStartLatitudeDecimalMinute() != null
- && doubles.min <= getGearShootingStartLatitudeDecimalMinute()
+ && doubles.min <= getGearShootingStartLatitudeDecimalMinute()
&& getGearShootingStartLatitudeDecimalMinute() < doubles.max )
]]>
</param>
<message>tutti.validator.warning.latitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLatitudeSecond">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
<![CDATA[
- !"DMS".equals(coordinateEditorType.toString()) ||
+ !"DMS".equals(coordinateEditorType.toString()) ||
( getGearShootingStartLatitudeSecond() != null
- && ints.min <= getGearShootingStartLatitudeSecond()
+ && 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="fieldexpressionwithparams">
<param name="doubleParams">min:180.0|max:180.0</param>
<param name="expression">
<![CDATA[
!"DD".equals(coordinateEditorType.toString()) ||
- ( gearShootingStartLongitude != null
+ ( gearShootingStartLongitude != null
&& -doubles.min <= gearShootingStartLongitude
&& gearShootingStartLongitude <= doubles.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLongitudeDegree">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
<![CDATA[
- !"DMS".equals(coordinateEditorType.toString()) || (
+ !"DMS".equals(coordinateEditorType.toString()) || (
getGearShootingStartLongitudeDegree() != null &&
((-ints.min < getGearShootingStartLongitudeDegree() && getGearShootingStartLongitudeDegree() < ints.max)
|| (
@@ -319,20 +319,20 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLongitudeDecimalDegree">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
<![CDATA[
- !"DMD".equals(coordinateEditorType.toString()) || (
+ !"DMD".equals(coordinateEditorType.toString()) || (
getGearShootingStartLongitudeDecimalDegree() != null &&
(( -ints.min < getGearShootingStartLongitudeDecimalDegree() && getGearShootingStartLongitudeDecimalDegree() < ints.max)
|| (
@@ -342,34 +342,34 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLongitudeMinute">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
<![CDATA[
!"DMS".equals(coordinateEditorType.toString()) ||
- ( getGearShootingStartLongitudeMinute() != null
- && ints.min <= getGearShootingStartLongitudeMinute()
+ ( getGearShootingStartLongitudeMinute() != null
+ && ints.min <= getGearShootingStartLongitudeMinute()
&& getGearShootingStartLongitudeMinute() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLongitudeDecimalMinute">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
@@ -383,57 +383,57 @@
<message>tutti.validator.warning.longitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingStartLongitudeSecond">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
<![CDATA[
!"DMS".equals(coordinateEditorType.toString()) ||
( getGearShootingStartLongitudeSecond() != null
- && ints.min <= getGearShootingStartLongitudeSecond()
+ && 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="fieldexpressionwithparams">
<param name="doubleParams">min:90.0|max:90.0</param>
<param name="expression">
<![CDATA[
!"DD".equals(coordinateEditorType.toString()) ||
- ( gearShootingEndLatitude != null
- && -doubles.min <= gearShootingEndLatitude
+ ( gearShootingEndLatitude != null
+ && -doubles.min <= gearShootingEndLatitude
&& gearShootingEndLatitude <= doubles.max )
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.outOfBounds</message>
</field-validator>
-
+
</field>
-
-
+
+
<field name="gearShootingEndLatitudeDegree">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
<![CDATA[
- !"DMS".equals(coordinateEditorType.toString()) || (
+ !"DMS".equals(coordinateEditorType.toString()) || (
getGearShootingEndLatitudeDegree() != null &&
(( -ints.min < getGearShootingEndLatitudeDegree() && getGearShootingEndLatitudeDegree() < ints.max)
|| (
@@ -443,20 +443,20 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLatitudeDecimalDegree">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:90|max:90</param>
<param name="expression">
<![CDATA[
- !"DMD".equals(coordinateEditorType.toString()) || (
+ !"DMD".equals(coordinateEditorType.toString()) || (
getGearShootingEndLatitudeDecimalDegree() != null &&
(( -ints.min < getGearShootingEndLatitudeDecimalDegree() && getGearShootingEndLatitudeDecimalDegree() < ints.max)
|| (
@@ -466,98 +466,98 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLatitudeMinute">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
<![CDATA[
!"DMS".equals(coordinateEditorType.toString()) ||
- ( getGearShootingEndLatitudeMinute() != null
- && ints.min <= getGearShootingEndLatitudeMinute()
+ ( getGearShootingEndLatitudeMinute() != null
+ && ints.min <= getGearShootingEndLatitudeMinute()
&& getGearShootingEndLatitudeMinute() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.latitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLatitudeDecimalMinute">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
<![CDATA[
!"DMD".equals(coordinateEditorType.toString()) ||
- ( getGearShootingEndLatitudeDecimalMinute() != null
- && doubles.min <= getGearShootingEndLatitudeDecimalMinute()
+ ( getGearShootingEndLatitudeDecimalMinute() != null
+ && doubles.min <= getGearShootingEndLatitudeDecimalMinute()
&& getGearShootingEndLatitudeDecimalMinute() < doubles.max )
]]>
</param>
<message>tutti.validator.warning.latitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLatitudeSecond">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
<![CDATA[
!"DMS".equals(coordinateEditorType.toString()) ||
- ( getGearShootingEndLatitudeSecond() != null
+ ( getGearShootingEndLatitudeSecond() != null
&& 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="fieldexpressionwithparams">
<param name="doubleParams">min:180.0|max:180.0</param>
<param name="expression">
<![CDATA[
!"DD".equals(coordinateEditorType.toString()) ||
- ( gearShootingEndLongitude != null
- && -doubles.min <= gearShootingEndLongitude
+ ( gearShootingEndLongitude != null
+ && -doubles.min <= gearShootingEndLongitude
&& gearShootingEndLongitude <= doubles.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLongitudeDegree">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
<![CDATA[
!"DMS".equals(coordinateEditorType.toString()) || (
- getGearShootingEndLongitudeDegree() != null &&
+ getGearShootingEndLongitudeDegree() != null &&
((-ints.min < getGearShootingEndLongitudeDegree() && getGearShootingEndLongitudeDegree() < ints.max)
|| (
( getGearShootingEndLongitudeDegree() == ints.max || getGearShootingEndLongitudeDegree() == -ints.min )
@@ -566,15 +566,15 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLongitudeDecimalDegree">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:180|max:180</param>
<param name="expression">
@@ -589,34 +589,34 @@
)
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.degree.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLongitudeMinute">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
<![CDATA[
!"DMS".equals(coordinateEditorType.toString()) ||
- ( getGearShootingEndLongitudeMinute() != null
+ ( getGearShootingEndLongitudeMinute() != null
&& ints.min <= getGearShootingEndLongitudeMinute()
&& getGearShootingEndLongitudeMinute() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLongitudeDecimalMinute">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="doubleParams">min:0.0|max:60.0</param>
<param name="expression">
@@ -630,26 +630,26 @@
<message>tutti.validator.warning.longitude.minute.outOfBounds</message>
</field-validator>
-
+
</field>
-
+
<field name="gearShootingEndLongitudeSecond">
-
+
<field-validator type="fieldexpressionwithparams">
<param name="intParams">min:0|max:60</param>
<param name="expression">
<![CDATA[
!"DMS".equals(coordinateEditorType.toString()) ||
( getGearShootingEndLongitudeSecond() != null
- && ints.min <= getGearShootingEndLongitudeSecond()
+ && ints.min <= getGearShootingEndLongitudeSecond()
&& getGearShootingEndLongitudeSecond() < ints.max )
]]>
</param>
-
+
<message>tutti.validator.warning.longitude.second.outOfBounds</message>
</field-validator>
-
+
</field>
<field name="trawlDistance">
@@ -659,7 +659,7 @@
</field-validator>
</field>
-
+
<field name="fishingOperationValid">
<field-validator type="required" short-circuit="true">
@@ -667,7 +667,7 @@
</field-validator>
</field>
-
+
<field name="saisisseur">
<field-validator type="fieldexpression" short-circuit="true">
@@ -676,9 +676,9 @@
</param>
<message>tutti.validator.error.fishingOperation.catcher.required</message>
</field-validator>
-
+
</field>
-
+
<field name="vessel">
<field-validator type="required" short-circuit="true">
@@ -694,21 +694,21 @@
</field-validator>
</field>
-
+
<field name="comment">
-
+
<field-validator type="stringlength" short-circuit="true">
<param name="maxLength">2000</param>
<message>tutti.validator.error.comment.too.long##${maxLength}</message>
</field-validator>
-
+
<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>
1
0
r510 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species: . frequency
by kmorin@users.forge.codelutin.com 01 Mar '13
by kmorin@users.forge.codelutin.com 01 Mar '13
01 Mar '13
Author: kmorin
Date: 2013-03-01 18:12:08 +0100 (Fri, 01 Mar 2013)
New Revision: 510
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/510
Log:
fixes #2039 [ESPECE] - Saisie mensurations : Enregistrement des modifications non pris en compte
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-01 11:56:41 UTC (rev 509)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-01 17:12:08 UTC (rev 510)
@@ -942,6 +942,7 @@
SpeciesBatchTableModel tableModel = getTableModel();
SpeciesBatchRowModel row = tableModel.getEntry(rowIndex);
+ int selectedRowCount = getTable().getSelectedRowCount();
if (row.isValid()) {
@@ -959,25 +960,28 @@
// can split if selected batch is a leaf
enableSplit = row.isBatchLeaf()
+ && selectedRowCount == 1
&& row.getComputedNumber() == null;
}
if (enableRename) {
// can rename if selected batch is a parent
- enableRename = row.isBatchRoot();
+ enableRename = row.isBatchRoot()
+ && selectedRowCount == 1;
}
if (enableRemove) {
// can always remove the batch
- enableRemove = true;
+ enableRemove = selectedRowCount == 1;
}
if (enableRemoveSub) {
// can remove sub batch if selected batch is not a leaf
- enableRemoveSub = !row.isBatchLeaf();
+ enableRemoveSub = !row.isBatchLeaf()
+ && selectedRowCount == 1;
}
if (enableCreateMelag) {
@@ -985,11 +989,12 @@
JXTable table = getTable();
// can add species to a melag if several root are selected
- int[] selectedRows = table.getSelectedRows();
- if (selectedRows.length < 2) {
+
+ if (selectedRowCount < 2) {
enableCreateMelag = false;
} else {
+ int[] selectedRows = table.getSelectedRows();
for (int selectedRowIndex : selectedRows) {
SpeciesBatchRowModel selectedRow =
tableModel.getEntry(selectedRowIndex);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2013-03-01 11:56:41 UTC (rev 509)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2013-03-01 17:12:08 UTC (rev 510)
@@ -8,15 +8,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%
@@ -98,6 +98,7 @@
useFloat: true;
showReset: true;
numberPattern: {DECIMAL1_PATTERN};
+ enabled: {model.getLengthStepCaracteristic() != null};
}
#generateButton {
@@ -170,7 +171,7 @@
}
#dataFieldLayout {
- selected: {model.isSimpleCountingMode() ? "noLengthCaracteristicPmfm" : "lengthCaracteristicPmfm"};
+ selected: {model.isSimpleCountingMode() ? "noLengthCaracteristicPmfm" : "lengthCaracteristicPmfm"};
}
#dataFieldPanel {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-03-01 11:56:41 UTC (rev 509)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-03-01 17:12:08 UTC (rev 510)
@@ -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%
@@ -329,6 +329,7 @@
Float minStep = model.getLengthStep(model.getMinStep());
Float maxStep = model.getLengthStep(model.getMaxStep());
+ Caracteristic lengthStepCaracteristic = model.getLengthStepCaracteristic();
for (float i = minStep, step = model.getStep(); i <= maxStep; i += step) {
if (!rowsByStep.containsKey(i)) {
@@ -336,6 +337,7 @@
// add it
SpeciesFrequencyRowModel newRow = tableModel.createNewRow();
newRow.setLengthStep(i);
+ newRow.setLengthStepCaracteristic(lengthStepCaracteristic);
rowsByStep.put(i, newRow);
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java 2013-03-01 11:56:41 UTC (rev 509)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java 2013-03-01 17:12:08 UTC (rev 510)
@@ -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%
@@ -150,6 +150,7 @@
Object oldValue = getLengthStepCaracteristic();
this.lengthStepCaracteristic = lengthStepCaracteristic;
firePropertyChange(PROPERTY_LENGHT_STEP_CARACTERISTIC, oldValue, lengthStepCaracteristic);
+ firePropertyChange(PROPERTY_CAN_GENERATE, null, isCanGenerate());
}
public Float getMinStep() {
@@ -201,7 +202,7 @@
}
public boolean isCanGenerate() {
- return minStep != null && maxStep != null && maxStep > minStep;
+ return minStep != null && maxStep != null && maxStep > minStep && lengthStepCaracteristic != null;
}
public SpeciesBatchRowModel getBatch() {
1
0
r509 - trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service
by kmorin@users.forge.codelutin.com 01 Mar '13
by kmorin@users.forge.codelutin.com 01 Mar '13
01 Mar '13
Author: kmorin
Date: 2013-03-01 12:56:41 +0100 (Fri, 01 Mar 2013)
New Revision: 509
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/509
Log:
debug npe
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.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/BatchPersistenceServiceImpl.java 2013-03-01 10:53:27 UTC (rev 508)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BatchPersistenceServiceImpl.java 2013-03-01 11:56:41 UTC (rev 509)
@@ -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%
@@ -178,7 +178,7 @@
SortingBatch benthosBatch = catchBatchDao.getSortingBatch(horsVracBatch.getChildBatchs(),
"pmfmId", enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS);
- if (benthosBatch == null) {
+ if (benthosBatch != null) {
result.setBenthosTotalUnsortedWeight(benthosBatch.getWeight());
}
@@ -435,14 +435,20 @@
Preconditions.checkNotNull(speciesBatchId);
Preconditions.checkNotNull(frequencies);
+ List<SpeciesBatchFrequency> notNullFrequencies = Lists.newArrayList();
+
// Check that all frequencies have the same length PMFM (before doing any db call)
+ // and remove null frequencies
String pmfmId = null;
for (SpeciesBatchFrequency source : frequencies) {
- if (pmfmId == null) {
- pmfmId = source.getLengthStepCaracteristic().getId();
- } else if (!pmfmId.equals(source.getLengthStepCaracteristic().getId())) {
- throw new DataIntegrityViolationException("Batch frequencies under one Speciesbatch must have all the same lengthStepCaracteristic");
+ if (source.getLengthStepCaracteristic() != null) {
+ if (pmfmId == null) {
+ pmfmId = source.getLengthStepCaracteristic().getId();
+ } else if (!pmfmId.equals(source.getLengthStepCaracteristic().getId())) {
+ throw new DataIntegrityViolationException("Batch frequencies under one Speciesbatch must have all the same lengthStepCaracteristic");
+ }
+ notNullFrequencies.add(source);
}
}
@@ -452,7 +458,7 @@
fr.ifremer.adagio.core.dao.data.batch.CatchBatch catchBatch = catchBatchDao.loadFullTree(catchBatchId);
if (catchBatch == null) {
- return frequencies;
+ return notNullFrequencies;
}
// Retrieve parent
@@ -467,7 +473,7 @@
short rankOrder = 0;
List<SortingBatch> batchsToUpdate = Lists.newArrayList();
- for (SpeciesBatchFrequency source : frequencies) {
+ for (SpeciesBatchFrequency source : notNullFrequencies) {
rankOrder++;
// Not existing batch
@@ -510,7 +516,7 @@
getCurrentSession().flush();
- return frequencies;
+ return notNullFrequencies;
}
//------------------------------------------------------------------------//
@@ -1282,7 +1288,7 @@
copyIfNull);
inertBatch.setRankOrder((short) 2);
}
-
+
// -----------------------------------------------------------------------------
// Sorted Vrac > Benthos
// -----------------------------------------------------------------------------
@@ -1298,9 +1304,9 @@
copyIfNull);
benthosBatch.setRankOrder((short) 2);
}
-
+
// TODO plancton, macro déchet...
- }
+ }
}
// -----------------------------------------------------------------------------
@@ -1341,7 +1347,7 @@
copyIfNull);
speciesBatch.setRankOrder((short) 1);
}
-
+
// -----------------------------------------------------------------------------
// Hors Vrac > Benthos :
// -----------------------------------------------------------------------------
1
0
r508 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing/content/operation/catches/species java/fr/ifremer/tutti/ui/swing/util/table resources/i18n
by kmorin@users.forge.codelutin.com 01 Mar '13
by kmorin@users.forge.codelutin.com 01 Mar '13
01 Mar '13
Author: kmorin
Date: 2013-03-01 11:53:27 +0100 (Fri, 01 Mar 2013)
New Revision: 508
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/508
Log:
fixes #1998 [ESPECE] - Gestion du MELAG
Added:
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/EnterMelagWeightDialog.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.jaxx
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Added: 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 (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateMelagAction.java 2013-03-01 10:53:27 UTC (rev 508)
@@ -0,0 +1,163 @@
+
+package fr.ifremer.tutti.ui.swing.content.operation.catches.species;
+
+import com.google.common.collect.Maps;
+import fr.ifremer.tutti.ui.swing.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyRowModel;
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+import java.util.Map;
+import javax.swing.JOptionPane;
+import jaxx.runtime.JAXXUtil;
+import jaxx.runtime.SwingUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.nuiton.util.StringUtil;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ *
+ * @author kmorin <kmorin(a)codelutin.com>
+ * @since 1.0.2
+ */
+public class CreateMelagAction extends AbstractTuttiAction<SpeciesBatchUIModel, SpeciesBatchUI, SpeciesBatchUIHandler> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected Map<SpeciesBatchRowModel, Float> selectedRows = Maps.newHashMap();
+
+ protected Float melagWeight = null;
+
+ protected Float sampleMelagWeight = null;
+
+ protected Float sortedWeight = null;
+
+ public CreateMelagAction(SpeciesBatchUIHandler handler) {
+ super(handler,
+ "createMelag",
+ "batch-rename",
+ _("tutti.action.createMelag"),
+ _("tutti.action.createMelag.tip"),
+ false
+ );
+ }
+
+ @Override
+ protected boolean prepareAction(ActionEvent event) {
+ boolean result = super.prepareAction(event);
+
+ SpeciesBatchUIHandler handler = getHandler();
+ int[] selectedRowIndexes = handler.getTable().getSelectedRows();
+
+ SpeciesBatchTableModel tableModel = handler.getTableModel();
+
+ // sum of the weights already entered by the user
+ Float alreadyKnownWeights = 0f;
+ sortedWeight = 0f;
+
+ for (int selectedRowIndex : selectedRowIndexes) {
+ SpeciesBatchRowModel selectedRow =
+ tableModel.getEntry(selectedRowIndex);
+
+ Float sampleWeight = null;
+ if (selectedRow.getFinestCategory().getCategoryWeight() != null) {
+ alreadyKnownWeights += selectedRow.getFinestCategory().getCategoryWeight();
+
+ } else if (selectedRow.getFinestCategory().getComputedWeight() != null) {
+ alreadyKnownWeights += selectedRow.getFinestCategory().getComputedWeight();
+
+ } else if (selectedRow.getWeight() != null) {
+ sampleWeight = selectedRow.getWeight();
+
+ } else {
+ sampleWeight = 0f;
+ if (selectedRow.getFrequency() != null) {
+ for (SpeciesFrequencyRowModel frequency : selectedRow.getFrequency()) {
+ if (frequency.getWeight() == null) {
+ sampleWeight = 0f;
+ break;
+ }
+ sampleWeight += frequency.getWeight();
+ }
+ }
+ }
+
+ if (sampleWeight != null) {
+ if (sampleWeight == 0f) {
+ JOptionPane.showMessageDialog(
+ getUI(),
+ _("tutti.dialog.createMelag.error.message", selectedRowIndex + 1),
+ _("tutti.dialog.createMelag.error.title"),
+ JOptionPane.ERROR_MESSAGE);
+
+ handler.getTable().getSelectionModel().setSelectionInterval(selectedRowIndex, selectedRowIndex);
+ result = false;
+ break;
+
+ } else {
+ sortedWeight += sampleWeight;
+ }
+ }
+
+ selectedRows.put(selectedRow, sampleWeight);
+ }
+
+ if (result) {
+ melagWeight = openMelagWeightDialog();
+
+ if (melagWeight != null) {
+ // substract the weights that the user already entered
+ // they must not be used to compute the other weights
+ sampleMelagWeight = melagWeight - alreadyKnownWeights;
+ }
+ }
+
+ return result && melagWeight != null;
+ }
+
+ protected Float openMelagWeightDialog() {
+ Frame frame = SwingUtil.getParentContainer(getUI(), Frame.class);
+
+ final EnterMelagWeightDialog dialog = new EnterMelagWeightDialog(frame,
+ getConfig().getShortcutClosePopup());
+ SwingUtil.center(frame, dialog);
+ dialog.pack();
+ dialog.setVisible(true);
+
+ Float result = null;
+ if (dialog.getEditor().getModel() != null) {
+ result = dialog.getEditor().getModel().floatValue();
+ }
+ return result;
+ }
+
+ @Override
+ protected void doAction(ActionEvent event) throws Exception {
+ for (SpeciesBatchRowModel batch : selectedRows.keySet()) {
+ Float sampleWeight = selectedRows.get(batch);
+ if (sampleWeight != null) {
+ Float weight = sampleMelagWeight * sampleWeight / sortedWeight;
+ batch.getFinestCategory().setCategoryWeight(weight);
+ }
+ String comment = batch.getComment();
+ if (StringUtils.isBlank(comment)) {
+ comment = "";
+
+ } else {
+ comment += "\n";
+ }
+ comment += "issu d'un MELAG de " + melagWeight + "kg";
+ batch.setComment(comment);
+ }
+ getHandler().saveRows(selectedRows.keySet());
+ }
+
+ @Override
+ protected void releaseAction(ActionEvent event) {
+ super.releaseAction(event);
+ getHandler().getTable().repaint();
+ selectedRows.clear();
+ melagWeight = null;
+ sortedWeight = null;
+ }
+}
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.css (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.css 2013-03-01 10:53:27 UTC (rev 508)
@@ -0,0 +1,25 @@
+#dialog {
+ title: "tutti.dialog.createMelag.title";
+}
+
+#message {
+ text: "tutti.dialog.createMelag.message";
+ horizontalAlignment: {JLabel.CENTER};
+}
+
+#editor {
+ useFloat: true;
+ useSign: false;
+ autoPopup: true;
+ showPopupButton: true;
+ showReset: true;
+}
+
+#cancelButton {
+ text: "tutti.action.cancel";
+}
+
+#validateButton {
+ text: "tutti.action.validate";
+ enabled: { editor.getModel() != null };
+}
\ No newline at end of file
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.jaxx (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EnterMelagWeightDialog.jaxx 2013-03-01 10:53:27 UTC (rev 508)
@@ -0,0 +1,49 @@
+<JDialog id='dialog' layout='{new BorderLayout()}'>
+ <import>
+ java.awt.Component;
+ java.awt.event.WindowAdapter;
+ java.awt.event.WindowEvent;
+ javax.swing.JComponent
+ javax.swing.JRootPane;
+ javax.swing.KeyStroke;
+ jaxx.runtime.swing.editor.NumberEditor
+ </import>
+
+ <script><![CDATA[
+
+public EnterMelagWeightDialog(Frame frame, KeyStroke shortcutClosePopup) {
+ super(frame, true);
+
+ // add a auto-close action
+ rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
+ shortcutClosePopup, "close");
+
+ addWindowListener(new WindowAdapter() {
+
+ @Override
+ public void windowClosed(WindowEvent e) {
+ Component ui = (Component) e.getSource();
+ JAXXUtil.destroy(ui);
+ }
+ });
+}
+
+ ]]></script>
+
+ <Table id='table' fill='both' constraints='BorderLayout.CENTER'>
+ <row>
+ <cell insets='10, 10, 5, 10'>
+ <JLabel id='message'/>
+ </cell>
+ </row>
+ <row>
+ <cell insets='5, 10, 10, 10'>
+ <NumberEditor id='editor'/>
+ </cell>
+ </row>
+ </Table>
+ <JPanel layout='{new GridLayout(1,0)}' constraints='BorderLayout.SOUTH'>
+ <JButton id='cancelButton' onActionPerformed='editor.setModel(null); dispose();'/>
+ <JButton id='validateButton' onActionPerformed='dispose();'/>
+ </JPanel>
+</JDialog>
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-03-01 09:33:34 UTC (rev 507)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-03-01 10:53:27 UTC (rev 508)
@@ -8,15 +8,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%
@@ -131,8 +131,13 @@
enabled: {model.isTableViewModeAll() && model.isRenameSpeciesBatchEnabled()};
}
+#createMelag {
+ _tuttiAction: {CreateMelagAction.class};
+ enabled: {!model.isTableViewModeLeaf() && model.isCreateMelagEnabled()};
+}
+
#table {
- selectionMode: {ListSelectionModel.SINGLE_SELECTION};
+ selectionMode: {ListSelectionModel.MULTIPLE_INTERVAL_SELECTION};
selectionBackground: {null};
selectionForeground: {Color.BLACK};
sortable: false;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-03-01 09:33:34 UTC (rev 507)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-03-01 10:53:27 UTC (rev 508)
@@ -84,6 +84,7 @@
<JMenuItem id='removeSpeciesBatchMenu'/>
<JMenuItem id='removeSpeciesSubBatchMenu'/>
<JMenuItem id='renameSpeciesBatchMenu'/>
+ <JMenuItem id='createMelag'/>
</JPopupMenu>
<Table id='form' fill='both' constraints='BorderLayout.NORTH'>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-01 09:33:34 UTC (rev 507)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-01 10:53:27 UTC (rev 508)
@@ -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%
@@ -83,10 +83,12 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.Serializable;
+import java.util.Arrays;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import javax.swing.UIManager;
import static org.nuiton.i18n.I18n._;
import static org.nuiton.i18n.I18n.n_;
@@ -634,7 +636,6 @@
new HighlightPredicate() {
public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
- int rowIndex = adapter.convertRowIndexToModel(adapter.row);
SpeciesBatchRowModel row = getTableModel().getEntry(adapter.row);
return row.getSpeciesToConfirm();
}
@@ -644,12 +645,20 @@
initBatchTable(table, columnModel, tableModel);
+ // highlight only the species column if the row is selected
+ Highlighter selectedHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
+ new HighlightPredicate.AndHighlightPredicate(
+ HighlightPredicate.IS_SELECTED,
+ new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.SPECIES)),
+ UIManager.getColor("Table[Enabled+Selected].textBackground"));
+
+ table.addHighlighter(selectedHighlighter);
+
// paint the cell in dark orange if the row is to confirm and the cell is not editable
attachmentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
new HighlightPredicate() {
public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
- int rowIndex = adapter.convertRowIndexToModel(adapter.row);
SpeciesBatchRowModel row = getTableModel().getEntry(adapter.row);
return row.getSpeciesToConfirm() && !adapter.isEditable();
}
@@ -841,7 +850,7 @@
}
- protected void saveRows(Iterable<SpeciesBatchRowModel> rows) {
+ public void saveRows(Iterable<SpeciesBatchRowModel> rows) {
for (SpeciesBatchRowModel row : rows) {
saveRow(row);
}
@@ -910,44 +919,6 @@
row.setFrequency(frequencyRows);
}
- protected void recomputeTotalUnsortedWeight() {
-
- // recompute total hors vrac
- Float totalHorsVrac = 0f;
- Float totalVrac = 0f;
-
- for (SpeciesBatchRowModel batch : getModel().getRows()) {
- CaracteristicQualitativeValue vracHorsVrac =
- batch.getSortedUnsortedCategoryValue();
-
- if (vracHorsVrac == null) {
-
- // can't sum anything
- } else {
- boolean unsorted = "unsorted".equals(vracHorsVrac.getName());
- if (unsorted) {
- Float weight = batch.getWeight();
- if (weight != null) {
- totalHorsVrac += weight;
- }
- } else {
- Float weight = batch.getWeight();
- if (weight != null) {
- totalVrac += weight;
- }
- }
- }
- }
- if (log.isInfoEnabled()) {
- log.info("New total vrac / hors vrac: " +
- totalVrac + " / " + totalHorsVrac);
- }
- ui.getSpeciesTotalUnsortedWeightField()
- .setText(JAXXUtil.getStringValue(totalHorsVrac));
- //TODO Should we also set the total vrac weight ?
-// getModel().setTotalVracWeight(totalVrac);
- }
-
protected void recomputeBatchActionEnable() {
int rowIndex = getTable().getSelectedRow();
@@ -960,6 +931,7 @@
boolean enableSplit = false;
boolean enableRemove = false;
boolean enableRemoveSub = false;
+ boolean enableCreateMelag = false;
if (rowIndex != -1) {
@@ -968,7 +940,8 @@
//TODO If there is some sub-batch, can remove them
//TODO If there is no sub-batch, can split current batch
- SpeciesBatchRowModel row = getTableModel().getEntry(rowIndex);
+ SpeciesBatchTableModel tableModel = getTableModel();
+ SpeciesBatchRowModel row = tableModel.getEntry(rowIndex);
if (row.isValid()) {
@@ -979,6 +952,7 @@
enableRemove = true;
enableRemoveSub = true;
enableRename = true;
+ enableCreateMelag = true;
}
if (enableSplit) {
@@ -1005,12 +979,37 @@
// can remove sub batch if selected batch is not a leaf
enableRemoveSub = !row.isBatchLeaf();
}
+
+ if (enableCreateMelag) {
+
+ JXTable table = getTable();
+
+ // can add species to a melag if several root are selected
+ int[] selectedRows = table.getSelectedRows();
+ if (selectedRows.length < 2) {
+ enableCreateMelag = false;
+
+ } else {
+ for (int selectedRowIndex : selectedRows) {
+ SpeciesBatchRowModel selectedRow =
+ tableModel.getEntry(selectedRowIndex);
+
+ if (!selectedRow.isBatchRoot()) {
+ enableCreateMelag = false;
+ break;
+ }
+ }
+ }
+ }
}
- getModel().setCreateSpeciesBatchEnabled(enableAdd);
- getModel().setSplitSpeciesBatchEnabled(enableSplit);
- getModel().setRemoveSpeciesBatchEnabled(enableRemove);
- getModel().setRemoveSpeciesSubBatchEnabled(enableRemoveSub);
- getModel().setRenameSpeciesBatchEnabled(enableRename);
+
+ SpeciesBatchUIModel model = getModel();
+ model.setCreateSpeciesBatchEnabled(enableAdd);
+ model.setSplitSpeciesBatchEnabled(enableSplit);
+ model.setRemoveSpeciesBatchEnabled(enableRemove);
+ model.setRemoveSpeciesSubBatchEnabled(enableRemoveSub);
+ model.setRenameSpeciesBatchEnabled(enableRename);
+ model.setCreateMelagEnabled(enableCreateMelag);
}
public void collectChilds(SpeciesBatchRowModel row,
@@ -1161,4 +1160,8 @@
return model.getSelectedSpecies();
}
+
+ public void test() {
+ JOptionPane.showMessageDialog(ui, Arrays.toString(getTable().getSelectedRows()));
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java 2013-03-01 09:33:34 UTC (rev 507)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java 2013-03-01 10:53:27 UTC (rev 508)
@@ -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%
@@ -56,6 +56,8 @@
public static final String PROPERTY_REMOVE_SPECIES_BATCH_ENABLED = "removeSpeciesBatchEnabled";
+ public static final String PROPERTY_CREATE_MELAG_ENABLED = "createMelagEnabled";
+
public static final String PROPERTY_TABLE_VIEW_MODE_ALL = "tableViewModeAll";
public static final String PROPERTY_TABLE_VIEW_MODE_LEAF = "tableViewModeLeaf";
@@ -123,6 +125,13 @@
*/
protected boolean removeSpeciesSubBatchEnabled;
+ /**
+ * Can user create a melag from the selected species?
+ *
+ * @since 0.3
+ */
+ protected boolean createMelagEnabled = true;
+
/** @since 1.0 */
protected int rootNumber;
@@ -148,7 +157,7 @@
public void setSpeciesTotalComputedWeight(Float speciesTotalComputedWeight) {
catchesUIModel.setSpeciesTotalComputedWeight(speciesTotalComputedWeight);
}
-
+
public TuttiComputedOrNotData<Float> getSpeciesTotalSortedComputedOrNotWeight() {
return catchesUIModel.getSpeciesTotalSortedComputedOrNotWeight();
}
@@ -176,7 +185,7 @@
public void setSpeciesTotalUnsortedComputedWeight(Float speciesTotalUnsortedComputedWeight) {
catchesUIModel.setSpeciesTotalUnsortedComputedWeight(speciesTotalUnsortedComputedWeight);
}
-
+
public Float getSpeciesTotalSampleSortedComputedWeight() {
return catchesUIModel.getSpeciesTotalSampleSortedComputedWeight();
}
@@ -184,7 +193,7 @@
public void setSpeciesTotalSampleSortedComputedWeight(Float speciesTotalSampleSortedComputedWeight) {
catchesUIModel.setSpeciesTotalSampleSortedComputedWeight(speciesTotalSampleSortedComputedWeight);
}
-
+
public Float getSpeciesTotalInertWeight() {
return catchesUIModel.getSpeciesTotalInertWeight();
}
@@ -317,4 +326,15 @@
public boolean isRenameSpeciesBatchEnabled() {
return renameSpeciesBatchEnabled;
}
+
+ public boolean isCreateMelagEnabled() {
+ return createMelagEnabled;
+ }
+
+ public void setCreateMelagEnabled(boolean createMelagEnabled) {
+ Object oldValue = isCreateMelagEnabled();
+ this.createMelagEnabled = createMelagEnabled;
+ firePropertyChange(PROPERTY_CREATE_MELAG_ENABLED, oldValue, createMelagEnabled);
+ }
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-03-01 09:33:34 UTC (rev 507)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-03-01 10:53:27 UTC (rev 508)
@@ -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%
@@ -73,6 +73,7 @@
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.util.Arrays;
import java.util.Enumeration;
import java.util.List;
import java.util.Set;
@@ -302,7 +303,8 @@
new HighlightPredicate.AndHighlightPredicate(
new MyIdentifierHighlightPredicate(SpeciesBatchTableModel.COMMENT),
// for not null value
- new HighlightPredicate.NotHighlightPredicate(new HighlightPredicate.EqualsHighlightPredicate())
+ new HighlightPredicate.NotHighlightPredicate(new HighlightPredicate.EqualsHighlightPredicate()),
+ new HighlightPredicate.NotHighlightPredicate(new HighlightPredicate.EqualsHighlightPredicate(""))
), cellWithValueColor);
table.addHighlighter(commentHighlighter);
@@ -678,6 +680,8 @@
JXTable source = (JXTable) e.getSource();
+ int[] selectedRows = source.getSelectedRows();
+
// get the row index at this point
int rowIndex = source.rowAtPoint(p);
@@ -704,7 +708,7 @@
// select row (could empty selection)
if (rowIndex == -1) {
source.clearSelection();
- } else {
+ } else if (!ArrayUtils.contains(selectedRows, rowIndex)) {
source.setRowSelectionInterval(rowIndex, rowIndex);
}
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-01 09:33:34 UTC (rev 507)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-01 10:53:27 UTC (rev 508)
@@ -44,6 +44,8 @@
tutti.action.computeWeights.tip=Elever les poids
tutti.action.configuration=Configuration
tutti.action.configuration.tip=Configurer Tutti
+tutti.action.createMelag=Èspèces d'un MELAG
+tutti.action.createMelag.tip=Calcul des poids des lots appartenant à un MELAG
tutti.action.createSpeciesBatch=Créer un lot pour une espèce
tutti.action.deleteProtocol=Supprimer
tutti.action.deleteProtocol.message=Vous êtes sur le point de supprimer le protocol %s
@@ -185,6 +187,10 @@
tutti.dialog.catches.species.computeWeight.error.title=Erreur
tutti.dialog.catches.species.split.weightNotNull.message=Pour catégoriser un lot, il ne doit pas avoir de poids sous-échantillonné. Catégoriser le lot mettra le poids sous-échantillonné à nul.
tutti.dialog.catches.species.split.weightNotNull.title=Poids sous-échantillonné non nul
+tutti.dialog.createMelag.error.message=Erreur à la ligne %s
+tutti.dialog.createMelag.error.title=Erreur
+tutti.dialog.createMelag.message=Combien pesait le MELAG (kg) ?
+tutti.dialog.createMelag.title=Poids du MELAG (kg)
tutti.duration.format=dj Hh m'm'
tutti.error.errorpane.htmlmessage=<html><body><b>Une erreur s'est produite</b>\:<br/>%s</body></html>
tutti.file.csv=Extension d'un fichier csv
1
0
See <http://ci.nuiton.org/jenkins/job/tutti/412/changes>
Changes:
[blavenier] Add :
- some caches
- remove HQL on changeSpeciesBatchSpecies (move in 'adagio-core')
Fix :
- move come cache declaration into Interface
------------------------------------------
[...truncated 28 lines...]
projectStarted fr.ifremer:tutti:1.0.2-SNAPSHOT
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti 1.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/target>
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.apache.maven.plugins:maven-antrun-plugin:1.7(generate-surefire-workdir)
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ tutti ---
[INFO] Executing tasks
main:
mojoSucceeded org.apache.maven.plugins:maven-antrun-plugin:1.7(generate-surefire-workdir) [mkdir] Created dir: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/target/surefire-workdir>
[INFO] Executed tasks
mojoStarted org.apache.maven.plugins:maven-site-plugin:3.2(attach-descriptor)
[INFO]
[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ tutti ---
mojoSucceeded org.apache.maven.plugins:maven-site-plugin:3.2(attach-descriptor)
mojoStarted org.apache.maven.plugins:maven-install-plugin:2.4(default-install)
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ tutti ---
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml> to /var/local/maven/data/repository/fr/ifremer/tutti/1.0.2-SNAPSHOT/tutti-1.0.2-SNAPSHOT.pom
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/target/tutti-1.0.2-SNAPSHOT…> to /var/local/maven/data/repository/fr/ifremer/tutti/1.0.2-SNAPSHOT/tutti-1.0.2-SNAPSHOT-site_fr.xml
mojoSucceeded org.apache.maven.plugins:maven-install-plugin:2.4(default-install)
projectSucceeded fr.ifremer:tutti:1.0.2-SNAPSHOT
projectStarted fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: Persistence 1.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-utils…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-utils… (2 KB at 1.8 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-… (2 KB at 1.8 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-utils…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-… (823 B at 6.0 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-utils… (823 B at 5.6 KB/sec)
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-persistence ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target>
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-persistence ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.nuiton.eugene:eugene-maven-plugin:2.6.1(default)
[INFO]
[INFO] --- eugene-maven-plugin:2.6.1:generate (default) @ tutti-persistence ---
[INFO] Process phase [zargo] for one entry.
[INFO] Expanding 1 xmi file(s) from <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>
[INFO] Will generate <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/ge…>
[INFO] Copy file <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…> to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/ge…>
[INFO] Generate one file in 958.786ms.
[INFO] Process phase [xmi] for one entry.
[INFO] Processing XSL tranformation on <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/ge…> for 1 file(s).
[INFO] Will generate <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/ge…>
[INFO] Copy file <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/ge…> to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/ge…>
[INFO] Generate one file in 23.27s.
[INFO] Process phase [model] for one entry.
INFO [pool-1-thread-1] (ObjectModelReader.java:273) loadModelProperties - 19 tag values were succesfull imported from <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/ge…>
[INFO] Apply generator JavaInterfaceTransformer
[INFO] Apply generator SimpleJavaBeanTransformer
INFO [pool-1-thread-1] (ObjectModelTransformerToJava.java:911) isInClassPath - Will not generate [fr.ifremer.tutti.persistence.entities.data.Program], already found in class-path.
[INFO] Apply generator JavaEnumerationTransformer
mojoSucceeded org.nuiton.eugene:eugene-maven-plugin:2.6.1(default)
[INFO] No file generated.
[INFO] Add compile source root : <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/ge…>
[INFO] Add resource root :Resource {targetPath: null, filtering: false, FileSet {directory: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/ge…,> PatternSet [includes: {}, excludes: {**/*.java}]}}
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserJava (scan-sources) @ tutti-persistence ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(get)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:get (get) @ tutti-persistence ---
[INFO] Copying tutti-persistence.properties to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/ge…>
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(get)
forkedProjectSucceeded fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:gen (scan-sources) @ tutti-persistence ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[WARNING] bundle fr_FR contains 7/28 empty entries! (use -Di18n.showEmpty to see these entries)
mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-persistence ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 10 resources
[INFO] Copying 0 resource
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ tutti-persistence ---
[INFO] Compiling 79 source files to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/cl…>
[INFO] -------------------------------------------------------------
mojoFailed org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[29,22] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[41,52] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[27,22] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[28,22] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[40,55] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[35,9] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[68,20] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[70,34] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[177,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[256,46] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[277,46] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[390,53] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[404,52] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[415,53] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[449,42] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[656,34] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[53,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[58,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[59,19] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[208,25] error: method removeWithChildren in interface CatchBatchExtendDao cannot be applied to given types;
[ERROR] required: Integer
found: Integer,CatchBatch
reason: actual and formal argument lists differ in length
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[346,29] error: cannot find symbol
[ERROR] symbol: method createSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[372,21] error: cannot find symbol
[ERROR] symbol: method updateSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[400,21] error: cannot find symbol
[ERROR] symbol: method setSortingBatchReferenceTaxon(String,Integer)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[482,29] error: cannot find symbol
[ERROR] symbol: method createSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[488,38] error: cannot find symbol
[ERROR] symbol: method loadSortingBatch(Integer,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[502,22] error: cannot find symbol
[ERROR] symbol: method updateSortingBatch(List<SortingBatch>,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[507,29] error: method removeWithChildren in interface CatchBatchExtendDao cannot be applied to given types;
[ERROR] required: Integer
found: Integer,CatchBatch
reason: actual and formal argument lists differ in length
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[581,29] error: cannot find symbol
[ERROR] symbol: method createSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[607,21] error: cannot find symbol
[ERROR] symbol: method updateSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[723,29] error: cannot find symbol
[ERROR] symbol: method createSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[743,25] error: cannot find symbol
[ERROR] symbol: method updateSortingBatch(List<SortingBatch>,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/src/main/…>:[748,29] error: method removeWithChildren in interface CatchBatchExtendDao cannot be applied to given types;
[INFO] 32 errors
[INFO] -------------------------------------------------------------
projectFailed fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT
sessionEnded
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [1:28.144s]
[INFO] Tutti :: Persistence .............................. FAILURE [1:13.347s]
[INFO] Tutti :: Service .................................. SKIPPED
[INFO] Tutti :: UI ....................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:49.095s
[INFO] Finished at: Thu Feb 28 20:35:29 CET 2013
[INFO] Final Memory: 27M/74M
[INFO] ------------------------------------------------------------------------
Projects to build: [MavenProject: fr.ifremer:tutti:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-service:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/pom.xml]>
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-02-28_20-32-19/archive/fr.ifremer.tutti/tutti-service/1.0.2-SNAPSHOT/tutti-service-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-ui-swing/builds/2013-02-28_20-32-19/archive/fr.ifremer.tutti/tutti-ui-swing/1.0.2-SNAPSHOT/tutti-ui-swing-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-02-28_20-32-19/archive/fr.ifremer/tutti/1.0.2-SNAPSHOT/tutti-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/target/tutti-1.0.2-SNAPSHOT…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-02-28_20-32-19/archive/fr.ifremer/tutti/1.0.2-SNAPSHOT/tutti-1.0.2-SNAPSHOT-site_fr.xml
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-02-28_20-32-19/archive/fr.ifremer.tutti/tutti-persistence/1.0.2-SNAPSHOT/tutti-persistence-1.0.2-SNAPSHOT.pom
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project tutti-persistence: Compilation failure
cause : Compilation failure
Stack trace :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project tutti-persistence: Compilation failure
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:729)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 27 more
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com benoit.lavenier(a)e-is.pro
channel stopped
1
2
01 Mar '13
See <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/4…>
Changes:
[blavenier] Add :
- some caches
- remove HQL on changeSpeciesBatchSpecies (move in 'adagio-core')
Fix :
- move come cache declaration into Interface
------------------------------------------
projectStarted fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: Persistence 1.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-utils…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-utils… (2 KB at 1.8 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-… (2 KB at 1.8 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-utils…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-… (823 B at 6.0 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-utils… (823 B at 5.6 KB/sec)
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-persistence ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-persistence ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.nuiton.eugene:eugene-maven-plugin:2.6.1(default)
[INFO]
[INFO] --- eugene-maven-plugin:2.6.1:generate (default) @ tutti-persistence ---
[INFO] Process phase [zargo] for one entry.
[INFO] Expanding 1 xmi file(s) from <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>
[INFO] Will generate <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>
[INFO] Copy file <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…> to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>
[INFO] Generate one file in 958.786ms.
[INFO] Process phase [xmi] for one entry.
[INFO] Processing XSL tranformation on <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…> for 1 file(s).
[INFO] Will generate <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>
[INFO] Copy file <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…> to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>
[INFO] Generate one file in 23.27s.
[INFO] Process phase [model] for one entry.
INFO [pool-1-thread-1] (ObjectModelReader.java:273) loadModelProperties - 19 tag values were succesfull imported from <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>
[INFO] Apply generator JavaInterfaceTransformer
[INFO] Apply generator SimpleJavaBeanTransformer
INFO [pool-1-thread-1] (ObjectModelTransformerToJava.java:911) isInClassPath - Will not generate [fr.ifremer.tutti.persistence.entities.data.Program], already found in class-path.
[INFO] Apply generator JavaEnumerationTransformer
mojoSucceeded org.nuiton.eugene:eugene-maven-plugin:2.6.1(default)
[INFO] No file generated.
[INFO] Add compile source root : <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>
[INFO] Add resource root :Resource {targetPath: null, filtering: false, FileSet {directory: <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…,> PatternSet [includes: {}, excludes: {**/*.java}]}}
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserJava (scan-sources) @ tutti-persistence ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(get)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:get (get) @ tutti-persistence ---
[INFO] Copying tutti-persistence.properties to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(get)
forkedProjectSucceeded fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:gen (scan-sources) @ tutti-persistence ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[WARNING] bundle fr_FR contains 7/28 empty entries! (use -Di18n.showEmpty to see these entries)
mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-persistence ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 10 resources
[INFO] Copying 0 resource
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ tutti-persistence ---
[INFO] Compiling 79 source files to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>
[INFO] -------------------------------------------------------------
mojoFailed org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[29,22] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[41,52] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[27,22] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[28,22] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[40,55] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[35,9] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[68,20] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[70,34] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[177,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[256,46] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[277,46] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[390,53] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[404,52] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[415,53] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[449,42] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[656,34] error: cannot find symbol
[ERROR] symbol: method getCache(String)
location: variable cacheService of type CacheService
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[53,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[58,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[59,19] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[208,25] error: method removeWithChildren in interface CatchBatchExtendDao cannot be applied to given types;
[ERROR] required: Integer
found: Integer,CatchBatch
reason: actual and formal argument lists differ in length
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[346,29] error: cannot find symbol
[ERROR] symbol: method createSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[372,21] error: cannot find symbol
[ERROR] symbol: method updateSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[400,21] error: cannot find symbol
[ERROR] symbol: method setSortingBatchReferenceTaxon(String,Integer)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[482,29] error: cannot find symbol
[ERROR] symbol: method createSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[488,38] error: cannot find symbol
[ERROR] symbol: method loadSortingBatch(Integer,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[502,22] error: cannot find symbol
[ERROR] symbol: method updateSortingBatch(List<SortingBatch>,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[507,29] error: method removeWithChildren in interface CatchBatchExtendDao cannot be applied to given types;
[ERROR] required: Integer
found: Integer,CatchBatch
reason: actual and formal argument lists differ in length
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[581,29] error: cannot find symbol
[ERROR] symbol: method createSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[607,21] error: cannot find symbol
[ERROR] symbol: method updateSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[723,29] error: cannot find symbol
[ERROR] symbol: method createSortingBatch(SortingBatch,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[743,25] error: cannot find symbol
[ERROR] symbol: method updateSortingBatch(List<SortingBatch>,CatchBatch)
location: variable catchBatchDao of type CatchBatchExtendDao
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-persistence/w…>:[748,29] error: method removeWithChildren in interface CatchBatchExtendDao cannot be applied to given types;
[INFO] 32 errors
[INFO] -------------------------------------------------------------
projectFailed fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT
1
2
Author: tchemit
Date: 2013-03-01 10:33:34 +0100 (Fri, 01 Mar 2013)
New Revision: 507
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/507
Log:
move to last snapshot of adagio
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-03-01 06:20:23 UTC (rev 506)
+++ trunk/pom.xml 2013-03-01 09:33:34 UTC (rev 507)
@@ -136,7 +136,7 @@
<slf4jVersion>1.7.2</slf4jVersion>
- <adagioVersion>3.3.3</adagioVersion>
+ <adagioVersion>3.3.4-SNAPSHOT</adagioVersion>
<msaccessImporterVersion>1.4.1</msaccessImporterVersion>
1
0