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
January 2014
- 8 participants
- 108 discussions
Build failed in Jenkins: tutti » Tutti :: Ichtyometer API #9
by admin+ci-codelutin.com@codelutin.com 30 Jan '14
by admin+ci-codelutin.com@codelutin.com 30 Jan '14
30 Jan '14
See <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyom…>
Changes:
[Tony CHEMIT] refs #3875: Import des mensurations en continue depuis un ictyomètre
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: Ichtyometer API 3.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/net/sf/…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl… (25 KB at 681.7 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/net/sf/bluecove/bluecove/2.1.0/bluecove…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/net/sf/bluecove/bluecove/2.1.0/bluecove… (25 KB at 53.0 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/net/sf/…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl… (20 KB at 543.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/net/sf/bluecove/bluecove-parent/2.1.0/b…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/net/sf/bluecove/bluecove-parent/2.1.0/b… (20 KB at 500.7 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/net/sf/…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl… (10 KB at 325.0 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/net/sf/bluecove/bluecove-gpl/2.1.0/blue…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/net/sf/bluecove/bluecove-gpl/2.1.0/blue… (10 KB at 336.6 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/net/sf/…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/net/sf/…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl… (87 KB at 1671.8 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl… (535 KB at 5937.0 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/net/sf/bluecove/bluecove/2.1.0/bluecove…
[INFO] Downloading: http://repo.maven.apache.org/maven2/net/sf/bluecove/bluecove-gpl/2.1.0/blue…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/net/sf/bluecove/bluecove-gpl/2.1.0/blue… (87 KB at 1073.3 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/net/sf/bluecove/bluecove/2.1.0/bluecove… (535 KB at 3816.7 KB/sec)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ichtyometer ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti-ichtyometer ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ichtyometer ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ tutti-ichtyometer ---
[INFO] Compiling 12 source files to <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyom…>
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ tutti-ichtyometer ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyom…>
[INFO] Executed tasks
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ tutti-ichtyometer ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ tutti-ichtyometer ---
[INFO] Compiling 4 source files to <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyom…>
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyom…>:[67,46] illegal start of expression
[ERROR] <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyom…>:[54,46] illegal start of expression
[ERROR] <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyom…>:[66,46] illegal start of expression
[INFO] 3 errors
[INFO] -------------------------------------------------------------
[JENKINS] Archiving disabled
1
2
Jenkins build is back to normal : tutti » Tutti :: UI #1201
by admin+hudson@codelutin.com 30 Jan '14
by admin+hudson@codelutin.com 30 Jan '14
30 Jan '14
Build failed in Jenkins: tutti » Tutti :: Ichtyometer API #1200
by admin+hudson@codelutin.com 30 Jan '14
by admin+hudson@codelutin.com 30 Jan '14
30 Jan '14
See <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyometer/1…>
Changes:
[Tony Chemit] refs #3875: Import des mensurations en continue depuis un ictyomètre
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: Ichtyometer API 3.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/public/net/sf/bluecove/bluecov…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/net/sf/bluecove/bluecov… (25 KB at 156.3 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl… (25 KB at 721.8 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/public/net/sf/bluecove/bluecov…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/net/sf/bluecove/bluecov… (20 KB at 380.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl… (20 KB at 761.1 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/public/net/sf/bluecove/bluecov…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/net/sf/bluecove/bluecov… (10 KB at 192.3 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl… (10 KB at 377.0 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/public/net/sf/bluecove/bluecov…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/public/net/sf/bluecove/bluecov…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/net/sf/bluecove/bluecov… (87 KB at 315.0 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/net/sf/bluecove/bluecov… (535 KB at 1413.6 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl… (87 KB at 1738.7 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/net/sf/bluecove/bl… (535 KB at 6763.7 KB/sec)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ichtyometer ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti-ichtyometer ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ichtyometer ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ tutti-ichtyometer ---
[INFO] Compiling 12 source files to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyometer/w…>
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ tutti-ichtyometer ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyometer/w…>
[INFO] Executed tasks
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ tutti-ichtyometer ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ tutti-ichtyometer ---
[INFO] Compiling 4 source files to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyometer/w…>
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyometer/w…>:[66,46] illegal start of expression
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyometer/w…>:[54,46] illegal start of expression
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ichtyometer/w…>:[67,46] illegal start of expression
[INFO] 3 errors
[INFO] -------------------------------------------------------------
1
1
See <http://ci.nuiton.org/jenkins/job/tutti/1199/changes>
Changes:
[Tony Chemit] fix icon for psion import
[Tony Chemit] fixes #4130: [TECH] Sécuriser les accès au site de données
------------------------------------------
[...truncated 289 lines...]
2014-01-29 18:40:45,095 0 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.catches.WeightComputingServiceTest
2014-01-29 18:40:45,129 34 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbCG…,> test [class fr.ifremer.tutti.service.catches.WeightComputingServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.043 sec - in fr.ifremer.tutti.service.catches.WeightComputingServiceTest
Running fr.ifremer.tutti.service.catches.multipost.MultiPostExportServiceTest
2014-01-29 18:40:45,134 39 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.catches.multipost.MultiPostExportServiceTest
2014-01-29 18:40:45,142 47 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbCG…,> test [class fr.ifremer.tutti.service.catches.multipost.MultiPostExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.014 sec - in fr.ifremer.tutti.service.catches.multipost.MultiPostExportServiceTest
Running fr.ifremer.tutti.service.UpdateSchemaTest
2014-01-29 18:40:45,142 47 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.UpdateSchemaTest
2014-01-29 18:40:45,149 54 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbCGFS_old.properties
2014-01-29 18:40:45,149 54 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbCGFS_old, test [class fr.ifremer.tutti.service.UpdateSchemaTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.002 sec - in fr.ifremer.tutti.service.UpdateSchemaTest
Running fr.ifremer.tutti.service.pupitri.PupitriImportServiceTest
2014-01-29 18:40:45,151 56 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.pupitri.PupitriImportServiceTest
2014-01-29 18:40:45,156 61 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbExport.properties
2014-01-29 18:40:45,157 62 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbExport, test [class fr.ifremer.tutti.service.pupitri.PupitriImportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.007 sec - in fr.ifremer.tutti.service.pupitri.PupitriImportServiceTest
Running fr.ifremer.tutti.service.pupitri.PupitriImportExportServiceTest
2014-01-29 18:40:45,158 63 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.pupitri.PupitriImportExportServiceTest
2014-01-29 18:40:45,162 67 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbExport.properties
2014-01-29 18:40:45,163 68 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbExport, test [class fr.ifremer.tutti.service.pupitri.PupitriImportExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.005 sec - in fr.ifremer.tutti.service.pupitri.PupitriImportExportServiceTest
Running fr.ifremer.tutti.service.ValidationServiceTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.639 sec - in fr.ifremer.tutti.service.ValidationServiceTest
Running fr.ifremer.tutti.service.DecoratorServiceTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.201 sec - in fr.ifremer.tutti.service.DecoratorServiceTest
Running fr.ifremer.tutti.service.psionimport.PsionImportServiceTest
2014-01-29 18:40:46,008 913 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.psionimport.PsionImportServiceTest
2014-01-29 18:40:46,011 916 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbExport.properties
2014-01-29 18:40:46,011 916 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbExport, test [class fr.ifremer.tutti.service.psionimport.PsionImportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.01 sec - in fr.ifremer.tutti.service.psionimport.PsionImportServiceTest
Running fr.ifremer.tutti.service.report.ReportServiceTest
2014-01-29 18:40:46,012 917 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.report.ReportServiceTest
2014-01-29 18:40:46,016 921 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbMe…,> test [class fr.ifremer.tutti.service.report.ReportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec - in fr.ifremer.tutti.service.report.ReportServiceTest
Running fr.ifremer.tutti.service.protocol.ProtocolImportExportServiceTest
2014-01-29 18:40:46,019 924 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.protocol.ProtocolImportExportServiceTest
2014-01-29 18:40:46,022 927 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbCGFS.properties
2014-01-29 18:40:46,022 927 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbCGFS, test [class fr.ifremer.tutti.service.protocol.ProtocolImportExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.004 sec - in fr.ifremer.tutti.service.protocol.ProtocolImportExportServiceTest
Running fr.ifremer.tutti.service.referential.ReferentialImportExportServiceTest
2014-01-29 18:40:46,024 929 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.referential.ReferentialImportExportServiceTest
2014-01-29 18:40:46,028 933 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbCGFS.properties
2014-01-29 18:40:46,029 934 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbCGFS, test [class fr.ifremer.tutti.service.referential.ReferentialImportExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.006 sec - in fr.ifremer.tutti.service.referential.ReferentialImportExportServiceTest
Running fr.ifremer.tutti.service.export.generic.TuttiExportServiceTest
2014-01-29 18:40:46,032 937 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.generic.TuttiExportServiceTest
2014-01-29 18:40:46,035 940 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbCG…,> test [class fr.ifremer.tutti.service.export.generic.TuttiExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.005 sec - in fr.ifremer.tutti.service.export.generic.TuttiExportServiceTest
Running fr.ifremer.tutti.service.export.generic.TuttiExportService2Test
2014-01-29 18:40:46,036 941 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.generic.TuttiExportService2Test
2014-01-29 18:40:46,039 944 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbEx…,> test [class fr.ifremer.tutti.service.export.generic.TuttiExportService2Test] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.003 sec - in fr.ifremer.tutti.service.export.generic.TuttiExportService2Test
Running fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceTest
2014-01-29 18:40:46,040 945 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceTest
2014-01-29 18:40:46,043 948 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbEx…,> test [class fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.003 sec - in fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceTest
Running fr.ifremer.tutti.service.export.pdf.CatchesPdfExportServiceTest
2014-01-29 18:40:46,044 949 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.pdf.CatchesPdfExportServiceTest
2014-01-29 18:40:46,047 952 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbMe…,> test [class fr.ifremer.tutti.service.export.pdf.CatchesPdfExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.004 sec - in fr.ifremer.tutti.service.export.pdf.CatchesPdfExportServiceTest
Results :
Tests run: 25, Failures: 0, Errors: 0, Skipped: 14
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ tutti-service ---
[INFO] Building jar: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…>
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ tutti-service ---
[INFO]
[INFO] --- maven-install-plugin:2.5.1:install (default-install) @ tutti-service ---
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…> to /var/local/maven/data/repository/fr/ifremer/tutti/tutti-service/3.1-SNAPSHOT/tutti-service-3.1-SNAPSHOT.jar
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml> to /var/local/maven/data/repository/fr/ifremer/tutti/tutti-service/3.1-SNAPSHOT/tutti-service-3.1-SNAPSHOT.pom
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 3.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti-ui-swing ---
[INFO]
[INFO] --- jaxx-maven-plugin:2.7:generate (default) @ tutti-ui-swing ---
[INFO] use project compile scope class-path
[INFO] Detects 40 modified jaxx file(s).
[WARNING] JAXX detects 2 warnings :
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'title' in component 'dialog' : [_("tutti.createSpeciesMelag.title", weightUnit.getShortLabel())]
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'text' in component 'message' : [_("tutti.createSpeciesMelag.message", weightUnit.getShortLabel())]
[INFO] Generated 40 file(s) in 7.786s
[INFO]
[INFO] --- jaxx-maven-plugin:2.7:generate-help-ids (default) @ tutti-ui-swing ---
[INFO] Store detected help ids to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>
[INFO] Merge help ids to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>
[INFO] Use input file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/fil…>
[INFO] No keys to add.
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:parserJava (scan-sources) @ tutti-ui-swing ---
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
[INFO]
[INFO] >>> i18n-maven-plugin:2.5.2:gen (scan-sources) @ tutti-ui-swing >>>
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:get (get) @ tutti-ui-swing ---
[INFO] Copying tutti-ui-swing.properties to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>
[INFO] Copying tutti-ui-swing.properties to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>
[INFO]
[INFO] <<< i18n-maven-plugin:2.5.2:gen (scan-sources) @ tutti-ui-swing <<<
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 18/1569 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1571/1576 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] >>> i18n-maven-plugin:2.5.2:bundle (make-bundle) @ tutti-ui-swing >>>
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:collect-i18n-artifacts (collect-i18n-artifacts) @ tutti-ui-swing ---
[INFO] collected 12 i18n artifacts for locale fr_FR stored in <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/i18n/…>
[INFO] collected 12 i18n artifacts for locale en_GB stored in <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/i18n/…>
[INFO]
[INFO] <<< i18n-maven-plugin:2.5.2:bundle (make-bundle) @ tutti-ui-swing <<<
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 17/2117 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1940/2124 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] --- license-maven-plugin:1.5:update-project-license (attach-licenses) @ tutti-ui-swing ---
[INFO]
[INFO] --- license-maven-plugin:1.5: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/ws/trunk/tutti-ui-swing/src/license/…>
[INFO] Missing file <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/license/…> is up-to-date.
[INFO] Writing third-party file to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>
[INFO] Writing bundled third-party file to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>
[INFO] Will attach third party file from <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/license/…>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ui-swing ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO] Copying 101 resources
[INFO] Copying 4 resources
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 319 source files to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/class…>
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[383,44] getSelectedValues() in javax.swing.JList has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>: Some input files use unchecked or unsafe operations.
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>: Recompile with -Xlint:unchecked for details.
[INFO] 3 warnings
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>:[100,22] cannot find symbol
symbol: method getExistingActionUIWhenMainUINotNull()
location: variable context of type fr.ifremer.tutti.ui.swing.TuttiUIContext
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [2.679s]
[INFO] Tutti :: Persistence .............................. SUCCESS [8.435s]
[INFO] Tutti :: Service .................................. SUCCESS [6.493s]
[INFO] Tutti :: UI ....................................... FAILURE [14.210s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 33.623s
[INFO] Finished at: Wed Jan 29 18:41:01 CET 2014
[INFO] Final Memory: 94M/234M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project tutti-ui-swing: Compilation failure
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>:[100,22] cannot find symbol
[ERROR] symbol: method getExistingActionUIWhenMainUINotNull()
[ERROR] location: variable context of type fr.ifremer.tutti.ui.swing.TuttiUIContext
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project tutti-ui-swing: Compilation failure
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>:[100,22] cannot find symbol
symbol: method getExistingActionUIWhenMainUINotNull()
location: variable context of type fr.ifremer.tutti.ui.swing.TuttiUIContext
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
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:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.jvnet.hudson.maven3.launcher.Maven31Launcher.main(Maven31Launcher.java:132)
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:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
at jenkins.maven3.agent.Maven31Main.launch(Maven31Main.java:181)
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:606)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:134)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:69)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:328)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>:[100,22] cannot find symbol
symbol: method getExistingActionUIWhenMainUINotNull()
location: variable context of type fr.ifremer.tutti.ui.swing.TuttiUIContext
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:858)
at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 30 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :tutti-ui-swing
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/pom.xml> to fr.ifremer.tutti/tutti-ui-swing/3.1-SNAPSHOT/tutti-ui-swing-3.1-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/license/…> to fr.ifremer.tutti/tutti-ui-swing/3.1-SNAPSHOT/tutti-ui-swing-3.1-SNAPSHOT-third-party.properties
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/pom.xml> to fr.ifremer.tutti/tutti-persistence/3.1-SNAPSHOT/tutti-persistence-3.1-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/tu…> to fr.ifremer.tutti/tutti-persistence/3.1-SNAPSHOT/tutti-persistence-3.1-SNAPSHOT.jar
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml> to fr.ifremer.tutti/tutti-service/3.1-SNAPSHOT/tutti-service-3.1-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…> to fr.ifremer.tutti/tutti-service/3.1-SNAPSHOT/tutti-service-3.1-SNAPSHOT.jar
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml> to fr.ifremer/tutti/3.1-SNAPSHOT/tutti-3.1-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/target/tutti-3.1-SNAPSHOT-s…> to fr.ifremer/tutti/3.1-SNAPSHOT/tutti-3.1-SNAPSHOT-site_fr.xml
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com chemit(a)codelutin.com
channel stopped
1
2
r1540 - in trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer: . feed interactive
by tchemit@users.forge.codelutin.com 30 Jan '14
by tchemit@users.forge.codelutin.com 30 Jan '14
30 Jan '14
Author: tchemit
Date: 2014-01-30 10:33:35 +0100 (Thu, 30 Jan 2014)
New Revision: 1540
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1540
Log:
fix build
Modified:
trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/IchtyometerClientTest.java
trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderTest.java
trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngineTest.java
Modified: trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/IchtyometerClientTest.java
===================================================================
--- trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/IchtyometerClientTest.java 2014-01-29 17:49:21 UTC (rev 1539)
+++ trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/IchtyometerClientTest.java 2014-01-30 09:33:35 UTC (rev 1540)
@@ -51,7 +51,7 @@
};
IchtyometerClient client = new IchtyometerClient();
try {
- client.open(remoteDeviceChooser, );
+ client.open(remoteDeviceChooser);
client.close();
} catch (IOException e) {
Assume.assumeTrue("Could not connect to remote device", true);
Modified: trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderTest.java
===================================================================
--- trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderTest.java 2014-01-29 17:49:21 UTC (rev 1539)
+++ trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderTest.java 2014-01-30 09:33:35 UTC (rev 1540)
@@ -63,7 +63,7 @@
client = new IchtyometerClient();
try {
- client.open(remoteDeviceChooser, );
+ client.open(remoteDeviceChooser);
} catch (IOException e) {
Assume.assumeTrue("Could not connect to remote device", false);
}
Modified: trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngineTest.java
===================================================================
--- trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngineTest.java 2014-01-29 17:49:21 UTC (rev 1539)
+++ trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngineTest.java 2014-01-30 09:33:35 UTC (rev 1540)
@@ -64,7 +64,7 @@
client = new IchtyometerClient();
try {
- client.open(remoteDeviceChooser, );
+ client.open(remoteDeviceChooser);
} catch (IOException e) {
if (log.isErrorEnabled()) {
log.error("Could not connect to bigfin", e);
1
0
r1539 - in trunk: . tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/interactive
by tchemit@users.forge.codelutin.com 29 Jan '14
by tchemit@users.forge.codelutin.com 29 Jan '14
29 Jan '14
Author: tchemit
Date: 2014-01-29 18:49:21 +0100 (Wed, 29 Jan 2014)
New Revision: 1539
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1539
Log:
refs #3875: Import des mensurations en continue depuis un ictyom?\195?\168tre
Modified:
trunk/pom.xml
trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/IchtyometerClient.java
trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReader.java
trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderListener.java
trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecord.java
trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/IchtyometerClientTest.java
trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderTest.java
trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngineTest.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-01-29 17:47:27 UTC (rev 1538)
+++ trunk/pom.xml 2014-01-29 17:49:21 UTC (rev 1539)
@@ -92,6 +92,7 @@
<modules>
<module>tutti-persistence</module>
+ <module>tutti-ichtyometer</module>
<module>tutti-service</module>
<module>tutti-ui-swing</module>
</modules>
@@ -443,6 +444,7 @@
<groupId>net.sf.bluecove</groupId>
<artifactId>bluecove-gpl</artifactId>
<version>${bluecoveVersion}</version>
+ <scope>runtime</scope>
</dependency>
<!-- Test -->
Modified: trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/IchtyometerClient.java
===================================================================
--- trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/IchtyometerClient.java 2014-01-29 17:47:27 UTC (rev 1538)
+++ trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/IchtyometerClient.java 2014-01-29 17:49:21 UTC (rev 1539)
@@ -63,6 +63,22 @@
private static final Log log = LogFactory.getLog(IchtyometerClient.class);
/**
+ * To keep a cache of discovered remote device. Keys are the name of device, values are the remote device.
+ */
+ protected static Map<String, RemoteDevice> REMOTE_DEVICE_CACHE;
+
+ /**
+ * To keep a cache of discovered connection url on remote devices. Keys are the name of device, values are
+ * the connection of the remote device.
+ */
+ protected static Map<String, String> REMOTE_CONNECTION_URL_CACHE;
+
+ public static void clearRemoteDeviceCaches() {
+ REMOTE_DEVICE_CACHE = null;
+ REMOTE_CONNECTION_URL_CACHE = null;
+ }
+
+ /**
* Local bluetooth device.
*/
protected LocalDevice localDevice;
@@ -87,6 +103,11 @@
*/
protected boolean open;
+ /**
+ * Friendly name of the device.
+ */
+ protected String name;
+
public void open(RemoteDeviceChooser remoteDeviceChooser) throws IOException {
Preconditions.checkState(!open, "Client is already opened");
@@ -97,60 +118,73 @@
throw new LocalDeviceNotFoundException();
}
- // get remote devices
- Map<String, RemoteDevice> devices;
- try {
- devices = discoverDevices();
- } catch (Exception e) {
- throw new RemoteDeviceNotFoundException("Could not detected devices", e);
+ if (REMOTE_DEVICE_CACHE == null) {
+
+ // build map of remote devices
+
+ try {
+ REMOTE_DEVICE_CACHE = discoverDevices();
+ } catch (Exception e) {
+ throw new RemoteDeviceNotFoundException("Could not detected devices", e);
+ }
}
- if (devices.isEmpty()) {
+ if (REMOTE_DEVICE_CACHE.isEmpty()) {
throw new RemoteDeviceNotFoundException("No remote device found");
}
// ask user to choose the device
- String userDeviceName = remoteDeviceChooser.chooseRemoteDevice(devices.keySet());
+ name = remoteDeviceChooser.chooseRemoteDevice(REMOTE_DEVICE_CACHE.keySet());
- if (userDeviceName == null) {
+ if (name == null) {
throw new RemoteDeviceNotFoundException("User did not choose a remote device");
}
- remoteDevice = devices.get(userDeviceName);
+ remoteDevice = REMOTE_DEVICE_CACHE.get(name);
if (remoteDevice == null) {
throw new RemoteDeviceNotFoundException(
- "Could not find remote device with name '" + userDeviceName + "'");
+ "Could not find remote device with name '" + name + "'");
}
- int serviceIndex = 3;
- List<ServiceRecord> serviceRecords;
- try {
- serviceRecords = discoverServiceUrls(new UUID(serviceIndex), remoteDevice);
- } catch (Exception e) {
- throw new RemoteDeviceNotFoundException("Could not read remote device services", e);
+ if (REMOTE_CONNECTION_URL_CACHE == null) {
+ REMOTE_CONNECTION_URL_CACHE = Maps.newTreeMap();
}
- if (serviceRecords.isEmpty()) {
- throw new RemoteDeviceServiceNotFoundException("No services detected.");
- }
+ if (!REMOTE_CONNECTION_URL_CACHE.containsKey(name)) {
- if (log.isInfoEnabled()) {
- log.info("Found some services for index: " + serviceIndex);
- }
- serviceRecords.addAll(serviceRecords);
+ int serviceIndex = 3;
+ List<ServiceRecord> serviceRecords;
+ try {
+ serviceRecords = discoverServiceUrls(new UUID(serviceIndex), remoteDevice);
+ } catch (Exception e) {
+ throw new RemoteDeviceNotFoundException("Could not read remote device services", e);
+ }
- // take first service record
- ServiceRecord serviceRecord = serviceRecords.get(0);
+ if (serviceRecords.isEmpty()) {
+ throw new RemoteDeviceServiceNotFoundException("No services detected.");
+ }
- // get connection url
- connectionUrl = serviceRecord.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, true);
+ if (log.isInfoEnabled()) {
+ log.info("Found some services for index: " + serviceIndex);
+ }
+ serviceRecords.addAll(serviceRecords);
- String serviceName = IchtyometerClient.getServiceName(serviceRecord);
- if (log.isInfoEnabled()) {
- log.info("Found service(" + serviceIndex + "): " + connectionUrl + (serviceName == null ? "" : ", name: " + serviceName));
+ // take first service record
+ ServiceRecord serviceRecord = serviceRecords.get(0);
+
+ // get connection url
+ String connectionUrl = serviceRecord.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, true);
+
+ if (log.isInfoEnabled()) {
+ log.info("Found service(" + serviceIndex + "): " + connectionUrl + ", name: " + name);
+ }
+ REMOTE_CONNECTION_URL_CACHE.put(name, connectionUrl);
}
+ // get connection url
+ connectionUrl = REMOTE_CONNECTION_URL_CACHE.get(name);
+
open = true;
}
@@ -197,6 +231,11 @@
return open;
}
+ public String getName() {
+ checkIsOpened();
+ return name;
+ }
+
protected void checkIsOpened() {
if (!open) {
throw new IllegalStateException("Client is not opened!");
Modified: trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReader.java
===================================================================
--- trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReader.java 2014-01-29 17:47:27 UTC (rev 1538)
+++ trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReader.java 2014-01-29 17:49:21 UTC (rev 1539)
@@ -37,7 +37,7 @@
import java.io.IOException;
/**
- * To read some records from a ichtymoeter in feed mode.
+ * To read some records from a ichtyometer in feed mode.
* <p/>
* Created on 1/24/14.
*
@@ -53,7 +53,7 @@
protected ReadingRunnable readingRunnable;
- protected StreamConnection connection;
+// protected StreamConnection connection;
protected final EventListenerList listenerList;
@@ -69,6 +69,20 @@
listenerList.remove(FeedReaderListener.class, listener);
}
+ public boolean containsFeedModeReaderListener(FeedReaderListener listener) {
+ boolean result = false;
+ FeedReaderListener[] existingListeners = listenerList.getListeners(FeedReaderListener.class);
+ if (existingListeners != null) {
+ for (FeedReaderListener existingListener : existingListeners) {
+ if (listener == existingListener) {
+ result = true;
+ break;
+ }
+ }
+ }
+ return result;
+ }
+
public void start(IchtyometerClient client) throws IOException {
Preconditions.checkNotNull(client, "client can not be null");
@@ -76,71 +90,57 @@
this.client = client;
// get connection
- connection = client.openConnection();
+ StreamConnection connection = client.openConnection();
+ // get input stream
+ DataInputStream dataInputStream = connection.openDataInputStream();
+ if (log.isDebugEnabled()) {
+ log.debug("Open data stream: " + dataInputStream);
+ }
+
// start a reading stream
- readingRunnable = new ReadingRunnable(connection);
+ readingRunnable = new ReadingRunnable(dataInputStream);
- Thread readingThread = new Thread(readingRunnable);
+// Thread readingThread = new Thread(readingRunnable);
- readingThread.start();
+ new Thread(readingRunnable).start();
- waitLock();
+// waitLock();
if (log.isDebugEnabled()) {
log.debug("Ready to read remote device...");
}
- FeedReaderEvent e = new FeedReaderEvent(this);
- fireReaderStart(e);
}
@Override
public void close() throws IOException {
+ Preconditions.checkNotNull(client, "client can not be null");
+ Preconditions.checkState(client.isOpen(), "client must be opened");
+
try {
- if (readingRunnable != null) {
- readingRunnable.setStop(true);
- }
- waitLock();
+ readingRunnable.setStop(true);
- if (client != null) {
-
- if (connection != null) {
- client.closeConnection(connection);
- }
- }
-
} finally {
Closeables.close(client, true);
-
- FeedReaderEvent e = new FeedReaderEvent(this);
- fireReaderStop(e);
}
}
- protected void waitLock() throws IOException {
- synchronized (readingRunnable.lock) {
- try {
- readingRunnable.lock.wait();
- } catch (InterruptedException e) {
- throw new IOException("Could not wait...");
- }
- }
+ public String getClientName() {
+ return client.getName();
}
- protected void fireReaderStart(FeedReaderEvent e) {
- for (FeedReaderListener listener : listenerList.getListeners(FeedReaderListener.class)) {
- listener.readerStart(e);
- }
- }
+// protected void waitLock() throws IOException {
+// synchronized (readingRunnable.lock) {
+// try {
+// readingRunnable.lock.wait();
+// } catch (InterruptedException e) {
+// throw new IOException("Could not wait...");
+// }
+// }
+// }
- protected void fireReaderStop(FeedReaderEvent e) {
- for (FeedReaderListener listener : listenerList.getListeners(FeedReaderListener.class)) {
- listener.readerStop(e);
- }
- }
-
protected void fireRecordRead(FeedReaderEvent e) {
for (FeedReaderListener listener : listenerList.getListeners(FeedReaderListener.class)) {
listener.recordRead(e);
@@ -149,9 +149,9 @@
protected class ReadingRunnable implements Runnable {
- protected final StreamConnection connection;
+ protected final DataInputStream dataInputStream;
- protected final Object lock = new Object();
+// protected final Object lock = new Object();
protected boolean stop;
@@ -159,81 +159,167 @@
this.stop = stop;
}
- public ReadingRunnable(StreamConnection connection) {
- this.connection = connection;
+ public ReadingRunnable(DataInputStream dataInputStream) {
+ this.dataInputStream = dataInputStream;
}
- protected int records;
-
@Override
public void run() {
- try {
+// try {
- if (log.isDebugEnabled()) {
- log.debug("Starting... " + this);
- }
- DataInputStream dataInputStream = connection.openDataInputStream();
+ if (log.isDebugEnabled()) {
+ log.debug("Starting... " + this);
+ }
- if (log.isDebugEnabled()) {
- log.debug("Open data stream: " + dataInputStream);
- }
+// DataInputStream dataInputStream = connection.openDataInputStream();
- synchronized (lock) {
- lock.notifyAll();
+// if (log.isDebugEnabled()) {
+// log.debug("Open data stream: " + dataInputStream);
+// }
+//
+// notifyOthers();
+
+ while (!stop) {
+
+// String result = "";
+//
+// // wait until got two \r
+//
+// int nbR = 0;
+//
+// String record = null;
+// String crc = null;
+// while (nbR != 2) {
+//
+// if (stop) {
+// break;
+// }
+// while (dataInputStream.available() > 0) {
+// if (stop) {
+// break;
+// }
+// int c = dataInputStream.read();
+//
+// if (c == '\r') {
+//
+// nbR++;
+// if (nbR == 1) {
+// record = result;
+// if (log.isDebugEnabled()) {
+// log.debug("Get record: " + record);
+// }
+// result = "";
+// } else if (nbR == 2) {
+// crc = result;
+// if (log.isDebugEnabled()) {
+// log.debug("Get crc: " + crc);
+// }
+// }
+// } else {
+//
+// result += (char) c;
+// }
+// }
+// }
+//
+// if (stop) {
+// break;
+// }
+// if (log.isDebugEnabled()) {
+// log.debug(String.format("Record: %s / %s", record, crc));
+// }
+
+
+ try {
+ FeedReaderRecord readerRecord = readRecord(dataInputStream);
+
+ if (!stop) {
+ FeedReaderEvent e = new FeedReaderEvent(FeedReader.this, readerRecord);
+ fireRecordRead(e);
+ }
+ } catch (IOException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Could not read record", e);
+ }
}
- while (!stop) {
- String result = "";
- // wait until got two \r
+ }
- int nbR = 0;
+ if (log.isInfoEnabled()) {
+ log.info("Reader thread stop..." + this);
+ }
- String record = null;
- String crc = null;
- while (nbR != 2) {
+// } catch (IOException e) {
+// if (log.isErrorEnabled()) {
+// log.error("Reading error", e);
+// }
+// } finally {
+//
+// notifyOthers();
+// }
- while (dataInputStream.available() > 0) {
- int c = dataInputStream.read();
+ }
- if (c == '\r') {
- nbR++;
- if (nbR == 1) {
- record = result;
- if (log.isDebugEnabled()) {
- log.debug("Get record: " + record);
- }
- result = "";
- } else if (nbR == 2) {
- crc = result;
- if (log.isDebugEnabled()) {
- log.debug("Get crc: " + crc);
- }
- }
- } else {
+ protected FeedReaderRecord readRecord(DataInputStream dataInputStream) throws IOException {
+ String result = "";
- result += (char) c;
+ // wait until got two \r
+
+ int nbR = 0;
+
+ String record = null;
+ String crc = null;
+ while (nbR != 2) {
+
+ if (stop) {
+ break;
+ }
+ while (dataInputStream.available() > 0) {
+ if (stop) {
+ break;
+ }
+ int c = dataInputStream.read();
+
+ if (c == '\r') {
+
+ nbR++;
+ if (nbR == 1) {
+ record = result;
+ if (log.isDebugEnabled()) {
+ log.debug("Get record: " + record);
}
+ result = "";
+ } else if (nbR == 2) {
+ crc = result;
+ if (log.isDebugEnabled()) {
+ log.debug("Get crc: " + crc);
+ }
}
- }
+ } else {
- if (log.isDebugEnabled()) {
- log.debug(String.format("Record: %s / %s", record, crc));
+ result += (char) c;
}
- FeedReaderRecord readerRecord = new FeedReaderRecord(record, crc);
- FeedReaderEvent e = new FeedReaderEvent(FeedReader.this, readerRecord);
- fireRecordRead(e);
}
+ }
- if (log.isInfoEnabled()) {
- log.info("Will stop " + this);
+ FeedReaderRecord readerRecord = null;
+
+ if (!stop) {
+
+ if (log.isDebugEnabled()) {
+ log.debug(String.format("Record: %s / %s", record, crc));
}
- } catch (IOException e) {
- if (log.isErrorEnabled()) {
- log.error("Reading error", e);
- }
+ readerRecord = new FeedReaderRecord(record, crc);
}
+ return readerRecord;
}
+
+// protected void notifyOthers() {
+// synchronized (lock) {
+// lock.notifyAll();
+// }
+// }
}
}
Modified: trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderListener.java
===================================================================
--- trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderListener.java 2014-01-29 17:47:27 UTC (rev 1538)
+++ trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderListener.java 2014-01-29 17:49:21 UTC (rev 1539)
@@ -27,6 +27,8 @@
import java.util.EventListener;
/**
+ * To listen records from the ichtyometer.
+ * <p/>
* Created on 1/24/14.
*
* @author Tony Chemit <chemit(a)codelutin.com>
@@ -34,10 +36,6 @@
*/
public interface FeedReaderListener extends EventListener {
- void readerStart(FeedReaderEvent event);
-
- void readerStop(FeedReaderEvent event);
-
void recordRead(FeedReaderEvent event);
}
Modified: trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecord.java
===================================================================
--- trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecord.java 2014-01-29 17:47:27 UTC (rev 1538)
+++ trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecord.java 2014-01-29 17:49:21 UTC (rev 1539)
@@ -41,90 +41,83 @@
/** Logger. */
private static final Log log = LogFactory.getLog(FeedReaderRecord.class);
- protected float length;
+ protected final String record;
- protected float weight;
+ protected final String crc;
- protected String species;
+ protected final String computedCrc;
- protected String cruise;
+ protected final Float length;
- protected String station;
+ protected boolean valid;
- protected String pan;
-
- protected String sizeClass;
-
- protected String gender;
-
- protected String text;
-
- protected final String record;
-
- protected final String crc;
-
public static String computeCRC(String record) {
// use long because int are signed and add doesn't work correctly
long checksum = 0;
+ // to keep using 4 octets (32bites)
long mask = 0b0000000000000000000000000000000011111111111111111111111111111111L;
for (int i = 0, recordLength = record.length(); i < recordLength; i++) {
+ // keep only the first 32 bites
checksum = checksum & mask;
+ // get msb bite value
long msb = checksum >> 31;
log.debug(String.format("i=%4d char=%s(int:%3d) incoming checksum=%10d msb=%d bits=%33s", i, record.charAt(i), (int) record.charAt(i), checksum, msb, Long.toBinaryString(checksum)));
- // get msb
-
// logical shift left
checksum <<= 1;
log.debug(String.format("After lef shift : %33s", Long.toBinaryString(checksum)));
- // MSB becomes LSB
+ // rotates msb to lsb
checksum += msb;
log.debug(String.format("After add smb : %33s", Long.toBinaryString(checksum)));
- // add new car
+ // add new caracter
checksum += record.charAt(i);
log.debug(String.format("After add car : %33s", Long.toBinaryString(checksum)));
}
+ // get a hexadecimal on 32bites -> 8 hexadecimal caracters
String hex = Long.toHexString(checksum).toUpperCase();
log.debug("checksum= " + checksum);
return hex;
}
- public static FeedReaderRecord newRecord(String record, String crc) {
+ public FeedReaderRecord(String record, String crc) {
+ this.record = record;
+ this.crc = crc;
+ this.computedCrc = computeCRC(record);
- // do the crc check
-// record = record.trim();
+ Float length;
+ try {
+ String[] cells = record.split("\\s*,\\s*");
+ String lengthCell = cells[0];
+ // remove any spaces
+ lengthCell = lengthCell.replaceAll("\\s*", "");
- String checksum = computeCRC(record);
+ // remove any starting 0
+ lengthCell = lengthCell.replaceAll("^0*", "");
- if (log.isInfoEnabled()) {
- log.info("Incoming crc: " + crc);
- log.info("Computed crc: " + checksum);
+ length = Float.valueOf(lengthCell) / 10;
+ } catch (Exception e) {
+ if (log.isErrorEnabled()) {
+ log.error("Could not get length from " + record, e);
+ }
+ length = null;
}
+ this.length = length;
- if (!crc.equals(checksum)) {
- throw new IllegalArgumentException("Invalid record (" + record + "), CRC verification failed");
- }
- FeedReaderRecord result = new FeedReaderRecord(record, crc);
- return result;
+ //FIXME Uncomment when computedCrc will be ok
+ this.valid = length != null; /*&& crc.equals(computedCrc);*/
}
- protected FeedReaderRecord(String record, String crc) {
- this.record = record;
- this.crc = crc;
- }
-
public boolean isValid() {
- //TODO crc check
- return true;
+ return valid;
}
public String getRecord() {
@@ -135,11 +128,22 @@
return crc;
}
+ public String getComputedCrc() {
+ return computedCrc;
+ }
+
+ public Float getLength() {
+ return length;
+ }
+
@Override
public String toString() {
return new ToStringBuilder(this)
.append("record", record)
.append("crc", crc)
+ .append("computedCrc", computedCrc)
+ .append("valid", valid)
+ .append("length", length)
.toString();
}
}
Modified: trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/IchtyometerClientTest.java
===================================================================
--- trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/IchtyometerClientTest.java 2014-01-29 17:47:27 UTC (rev 1538)
+++ trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/IchtyometerClientTest.java 2014-01-29 17:49:21 UTC (rev 1539)
@@ -51,7 +51,7 @@
};
IchtyometerClient client = new IchtyometerClient();
try {
- client.open(remoteDeviceChooser);
+ client.open(remoteDeviceChooser, );
client.close();
} catch (IOException e) {
Assume.assumeTrue("Could not connect to remote device", true);
Modified: trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderTest.java
===================================================================
--- trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderTest.java 2014-01-29 17:47:27 UTC (rev 1538)
+++ trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderTest.java 2014-01-29 17:49:21 UTC (rev 1539)
@@ -63,7 +63,7 @@
client = new IchtyometerClient();
try {
- client.open(remoteDeviceChooser);
+ client.open(remoteDeviceChooser, );
} catch (IOException e) {
Assume.assumeTrue("Could not connect to remote device", false);
}
@@ -83,17 +83,8 @@
FeedReader reader = new FeedReader();
FeedReaderListener listener = new FeedReaderListener() {
- @Override
- public void readerStart(FeedReaderEvent event) {
- log.info("Reader " + event.getSource() + " is ready to rock!");
- }
@Override
- public void readerStop(FeedReaderEvent event) {
- log.info("Reader " + event.getSource() + " is going to bed now!");
- }
-
- @Override
public void recordRead(FeedReaderEvent event) {
log.info("Reader " + event.getSource() + " read : " + event.getRecord());
}
Modified: trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngineTest.java
===================================================================
--- trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngineTest.java 2014-01-29 17:47:27 UTC (rev 1538)
+++ trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngineTest.java 2014-01-29 17:49:21 UTC (rev 1539)
@@ -64,7 +64,7 @@
client = new IchtyometerClient();
try {
- client.open(remoteDeviceChooser);
+ client.open(remoteDeviceChooser, );
} catch (IOException e) {
if (log.isErrorEnabled()) {
log.error("Could not connect to bigfin", e);
1
0
r1538 - in trunk/tutti-ui-swing: . src/main/filtered-resources src/main/help/fr src/main/java/fr/ifremer/tutti/ui/swing src/main/java/fr/ifremer/tutti/ui/swing/action src/main/java/fr/ifremer/tutti/ui/swing/content src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency src/main/resources/i18n
by tchemit@users.forge.codelutin.com 29 Jan '14
by tchemit@users.forge.codelutin.com 29 Jan '14
29 Jan '14
Author: tchemit
Date: 2014-01-29 18:47:27 +0100 (Wed, 29 Jan 2014)
New Revision: 1538
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1538
Log:
refs #3875: Import des mensurations en continue depuis un ictyom?\195?\168tre
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ConnectIchtyometerAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/DisconnectIchtyometerAction.java
Modified:
trunk/tutti-ui-swing/pom.xml
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
trunk/tutti-ui-swing/src/main/help/fr/menu.html
trunk/tutti-ui-swing/src/main/help/fr/navbar.js
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/content/MainUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/pom.xml 2014-01-29 17:47:27 UTC (rev 1538)
@@ -105,6 +105,11 @@
<artifactId>tutti-service</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>tutti-ichtyometer</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<!-- Ifremer shared -->
<dependency>
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-01-29 17:47:27 UTC (rev 1538)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Tue Jan 21 11:51:19 CET 2014
+#Wed Jan 29 07:36:56 CET 2014
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -320,8 +320,12 @@
tutti.main.menu.action.showHelp.help=menu.html\#menu_aide
tutti.main.menu.action.site.help=menu.html\#menu_aide
tutti.main.menu.action.updateApplication.help=menu.html\#menu_fichier
+tutti.main.menu.action.connectIchtyometer.help=menu.html\#menu_fichier
+tutti.main.menu.action.disconnectIchtyometer.help=menu.html\#menu_fichier
tutti.main.menu.action.updateReport.help=menu.html\#menu_fichier
tutti.main.menu.action.validateCatches.help=menu.html\#menu_action
+tutti.main.status.ichtyometer.help=menu.html\#status
+tutti.main.status.validation.help=menu.html\#status
tutti.manageTemporaryReferential.action.exportTemporaryGearExample.help=menu.html\#menu_administration_referentiel
tutti.manageTemporaryReferential.action.exportTemporaryPersonExample.help=menu.html\#menu_administration_referentiel
tutti.manageTemporaryReferential.action.exportTemporarySpeciesExample.help=menu.html\#menu_administration_referentiel
Modified: trunk/tutti-ui-swing/src/main/help/fr/menu.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/menu.html 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/src/main/help/fr/menu.html 2014-01-29 17:47:27 UTC (rev 1538)
@@ -72,6 +72,14 @@
<a name="menu_fichier_mise_a_jour_rapport"></a>
Permet de vérifier les mises à jour des rapports utilisés dans l'aplication.<br>
+<h3>Se connecter à un ichtyomètre</h3>
+<a name="menu_fichier_connection_ichtyometre"></a>
+Permet de se connecter à un ichtyomètre de type BigFin pour ensuite pouvoir récupérer en temps réel les mesures effectués dans l'écran des mensurations.<br>
+
+<h3>Se déconnecter d'un ichtyomètre</h3>
+<a name="menu_fichier_decconnection_ichtyometre"></a>
+Permet de ne plus écouter un ichtyomètre.<br>
+
<h3>Gestionnaire de base</h3>
<a name="menu_fichier_gestionnaire_base"></a>
Modified: trunk/tutti-ui-swing/src/main/help/fr/navbar.js
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/navbar.js 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/src/main/help/fr/navbar.js 2014-01-29 17:47:27 UTC (rev 1538)
@@ -39,6 +39,8 @@
document.write(' <li><a href="menu.html#menu_fichier_configuration">Configuration</a></li>');
document.write(' <li><a href="menu.html#menu_fichier_mise_a_jour_logicelle">Vérifier les mises à jour logicielles</a></li>');
document.write(' <li><a href="menu.html#menu_fichier_mise_a_jour_rapport">Vérifier les mises à jour des rapports</a></li>');
+document.write(' <li><a href="menu.html#menu_fichier_connection_ichtyometre">Se connecter à un ichtyomètre</a></li>');
+document.write(' <li><a href="menu.html#menu_fichier_deconnection_ichtyometre">Se déconnecter d'un ichtyomètre</a></li>');
document.write(' <li><a href="menu.html#menu_fichier_gestionnaire_base">Gestionnaire de bases</a></li>');
document.write(' <li><a href="menu.html#menu_fichier_quitter">Quitter</a></li>');
document.write(' </ul>');
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 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2014-01-29 17:47:27 UTC (rev 1538)
@@ -38,6 +38,7 @@
import fr.ifremer.shared.application.swing.action.ApplicationActionUI;
import fr.ifremer.shared.application.swing.util.ApplicationErrorHelper;
import fr.ifremer.tutti.TuttiConfiguration;
+import fr.ifremer.tutti.ichtyometer.feed.FeedReader;
import fr.ifremer.tutti.persistence.RessourceClassLoader;
import fr.ifremer.tutti.service.ClosedPersistenceService;
import fr.ifremer.tutti.service.DecoratorService;
@@ -129,6 +130,8 @@
public static final String PROPERTY_VALIDATION_CONTEXT = "validationContext";
+ public static final String PROPERTY_ICHTYOMETER_CONNECTED = "ichtyometerConnected";
+
public static final String PROPERTY_BUSY = "busy";
public static final String PROPERTY_HIDE_BODY = "hideBody";
@@ -267,8 +270,20 @@
private final ApplicationActionEngine tuttiActionEngine;
+ /**
+ * To keep authentication credential in memory.
+ *
+ * @since 3.1
+ */
private final Map<String, AuthenticationInfo> updateAuthenticationStore;
+ /**
+ * Ichtyometer Reader.
+ *
+ * @since 3.1
+ */
+ private FeedReader ichtyometerReader;
+
public static TuttiUIContext newContext(TuttiConfiguration config) {
Preconditions.checkNotNull(config);
Preconditions.checkState(applicationContext == null,
@@ -545,6 +560,7 @@
setScreen(null);
IOUtils.closeQuietly(serviceContext);
+ IOUtils.closeQuietly(ichtyometerReader);
// remove listeners
PropertyChangeListener[] listeners = getPropertyChangeListeners();
@@ -716,8 +732,6 @@
public void clearDbContext() {
dataContext.clearContext();
-
-// saveContextToConfig();
}
public void checkDbContext() {
@@ -793,6 +807,27 @@
return actionUI;
}
+ public ApplicationActionUI getExistingActionUI() {
+ while (actionUI == null) {
+
+ try {
+ Thread.sleep(50);
+ } catch (InterruptedException e) {
+ // ignore this one
+ }
+ }
+ return actionUI;
+ }
+
+ public ApplicationActionUI getExistingActionUIWhenMainUINotNull() {
+ ApplicationActionUI result = null;
+ if (mainUI != null) {
+ result = getExistingActionUI();
+ }
+ return result;
+ }
+
+
public void setActionUI(ApplicationActionUI actionUI) {
this.actionUI = actionUI;
}
@@ -948,6 +983,23 @@
}
//------------------------------------------------------------------------//
+ //-- Ichtyometer methods --//
+ //------------------------------------------------------------------------//
+
+ public FeedReader getIchtyometerReader() {
+ return ichtyometerReader;
+ }
+
+ public void setIchtyometerReader(FeedReader ichtyometerReader) {
+ this.ichtyometerReader = ichtyometerReader;
+ firePropertyChange(PROPERTY_ICHTYOMETER_CONNECTED, null, isIchtyometerConnected());
+ }
+
+ public boolean isIchtyometerConnected() {
+ return ichtyometerReader != null;
+ }
+
+ //------------------------------------------------------------------------//
//-- Other methods --//
//------------------------------------------------------------------------//
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ConnectIchtyometerAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ConnectIchtyometerAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ConnectIchtyometerAction.java 2014-01-29 17:47:27 UTC (rev 1538)
@@ -0,0 +1,90 @@
+package fr.ifremer.tutti.ui.swing.action;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL:$
+ * %%
+ * Copyright (C) 2012 - 2014 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.shared.application.ApplicationBusinessException;
+import fr.ifremer.tutti.ichtyometer.IchtyometerClient;
+import fr.ifremer.tutti.ichtyometer.LocalDeviceNotFoundException;
+import fr.ifremer.tutti.ichtyometer.RemoteDeviceChooser;
+import fr.ifremer.tutti.ichtyometer.RemoteDeviceNotFoundException;
+import fr.ifremer.tutti.ichtyometer.RemoteDeviceServiceNotFoundException;
+import fr.ifremer.tutti.ichtyometer.feed.FeedReader;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
+
+import javax.swing.JOptionPane;
+import java.util.Set;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Establish a connection to an ichtyometer.
+ * <p/>
+ * Created on 1/29/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.1
+ */
+public class ConnectIchtyometerAction extends AbstractMainUITuttiAction {
+
+ public ConnectIchtyometerAction(MainUIHandler handler) {
+ super(handler, false);
+ }
+
+ @Override
+ public void doAction() throws Exception {
+
+ IchtyometerClient client = new IchtyometerClient();
+
+ RemoteDeviceChooser remoteDeviceChooser = new RemoteDeviceChooser() {
+ @Override
+ public String chooseRemoteDevice(Set<String> remoteDeviceNames) {
+ String selectedDevice = (String) JOptionPane.showInputDialog(
+ getContext().getExistingActionUI(),
+ _("tutti.ichtyometer.choose.remote.device.found"),
+ _("tutti.ichtyometer.title.choose.remote.device"),
+ JOptionPane.QUESTION_MESSAGE,
+ null,
+ remoteDeviceNames.toArray(new String[remoteDeviceNames.size()]),
+ null
+ );
+ return selectedDevice;
+ }
+ };
+ try {
+ client.open(remoteDeviceChooser);
+ } catch (LocalDeviceNotFoundException e) {
+ throw new ApplicationBusinessException(_("tutti.ichtyometer.error.no.local.device"));
+ } catch (RemoteDeviceNotFoundException e) {
+ throw new ApplicationBusinessException(_("tutti.ichtyometer.error.no.remote.device"));
+ } catch (RemoteDeviceServiceNotFoundException e) {
+ throw new ApplicationBusinessException(_("tutti.ichtyometer.error.no.remote.device.service"));
+ }
+ FeedReader ichtyometerReader = new FeedReader();
+ ichtyometerReader.start(client);
+ sendMessage(_("tutti.ichtyometer.connection.establish", client.getName()));
+
+ getContext().setIchtyometerReader(ichtyometerReader);
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ConnectIchtyometerAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/DisconnectIchtyometerAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/DisconnectIchtyometerAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/DisconnectIchtyometerAction.java 2014-01-29 17:47:27 UTC (rev 1538)
@@ -0,0 +1,58 @@
+package fr.ifremer.tutti.ui.swing.action;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL:$
+ * %%
+ * Copyright (C) 2012 - 2014 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.ichtyometer.feed.FeedReader;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
+import org.apache.commons.io.IOUtils;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Close the connection to ichtyometer.
+ * <p/>
+ * Created on 1/29/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.1
+ */
+public class DisconnectIchtyometerAction extends AbstractMainUITuttiAction {
+
+ public DisconnectIchtyometerAction(MainUIHandler handler) {
+ super(handler, false);
+ }
+
+ @Override
+ public void doAction() throws Exception {
+
+ FeedReader ichtyometerReader = getContext().getIchtyometerReader();
+
+ // there is a feed reader, stop it now
+ IOUtils.closeQuietly(ichtyometerReader);
+ getContext().setIchtyometerReader(null);
+
+ sendMessage(_("tutti.ichtyometer.connection.stop", ichtyometerReader.getClientName()));
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/DisconnectIchtyometerAction.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/content/MainUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2014-01-29 17:47:27 UTC (rev 1538)
@@ -89,6 +89,26 @@
_help: {"tutti.main.menu.action.updateReport.help"};
}
+#menuFileConnectIchtyometer {
+ actionIcon: bluetooth-down;
+ text: "tutti.main.action.connectIchtyometer";
+ toolTipText: "tutti.main.action.connectIchtyometer.tip";
+ i18nMnemonic: "tutti.main.action.connectIchtyometer.mnemonic";
+ visible: {!model.isIchtyometerConnected()};
+ _applicationAction: {fr.ifremer.tutti.ui.swing.action.ConnectIchtyometerAction.class};
+ _help: {"tutti.main.menu.action.connectIchtyometer.help"};
+}
+
+#menuFileDisconnectIchtyometer {
+ actionIcon: bluetooth-up;
+ text: "tutti.main.action.disconnectIchtyometer";
+ toolTipText: "tutti.main.action.disconnectIchtyometer.tip";
+ i18nMnemonic: "tutti.main.action.disconnectIchtyometer.mnemonic";
+ visible: {model.isIchtyometerConnected()};
+ _applicationAction: {fr.ifremer.tutti.ui.swing.action.DisconnectIchtyometerAction.class};
+ _help: {"tutti.main.menu.action.disconnectIchtyometer.help"};
+}
+
#menuFileManageDb {
actionIcon: manage-db;
text: "tutti.main.action.manageDb";
@@ -260,8 +280,17 @@
#validatorMessageWidget {
focusPainted: false;
+ _help: {"tutti.main.status.validation.help"};
}
+#ichtyometerStatus {
+ actionIcon: "bluetooth-up";
+ disabledIcon: {jaxx.runtime.SwingUtil.createActionIcon("bluetooth-down")};
+ enabled: {model.isIchtyometerConnected()};
+ toolTipText: {handler.getIchtyometerStatusTip(model.isIchtyometerConnected())};
+ _help: {"tutti.main.status.ichtyometer.help"};
+}
+
#showHelp {
actionIcon:"show-help";
toolTipText:"tutti.main.action.showHelp.tip";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2014-01-29 17:47:27 UTC (rev 1538)
@@ -42,27 +42,17 @@
java.awt.BorderLayout
</import>
- <TuttiUIContext id='model'
- initializer='getContextValue(TuttiUIContext.class)'/>
- <!--<MainUIHandler id='handler'-->
- <!--initializer='getContextValue(MainUIHandler.class)'/>-->
- <TuttiHelpBroker id='broker'
- constructorParams='"tutti.main.help"'/>
+ <TuttiUIContext id='model' initializer='getContextValue(TuttiUIContext.class)'/>
+ <TuttiHelpBroker id='broker' constructorParams='"tutti.main.help"'/>
+
<BlockingLayerUI id='busyBlockLayerUI'/>
<script><![CDATA[
public MainUI(TuttiUIContext context) {
TuttiUIUtil.setApplicationContext(this, context);
- //setContextValue(context);
- //MainUIHandler handler = new MainUIHandler(context, this);
- //setContextValue(handler);
- //handler.beforeInitUI();
}
- /*protected void $afterCompleteSetup() {
- handler.afterInitUI();
- }*/
]]></script>
<!-- menu -->
@@ -72,6 +62,9 @@
<JMenuItem id='menuFileUpdateApplication'/>
<JMenuItem id='menuFileUpdateReport'/>
<JSeparator/>
+ <JMenuItem id='menuFileConnectIchtyometer'/>
+ <JMenuItem id='menuFileDisconnectIchtyometer'/>
+ <JSeparator/>
<JMenuItem id='menuFileManageDb'/>
<JSeparator/>
<JMenuItem id='menuFileExit'/>
@@ -106,6 +99,7 @@
</JMenuBar>
<JToolBar id='bottomBar'>
+ <JLabel id='ichtyometerStatus'/>
<SwingValidatorMessageWidget id='validatorMessageWidget'/>
</JToolBar>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2014-01-29 17:47:27 UTC (rev 1538)
@@ -28,6 +28,7 @@
import fr.ifremer.shared.application.swing.action.ApplicationActionUI;
import fr.ifremer.shared.application.swing.util.CloseableUI;
import fr.ifremer.tutti.TuttiConfiguration;
+import fr.ifremer.tutti.ichtyometer.feed.FeedReader;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
@@ -96,6 +97,16 @@
}
}
+ public String getIchtyometerStatusTip(boolean connected) {
+ String result;
+ if (connected) {
+ FeedReader ichtyometerReader = getModel().getIchtyometerReader();
+ result =_("tutti.ichtyometer.status.connected.tip", ichtyometerReader.getClientName());
+ } else {
+ result=_("tutti.ichtyometer.status.not.connected.tip");
+ }
+ return result;
+ }
//------------------------------------------------------------------------//
//-- AbstractTuttiUIHandler methods --//
//------------------------------------------------------------------------//
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 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2014-01-29 17:47:27 UTC (rev 1538)
@@ -27,13 +27,18 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
+import fr.ifremer.shared.application.ApplicationBusinessException;
import fr.ifremer.shared.application.swing.util.Cancelable;
import fr.ifremer.shared.application.type.WeightUnit;
+import fr.ifremer.tutti.ichtyometer.feed.FeedReaderEvent;
+import fr.ifremer.tutti.ichtyometer.feed.FeedReaderListener;
+import fr.ifremer.tutti.ichtyometer.feed.FeedReaderRecord;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel;
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.TuttiUIContext;
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.FrequencyConfigurationMode;
@@ -90,11 +95,34 @@
*/
protected WeightUnit weightUnit;
+ /**
+ * To consume measures when they arrive from the ichtyometer.
+ */
+ protected final FeedReaderListener feedReaderListener;
+
public SpeciesFrequencyUIHandler() {
super(SpeciesFrequencyRowModel.PROPERTY_LENGTH_STEP,
SpeciesFrequencyRowModel.PROPERTY_NUMBER,
SpeciesFrequencyRowModel.PROPERTY_WEIGHT);
+ this.feedReaderListener = new FeedReaderListener() {
+
+ @Override
+ public void recordRead(FeedReaderEvent event) {
+
+ final FeedReaderRecord record = event.getRecord();
+
+ SwingUtilities.invokeLater(
+ new Runnable() {
+ @Override
+ public void run() {
+ consumeFeedRecord(record);
+ }
+ }
+ );
+ }
+ };
+
}
//------------------------------------------------------------------------//
@@ -212,6 +240,20 @@
weightUnit, sampleCategoryModel);
this.ui.setContextValue(model);
+
+ // listen when ichtyometer is connected or not and adjust the listener
+ getContext().addPropertyChangeListener(TuttiUIContext.PROPERTY_ICHTYOMETER_CONNECTED, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ boolean connected = (boolean) evt.getNewValue();
+
+ if (connected && SpeciesFrequencyUIHandler.this.frequencyEditor != null) {
+
+ // listen when itchtyometer is connected and this ui is showing
+ listenItchtyometer();
+ }
+ }
+ });
}
@Override
@@ -261,7 +303,7 @@
e.consume();
Float step = (Float) SpeciesFrequencyUIHandler.this.ui.getRafaleStepField().getModel();
- applyRafaleStep(step);
+ applyRafaleStep(step, false);
//select text
JTextField field = (JTextField) e.getSource();
@@ -387,6 +429,11 @@
EditCatchesUI parent = getParentContainer(EditCatchesUI.class);
parent.getHandler().setSpeciesSelectedCard(EditCatchesUIHandler.MAIN_CARD);
+
+ if (getContext().isIchtyometerConnected()) {
+
+ getContext().getIchtyometerReader().removeFeedModeReaderListener(feedReaderListener);
+ }
}
//------------------------------------------------------------------------//
@@ -428,7 +475,7 @@
int response = JOptionPane.showConfirmDialog(
getTopestUI(),
editor,
- _("tutti.editBenthosFrequencies.title.addLengthStepCaracteristic"),
+ _("tutti.editSpeciesFrequencies.title.addLengthStepCaracteristic"),
JOptionPane.OK_CANCEL_OPTION);
Caracteristic selectedItem;
@@ -479,7 +526,7 @@
TuttiUIUtil.doSelectCell(getUI().getTable(), 0, 1);
}
- public void applyRafaleStep(Float step) {
+ public void applyRafaleStep(Float step, boolean fromIchtyometer) {
if (log.isDebugEnabled()) {
log.debug("Will apply rafale step: " + step);
@@ -528,6 +575,10 @@
model.setTotalNumber(totalNumber + 1);
getTable().scrollRowToVisible(rowIndex);
+
+ if (fromIchtyometer) {
+ showInformationMessage(_("tutti.editSpeciesFrequencies.addMeasure", step, aroundLengthStep));
+ }
}
public void editBatch(FrequencyCellEditor editor) {
@@ -634,6 +685,12 @@
}
}
}
+
+ if (getContext().isIchtyometerConnected()) {
+
+ // let's listen the ichtyometer
+ listenItchtyometer();
+ }
}
if (log.isDebugEnabled()) {
@@ -721,6 +778,28 @@
//-- Internal methods --//
//------------------------------------------------------------------------//
+ protected void consumeFeedRecord(FeedReaderRecord record) {
+ if (record.isValid()) {
+
+ float length = record.getLength();
+ applyRafaleStep(length, true);
+ } else {
+ throw new ApplicationBusinessException(
+ _("tutti.editSpeciesFrequencies.error.itchyometer.bad.record",
+ record.getRecord(), record.getCrc(), record.getComputedCrc()));
+ }
+ }
+
+ protected void listenItchtyometer() {
+
+ // always remove the listener before adding it to be sure it will not be there twice
+ getContext().getIchtyometerReader().removeFeedModeReaderListener(feedReaderListener);
+ if (log.isInfoEnabled()) {
+ log.info("Start listen ichtyometer");
+ }
+ getContext().getIchtyometerReader().addFeedModeReaderListener(feedReaderListener);
+ }
+
protected void recomputeTotalNumberAndWeight() {
SpeciesFrequencyUIModel model = getModel();
List<SpeciesFrequencyRowModel> rows = model.getRows();
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-01-29 17:47:27 UTC (rev 1538)
@@ -971,6 +971,9 @@
tutti.editSpeciesBatch.action.exportMultiPost.mnemonic=
tutti.editSpeciesBatch.action.exportMultiPost.success=
tutti.editSpeciesBatch.action.exportMultiPost.tip=
+tutti.editSpeciesBatch.action.ichtyometer=
+tutti.editSpeciesBatch.action.ichtyometer.mnemonic=
+tutti.editSpeciesBatch.action.ichtyometer.tip=
tutti.editSpeciesBatch.action.importMultiPost=
tutti.editSpeciesBatch.action.importMultiPost.mnemonic=
tutti.editSpeciesBatch.action.importMultiPost.sourceFile.button=
@@ -1075,9 +1078,11 @@
tutti.editSpeciesFrequencies.action.saveAndContinue=
tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic=
tutti.editSpeciesFrequencies.action.saveAndContinue.tip=
+tutti.editSpeciesFrequencies.addMeasure=
tutti.editSpeciesFrequencies.askBeforeSave.help=
tutti.editSpeciesFrequencies.askBeforeSave.message=
tutti.editSpeciesFrequencies.askBeforeSave.title=
+tutti.editSpeciesFrequencies.error.itchyometer.bad.record=
tutti.editSpeciesFrequencies.error.length.doublon=
tutti.editSpeciesFrequencies.field.lengthStepCaracteristic=
tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip=
@@ -1102,12 +1107,14 @@
tutti.editSpeciesFrequencies.field.totalNumber.tip=
tutti.editSpeciesFrequencies.field.totalWeight=
tutti.editSpeciesFrequencies.field.totalWeight.tip=
+tutti.editSpeciesFrequencies.ichtyometerConnected=
tutti.editSpeciesFrequencies.label.no.configuration=
tutti.editSpeciesFrequencies.simpleCountingAndFrequencies=
tutti.editSpeciesFrequencies.table.header.lengthStep=
tutti.editSpeciesFrequencies.table.header.number=
tutti.editSpeciesFrequencies.table.header.weight=
tutti.editSpeciesFrequencies.title=
+tutti.editSpeciesFrequencies.title.addLengthStepCaracteristic=
tutti.error.delete.startActionFile=Could not delete start action file %s
tutti.error.read.startActionFile=Could not read start action file content %s
tutti.error.update.bad.url.syntax=
@@ -1185,6 +1192,18 @@
tutti.help.mkDir.error=
tutti.i18n.deleteCache.error=
tutti.i18n.mkDir.error=
+tutti.ichtyometer.choose.remote.device.found=
+tutti.ichtyometer.connection.establish=
+tutti.ichtyometer.connection.stop=
+tutti.ichtyometer.error.no.local.device=
+tutti.ichtyometer.error.no.remote.device=
+tutti.ichtyometer.error.no.remote.device.service=
+tutti.ichtyometer.status.connected.tip=
+tutti.ichtyometer.status.not.connected.tip=
+tutti.ichtyometer.status.start=
+tutti.ichtyometer.status.stop=
+tutti.ichtyometer.status.tip=
+tutti.ichtyometer.title.choose.remote.device=
tutti.importDb.step.check.dbContext=
tutti.importDb.step.checkSchemaVersion=
tutti.importDb.step.closeDb=
@@ -1227,6 +1246,12 @@
tutti.main.action.configuration=
tutti.main.action.configuration.mnemonic=
tutti.main.action.configuration.tip=
+tutti.main.action.connectIchtyometer=
+tutti.main.action.connectIchtyometer.mnemonic=
+tutti.main.action.connectIchtyometer.tip=
+tutti.main.action.disconnectIchtyometer=
+tutti.main.action.disconnectIchtyometer.mnemonic=
+tutti.main.action.disconnectIchtyometer.tip=
tutti.main.action.editCatches=
tutti.main.action.editCatches.mnemonic=
tutti.main.action.editCatches.tip=
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-01-29 17:41:11 UTC (rev 1537)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-01-29 17:47:27 UTC (rev 1538)
@@ -974,7 +974,7 @@
tutti.editSpeciesBatch.action.importPsion.existingData.title=Données existantes
tutti.editSpeciesBatch.action.importPsion.invalidSampleCategoryModel.message=<html><body>Le modèle de catégorisation n'est pas compatible pour un import psion.<br> Il manque les catégories suivantes \: <ul>%s</ul><hr/>Veuillez ajouter cette catégorie dans la configuration de catégorisation (menu administration).</body></html>
tutti.editSpeciesBatch.action.importPsion.invalidSampleCategoryModel.title=Modèle de catégorisation non compatible
-tutti.editSpeciesBatch.action.importPsion.mnemonic=P
+tutti.editSpeciesBatch.action.importPsion.mnemonic=m
tutti.editSpeciesBatch.action.importPsion.no.matching.data=Import psion non réalisé (des erreurs ont été détectées lors de la lecture du fichier)
tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation=L'import Psion n'a pas été réalisé, des erreurs ont été détectées \:<ul>%s</ul><br/>Aucun lot n'a donc été importé.
tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation.title=Import Psion
@@ -986,7 +986,7 @@
tutti.editSpeciesBatch.action.importPupitri.existingData.title=Données existantes
tutti.editSpeciesBatch.action.importPupitri.invalidSampleCategoryModel.message=<html><body>Le modèle de catégorisation n'est pas compatible pour un import pupitri.<br> Il manque les catégories suivantes \: <ul>%s</ul><hr/>Veuillez ajouter cette catégorie dans la configuration de catégorisation (menu administration).</body></html>
tutti.editSpeciesBatch.action.importPupitri.invalidSampleCategoryModel.title=Modèle de catégorisation non compatible
-tutti.editSpeciesBatch.action.importPupitri.mnemonic=I
+tutti.editSpeciesBatch.action.importPupitri.mnemonic=u
tutti.editSpeciesBatch.action.importPupitri.no.matching.data=Import pupitri non réalisé (Les identifiants de Station et/ ou de Date du trait ne correspondent pas)
tutti.editSpeciesBatch.action.importPupitri.no.matching.fishingOperation=L'application n'a pas trouvé dans les fichiers Trunk et Carrousel les identifiants de Station et/ou de Date du trait en cours de saisie.<br/>Aucun lot n'a donc été importé.
tutti.editSpeciesBatch.action.importPupitri.no.matching.fishingOperation.title=Import Pupitri
@@ -1066,9 +1066,11 @@
tutti.editSpeciesFrequencies.action.saveAndContinue=Enregistrer et Continuer
tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic=C
tutti.editSpeciesFrequencies.action.saveAndContinue.tip=Enregistrer les mensurations et saisir les mensurations pour le lot suivant
+tutti.editSpeciesFrequencies.addMeasure=Ajout d'un individu de taille <strong>%s</strong> (classe de taille <strong>%s</strong>)
tutti.editSpeciesFrequencies.askBeforeSave.help=Que voulez-vous faire?<ul><li><strong>Non</strong> pour rester sur cet écran</li><li><strong>Oui</strong> pour enregisrer les mensurations avec poids</li></ul>
tutti.editSpeciesFrequencies.askBeforeSave.message=La saisie comporte des classes de taille avec et sans poids associés.<br/><strong>Seules les classes de taille avec poids seront dans ce cas sauvegardées.</strong>
tutti.editSpeciesFrequencies.askBeforeSave.title=Confirmer l'enregistrement des mensurations
+tutti.editSpeciesFrequencies.error.itchyometer.bad.record=La mesure provenant de l'ichtyomètre n'est pas valide (la donnée est peut-être corrompue) \:<br/><ul><li>Enregistrement \: <strong>%s</strong></li><li>CRC \: <strong>%s</strong></li><li>CRC calculé \: <strong>%s</strong></li></ul>
tutti.editSpeciesFrequencies.error.length.doublon=La classe de taille <strong>%s</strong> est utilisée plusieurs fois (deuxième occurrence trouvée à la ligne <strong>%s</strong>), ce qui n'est pas autorisé.<hr/>Veuillez corriger cela pour pouvoir enregistrer les mensurations.
tutti.editSpeciesFrequencies.field.lengthStepCaracteristic=Type de mesure
tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip=Méthode de mensuration des individus
@@ -1093,12 +1095,14 @@
tutti.editSpeciesFrequencies.field.totalNumber.tip=Nombre total d'individus des lignes valides
tutti.editSpeciesFrequencies.field.totalWeight=Poids total
tutti.editSpeciesFrequencies.field.totalWeight.tip=Poids total des lignes valides
+tutti.editSpeciesFrequencies.ichtyometerConnected=Un ichtyomètre est connecté, les mensurations peuvent être directement renseignées depuis celui-ci.
tutti.editSpeciesFrequencies.label.no.configuration=< Pas de configuration >
tutti.editSpeciesFrequencies.simpleCountingAndFrequencies=Des mensurations ont été saisies dans le tableau. Saisir un simple dénombrement les effacera.
tutti.editSpeciesFrequencies.table.header.lengthStep=Classe de taille
tutti.editSpeciesFrequencies.table.header.number=Nombre
tutti.editSpeciesFrequencies.table.header.weight=Poids observé
tutti.editSpeciesFrequencies.title=Mensuration
+tutti.editSpeciesFrequencies.title.addLengthStepCaracteristic=Choisir une autre caractéristique
tutti.error.delete.startActionFile=Impossible de supprimer le fichier %s
tutti.error.read.startActionFile=Impossible de lire le contenu du fichier %s
tutti.error.update.bad.url.syntax=Mise à jour impossible (le format de l'url <strong>%s</strong> n'est pas valide)
@@ -1176,6 +1180,15 @@
tutti.help.mkDir.error=Erreur à la création du dossier d'aide
tutti.i18n.deleteCache.error=Erreur à la suppression du cache de l'internationalisation
tutti.i18n.mkDir.error=Erreur à la création du dossier d'internationalisation
+tutti.ichtyometer.choose.remote.device.found=Veuillez choisir le périphérique bluetooth qui correspond à l'ichtyomètre parmis ceux détectés
+tutti.ichtyometer.connection.establish=Connexion à l'ichtyomètre <strong>%s</strong> établie
+tutti.ichtyometer.connection.stop=Connexion à l'ichtyomètre <strong>%s</strong> arrêtée
+tutti.ichtyometer.error.no.local.device=Le bluetooth n'est pas activé sur la machine
+tutti.ichtyometer.error.no.remote.device=Aucun périphérique bluetooth détecté ou abandon de l'utilisateur
+tutti.ichtyometer.error.no.remote.device.service=Aucun service détecté sur le périphérique bluetooth
+tutti.ichtyometer.status.connected.tip=<html><body>L'ichtyomètre <strong>%s</strong> est connecté.</body></html>
+tutti.ichtyometer.status.not.connected.tip=<html><body>Aucun ichtyomètre connecté.</body></html>
+tutti.ichtyometer.title.choose.remote.device=Choisir l'ichtyomètre parmis les périphériques trouvés
tutti.importDb.step.check.dbContext=Vérification du context de saisie
tutti.importDb.step.checkSchemaVersion=Vérification de la version de la base
tutti.importDb.step.closeDb=Fermeture de la base
@@ -1218,6 +1231,12 @@
tutti.main.action.configuration=Configuration
tutti.main.action.configuration.mnemonic=C
tutti.main.action.configuration.tip=Configurer l'application
+tutti.main.action.connectIchtyometer=Ichtyomètre
+tutti.main.action.connectIchtyometer.mnemonic=y
+tutti.main.action.connectIchtyometer.tip=Se connecter à un ichtyomètre
+tutti.main.action.disconnectIchtyometer=Ichtyomètre
+tutti.main.action.disconnectIchtyometer.mnemonic=y
+tutti.main.action.disconnectIchtyometer.tip=Se déconnecter de l'ichtyomètre
tutti.main.action.editCatches=Saisir les captures
tutti.main.action.editCatches.mnemonic=S
tutti.main.action.editCatches.tip=Éditer les captures
1
0
29 Jan '14
See <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
Changes:
[Tony CHEMIT] fix icon for psion import
[Tony CHEMIT] fix icon for psion import
[Tony CHEMIT] fixes #4130: [TECH] Sécuriser les accès au site de données
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 3.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti-ui-swing ---
[INFO]
[INFO] --- jaxx-maven-plugin:2.7:generate (default) @ tutti-ui-swing ---
[INFO] use project compile scope class-path
[INFO] Detects 40 modified jaxx file(s).
[WARNING] JAXX detects 2 warnings :
<http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'title' in component 'dialog' : [_("tutti.createSpeciesMelag.title", weightUnit.getShortLabel())]
<http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'text' in component 'message' : [_("tutti.createSpeciesMelag.message", weightUnit.getShortLabel())]
[INFO] Generated 40 file(s) in 7.312s
[INFO]
[INFO] --- jaxx-maven-plugin:2.7:generate-help-ids (default) @ tutti-ui-swing ---
[INFO] Store detected help ids to <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Merge help ids to <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Use input file: <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] No keys to add.
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:parserJava (scan-sources) @ tutti-ui-swing ---
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
[INFO]
[INFO] >>> i18n-maven-plugin:2.5.2:gen (scan-sources) @ tutti-ui-swing >>>
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:get (get) @ tutti-ui-swing ---
[INFO] Copying tutti-ui-swing.properties to <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Copying tutti-ui-swing.properties to <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO]
[INFO] <<< i18n-maven-plugin:2.5.2:gen (scan-sources) @ tutti-ui-swing <<<
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 6/1569 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1571/1576 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] >>> i18n-maven-plugin:2.5.2:bundle (make-bundle) @ tutti-ui-swing >>>
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:collect-i18n-artifacts (collect-i18n-artifacts) @ tutti-ui-swing ---
[INFO] collected 12 i18n artifacts for locale fr_FR stored in <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] collected 12 i18n artifacts for locale en_GB stored in <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO]
[INFO] <<< i18n-maven-plugin:2.5.2:bundle (make-bundle) @ tutti-ui-swing <<<
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 4/2116 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1940/2124 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] --- license-maven-plugin:1.5:update-project-license (attach-licenses) @ tutti-ui-swing ---
[INFO]
[INFO] --- license-maven-plugin:1.5: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-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Missing file <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…> is up-to-date.
[INFO] Writing third-party file to <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Writing bundled third-party file to <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Will attach third party file from <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ui-swing ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO] Copying 101 resources
[INFO] Copying 4 resources
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 319 source files to <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>:[383,44] getSelectedValues() in javax.swing.JList has been deprecated
[WARNING] <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>: Some input files use unchecked or unsafe operations.
[WARNING] <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>: Recompile with -Xlint:unchecked for details.
[INFO] 3 warnings
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] <http://ci-ng.codelutin.com/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swin…>:[100,22] cannot find symbol
symbol: method getExistingActionUIWhenMainUINotNull()
location: variable context of type fr.ifremer.tutti.ui.swing.TuttiUIContext
[INFO] 1 error
[INFO] -------------------------------------------------------------
[JENKINS] Archiving disabled
1
0
r1537 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species
by tchemit@users.forge.codelutin.com 29 Jan '14
by tchemit@users.forge.codelutin.com 29 Jan '14
29 Jan '14
Author: tchemit
Date: 2014-01-29 18:41:11 +0100 (Wed, 29 Jan 2014)
New Revision: 1537
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1537
Log:
fix icon for psion import
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
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 2014-01-29 17:40:19 UTC (rev 1536)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2014-01-29 17:41:11 UTC (rev 1537)
@@ -253,7 +253,7 @@
}
#importPsionButton {
- actionIcon: pupitri-import;
+ actionIcon: psion-import;
text: "tutti.editSpeciesBatch.action.importPsion";
toolTipText: "tutti.editSpeciesBatch.action.importPsion.tip";
i18nMnemonic: "tutti.editSpeciesBatch.action.importPsion.mnemonic";
1
0
29 Jan '14
See <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/1199…>
Changes:
[Tony Chemit] fix icon for psion import
[Tony Chemit] fixes #4130: [TECH] Sécuriser les accès au site de données
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 3.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[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…>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti-ui-swing ---
[INFO]
[INFO] --- jaxx-maven-plugin:2.7:generate (default) @ tutti-ui-swing ---
[INFO] use project compile scope class-path
[INFO] Detects 40 modified jaxx file(s).
[WARNING] JAXX detects 2 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 'title' in component 'dialog' : [_("tutti.createSpeciesMelag.title", weightUnit.getShortLabel())]
<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 'message' : [_("tutti.createSpeciesMelag.message", weightUnit.getShortLabel())]
[INFO] Generated 40 file(s) in 7.786s
[INFO]
[INFO] --- jaxx-maven-plugin:2.7:generate-help-ids (default) @ tutti-ui-swing ---
[INFO] Store detected help ids to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] Merge help ids to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] Use input file: <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
[INFO] No keys to add.
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:parserJava (scan-sources) @ tutti-ui-swing ---
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
[INFO]
[INFO] >>> i18n-maven-plugin:2.5.2:gen (scan-sources) @ tutti-ui-swing >>>
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2: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…>
[INFO] Copying tutti-ui-swing.properties to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO]
[INFO] <<< i18n-maven-plugin:2.5.2:gen (scan-sources) @ tutti-ui-swing <<<
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 18/1569 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1571/1576 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] >>> i18n-maven-plugin:2.5.2:bundle (make-bundle) @ tutti-ui-swing >>>
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:collect-i18n-artifacts (collect-i18n-artifacts) @ tutti-ui-swing ---
[INFO] collected 12 i18n artifacts for locale fr_FR stored in <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] collected 12 i18n artifacts for locale en_GB stored in <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO]
[INFO] <<< i18n-maven-plugin:2.5.2:bundle (make-bundle) @ tutti-ui-swing <<<
[INFO]
[INFO] --- i18n-maven-plugin:2.5.2:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 17/2117 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1940/2124 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] --- license-maven-plugin:1.5:update-project-license (attach-licenses) @ tutti-ui-swing ---
[INFO]
[INFO] --- license-maven-plugin:1.5: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…>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ui-swing ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO] Copying 101 resources
[INFO] Copying 4 resources
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 319 source files to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[383,44] getSelectedValues() in javax.swing.JList has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>: Some input files use unchecked or unsafe operations.
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>: Recompile with -Xlint:unchecked for details.
[INFO] 3 warnings
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>:[100,22] cannot find symbol
symbol: method getExistingActionUIWhenMainUINotNull()
location: variable context of type fr.ifremer.tutti.ui.swing.TuttiUIContext
[INFO] 1 error
[INFO] -------------------------------------------------------------
1
0