Tutti-commits
Threads by month
- ----- 2026 -----
- August
- July
- 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 #3
by admin+ci-forge.codelutin.com@codelutin.com Jan. 27, 2014
by admin+ci-forge.codelutin.com@codelutin.com Jan. 27, 2014
Jan. 27, 2014
See <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/fr.ifremer$tutti/3/>
------------------------------------------
[...truncated 715 lines...]
[INFO] release version 3.1
[INFO] release date Mon Jan 27 12:24:47 CET 2014
[INFO] release user hudson Release Manager
[WARNING] issue [TECH] Modification de l'url de mise à jour des données is not assigned to any user, this is not normal...
[INFO] File saved in <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/fr.ifremer$tutti/ws/targ…>
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ tutti ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/fr.ifremer$tutti/ws/targ…>
[INFO] Executed tasks
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (copy tutti-application.properties to site) @ tutti ---
[WARNING] Parameter tasks is deprecated, use target instead
[INFO] Executing tasks
main:
[echo] copy tutti-application.properties to site
[copy] Copying 1 file to <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/fr.ifremer$tutti/ws/targ…>
[copy] Copying <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/fr.ifremer$tutti/ws/src/…> to <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/fr.ifremer$tutti/ws/targ…>
[INFO] Executed tasks
[INFO]
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) @ tutti >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (ensure-no-container-api) @ tutti ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-release-properties) @ tutti ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-redmine-login) @ tutti ---
[INFO] Skipping goal (runOnce flag is on and goal was already executed).
[WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo
[INFO]
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) @ tutti <<<
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ tutti ---
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (4 KB at 58.1 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.2…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.2… (4 KB at 142.6 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (3 KB at 113.3 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-components/1…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-components/1… (3 KB at 133.9 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (19 KB at 519.4 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/3.1/plexus-3…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/3.1/plexus-3… (19 KB at 865.7 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (3 KB at 42.3 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.7/…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.7/… (3 KB at 111.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (2 KB at 34.5 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.4/ple…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.4/ple… (2 KB at 76.9 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (57 KB at 849.4 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (227 KB at 2829.9 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (181 KB at 2202.9 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.2…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.4/ple…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.8/…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.4/ple… (57 KB at 2474.5 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.2… (181 KB at 5827.1 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.8/… (227 KB at 6860.3 KB/sec)
[INFO]
[INFO] --- maven-javadoc-plugin:2.9.1:jar (attach-javadocs) @ tutti ---
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s… (6 KB at 92.5 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-invoker/2…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-invoker/2… (6 KB at 256.4 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s… (4 KB at 36.4 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-co…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-co… (4 KB at 155.4 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s… (4 KB at 129.1 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-ar…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-ar… (4 KB at 164.3 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/w…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/w… (2 KB at 18.3 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-a…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-a… (2 KB at 81.8 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/w…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/w… (13 KB at 224.0 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-6…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-6… (13 KB at 549.8 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (6 KB at 108.9 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.… (6 KB at 262.4 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (15 KB at 303.4 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponent…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponent… (15 KB at 648.3 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (6 KB at 106.7 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.2.…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.2.… (6 KB at 264.3 KB/sec)
[INFO] Downloading: http://files.couchbase.com/maven2/org/apache/httpcomponents/httpcore/4.2.2/…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (12 KB at 249.0 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponent…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponent… (12 KB at 509.3 KB/sec)
[INFO] Downloading: http://files.couchbase.com/maven2/org/apache/httpcomponents/httpcomponents-…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/commons…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-codec/comm…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-codec/comm… (11 KB at 247.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons… (11 KB at 495.3 KB/sec)
[INFO] Downloading: http://files.couchbase.com/maven2/commons-codec/commons-codec/1.6/commons-c…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/log4j/l…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/log4j/log4j/1.2.14…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/log4j/log4j/1.2.14… (3 KB at 41.4 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.pom
[INFO] Downloaded: http://repo.maven.apache.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.pom (3 KB at 105.4 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/com/tho…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/com/thoughtworks/q…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/com/thoughtworks/q… (18 KB at 318.3 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/1.12.1/qdox-…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/1.12.1/qdox-… (18 KB at 781.2 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (4 KB at 63.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1… (4 KB at 175.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (3 KB at 40.2 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.2/…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.2/… (3 KB at 111.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (3 KB at 84.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.5/…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.5/… (3 KB at 116.8 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/slf…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/slf…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/slf…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/commons…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/commons…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/commons…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/log4j/l…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/com/tho…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/slf4j-jd…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/slf4j-ap…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/jcl-over…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-cli/common…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/slf4j-ap… (22 KB at 298.8 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/slf4j-jd… (9 KB at 102.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-collection…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s… (28 KB at 313.9 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/jcl-over… (17 KB at 183.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s… (31 KB at 919.1 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-codec/comm…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-cli/common… (41 KB at 313.7 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/log4j/log4j/1.2.14…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (219 KB at 1226.6 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/com/thoughtworks/q…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (423 KB at 2237.7 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-codec/comm… (228 KB at 1209.1 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-collection… (558 KB at 2643.9 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/log4j/log4j/1.2.14… (359 KB at 2110.8 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (181 KB at 2314.4 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/com/thoughtworks/q… (176 KB at 1929.7 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (226 KB at 2922.7 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over…
[INFO] Downloading: http://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.2/commons-cli…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-invoker/2…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14… (9 KB at 391.3 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over… (17 KB at 742.3 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-ar…
[INFO] Downloading: http://repo.maven.apache.org/maven2/commons-collections/commons-collections…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5… (22 KB at 948.5 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-ar… (31 KB at 1318.7 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.2.…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-invoker/2… (28 KB at 476.2 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.… (423 KB at 10315.1 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.jar
[INFO] Downloaded: http://repo.maven.apache.org/maven2/commons-collections/commons-collections… (558 KB at 13282.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/1.12.1/qdox-…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.2/commons-cli… (41 KB at 565.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.2.… (219 KB at 5745.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.5/…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/1.12.1/qdox-… (176 KB at 7024.1 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.jar (359 KB at 11213.5 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.5/… (226 KB at 6619.0 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1… (181 KB at 2578.9 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons… (228 KB at 2525.7 KB/sec)
[INFO] Downloading: http://files.couchbase.com/maven2/org/apache/httpcomponents/httpcore/4.2.2/…
[INFO] Downloading: http://files.couchbase.com/maven2/commons-codec/commons-codec/1.6/commons-c…
[INFO] Not executing Javadoc as the project is not a Java classpath-capable package
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ tutti ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-pgp-passphrase) @ tutti ---
[INFO] Exporting server [gpg-signer] username in ${gpg.keyname}
[INFO] Exporting server [gpg-signer] password in ${gpg.passphrase}
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-artifacts) @ tutti ---
[INFO] Copying pom.xml to <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/fr.ifremer$tutti/ws/targ…>
[INFO] Copying tutti-3.1-SNAPSHOT-site_fr.xml to <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/fr.ifremer$tutti/ws/targ…>
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-attachements) @ tutti ---
[WARNING] Skipping goal (No file to collect).
[INFO]
[INFO] --- maven-gpg-plugin:1.4:sign (sign-artifacts) @ tutti ---
gpg: skipped "Code Lutin": bad passphrase
gpg: signing failed: bad passphrase
[JENKINS] Archiving disabled
1
2
Jan. 27, 2014
See <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/3/>
------------------------------------------
[...truncated 787 lines...]
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (57 KB at 849.4 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (227 KB at 2829.9 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (181 KB at 2202.9 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.2…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.4/ple…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.8/…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.4/ple… (57 KB at 2474.5 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.2… (181 KB at 5827.1 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.8/… (227 KB at 6860.3 KB/sec)
[INFO]
[INFO] --- maven-javadoc-plugin:2.9.1:jar (attach-javadocs) @ tutti ---
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s… (6 KB at 92.5 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-invoker/2…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-invoker/2… (6 KB at 256.4 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s… (4 KB at 36.4 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-co…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-co… (4 KB at 155.4 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s… (4 KB at 129.1 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-ar…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-ar… (4 KB at 164.3 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/w…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/w… (2 KB at 18.3 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-a…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-a… (2 KB at 81.8 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/w…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/w… (13 KB at 224.0 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-6…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-6… (13 KB at 549.8 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (6 KB at 108.9 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.… (6 KB at 262.4 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (15 KB at 303.4 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponent…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponent… (15 KB at 648.3 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (6 KB at 106.7 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.2.…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.2.… (6 KB at 264.3 KB/sec)
[INFO] Downloading: http://files.couchbase.com/maven2/org/apache/httpcomponents/httpcore/4.2.2/…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (12 KB at 249.0 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponent…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponent… (12 KB at 509.3 KB/sec)
[INFO] Downloading: http://files.couchbase.com/maven2/org/apache/httpcomponents/httpcomponents-…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/commons…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-codec/comm…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-codec/comm… (11 KB at 247.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons… (11 KB at 495.3 KB/sec)
[INFO] Downloading: http://files.couchbase.com/maven2/commons-codec/commons-codec/1.6/commons-c…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/log4j/l…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/log4j/log4j/1.2.14…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/log4j/log4j/1.2.14… (3 KB at 41.4 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.pom
[INFO] Downloaded: http://repo.maven.apache.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.pom (3 KB at 105.4 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/com/tho…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/com/thoughtworks/q…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/com/thoughtworks/q… (18 KB at 318.3 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/1.12.1/qdox-…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/1.12.1/qdox-… (18 KB at 781.2 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (4 KB at 63.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1… (4 KB at 175.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (3 KB at 40.2 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.2/…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.2/… (3 KB at 111.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (3 KB at 84.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.5/…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.5/… (3 KB at 116.8 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/slf…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/slf…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/slf…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/commons…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/commons…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/commons…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/log4j/l…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/com/tho…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/cod…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/slf4j-jd…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/slf4j-ap…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/jcl-over…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-cli/common…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/slf4j-ap… (22 KB at 298.8 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/slf4j-jd… (9 KB at 102.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-collection…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s… (28 KB at 313.9 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/slf4j/jcl-over… (17 KB at 183.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/maven/s… (31 KB at 919.1 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-codec/comm…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-cli/common… (41 KB at 313.7 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/log4j/log4j/1.2.14…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (219 KB at 1226.6 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/com/thoughtworks/q…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpcom… (423 KB at 2237.7 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-codec/comm… (228 KB at 1209.1 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/commons-collection… (558 KB at 2643.9 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/log4j/log4j/1.2.14… (359 KB at 2110.8 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (181 KB at 2314.4 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/com/thoughtworks/q… (176 KB at 1929.7 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/codehaus/plexu… (226 KB at 2922.7 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over…
[INFO] Downloading: http://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.2/commons-cli…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-invoker/2…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14… (9 KB at 391.3 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over… (17 KB at 742.3 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-ar…
[INFO] Downloading: http://repo.maven.apache.org/maven2/commons-collections/commons-collections…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5… (22 KB at 948.5 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-ar… (31 KB at 1318.7 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.2.…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-invoker/2… (28 KB at 476.2 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.… (423 KB at 10315.1 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.jar
[INFO] Downloaded: http://repo.maven.apache.org/maven2/commons-collections/commons-collections… (558 KB at 13282.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/1.12.1/qdox-…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.2/commons-cli… (41 KB at 565.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.2.… (219 KB at 5745.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.5/…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/1.12.1/qdox-… (176 KB at 7024.1 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.jar (359 KB at 11213.5 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.5/… (226 KB at 6619.0 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1… (181 KB at 2578.9 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons… (228 KB at 2525.7 KB/sec)
[INFO] Downloading: http://files.couchbase.com/maven2/org/apache/httpcomponents/httpcore/4.2.2/…
[INFO] Downloading: http://files.couchbase.com/maven2/commons-codec/commons-codec/1.6/commons-c…
[INFO] Not executing Javadoc as the project is not a Java classpath-capable package
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ tutti ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-pgp-passphrase) @ tutti ---
[INFO] Exporting server [gpg-signer] username in ${gpg.keyname}
[INFO] Exporting server [gpg-signer] password in ${gpg.passphrase}
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-artifacts) @ tutti ---
[INFO] Copying pom.xml to <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/ws/trunk/target/collect/…>
[INFO] Copying tutti-3.1-SNAPSHOT-site_fr.xml to <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/ws/trunk/target/collect/…>
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-attachements) @ tutti ---
[WARNING] Skipping goal (No file to collect).
[INFO]
[INFO] --- maven-gpg-plugin:1.4:sign (sign-artifacts) @ tutti ---
gpg: skipped "Code Lutin": bad passphrase
gpg: signing failed: bad passphrase
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. FAILURE [32.188s]
[INFO] Tutti :: Persistence .............................. SKIPPED
[INFO] Tutti :: Service .................................. SKIPPED
[INFO] Tutti :: UI ....................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 33.171s
[INFO] Finished at: Mon Jan 27 12:24:59 CET 2014
[INFO] Final Memory: 34M/288M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.4:sign (sign-artifacts) on project tutti: Exit code: 2 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.4:sign (sign-artifacts) on project tutti: Exit code: 2
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
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.MojoExecutionException: Exit code: 2
at org.apache.maven.plugin.gpg.GpgSigner.generateSignatureForArtifact(GpgSigner.java:254)
at org.apache.maven.plugin.gpg.GpgSignAttachedMojo.execute(GpgSignAttachedMojo.java:182)
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/MojoExecutionException
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com
channel stopped
1
2
Jan. 27, 2014
See <http://ci-ng.forge.codelutin.com/jenkins/job/tutti/1/>
------------------------------------------
[...truncated 880 lines...]
AU tutti-ui-swing/src/main/resources/icons/action-accept.png
AU tutti-ui-swing/src/main/resources/icons/action-warning.png
AU tutti-ui-swing/src/main/resources/icons/action-psfm.png
AU tutti-ui-swing/src/main/resources/icons/action-person.png
AU tutti-ui-swing/src/main/resources/icons/action-exit.png
AU tutti-ui-swing/src/main/resources/icons/action-coordinates.png
AU tutti-ui-swing/src/main/resources/icons/action-edit-attachment.png
AU tutti-ui-swing/src/main/resources/icons/action-show-frequency.png
AU tutti-ui-swing/src/main/resources/icons/action-update-referential.png
AU tutti-ui-swing/src/main/resources/icons/action-reset.png
AU tutti-ui-swing/src/main/resources/icons/action-clean.png
AU tutti-ui-swing/src/main/resources/icons/action-update-application.png
AU tutti-ui-swing/src/main/resources/icons/action-up.png
AU tutti-ui-swing/src/main/resources/icons/action-batch-rename.png
AU tutti-ui-swing/src/main/resources/icons/action-install-db.png
AU tutti-ui-swing/src/main/resources/icons/action-save.png
AU tutti-ui-swing/src/main/resources/icons/action-fileChooser.png
AU tutti-ui-swing/src/main/resources/icons/allegro_about.png
AU tutti-ui-swing/src/main/resources/icons/action-show-help.png
AU tutti-ui-swing/src/main/resources/icons/action-down.png
AU tutti-ui-swing/src/main/resources/icons/action-local-export.png
AU tutti-ui-swing/src/main/resources/icons/action-manage-db.png
AU tutti-ui-swing/src/main/resources/icons/action-species.gif
AU tutti-ui-swing/src/main/resources/icons/fatal.png
AU tutti-ui-swing/src/main/resources/icons/action-open-file.png
AU tutti-ui-swing/pom.xml
AU tutti-ui-swing/README.txt
AU pom.xml
AU README.txt
A tutti-persistence
AU tutti-persistence/LICENSE.txt
A tutti-persistence/src
A tutti-persistence/src/test
A tutti-persistence/src/test/java
A tutti-persistence/src/test/java/fr
A tutti-persistence/src/test/java/fr/ifremer
A tutti-persistence/src/test/java/fr/ifremer/adagio
A tutti-persistence/src/test/java/fr/ifremer/adagio/core
A tutti-persistence/src/test/java/fr/ifremer/adagio/core/service
A tutti-persistence/src/test/java/fr/ifremer/adagio/core/service/technical
A tutti-persistence/src/test/java/fr/ifremer/adagio/core/service/technical/synchro
AU tutti-persistence/src/test/java/fr/ifremer/adagio/core/service/technical/synchro/ReferentialSynchroTableMetadataTest.java
A tutti-persistence/src/test/java/fr/ifremer/tutti
A tutti-persistence/src/test/java/fr/ifremer/tutti/persistence
A tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/MarineLitterBatchPersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceReadTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceReadTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceReadTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceReadTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFileTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceReadTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceReadTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/MarineLitterBatchPersistenceServiceReadTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceReadTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceReadTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceReadTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceWriteTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceWriteTest.java
A tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities
A tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities/protocol
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocolsTest.java
A tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/config
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigTest.java
AU tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/TuttiPersistenceWriteTest.java
AU tutti-persistence/src/test/server.properties
AU tutti-persistence/src/test/startDbManager.sh
AU tutti-persistence/src/test/startServerNew.sh
A tutti-persistence/src/test/resources
AU tutti-persistence/src/test/resources/beanRefFactoryWitNoDb.xml
AU tutti-persistence/src/test/resources/log4j.properties
AU tutti-persistence/src/test/resources/tutti-test-read.properties
AU tutti-persistence/src/test/resources/tutti-test-read-dbEmpty.properties
AU tutti-persistence/src/test/resources/applicationContext-service-resources.xml
AU tutti-persistence/src/test/startServer.sh
A tutti-persistence/src/license
AU tutti-persistence/src/license/THIRD-PARTY.properties
A tutti-persistence/src/main
A tutti-persistence/src/main/java
A tutti-persistence/src/main/java/fr
A tutti-persistence/src/main/java/fr/ifremer
A tutti-persistence/src/main/java/fr/ifremer/adagio
A tutti-persistence/src/main/java/fr/ifremer/adagio/core
A tutti-persistence/src/main/java/fr/ifremer/adagio/core/service
A tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical
A tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/ReferentialSynchroTableMetadata.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/ReferentialSynchroResult.java
A tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/specific
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/specific/ReferentialSynchroSpecificTableTask.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/specific/VesselRegistrationPeriodReferentialSynchroSpecificTableTaskImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/specific/VesselFeaturesReferentialSynchroSpecificTableTaskImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/ReferentialSynchroService.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/ReferentialSynchroServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/ReferentialSynchroDatabaseMetadata.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/ReferentialSynchroTableTool.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/synchro/ReferentialSynchroTable.java
A tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/sanity
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/sanity/DatabaseSanityServiceImpl.java
A tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/sanity/task
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/sanity/task/DatabaseSanityTask.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/sanity/task/DatabaseSanityTaskVesselRegistrationPeriod.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/sanity/task/DatabaseSanityTaskVesselFeatures.java
AU tutti-persistence/src/main/java/fr/ifremer/adagio/core/service/technical/sanity/DatabaseSanityService.java
A tutti-persistence/src/main/java/fr/ifremer/tutti
AU tutti-persistence/src/main/java/fr/ifremer/tutti/LabelAware.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java
A tutti-persistence/src/main/java/fr/ifremer/tutti/persistence
A tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/TuttiRunner.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/TuttiRunListener.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/DatabaseResource.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/DatabaseFixtures.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
A tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java
A tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/TuttiCatchBatchValidator.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/BatchPersistenceHelper.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/ScientificCruiseCatchBatchValidator.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MarineLitterBatchPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiPersistenceServiceLocator.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SamplePersistenceHelper.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MarineLitterBatchPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AbstractPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MeasurementPersistenceHelper.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/VesselPersonFeaturesPersistenceHelper.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceService.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
A tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/dao
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/dao/GearPhysicalFeaturesDaoTutti.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/dao/GearPhysicalFeaturesDaoImplTutti.java
A tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities
A tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/referential
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/referential/GearWithOriginalRankOrder.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/referential/GearWithOriginalRankOrders.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/referential/GearWithOriginalRankOrderBean.java
A tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol
A tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/v1
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/v1/TuttiProtocolBean1.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/v1/SpeciesProtocolBean1.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/v1/TuttiProtocol1.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/v1/SpeciesProtocol1.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntity.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEnumerable.java
A tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategory.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModel.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelEntry.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/BatchContainer.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryModelConverter.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/AttachementObjectTypeEnum.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntityBean.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/CaracteristicMap.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntities.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/InvalidBatchModelException.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/ProgressionModel.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceServiceImplementor.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationProvider.java
A tutti-persistence/src/main/resources
AU tutti-persistence/src/main/resources/ehcache.xml
A tutti-persistence/src/main/resources/i18n
AU tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
AU tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
A tutti-persistence/src/main/resources/META-INF
A tutti-persistence/src/main/resources/META-INF/services
A tutti-persistence/src/main/resources/META-INF/services/fr.ifremer.adagio.core.service.technical.synchro.specific.ReferentialSynchroSpecificTableTask
A tutti-persistence/src/main/resources/META-INF/services/fr.ifremer.adagio.core.service.technical.sanity.task.DatabaseSanityTask
AU tutti-persistence/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider
AU tutti-persistence/src/main/resources/META-INF/services/org.apache.commons.beanutils.Converter
AU tutti-persistence/src/main/resources/tuttiBeanRefFactory.xml
AU tutti-persistence/src/main/resources/tutti-db-conf.properties
AU tutti-persistence/src/main/resources/applicationContext-service-tutti.xml
AU tutti-persistence/src/main/resources/queries-override.hbm.xml
AU tutti-persistence/src/main/resources/tutti-db-enumerations.properties
A tutti-persistence/src/main/xmi
AU tutti-persistence/src/main/xmi/tutti-persistence.properties
AU tutti-persistence/src/main/xmi/tutti-persistence.zargo
AU tutti-persistence/pom.xml
AU tutti-persistence/README.txt
U .
At revision 1528
Parsing POMs
ERROR: Failed to parse POMs
hudson.maven.MavenEmbedderException: 1 problem was encountered while building the effective settings
[ERROR] 'servers.server[0].id' is missing @ /var/local/forge/data/forge.codelutin.com/maven/settings.xml
at hudson.maven.MavenEmbedder.<init>(MavenEmbedder.java:128)
at hudson.maven.MavenEmbedder.<init>(MavenEmbedder.java:109)
at hudson.maven.MavenEmbedder.<init>(MavenEmbedder.java:136)
at hudson.maven.MavenUtil.createEmbedder(MavenUtil.java:212)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1278)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1081)
at hudson.FilePath.act(FilePath.java:914)
at hudson.FilePath.act(FilePath.java:887)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:943)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:671)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:565)
at hudson.model.Run.execute(Run.java:1670)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:519)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:231)
Caused by: hudson.maven.MavenEmbedderException: 1 problem was encountered while building the effective settings
[ERROR] 'servers.server[0].id' is missing @ /var/local/forge/data/forge.codelutin.com/maven/settings.xml
at hudson.maven.MavenEmbedder.getSettings(MavenEmbedder.java:261)
at hudson.maven.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:157)
at hudson.maven.MavenEmbedder.<init>(MavenEmbedder.java:120)
... 14 more
Caused by: org.apache.maven.settings.building.SettingsBuildingException: 1 problem was encountered while building the effective settings
[ERROR] 'servers.server[0].id' is missing @ /var/local/forge/data/forge.codelutin.com/maven/settings.xml
at org.apache.maven.settings.building.DefaultSettingsBuilder.build(DefaultSettingsBuilder.java:116)
at hudson.maven.MavenEmbedder.getSettings(MavenEmbedder.java:259)
... 16 more
1
1
r1528 - trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport
by tchemit@users.forge.codelutin.com Jan. 23, 2014
by tchemit@users.forge.codelutin.com Jan. 23, 2014
Jan. 23, 2014
Author: tchemit
Date: 2014-01-23 14:57:45 +0100 (Thu, 23 Jan 2014)
New Revision: 1528
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1528
Log:
refs #3876: Import de donn?\195?\169es depuis un ictyom?\195?\168tre (par lot) (utilisation des grammes pour les poids)
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java 2014-01-23 12:47:00 UTC (rev 1527)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java 2014-01-23 13:57:45 UTC (rev 1528)
@@ -31,6 +31,7 @@
import com.google.common.collect.Sets;
import com.google.common.io.Files;
import fr.ifremer.shared.application.ApplicationBusinessException;
+import fr.ifremer.shared.application.type.WeightUnit;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
import fr.ifremer.tutti.persistence.entities.data.Attachment;
@@ -104,17 +105,6 @@
TAIL,
CATE,
LONG
-// // ignored
-// HEUR(true),
-// AGEN(true),
-// CAIS(true),
-// TAXO(true),
-// OUTI(true),
-// PORT(true),
-// DATE(true),
-// HERE(true),
-// NAVI(true),
-// ENGI(true);
}
protected PersistenceService persistenceService;
@@ -407,7 +397,7 @@
continue;
}
- if ("N".equals(value)) {
+ if ("n".equals(value) || "N".equals(value)) {
// special case, no category
@@ -647,10 +637,17 @@
batch.setSampleCategoryId(categoryId);
batch.setSampleCategoryValue(cqv);
batch.setSpecies(species);
- batch.setSampleCategoryWeight(catchWeight == null ? null : TuttiEntities.roundKiloGram(catchWeight));
- //FIXME Check this is ok.
- batch.setWeight(sampleWeight == null ? null : TuttiEntities.roundKiloGram(sampleWeight));
+ if (catchWeight != null) {
+ catchWeight = TuttiEntities.roundKiloGram(WeightUnit.G.toEntity(catchWeight));
+ batch.setSampleCategoryWeight(catchWeight);
+ }
+ if (sampleWeight != null) {
+
+ sampleWeight = TuttiEntities.roundKiloGram(WeightUnit.G.toEntity(sampleWeight));
+ batch.setWeight(sampleWeight);
+ }
+
batch.setChildBatchs(Lists.<SpeciesBatch>newArrayList());
return batch;
}
1
0
r1527 - trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com Jan. 23, 2014
by tchemit@users.forge.codelutin.com Jan. 23, 2014
Jan. 23, 2014
Author: tchemit
Date: 2014-01-23 13:47:00 +0100 (Thu, 23 Jan 2014)
New Revision: 1527
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1527
Log:
remove commented code
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2014-01-23 12:07:38 UTC (rev 1526)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2014-01-23 12:47:00 UTC (rev 1527)
@@ -305,12 +305,6 @@
@Value("${PmfmId.ID_PSFM}")
public final Integer PMFM_ID_ID_PSFM = null;
-// @Value("${PmfmId.SAMPLE_ID}")
-// public final Integer PMFM_ID_SAMPLE_ID = null;
-//
-// @Value("${PmfmId.OTOLITHE_ID}")
-// public final Integer PMFM_ID_OTOLITHE_ID = null;
-
protected Set<Integer> propertedPmfmIds;
public void init() {
@@ -347,10 +341,6 @@
PMFM_ID_TRAWL_DISTANCE,
PMFM_ID_SURVEY_PART,
PMFM_ID_SORTED_UNSORTED,
-// PMFM_ID_SIZE_CATEGORY,
-// PMFM_ID_MATURITY,
-// PMFM_ID_SEX,
-// PMFM_ID_AGE,
PMFM_ID_ID_PSFM
);
}
1
0
Jan. 23, 2014
Author: tchemit
Date: 2014-01-23 13:07:38 +0100 (Thu, 23 Jan 2014)
New Revision: 1526
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1526
Log:
refs #3876: Import de donn?\195?\169es depuis un ictyom?\195?\168tre (par lot)
Modified:
trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html
Modified: trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html 2014-01-23 12:07:05 UTC (rev 1525)
+++ trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html 2014-01-23 12:07:38 UTC (rev 1526)
@@ -591,21 +591,47 @@
</dd>
<dt>Import psion</dt>
<dd>
- TODO A finir.
- Il est possible d'importer le fichier généré par le Psion à l'issue du tri de la capture.
- A l'invitation, sélectionner le fichier .IWA et valider. L'applicatif
- importera dans l'onglet « Espèces » la liste des espèces
- triées et les poids associés.
+ <p>Il est possible d'importer un fichier comportant les mensurations.</p>
+ <p>
+ A l'invitation, sélectionner le fichier .IWA (voir format ci-dessous) et valider. L'applicatif
+ importera dans l'onglet « Espèces » la liste des espèces catégorisées, les poids associés et les mensurations.
+ </p>
+ <p>
L'import ne sera effectif que si le code station et la date du début de trait des
fichiers correspondent au code station et date de début du trait et qu'aucune erreur n'est détectée.
- Toute espèce déjà renseignée dans l'onglet « Résumé » ne peut pas être réimportée.
- Les espèces non présentent dans le référentiel ne seront pas importées dans
- l'onglet « Espèces »
- (cf cas particulier du tri d'un mélange). Le fichier importé
- est sauvegardé comme pièce jointe dans l'onglet « Résumé ».
+ Toute espèce déjà renseignée dans l'onglet « Espèces » ne peut pas être réimportée.
+ Les espèces non présentent dans le référentiel ne seront pas importées dans l'onglet « Espèces »
+ </p>
+ <p>
+ Le fichier importé est sauvegardé comme pièce jointe dans l'onglet « Résumé ».
+ </p>
+ <p>
+ A noter aussi que l'import nécessite l'utilisation d'un protocole. Ainsi le code campagne des espèces est utilisé
+ pour retrouver celles-ci dans le référentiel. L'import des mensurations nécessite aussi d'avoir définie la méthode de mensuration pour ces espèces dans le protocole.
+ </p>
+ <p>
+ Description du fichier (les textes entre guillemets ne doivent pas être présents dans le fichier) :
+ </p>
+ <pre>
+fm "initiales saisisseur"
+001 "ID du trait"
+05-24-2013 "date du trait"
+18:28:13 "heure de création du fichier,hh:mm:ss"
- A noter aussi que l'import nécessite l'utilisation d'un protocole (le code campagne des espèces est utilisé
- pour retrouver celles-ci dans le référentiel).
+ESPE : HELIDAC "code campagne espèce identique à celui défini dans le protocole"
+POID : 1040 "poids total, en grammes, du lot espèce/catégorie dans la capture"
+TAIL : 1040 "poids, en grammes, de l'échantillon mesuré"
+CATE : n (catégorie de tri : [n = non catégorisée] ou [sexe i = indéterminé ; f = femelle ; m = male] ou [maturité 1 ; 2 ; 3 ; 4 ; 5], possibilité de combiner : ex. : f1)
+LONG : 21.5 (longueur de l'individu)
+LONG : 26 (etc.)
+LONG : 22
+LONG : 24
+LONG : 25.5
+ESPE : TODASAG (deuxième espèce mesurée etc.)
+POID : 265
+TAIL : 265
+CATE : n
+LONG : 21</pre>
</dd>
<dt>Importer des lots d'espèces</dt>
<dd>
1
0
Author: tchemit
Date: 2014-01-23 13:07:05 +0100 (Thu, 23 Jan 2014)
New Revision: 1525
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1525
Log:
refs #4138: [SPECS] Revoir le mapping DB/?\195?\137crans
Modified:
trunk/src/site/rst/mapping.rst
Modified: trunk/src/site/rst/mapping.rst
===================================================================
--- trunk/src/site/rst/mapping.rst 2014-01-23 11:39:57 UTC (rev 1524)
+++ trunk/src/site/rst/mapping.rst 2014-01-23 12:07:05 UTC (rev 1525)
@@ -29,594 +29,6 @@
Présentation
~~~~~~~~~~~~
-Ce document décrit comment sont stocker les informations visibles dans les écrans.
+Cette partie de la documentation est désormais dans `l'aide en ligne`_.
-Série de campagne
-~~~~~~~~~~~~~~~~~
-
-Nom
- Program.name (PROGRAM.NAME)
-
-Zone
- Program.locations (PROGRAM2LOCATION.LOCATION_FK)
-
-Description
- Program.description (PROGRAM.DESCRIPTION)
-
-Campagne
-~~~~~~~~
-
-Série
- ScientificCruise.program (SCIENTIFIC_CRUISE.PROGRAM_FK)
-
-Année
- En lecture : year(ScientificCruise.departureDateTime) (SCIENTIFIC_CRUISE.DEPARTURE_DATE_TIME)
- En écriture : pas de stockage (car doit logiquement être compatible avec ScientificCruise.departureDateTime)
-
-Série partielle
- ScientificCruise.fishingTrip.surveyMeasurement (SURVEY_MEASUREMENT.ALPHA_NUMERICAL_VALUE, avec PMFM_FK=<PmfmId.SURVEY_PART>)
-
-Name
- ScientificCruise.name (SCIENTIFIC_CRUISE.NAME)
-
-Nombre de poches
- En lecture : récupération de la plus grande valeur dans ScientificCruise.fishingTrip.gearPhysicalFeatures.gearPhysicalMeasurement.numericalvalue (GEAR_PHYSICAL_MEASURMENT.NUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_MULTIRIG_NUMBER>)
- En écriture : valeur dupliquée pour chaque engin (voir "Engin(s)" ci-dessous) dans ScientificCruise.fishingTrip.gearPhysicalFeatures.gearPhysicalMeasurement.numericalvalue (GEAR_PHYSICAL_MEASURMENT.NUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_MULTIRIG_NUMBER>)
-
-Port de départ
- ScientificCruise.fishingTrip.departureLocation (FISHING_TRIP.DEPARTURE_LOCATION_FK) avec le lien avec la campagne via SCIENTIFIC_CRUISE_FK)
-
-Port d'arrivée
- ScientificCruise.fishingTrip.returnLocation (FISHING_TRIP.RETURN_LOCATION_FK) avec le lien avec la campagne via SCIENTIFIC_CRUISE_FK)
-
-Date de début
- ScientificCruise.departureDateTime (SCIENTIFIC_CRUISE.DEPARTURE_DATE_TIME)
-
-Date de fin
- ScientificCruise.returnDateTime (SCIENTIFIC_CRUISE.RETURN_DATE_TIME)
-
-Navire
- ScientificCruise.vessel (SCIENTIFIC_CRUISE.VESSEL_FK)
-
-Engin(s)
- ScientificCruise.fishingTrip.gearPhysicalFeatures.gear (GEAR_PHYSICAL_FEATURES.GEAR_FK avec RANK_ORDER=<n° d'ordre dans la liste>)
-
-Chef(s) de mission
- La première personne de la liste est stockée sous ScientificCruise.manager (SCIENTIFIC_CRUISE.MANAGER_PERSON_FK)
- Pour les autres personnes, ScientificCruise.fishingTrip.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_de_campagne>
-
-Responsable(s) de salle de tri
- ScientificCruise.fishingTrip.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_salle_de_tri>
-
-Commentaire
- ScientificCruise.comments (SCIENTIFIC_CRUISE.COMMENTS)
-
-Protocole
-~~~~~~~~~
-
-Informations générales > Nom
- TuttiProtocol.name (persisté dans le fichier)
-
-Informations générales > Commentaire
- TuttiProtocol.comment (persisté dans le fichier)
-
-Caractéristiques
- On récupère la liste de tous les pmfm que l'on répartit dans les différents
- onglets. Chaque pmfm ne peut être sélectionné que dans une seule liste.
-
-Espèces
-
-Espèces > Espèce
- La liste des espèces référent non encore utilisés.
- Voir `détail des requêtes`_.
- Note: cette liste est partagée sur les deux onglets espèces - benthos).
-
-Espèces > Tableau
- Chaque ligne du tableau est stockée sous la forme d'un SpeciesProtocol : *TuttiProtocol.species*.
-
-Espèces > Tableau > Espèce
-
-Espèces > Tableau > Code
-
-Espèces > Tableau > Classe de Taille
-
-Espèces > Tableau > Pesée
-
-Espèces > Tableau > Dénombrement
-
-Espèces > Tableau > Catégorie Tri
-
-Espèces > Tableau > Sexe
-
-Espèces > Tableau > Maturité
-
-Espèces > Tableau > Age
-
-Espèces > Tableau > Prélèvement de pièces calcifiées
-
-Benthos
-
-Benthos > Espèce
- La liste des espèces référents non encore utilisés.
- Voir `détail des requêtes`_.
- Note: cette liste est partagée sur les deux onglets espèces - benthos).
-
-Benthos > Tableau
- Chaque ligne du tableau est stockée sous la forme d'un SpeciesProtocol: *TuttiProtocol.benthos*.
-
-Benthos > Tableau > Espèce
-
-Benthos > Tableau > Code
-
-Benthos > Tableau > Classe de Taille
-
-Benthos > Tableau > Pesée
-
-Benthos > Tableau > Dénombrement
-
-Benthos > Tableau > Catégorie Tri
-
-Benthos > Tableau > Sexe
-
-Benthos > Tableau > Maturité
-
-Benthos > Tableau > Age
-
-Benthos > Tableau > Prélèvement de pièces calcifiées
-
-Trait
-~~~~~
-
-Code Station
- Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.ALPHANUMERICAL_VALUE avec PMFM_FK=<PmfmId.STATION_NUMBER>)
-
-Numéro de trait
- Operation.name (OPERATION.NAME) : ajouté à la fin du "name", derrière le code de l'engin, pour rester compatible avec le format des données historiques.
-
-Numéro de poche
- Liste des poches observées
- Operation.gearUseFeatures.gearUseMeasurement (GEAR_USE_MEASUREMENT.ALPHANUMERICAL_VALUE avec PMFM_FK=<PmfmId.MULTIRIG_AGGREGATION>)
-
-Strate
- Operation.gearUseFeatures.fishingArea.regulationLocation (FISHING_AREA2REG_LOCATION.LOCATION_FK associé au FISHING_AREA de l'opération)
- En lecture : sélection en tant que localité à partir du locationLevel (LOCATION.LOCATION_LEVEL_FK=<LocationLevelId.STRATA>)
-
-Sous-strate
- Operation.gearUseFeatures.fishingArea.regulationLocation (FISHING_AREA2REG_LOCATION.LOCATION_FK associé au FISHING_AREA de l'opération)
- En lecture : sélection en tant que localité à partir du locationLevel (LOCATION.LOCATION_LEVEL_FK=<LocationLevelId.SUB_STRATA>)
-
-Localité
- operation.gearUseFeatures.fishingArea.regulationLocation (FISHING_AREA2REG_LOCATION.LOCATION_FK associé au FISHING_AREA de l'opération)
- En lecture : sélection en tant que localité à partir du locationLevel (LOCATION.LOCATION_LEVEL_FK=<LocationLevelId.LOCALITE>)
-
-Début de traine > Latitude, Longitude
- Operation.vesselPosition (VESSEL_POSITION.LATITUDE et VESSEL_POSITION.LONGITUDE), avec startDateTime = "Début de traine > Date et heure"
-
-Début de traine > Date et heure
- Operation.startDateTime et Operation.fishingStartDateTime (OPERATION.START_DATE_TIME et OPERATION.FISHING_START_DATE_TIME)
-
-Fin de traine > Latitude, Longitude
- Operation.vesselPosition (VESSEL_POSITION.LATITUDE et VESSEL_POSITION.LONGITUDE), avec startDateTime = "Fin de traine > Date et heure"
-
-Fin de traine > Date et heure
- Operation.endDateTime et Operation.fishingEndDateTime (OPERATION.END_DATE_TIME et OPERATION.FISHING_END_DATE_TIME)
-
-Trait rectiligne
- Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.RECTILINEAR_OPERATION>)
-
-Distance chalutée
- Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<PmfmId.TRAWL_DISTANCE>)
-
-Trait valide ou invalide
- Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.HAUL_VALID>)
-
-Saisisseur(s)
- Operation.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_de_campagne>
-
-Navire
- (depuis version 1.2)
- Identique à celui de la campagne : Operation.vessel (OPERATION.VESSEL_FK)
- (Obsolète) : TODO supprimer le code qui fait cette gestion
- Si le navire est identique à celui de la campagne : Operation.vessel (OPERATION.VESSEL_FK)
- Sinon : Operation.operationVesselAssociation (OPERATION_VESSEL_ASSOCIATION.VESSEL_FK avec IS_CATCH_ON_OPERATION_VESSEL=0).
- Operation.vessel est alors rempli avec le premier navire de la liste de la campagne, pour être compatible avec Allegro (on doit toujours avoir : SCIENTIFIC_CRUISE.VESSEL_FK = OPERATION_VESSEL_FK).
-
-Engin
- Operation.gearPhysicialFeatures (OPERATION.GEAR_PHYSCIAL_FEATURES_FK) : lien vers un engin déjà déclaré au niveau de la campagne.
- Le code de l'engin est également dupliqué au début de Operation.name (OPERATION.NAME), devant le numéro du trait, pour rester compatible avec le format des données historiques.
-
-Commentaire
- Operation.comments (OPERATION.COMMENTS)
-
-Pièces Jointes
- Chaque pièce jointes est stockée dans MeasurementFile
- (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='OPERATION' et OBJECT_ID=<ID du trait>)
- MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif)
- MeasurementFile.name : nom
- MeasurementFile.comments : commentaire
-
-Trait > Mise en oeuvre de l'engin
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Valeur
- Operation.gearUseFeatures.gearUseMeasurement (GEAR_USE_MEASUREMENT.xxx - en fonction du type de PSFM : NUMERICAL_VALUE, ALPHANUMERICAL_VALUE ou QUALITATIVE_VALUE_FK)
-
-Trait > Hydrologie et paramètres environnementaux
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Valeur
- Operation.gearUseFeatures.vesselUseMeasurement (GEAR_USE_MEASUREMENT.xxx - en fonction du type de PSFM : NUMERICAL_VALUE, ALPHANUMERICAL_VALUE ou QUALITATIVE_VALUE_FK)
- **WARNING** : En v2 (version à confirmer), informations dispatcher dans différent onglet, en fonction du PSFM trouvé dans le protocole
-
-Capture > Résumé
-~~~~~~~~~~~~~~~~
-
-Poids TOTAL
- Lot "Capture" (BATCH avec IS_CATCH_BATCH=1)
- Stocké uniquement si non calculé
- CatchBatch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Poids total VRAC
- Lot "Capture > Vrac"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Poids total HORS VRAC
- Lot "Capture > Hors Vrac"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Poids total NON TRIE
- Lot "Capture > Non trié"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Espèce > Poids TOTAL
- Somme des poids des lots "Capture > xxx > Espèce"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Espèce > Poids total VRAC
- Lot "Capture > Vrac > Espèce"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Espèce > Poids total VRAC trié
- Calculé par tutti ? utile seulement si Thalassa ?
-
-Espèce > Poids total HORS VRAC TRIE
- Lot "Capture > Hors Vrac > Espèce"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Benthos > Poids TOTAL
- Somme des poids des lots "Capture > xxx > Benthos"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Benthos > Poids total VRAC
- Lot "Capture > Vrac > Benthos"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Benthos > Poids total VRAC trié
- Calculé par tutti ? utile seulement si Thalassa ?
-
-Benthos > Poids total HORS VRAC TRIE
- Lot "Capture > Hors Vrac > Benthos"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Pièces Jointes
- Chaque pièce jointes est stockée dans MeasurementFile
- (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='CATCH_BATCH' et OBJECT_ID=<ID du lot de la capture>)
- MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif)
- MeasurementFile.name : nom
- MeasurementFile.comments : commentaire
-
-Capture > Espèces
-~~~~~~~~~~~~~~~~~
-
-Espèce > Poids total VRAC
- Lot "Capture > Vrac > Espèce"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Poids inerte trié
- Lot "Capture > Vrac > Espèce > [TAXON_INERT]"
- Batch.referenceTaxon = [TAXON_INERT] (BATCH.REFERENCE_TAXON_FK=<ReferenceTaxonId.INERT>)
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
- **WARNING** : le taxon référent "Inerte" n'existe pas encore, il faut le créé (action Ifremer/J.Martin ?)
-
-Poids vivant non détaillé trié
- Lot "Capture > Vrac > Espèce > Biota"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Pièces Jointes
- Chaque pièce jointes est stockée dans MeasurementFile
- (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='CATCH_BATCH' et OBJECT_ID=<ID du lot VRAC > ESPECES>)
- MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif)
- MeasurementFile.name : nom
- MeasurementFile.comments : commentaire
-
-Tableau
- Chaque ligne du tableau est stockée sous la forme d'un lot (Batch) positionné
- soit sous le lot "Capture > Vrac > Espèce"
- soit sous "Capture > Hors Vrac > Espèce"
-
-Tableau > Espèce
- stockage de l'espèce uniquement pour les lot parent
- Batch.referenceTaxon (BATCH.REFERENCE_TAXON_FK)
-
-Tableau > V/HV
- Vrac ou Hors Vrac : Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SORTED_UNSORTED>)
- Poids : Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Tableau > Class. Tri
- Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SIZE_CATEGORY>)
-
-Tableau > Sexe
- Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SEX>)
-
-Tableau > Maturité
- Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.MATURITY>)
-
-Tableau > Age
- Batch.sortingMeasurement.numericalValue (SORTING_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<PmfmId.AGE>)
-
-Tableau > Poids sous-échantillonné
-
-::
-
- Si vide Batch.samplingRatio = 1
- Sinon
- Batch.samplingRatioText (BATCH.SAMPLING_RATIO_TEXT) concaténé à partir des chaines : "<Poids sous-échantillonné>" + "/" + "<Poids V/HV>"
- Batch.samplingRatio (BATCH.SAMPLING_RATIO) calculé par le division : <Poids sous-échantillonné> / <Poids V/HV>
-
-Pour la lecture : on parse samplingRatioText pour récupérer le poids sous-échantillonné. si absent on le calculé à partir de samplingRatio (moins précis car perte possible de précision)
-
-Tableau > Nombre
- Calculé à partir de la somme du nombre d'individus des lots fils (BATCH.INDIVIDUAL_COUNT avec PARENT_BATCH_FK=<ID du lot de la ligne du tableau>)
- (voir ci-dessous "Mensuration > Tableau")
-
-Tableau > Commentaire
- Batch.comments
-
-Tableau > Pièces Jointes
- Chaque pièce jointes est stockée dans MeasurementFile
- (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>)
- MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif ?)
- MeasurementFile.name : nom
- MeasurementFile.comments : commentaire
-
-Mensuration > Type de mesure
- Dupliqué pour chaque lot de mensuration créé (un lot pour chaque taille saisie)
- Batch.sortingMeasurement.pmfm (SORTING_MEASUREMENT.PMFM_FK)
-
-Mensuration > Pas de la classe de taille
- **WARNING** : Non stocké, devrait dépendre de PSFM.precision ?
- Peut-etre peut-on le calculer par analyse des mensurations saisies ? (et si aucune mesure prendre la précision du PSFM)
-
-Mensuration > Tableau
- Chaque ligne du tableau de mensuration est stocké sous la forme d'un lot
- relié au lot correspondant à la ligne parent du tableau des espèces. (BATCH avec PARENT_BATCH_FK=<ID du lot parent dans le tableau des espèces>)
-
-Mensuration > Tableau > Classe de taille
- Batch.sortingMeasurement.numericalValue (SORTING_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<ID correspondant au "Type de mesure">)
-
-Mensuration > Tableau > Nombre
- Batch.individualCount (BATCH.INDIVIDUAL_COUNT)
-
-Mensuration > Tableau > Poids observé
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
-
-Capture > Benthos
-~~~~~~~~~~~~~~~~~
-
-Benthos > Poids total VRAC
- Lot "Capture > Vrac > Benthos"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Poids inerte trié
- Lot "Capture > Vrac > Benthos > [TAXON_INERT]"
- Batch.referenceTaxon = [TAXON_INERT] (BATCH.REFERENCE_TAXON_FK=<ReferenceTaxonId.INERT>)
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
- **WARNING** : le taxon référent "Inerte" n'existe pas encore, il faut le créé (action Ifremer/J.Martin ?)
-
-Poids vivant non détaillé trié
- Lot "Capture > Vrac > Benthos > Biota"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Pièces Jointes
- Chaque pièce jointes est stockée dans MeasurementFile
- (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='CATCH_BATCH' et OBJECT_ID=<ID du lot VRAC > BENTHOS>)
- MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif)
- MeasurementFile.name : nom
- MeasurementFile.comments : commentaire
-
-Tableau
- Chaque ligne du tableau est stockée sous la forme d'un lot (Batch) positionné
- soit sous le lot "Capture > Vrac > Benthos"
- soit sous "Capture > Hors Vrac > Benthos"
-
-Tableau > Benthos
- stockage de l'espèce uniquement pour les lot parent
- Batch.referenceTaxon (BATCH.REFERENCE_TAXON_FK)
-
-Tableau > V/HV
- Vrac ou Hors Vrac : Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SORTED_UNSORTED>)
- Poids : Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Tableau > Class. Tri
- Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SIZE_CATEGORY>)
-
-Tableau > Sexe
- Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SEX>)
-
-Tableau > Maturité
- Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.MATURITY>)
-
-Tableau > Age
- Batch.sortingMeasurement.numericalValue (SORTING_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<PmfmId.AGE>)
-
-Tableau > Poids sous-échantillonné
-
-::
-
- Si vide Batch.samplingRatio = 1
- Sinon :
- Batch.samplingRatioText (BATCH.SAMPLING_RATIO_TEXT) concaténé à partir des chaines : "<Poids sous-échantillonné>" + "/" + "<Poids V/HV>"
- Batch.samplingRatio (BATCH.SAMPLING_RATIO) calculé par le division : <Poids sous-échantillonné> / <Poids V/HV>
-
-Pour la lecture : on parse samplingRatioText pour récupérer le poids sous-échantillonné. si absent on le calculé à partir de samplingRatio (moins précis car perte possible de précision)
-
-Tableau > Nombre
- Calculé à partir de la somme du nombre d'individus des lots fils (BATCH.INDIVIDUAL_COUNT avec PARENT_BATCH_FK=<ID du lot de la ligne du tableau>)
- (voir ci-dessous "Mensuration > Tableau")
-
-Tableau > Commentaire
- Batch.comments
-
-Tableau > Pièces Jointes
- Chaque pièce jointes est stockée dans MeasurementFile
- (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>)
- MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif)
- MeasurementFile.name : nom
- MeasurementFile.comments : commentaire
-
-Mensuration > Type de mesure
- Dupliqué pour chaque lot de mensuration créé (un lot pour chaque taille saisie)
- Batch.sortingMeasurement.pmfm (SORTING_MEASUREMENT.PMFM_FK)
-
-Mensuration > Pas de la classe de taille
- **WARNING** : Non stocké, devrait dépendre de PSFM.precision ?
- Peut-etre peut-on le calculer par analyse des mensurations saisies ? (et si aucune mesure prendre la précision du PSFM)
-
-Mensuration > Tableau
- Chaque ligne du tableau de mensuration est stocké sous la forme d'un lot
- relié au lot correspondant à la ligne parent du tableau des espèces. (BATCH avec PARENT_BATCH_FK=<ID du lot parent dans le tableau des espèces>)
-
-Mensuration > Tableau > Classe de taille
- Batch.sortingMeasurement.numericalValue (SORTING_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<ID correspondant au "Type de mesure">)
-
-Mensuration > Tableau > Nombre
- Batch.individualCount (BATCH.INDIVIDUAL_COUNT)
-
-Mensuration > Tableau > Poids observé
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
-
-Capture > Macro déchets
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Macro-dechets > Poids total
- Lot "Capture > Hors Vrac > Macro déchets"
- Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Pièces Jointes
- Chaque pièce jointes est stockée dans MeasurementFile
- (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='CATCH_BATCH' et OBJECT_ID=<ID du lot HORS VRAC > Macro déchets>)
- MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif)
- MeasurementFile.name : nom
- MeasurementFile.comments : commentaire
-
-Tableau
- Chaque ligne du tableau est stockée sous la forme d'un lot (Batch) positionné
- soit sous le lot "Capture > Vrac > Benthos"
- soit sous "Capture > Hors Vrac > Benthos"
-
-Tableau > Catégorie
- Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.MARINE_LITTER_TYPE>)
-
-Tableau > Catégorie de taille
- Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.MARINE_LITTER_SIZE_CATEGORY>)
-
-Tableau > Nombre
- Batch.quantificationMeasurement.qualitativeValue (QUANTIFICATION_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SIZE_CATEGORY>)
-
-Tableau > Poids
- Batch.individualCount
-
-Tableau > Commentaire
- Batch.comments
-
-Tableau > Pièces Jointes
- Chaque pièce jointes est stockée dans MeasurementFile
- (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>)
- MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif)
- MeasurementFile.name : nom
- MeasurementFile.comments : commentaire
-
-Capture > Captures accidentelles
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Utilisation table *Sample* et *SampleMeasurement*
-
-Tableau
- Chaque ligne du tableau est stockée sous la forme d'un prélèvement (Sample).
-
-Tableau > Espèce
- Sample.referenceTaxon
-
-Tableau > Sexe
- Sample.sampleMeasurements.qualitativeValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SEX>)
-
-Tableau > Poids observé (kg)
- Sample.sampleMeasurements.numericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Tableau > Taille
- Sample.sampleMeasurements.numericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.>)
-
-Tableau > Classe de taille
- Sample.sampleMeasurements.qualitativeValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.>)
-
-Tableau > Mort ou vivant
- Sample.sampleMeasurements.qualitativeValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.>)
-
-Tableau > Autres caractéristiques
- Tableau avec une entrée dans Sample.sampleMeasurements pour le pmfm choisi
-
-Tableau > Commentaire
- Batch.comments
-
-Tableau > Pièces Jointes
- Chaque pièce jointes est stockée dans MeasurementFile
- (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>)
- MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif)
- MeasurementFile.name : nom
- MeasurementFile.comments : commentaire
-
-Capture > Données individuelles
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Utilisation table *Sample*
-
-Utilisation table *Sample*
-
-Tableau
- Chaque ligne du tableau est stockée sous la forme d'un prélèvement (Sample).
-
-Tableau > Espèce
- Sample.referenceTaxon
-
-Tableau > Poids (g)
- Sample.sampleMeasurements.numericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)
-
-Tableau > Taille
- Sample.sampleMeasurements.numericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SEX>)
-
-Tableau > Classe de taille
- Sample.sampleMeasurements.qualitativeValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=(celui choisi))
-
-Tableau > Mort ou vivant
- Sample.sampleMeasurements.qualitativeValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.DEAD_OR_ALIVE>)
-
-Tableau > Autres caractéristiques
- Tableau avec une entrée dans Sample.sampleMeasurements pour le pmfm choisi
-
-Tableau > Code prélèvement pièce calcifiée
- Sample.sampleMeasurements.alphanumericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.OTOLITHE_ID>)
-
-Tableau > Code prélèvement autre
- Sample.sampleMeasurements.alphanumericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SAMPLE_ID>)
-
-Tableau > Commentaire
- Batch.comments
-
-Tableau > Pièces Jointes
- Chaque pièce jointes est stockée dans MeasurementFile
- (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>)
- MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif)
- MeasurementFile.name : nom
- MeasurementFile.comments : commentaire
-
-.. _détail des requêtes: referential.html
\ No newline at end of file
+.. _l'aide en ligne: ./help/fr/dbMapping.html
\ No newline at end of file
1
0
Author: tchemit
Date: 2014-01-23 12:39:57 +0100 (Thu, 23 Jan 2014)
New Revision: 1524
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1524
Log:
mise ?\195?\160 jour doc sur les updates
Modified:
trunk/src/site/rst/update.rst.vm
Modified: trunk/src/site/rst/update.rst.vm
===================================================================
--- trunk/src/site/rst/update.rst.vm 2014-01-23 11:35:27 UTC (rev 1523)
+++ trunk/src/site/rst/update.rst.vm 2014-01-23 11:39:57 UTC (rev 1524)
@@ -44,6 +44,7 @@
- les compoasants de données :
1. Mise à jour des référentiels de la base de données.
+ 2. Mise à jour des rapports Birt.
Principe des mises à jour
-------------------------
@@ -93,19 +94,8 @@
Pour les composants de données, on utilise le fichier de propriétés disponible
sur le réseau à l'adresse suivante:
-http://appup.forge.codelutin.com/tutti/tutti-db.properties
+https://www.ifremer.fr/sih-resource-private/tutti/tutti-data.properties
-
-::
-
- ################################################################################
- ### DB Updates #################################################################
- ################################################################################
-
- db.version=${dbVersion}
- db.url=zip:http://appup.nuiton.org/tutti/auth/tutti-db-${dbVersion}.zip
- db.auth=true
-
Utilisation dans Tutti
----------------------
@@ -137,14 +127,3 @@
la base requière un mot de passe.
Le fichier de mise à jour quand à lui sera toujours disponible publiquement.
-
-Pré-requis à la création d'une nouvelle version de Tutti
---------------------------------------------------------
-
-Pour pouvoir créer une nouvelle version de Tutti, il nous faut connaitre la
-dernière mise à jour de la base.
-
-Ainsi nous pourrons monter les versions du fichier de mise à jour automatiquement.
-
-Les autres composants (jre, tutti, i18n, help) sont automatiquement gérés lors de
-la création de la nouvelle version.
\ No newline at end of file
1
0
r1523 - in trunk: src/site/rst tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service tutti-persistence/src/main/resources
by tchemit@users.forge.codelutin.com Jan. 23, 2014
by tchemit@users.forge.codelutin.com Jan. 23, 2014
Jan. 23, 2014
Author: tchemit
Date: 2014-01-23 12:35:27 +0100 (Thu, 23 Jan 2014)
New Revision: 1523
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1523
Log:
fixes #4196: [TECH] Requ?\195?\170te d'acc?\195?\168s au r?\195?\169f?\195?\169rentiel Personne
Modified:
trunk/src/site/rst/referential.rst
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml
trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties
Modified: trunk/src/site/rst/referential.rst
===================================================================
--- trunk/src/site/rst/referential.rst 2014-01-23 11:01:50 UTC (rev 1522)
+++ trunk/src/site/rst/referential.rst 2014-01-23 11:35:27 UTC (rev 1523)
@@ -161,7 +161,6 @@
-------------------------------
::
-
SELECT DISTINCT
p.id,
p.lastname,
@@ -178,7 +177,7 @@
:projectMemberProfilId,
:userProfilId
)
- AND p.department.code LIKE 'PDG-%'
+ AND p.department.code LIKE concat(:departementPrefixCode , '%')
Paramètres :
@@ -187,6 +186,7 @@
- :userProfilId = *UserProfilId.USER*
- :statusValidCode = *StatusCode.ENABLE*
- :statusTemporaryCode = *StatusCode.TEMPORARY*
+- :departementPrefixCode = *UserProfilId.DEPARTEMENT_PREFIX*
*État:* Valide.
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2014-01-23 11:01:50 UTC (rev 1522)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2014-01-23 11:35:27 UTC (rev 1523)
@@ -351,7 +351,9 @@
"allPersons",
"observerProfilId", IntegerType.INSTANCE, enumeration.USER_PROFIL_ID_OBSERVER,
"projectMemberProfilId", IntegerType.INSTANCE, enumeration.USER_PROFIL_ID_PROJECT_MEMBER,
- "userProfilId", IntegerType.INSTANCE, enumeration.USER_PROFIL_ID_USER);
+ "userProfilId", IntegerType.INSTANCE, enumeration.USER_PROFIL_ID_USER,
+ "departementPrefixCode", StringType.INSTANCE, enumeration.USER_PROFIL_ID_DEPARTEMENT_PREFIX
+ );
List<Person> result = Lists.newArrayList();
while (list.hasNext()) {
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2014-01-23 11:01:50 UTC (rev 1522)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2014-01-23 11:35:27 UTC (rev 1523)
@@ -119,6 +119,9 @@
@Value("${UserProfilId.USER}")
public final Integer USER_PROFIL_ID_USER = null;
+ @Value("${UserProfilId.DEPARTEMENT_PREFIX}")
+ public final String USER_PROFIL_ID_DEPARTEMENT_PREFIX = null;
+
@Value("${VesselTypeId.SCIENTIFIC_RESEARCH_VESSEL}")
public final Integer VESSEL_TYPE_ID_SCIENTIFIC = null;
Modified: trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml
===================================================================
--- trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml 2014-01-23 11:01:50 UTC (rev 1522)
+++ trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml 2014-01-23 11:35:27 UTC (rev 1523)
@@ -851,13 +851,14 @@
:projectMemberProfilId,
:userProfilId
)
- AND p.department.code LIKE 'PDG-%'
+ AND p.department.code LIKE concat(:departementPrefixCode , '%')
]]>
<query-param name="observerProfilId" type="java.lang.Integer"/>
<query-param name="projectMemberProfilId" type="java.lang.Integer"/>
<query-param name="userProfilId" type="java.lang.Integer"/>
<query-param name="statusValidCode" type="java.lang.String"/>
<query-param name="statusTemporaryCode" type="java.lang.String"/>
+ <query-param name="departementPrefixCode" type="java.lang.String"/>
</query>
<!-- [REF-04-1] Get one person -->
Modified: trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties 2014-01-23 11:01:50 UTC (rev 1522)
+++ trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties 2014-01-23 11:35:27 UTC (rev 1523)
@@ -402,6 +402,8 @@
# (20=observateur volant, 95=Administrateur SIH) -> L'avantage du 20 est qu'il est inactif (=20), donc plus facilement detectable
PersonId.UNKNOWN_RECORDER_PERSON=20
+UserProfilId.DEPARTEMENT_PREFIX=PDG-
+
# 181=PDG-RBE (à confirmer par Vincent)
DepartmentId.UNKNOWN_RECORDER_DEPARTMENT=181
1
0
r1522 - in trunk: tutti-persistence/src/main/java/fr/ifremer/tutti tutti-persistence/src/main/java/fr/ifremer/tutti/persistence tutti-persistence/src/main/resources/i18n tutti-service/src/main/java/fr/ifremer/tutti/service tutti-ui-swing/src/main/assembly tutti-ui-swing/src/main/assembly/full tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing
by tchemit@users.forge.codelutin.com Jan. 23, 2014
by tchemit@users.forge.codelutin.com Jan. 23, 2014
Jan. 23, 2014
Author: tchemit
Date: 2014-01-23 12:01:50 +0100 (Thu, 23 Jan 2014)
New Revision: 1522
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1522
Log:
fixes #4149: [TECH] Mise ?\195?\160 jour de r?\195?\169f?\195?\169rentiel - Erreur sur les donn?\195?\169es suite ?\195?\160 la mise ?\195?\160 jour
Added:
trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.bat
trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.sh
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
trunk/tutti-ui-swing/src/main/assembly/full/README.txt
trunk/tutti-ui-swing/src/main/assembly/tutti-full-component.xml
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java 2014-01-23 11:01:50 UTC (rev 1522)
@@ -331,7 +331,6 @@
applicationConfig.setOption(TuttiConfigurationOption.PROTOCOL_ID.getKey(), protocolId);
}
-
//------------------------------------------------------------------------//
//--- Option getter ------------------------------------------------------//
//------------------------------------------------------------------------//
@@ -393,6 +392,11 @@
return applicationConfig.getOptionAsClass(TuttiConfigurationOption.HIBERNATE_DIALECT.getKey());
}
+ public boolean isSanityDb() {
+ boolean result = applicationConfig.getOptionAsBoolean(TuttiConfigurationOption.DB_SANITY.getKey());
+ return result;
+ }
+
public boolean isHibernateShowSql() {
boolean result = applicationConfig.getOptionAsBoolean(TuttiConfigurationOption.HIBERNATE_SHOW_SQL.getKey());
return result;
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java 2014-01-23 11:01:50 UTC (rev 1522)
@@ -141,6 +141,12 @@
"allegro",
String.class),
+ DB_SANITY(
+ "tutti.persistence.db.sanity",
+ n_("tutti.persistence.db.sanity.description"),
+ "false",
+ Boolean.class),
+
JDBC_USERNAME(
"tutti.persistence.jdbc.username",
n_("tutti.config.option.persistence.jdbc.username.description"),
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2014-01-23 11:01:50 UTC (rev 1522)
@@ -108,6 +108,8 @@
void updateSchema();
+ void sanityDb();
+
//------------------------------------------------------------------------//
//-- Referential methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-01-23 11:01:50 UTC (rev 1522)
@@ -99,8 +99,6 @@
private static final Log log =
LogFactory.getLog(TuttiPersistenceImpl.class);
- public static Boolean CHECK = false;
-
@Autowired
protected ReferentialPersistenceService referentialService;
@@ -211,6 +209,11 @@
}
@Override
+ public void sanityDb() {
+ databaseSanityService.sanity();
+ }
+
+ @Override
public void init() {
if (log.isInfoEnabled()) {
log.info("Open persistence driver " + getImplementationName());
@@ -231,12 +234,6 @@
TuttiEnumerationFile enumerationFile = getEnumerationFile();
batchVracPredicate = TuttiEntities.newSpeciesAbleBatchCategoryPredicate(enumerationFile.PMFM_ID_SORTED_UNSORTED, enumerationFile.QUALITATIVE_VRAC_ID);
-
- if (CHECK) {
-
- // sanity database
- databaseSanityService.sanity();
- }
}
protected boolean close;
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2014-01-23 11:01:50 UTC (rev 1522)
@@ -99,6 +99,11 @@
}
@Override
+ public void sanityDb() {
+ throw notImplemented();
+ }
+
+ @Override
public void clearAllCaches() {
throw notImplemented();
}
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2014-01-23 11:01:50 UTC (rev 1522)
@@ -92,6 +92,7 @@
tutti.persistence.config.generateEnumFile.error=
tutti.persistence.config.generateFile.error=
tutti.persistence.cruise.gearUsedInOperations.error=
+tutti.persistence.db.sanity.description=
tutti.persistence.dbMetadata.instanciation.error=
tutti.persistence.error.caracteristic.notFound=
tutti.persistence.error.no.convertor=
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2014-01-23 11:01:50 UTC (rev 1522)
@@ -92,6 +92,7 @@
tutti.persistence.config.generateEnumFile.error=Erreur lors de la génération du fichier d'énumération de la configuration de la base de données
tutti.persistence.config.generateFile.error=Erreur lors de la génération du fichier de configuration de la base de données
tutti.persistence.cruise.gearUsedInOperations.error=Vous essayez d'enlever un ou plusieurs engins qui sont utilisés sur des traits.<hr/>Veuillez changer l'engin des traits en question pour pouvoir les enlever de la campagne.
+tutti.persistence.db.sanity.description=Mettre à vrai pour nettoyer les bases au chargement
tutti.persistence.dbMetadata.instanciation.error=Erreur lors de l'initialisation des metadata de la base de données par la connexion %s
tutti.persistence.error.caracteristic.notFound=Caractéristique inconnue
tutti.persistence.error.no.convertor=Impossible de convertir en modèle de catégorie le type %s avec la valeur %s
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2014-01-23 11:01:50 UTC (rev 1522)
@@ -212,6 +212,11 @@
driver.updateSchema();
}
+ @Override
+ public void sanityDb() {
+ driver.sanityDb();
+ }
+
public static final DateFormat EXPORT_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
public static final String EXPORT_DIRECTORY_FORMAT = "tutti-%s-%s";
@@ -622,6 +627,11 @@
// can use adagio driver
driver = TuttiPersistenceServiceLocator.getPersistenceService();
+ if (config.isSanityDb()) {
+
+ driver.sanityDb();
+ }
+
} else {
driver = new TuttiPersistenceNoDbImpl();
Modified: trunk/tutti-ui-swing/src/main/assembly/full/README.txt
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/full/README.txt 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-ui-swing/src/main/assembly/full/README.txt 2014-01-23 11:01:50 UTC (rev 1522)
@@ -1,17 +1,30 @@
Pour démarrer Allegro Campagne Saisie
-------------------------------------
+# Sous windows
+
+tutti.bat
+
# Sous Linux
./tutti.sh
+Pour nettoyer la base de donnée
+-------------------------------
+
+Si vous rencontrez des problèmes avec la base de données, vous pouvez tenter de lancer cette commande
+
# Sous windows
-tutti.bat
+tutti-sanity.bat
+# Sous Linux
+
+./tutti-sanity.sh
+
Consulter l'aide
----------------
-En attendant que l'aide soit finalisée, vous pouvez consulter ce document :
+L'aide en ligne est consultable dans l'application ou bien sur le site
-help/Aide_Allegro_Campagne.odt
\ No newline at end of file
+http://maven-site.forge.codelutin.com/tutti/help/fr/index.html
\ No newline at end of file
Copied: trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.bat (from rev 1520, trunk/tutti-ui-swing/src/main/assembly/full/tutti.bat)
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.bat (rev 0)
+++ trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.bat 2014-01-23 11:01:50 UTC (rev 1522)
@@ -0,0 +1,44 @@
+@echo off
+
+set OLDDIR=%CD%
+cd /d %~dp0%
+
+set TUTTI_BASEDIR="%CD%"
+set JAVA_HOME=%TUTTI_BASEDIR%\jre
+set JAVA_COMMAND=%JAVA_HOME%\bin\java
+set TUTTI_LOG_FILE=%TUTTI_BASEDIR%\data\tutti-${project.version}.log
+
+echo Allegro Campaign basedir: %TUTTI_BASEDIR%
+echo Allegro Campaign app home: %TUTTI_HOME%
+echo Allegro Campaign jre home: %JAVA_HOME%
+echo Allegro Campaign log file: %TUTTI_LOG_FILE%
+
+:start
+
+copy tutti\update.bat .
+echo Searching for updates...
+call update.bat
+del update.bat
+if exist "tutti.config" copy tutti.config tutti
+echo Allegro Campaign ${project.version} is starting...
+call tutti\launch.bat --option tutti.launch.mode full --option tutti.basedir %TUTTI_BASEDIR% --option tutti.persistence.db.sanity true
+if errorlevel 89 goto deletedb
+if errorlevel 88 goto start
+
+goto quit
+
+:deletedb
+
+echo "Clean database and restart"
+
+del /S/Q data\db
+del /S/Q data\dbcache
+del /S/Q data\dbconf
+rmdir data\db
+rmdir data\dbcache
+rmdir data\dbconf
+
+goto start
+
+:quit
+cd %OLDDIR%
Copied: trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.sh (from rev 1520, trunk/tutti-ui-swing/src/main/assembly/full/tutti.sh)
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.sh (rev 0)
+++ trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.sh 2014-01-23 11:01:50 UTC (rev 1522)
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+export TUTTI_BASEDIR=$(pwd)
+export TUTTI_HOME=$TUTTI_BASEDIR/tutti
+export JAVA_HOME=$TUTTI_BASEDIR/jre
+export JAVA_COMMAND=$JAVA_HOME/bin/java
+export TUTTI_LOG_FILE=$TUTTI_BASEDIR/data/tutti-${project.version}.log
+
+cd $TUTTI_BASEDIR
+
+echo "Allegro Campaign basedir: $TUTTI_BASEDIR"
+echo "Allegro Campaign app home: $TUTTI_HOME"
+echo "Allegro Campaign jre home: $JAVA_HOME"
+echo "Allegro Campaign log file: $TUTTI_LOG_FILE"
+
+while true; do
+
+ cp $TUTTI_HOME/update.sh .
+ echo "Searching for updates..."
+ ./update.sh
+ rm -f update.sh
+ if [ -f $TUTTI_BASEDIR/tutti.config ]; then
+ cp -rfv $TUTTI_BASEDIR/tutti.config $TUTTI_HOME
+ fi
+ echo "Allegro Campaign ${project.version} is starting..."
+ ./tutti/launch.sh --option tutti.launch.mode full --option tutti.basedir $TUTTI_BASEDIR --option tutti.persistence.db.sanity true
+ exitcode=$?
+
+ if [ "$exitcode" -eq "89" ]; then
+ # delete db directory and restart
+ rm -rfv data/db
+ rm -rfv data/dbcache
+ rm -rfv data/dbconf
+ exitcode=88
+ fi
+
+ if [ ! "$exitcode" -eq "88" ]; then
+ # quit now!
+ exit $exitcode
+ fi
+done
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/assembly/tutti-full-component.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/tutti-full-component.xml 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-ui-swing/src/main/assembly/tutti-full-component.xml 2014-01-23 11:01:50 UTC (rev 1522)
@@ -36,8 +36,8 @@
<filtered>true</filtered>
<fileMode>0755</fileMode>
<includes>
- <include>tutti.sh</include>
- <include>tutti.bat</include>
+ <include>*.sh</include>
+ <include>*.bat</include>
<include>README*</include>
<include>report/**</include>
</includes>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2014-01-23 08:25:49 UTC (rev 1521)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2014-01-23 11:01:50 UTC (rev 1522)
@@ -25,7 +25,6 @@
*/
import fr.ifremer.tutti.TuttiConfiguration;
-import fr.ifremer.tutti.persistence.TuttiPersistenceImpl;
import fr.ifremer.tutti.ui.swing.action.StartAction;
import fr.ifremer.tutti.ui.swing.action.UpdateApplicationAction;
import fr.ifremer.tutti.ui.swing.action.UpdateReportAction;
@@ -61,8 +60,6 @@
public static void main(String... args) {
- TuttiPersistenceImpl.CHECK = true;
-
if (log.isInfoEnabled()) {
log.info("Starting Tutti with arguments: " + Arrays.toString(args));
}
1
0
r1521 - in trunk: src/conception/specifications tutti-ui-swing/src/main/help/css tutti-ui-swing/src/main/help/en tutti-ui-swing/src/main/help/fr
by lkaufmann@users.forge.codelutin.com Jan. 23, 2014
by lkaufmann@users.forge.codelutin.com Jan. 23, 2014
Jan. 23, 2014
Author: lkaufmann
Date: 2014-01-23 09:25:49 +0100 (Thu, 23 Jan 2014)
New Revision: 1521
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1521
Log:
Specifications update - v 0.4.2 & help update (spelling corrections)
Modified:
trunk/src/conception/specifications/AllegroCampagne-Specifications.odt
trunk/src/conception/specifications/AllegroCampagne-Specifications.pdf
trunk/tutti-ui-swing/src/main/help/css/style.css
trunk/tutti-ui-swing/src/main/help/en/editFishingOperation.html
trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html
trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html
Modified: trunk/src/conception/specifications/AllegroCampagne-Specifications.odt
===================================================================
(Binary files differ)
Modified: trunk/src/conception/specifications/AllegroCampagne-Specifications.pdf
===================================================================
(Binary files differ)
Modified: trunk/tutti-ui-swing/src/main/help/css/style.css
===================================================================
--- trunk/tutti-ui-swing/src/main/help/css/style.css 2014-01-21 16:44:14 UTC (rev 1520)
+++ trunk/tutti-ui-swing/src/main/help/css/style.css 2014-01-23 08:25:49 UTC (rev 1521)
@@ -54,4 +54,10 @@
.table > tbody > .danger > td,
.table > tfoot > .danger > td {
background-color: #F2DEDE !important;
+}
+
+.checked {
+ text-align: center;
+ font-weight: bold;
+}
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/help/en/editFishingOperation.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/en/editFishingOperation.html 2014-01-21 16:44:14 UTC (rev 1520)
+++ trunk/tutti-ui-swing/src/main/help/en/editFishingOperation.html 2014-01-23 08:25:49 UTC (rev 1521)
@@ -418,7 +418,7 @@
<dt>Poids inerte trié</dt>
<dd>
dans la fraction triée, correspond au poids de la vase, des cailloux,
- débris coquillers, etc.
+ débris coquilliers, etc.
</dd>
<dt>Poids vivant non détaillé trié</dt>
<dd>
@@ -525,7 +525,7 @@
<dd>
sur la ligne sélectionnée, pointer la catégorisation que vous voulez
modifier (exemple modifer Vrac en Hors Vrac), clic droit + Modifier la
- catégorie vous permet de choisir dans la lsite déroulante la nouvelle
+ catégorie vous permet de choisir dans la liste déroulante la nouvelle
valeur que vous souhaitez appliquer au lot.
</dd>
<dt>Clic droit sur un lot espèce + [Ajouter une catégorie]</dt>
Modified: trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html 2014-01-21 16:44:14 UTC (rev 1520)
+++ trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html 2014-01-23 08:25:49 UTC (rev 1521)
@@ -26,7 +26,7 @@
-->
<meta charset="utf-8">
- <title>Allegro Campagne - Gérer la base de données</title>
+ <title>Allegro Campagne - Mapping Écrans / Base de données</title>
<link href="../css/bootstrap.min.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
<script type="text/javascript" src="../js/jquery-2.0.3.min.js"></script>
@@ -37,7 +37,7 @@
<div class="container">
<div class="page-header">
- <h1>Gérer la base de données</h1>
+ <h1>Mapping Écrans / Base de données</h1>
</div>
<p>Cette page décrit comment sont stockées les informations visibles dans les écrans de l'application.</p>
@@ -59,7 +59,7 @@
<p>Nom</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Texte libre</p>
@@ -73,7 +73,7 @@
<p>Zone</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -88,7 +88,7 @@
<p>Description</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Texte libre</p>
@@ -117,7 +117,7 @@
<p>Série</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -190,7 +190,7 @@
<p>Nombre de poches</p>
</td>
<td rowspan="2">
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td rowspan="2">
<p>Numérique</p>
@@ -215,7 +215,7 @@
<p>Port de départ</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -230,7 +230,7 @@
<p>Port d'arrivée</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -245,7 +245,7 @@
<p>Date de début</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Date (JJ/MM/AAAA)</p>
@@ -259,7 +259,7 @@
<p>Date de fin</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Date (JJ/MM/AAAA)</p>
@@ -273,7 +273,7 @@
<p>Navire</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -288,7 +288,7 @@
<p>Engin(s)</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -303,7 +303,7 @@
<p>Chef(s) de mission</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -318,7 +318,7 @@
<p>Responsable(s) de salle de tri</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -362,7 +362,7 @@
<p>Nom</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Texte libre</p>
@@ -760,7 +760,7 @@
<p>Code Station</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Texte libre</p>
@@ -774,7 +774,7 @@
<p>Numéro de Trait</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Numérique</p>
@@ -877,7 +877,7 @@
<p>Date de début de traîne</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Date (JJ/MM/AAAA)</p>
@@ -1473,10 +1473,10 @@
</tr>
<tr>
<td>
- <p>Tableau > Espèce</p>
+ <p>Tableau > Espèce du lot</p>
</td>
<td>
- <p> </p>
+ <p class="checked">X</p>
</td>
<td>
<p> </p>
@@ -1490,7 +1490,7 @@
<p>Tableau > V/HV</p>
</td>
<td>
- <p> </p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -1842,10 +1842,10 @@
</tr>
<tr>
<td>
- <p>Tableau > Benthos</p>
+ <p>Tableau > Espèce du lot</p>
</td>
<td>
- <p> </p>
+ <p class="checked">X</p>
</td>
<td>
<p> </p>
@@ -1859,7 +1859,7 @@
<p>Tableau > V/HV</p>
</td>
<td>
- <p> </p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -2143,10 +2143,10 @@
</tr>
<tr>
<td>
- <p>Tableau > Catégorie</p>
+ <p>Tableau > Catégorie de déchets</p>
</td>
<td>
- <p> </p>
+ <p class="checked">X</p>
</td>
<td>
<p>Choix parmi les valeurs issues d'un référentiel</p>
@@ -2160,7 +2160,7 @@
<p>Tableau > Catégorie de taille</p>
</td>
<td>
- <p> </p>
+ <p class="checked">X</p>
</td>
<td>
<p>Choix parmi les valeurs issues d'un référentiel</p>
@@ -2174,7 +2174,7 @@
<p>Tableau > Nombre</p>
</td>
<td>
- <p> </p>
+ <p class="checked">X</p>
</td>
<td>
<p>Numérique</p>
@@ -2259,7 +2259,7 @@
<p>Tableau > Espèce</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
@@ -2418,7 +2418,7 @@
<p>Tableau > Espèce</p>
</td>
<td>
- <p style="text-align:center;font-weight:bold;">X</p>
+ <p class="checked">X</p>
</td>
<td>
<p>Liste.</p>
Modified: trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html 2014-01-21 16:44:14 UTC (rev 1520)
+++ trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html 2014-01-23 08:25:49 UTC (rev 1521)
@@ -425,7 +425,7 @@
<dt>Poids inerte trié</dt>
<dd>
dans la fraction triée, correspond au poids de la vase, des cailloux,
- débris coquillers, etc.
+ débris coquilliers, etc.
</dd>
<dt>Poids vivant non détaillé trié</dt>
<dd>
@@ -532,7 +532,7 @@
<dd>
sur la ligne sélectionnée, pointer la catégorisation que vous voulez
modifier (exemple modifer Vrac en Hors Vrac), clic droit + Modifier la
- catégorie vous permet de choisir dans la lsite déroulante la nouvelle
+ catégorie vous permet de choisir dans la liste déroulante la nouvelle
valeur que vous souhaitez appliquer au lot.
</dd>
<dt>Clic droit sur un lot espèce + [Ajouter une catégorie]</dt>
1
0
r1520 - in trunk/tutti-ui-swing/src/main: filtered-resources help/fr
by tchemit@users.forge.codelutin.com Jan. 21, 2014
by tchemit@users.forge.codelutin.com Jan. 21, 2014
Jan. 21, 2014
Author: tchemit
Date: 2014-01-21 17:44:14 +0100 (Tue, 21 Jan 2014)
New Revision: 1520
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1520
Log:
refs #3876: Import de donn?\195?\169es depuis un ictyom?\195?\168tre (par lot) (debut de doc)
Modified:
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html
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-21 16:29:59 UTC (rev 1519)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-01-21 16:44:14 UTC (rev 1520)
@@ -121,7 +121,6 @@
tutti.editCatchBatch.action.computeWeights.help=editFishingOperation.html\#captureResumeActions
tutti.editCatchBatch.action.exportFishingOperationReport.help=editFishingOperation.html\#captureResumeActions
tutti.editCatchBatch.action.exportFishingOperationReportForSumatra.help=editFishingOperation.html\#captureResumeActions
-tutti.editCatchBatch.action.importPupitri.help=editFishingOperation.html\#captureResumeActions
tutti.editCatchBatch.action.saveCatchBatch.help=editFishingOperation.html\#captureResumeActions
tutti.editCatchBatch.field.benthosTotalSampleSortedWeight.help=editFishingOperation.html\#captureResumeFields
tutti.editCatchBatch.field.benthosTotalSortedWeight.help=editFishingOperation.html\#captureResumeFields
@@ -255,7 +254,7 @@
tutti.editSpeciesBatch.action.editFrequencies.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.exportMultiPost.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.importMultiPost.help=editFishingOperation.html\#captureEspecesActions
-tutti.editSpeciesBatch.action.importPsion.help=
+tutti.editSpeciesBatch.action.importPsion.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.importPupitri.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.removeBatch.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.removeSubBatch.help=editFishingOperation.html\#captureEspecesActions
Modified: trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html 2014-01-21 16:29:59 UTC (rev 1519)
+++ trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html 2014-01-21 16:44:14 UTC (rev 1520)
@@ -589,6 +589,24 @@
(cf cas particulier du tri d'un mélange). Les deux fichiers importés
sont sauvegardés comme pièce jointe dans l'onglet « Résumé ».
</dd>
+ <dt>Import psion</dt>
+ <dd>
+ TODO A finir.
+ Il est possible d'importer le fichier généré par le Psion à l'issue du tri de la capture.
+ A l'invitation, sélectionner le fichier .IWA et valider. L'applicatif
+ importera dans l'onglet « Espèces » la liste des espèces
+ triées et les poids associés.
+ L'import ne sera effectif que si le code station et la date du début de trait des
+ fichiers correspondent au code station et date de début du trait et qu'aucune erreur n'est détectée.
+ Toute espèce déjà renseignée dans l'onglet « Résumé » ne peut pas être réimportée.
+ Les espèces non présentent dans le référentiel ne seront pas importées dans
+ l'onglet « Espèces »
+ (cf cas particulier du tri d'un mélange). Le fichier importé
+ est sauvegardé comme pièce jointe dans l'onglet « Résumé ».
+
+ A noter aussi que l'import nécessite l'utilisation d'un protocole (le code campagne des espèces est utilisé
+ pour retrouver celles-ci dans le référentiel).
+ </dd>
<dt>Importer des lots d'espèces</dt>
<dd>
En mode "saisie multi-postes", permet d'importer une saisie des espèces
1
0
Jan. 21, 2014
Author: tchemit
Date: 2014-01-21 17:29:59 +0100 (Tue, 21 Jan 2014)
New Revision: 1519
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1519
Log:
refs #3876: Import de donn?\195?\169es depuis un ictyom?\195?\168tre (par lot)
Added:
trunk/tutti-service/src/test/resources/psion/protocol.tuttiProtocol
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportPsionAction.java
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportBatchModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportResult.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java
trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java
trunk/tutti-service/src/test/resources/psion/CC053.IWA
trunk/tutti-service/src/test/resources/psion/FM001.IWA
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
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/operation/catches/species/SpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
trunk/tutti-ui-swing/src/main/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-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportBatchModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportBatchModel.java 2014-01-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportBatchModel.java 2014-01-21 16:29:59 UTC (rev 1519)
@@ -24,11 +24,15 @@
* #L%
*/
+import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import fr.ifremer.tutti.persistence.entities.referential.Species;
+import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.mutable.MutableInt;
import java.io.Serializable;
+import java.util.Iterator;
+import java.util.List;
import java.util.Map;
/**
@@ -39,6 +43,26 @@
*/
public class PsionImportBatchModel {
+ public static class SampleCategory {
+
+ protected final Integer categoryId;
+
+ protected final Serializable categoryValue;
+
+ public SampleCategory(Integer categoryId, Serializable categoryValue) {
+ this.categoryId = categoryId;
+ this.categoryValue = categoryValue;
+ }
+
+ public Integer getCategoryId() {
+ return categoryId;
+ }
+
+ public Serializable getCategoryValue() {
+ return categoryValue;
+ }
+ }
+
protected final Species species;
protected final Integer lengthStepCaracteristicId;
@@ -47,18 +71,23 @@
protected Float sampleWeight;
- protected Integer categoryId;
+ protected final List<SampleCategory> categories;
- protected Serializable categoryValue;
-
protected final Map<Float, MutableInt> frequencies;
+ protected String categoryCode;
+
public PsionImportBatchModel(Species species, Integer lengthStepCaracteristicId) {
this.species = species;
this.lengthStepCaracteristicId = lengthStepCaracteristicId;
- frequencies = Maps.newTreeMap();
+ this.frequencies = Maps.newTreeMap();
+ this.categories = Lists.newArrayList();
}
+ public void setCategoryCode(String categoryCode) {
+ this.categoryCode = categoryCode;
+ }
+
public void setWeight(Float weight) {
this.weight = weight;
}
@@ -68,23 +97,27 @@
}
public void setCategory(Integer categoryId, Serializable categoryValue) {
- this.categoryId = categoryId;
- this.categoryValue = categoryValue;
+ SampleCategory category = new SampleCategory(categoryId, categoryValue);
+ categories.add(category);
}
- public void addFrequency(Float size) {
+ public void addFrequency(Float size, int number) {
MutableInt mutableFloat = frequencies.get(size);
if (mutableFloat == null) {
mutableFloat = new MutableInt(0);
frequencies.put(size, mutableFloat);
}
- mutableFloat.increment();
+ mutableFloat.add(number);
}
public Species getSpecies() {
return species;
}
+ public String getCategoryCode() {
+ return categoryCode;
+ }
+
public Integer getLengthStepCaracteristicId() {
return lengthStepCaracteristicId;
}
@@ -97,18 +130,18 @@
return sampleWeight;
}
- public Integer getCategoryId() {
- return categoryId;
+ public Iterator<SampleCategory> getCategoryIterator() {
+ return categories.iterator();
}
- public Serializable getCategoryValue() {
- return categoryValue;
- }
-
public boolean withFrequencies() {
return !frequencies.isEmpty();
}
+ public boolean withCategories() {
+ return !categories.isEmpty();
+ }
+
public Map<Float, MutableInt> getFrequencies() {
return frequencies;
}
@@ -116,4 +149,15 @@
public int getNbFrequencies() {
return frequencies.size();
}
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this)
+ .append("species", species.getSurveyCode())
+ .append("categoryCode", categoryCode)
+ .append("weight", weight)
+ .append("sampleWeight", sampleWeight)
+ .append("frequencies", frequencies.size())
+ .toString();
+ }
}
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java 2014-01-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java 2014-01-21 16:29:59 UTC (rev 1519)
@@ -25,10 +25,15 @@
*/
import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import fr.ifremer.tutti.persistence.entities.referential.Species;
+import org.apache.commons.lang3.mutable.MutableInt;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import java.util.List;
+import java.util.Map;
import java.util.Set;
/**
@@ -39,34 +44,25 @@
*/
public class PsionImportModel {
- protected final List<PsionImportBatchModel> batchs;
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(PsionImportModel.class);
- protected final Set<String> ignoredSpecies;
+ protected final Map<String, PsionImportBatchModel> batchsByCategory;
+ protected final List<String> errors;
+
public PsionImportModel() {
- batchs = Lists.newArrayList();
- ignoredSpecies = Sets.newHashSet();
+ batchsByCategory = Maps.newLinkedHashMap();
+ errors = Lists.newArrayList();
}
- public void addBatch(PsionImportBatchModel batchModel) {
- batchs.add(batchModel);
- }
-
- public void addIgnoredSpecies(String species) {
- ignoredSpecies.add(species);
- }
-
public boolean withBatchs() {
- return !batchs.isEmpty();
+ return !batchsByCategory.isEmpty();
}
- public Set<String> getIgnoredSpecies() {
- return ignoredSpecies;
- }
-
public Set<Species> getSpecies() {
Set<Species> result = Sets.newLinkedHashSet();
- for (PsionImportBatchModel batch : batchs) {
+ for (PsionImportBatchModel batch : batchsByCategory.values()) {
result.add(batch.getSpecies());
}
return result;
@@ -74,11 +70,55 @@
public List<PsionImportBatchModel> getBatchs(Species species) {
List<PsionImportBatchModel> result = Lists.newArrayList();
- for (PsionImportBatchModel batch : batchs) {
+ for (PsionImportBatchModel batch : batchsByCategory.values()) {
if (species.equals(batch.getSpecies())) {
result.add(batch);
}
}
return result;
}
+
+ public boolean withErrors() {
+ return !errors.isEmpty();
+ }
+
+ void addBatch(PsionImportBatchModel batchModel) {
+
+ String cacheCode = batchModel.getSpecies().getSurveyCode() + "_" + batchModel.getCategoryCode();
+
+ PsionImportBatchModel mergeBatch = batchsByCategory.get(cacheCode);
+
+ if (mergeBatch == null) {
+
+ // new batch
+ batchsByCategory.put(cacheCode, batchModel);
+
+ if (log.isInfoEnabled()) {
+ log.info("Added " + batchModel);
+ }
+ } else {
+
+ // merge data with this batch
+
+ mergeBatch.setWeight(mergeBatch.getWeight() + batchModel.getWeight());
+ mergeBatch.setSampleWeight(mergeBatch.getSampleWeight() + batchModel.getSampleWeight());
+
+ for (Map.Entry<Float, MutableInt> entry : batchModel.getFrequencies().entrySet()) {
+ Float stepClass = entry.getKey();
+ int number = entry.getValue().intValue();
+ mergeBatch.addFrequency(stepClass, number);
+ }
+ if (log.isInfoEnabled()) {
+ log.info("Merged " + batchModel + " to " + mergeBatch);
+ }
+ }
+ }
+
+ void addError(String error) {
+ errors.add(error);
+ }
+
+ public List<String> getErrors() {
+ return errors;
+ }
}
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportResult.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportResult.java 2014-01-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportResult.java 2014-01-21 16:29:59 UTC (rev 1519)
@@ -24,7 +24,10 @@
* #L%
*/
+import com.google.common.collect.Lists;
+
import java.io.File;
+import java.util.List;
/**
* Created on 1/20/14.
@@ -36,12 +39,13 @@
protected final File importFile;
+ protected final List<String> errors;
+
protected int nbImported;
- protected int nbNotImported;
-
- public PsionImportResult(File importFile) {
+ public PsionImportResult(File importFile, List<String> errors) {
this.importFile = importFile;
+ this.errors = Lists.newArrayList(errors);
}
public File getImportFile() {
@@ -52,15 +56,19 @@
return nbImported;
}
- public int getNbNotImported() {
- return nbNotImported;
+ public List<String> getErrors() {
+ return errors;
}
void incrementNbImported() {
this.nbImported++;
}
- void incrementNbNotImported() {
- this.nbNotImported++;
+ void addError(String error) {
+ errors.add(error);
}
+
+ public boolean isDone() {
+ return errors.isEmpty();
+ }
}
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java 2014-01-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java 2014-01-21 16:29:59 UTC (rev 1519)
@@ -50,9 +50,9 @@
import fr.ifremer.tutti.persistence.service.TuttiEnumerationFile;
import fr.ifremer.tutti.service.AbstractTuttiService;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.service.TuttiDataContext;
import fr.ifremer.tutti.service.TuttiServiceContext;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.mutable.MutableInt;
import org.apache.commons.logging.Log;
@@ -63,6 +63,10 @@
import java.io.IOException;
import java.io.Serializable;
import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -81,43 +85,59 @@
private static final Log log = LogFactory.getLog(PsionImportService.class);
- protected static final Set<String> SEX_VALUES = Sets.newHashSet(
- "N", "n", "I", "i", "F", "f", "M", "m"
- );
+ protected static final Set<String> SEX_VALUES = Sets.newHashSet("I", "i", "F", "f", "M", "m");
- protected static final Set<String> MATURITY_VALUES = Sets.newHashSet(
- "1", "2", "3", "4", "5"
- );
+ protected static final Set<String> MATURITY_VALUES = Sets.newHashSet("1", "2", "3", "4", "5");
+ /**
+ * All usables keywords in a psion import.
+ * <p/>
+ * Created on 1/20/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.0.1
+ */
+ public static enum PsionImportKeyword {
+
+ ESPE,
+ POID,
+ TAIL,
+ CATE,
+ LONG
+// // ignored
+// HEUR(true),
+// AGEN(true),
+// CAIS(true),
+// TAXO(true),
+// OUTI(true),
+// PORT(true),
+// DATE(true),
+// HERE(true),
+// NAVI(true),
+// ENGI(true);
+ }
+
protected PersistenceService persistenceService;
- protected char csvSeparator;
+ protected TuttiEnumerationFile enumerationFile;
- protected TuttiDataContext dataContext;
-
protected CaracteristicQualitativeValue sortedCaracteristic;
protected CaracteristicQualitativeValue unsortedCaracteristic;
- protected Map<String, Species> speciesBySurveyCode;
-
- protected Map<String, SpeciesProtocol> speciesProtocolBySurveyCode;
-
protected Map<String, CaracteristicQualitativeValue> sexCaracteristicValues;
protected Map<String, CaracteristicQualitativeValue> maturityCaracteristicValues;
+ protected final DateFormat df = new SimpleDateFormat("MM-dd-yyyy");
+
@Override
public void setServiceContext(TuttiServiceContext context) {
super.setServiceContext(context);
persistenceService = getService(PersistenceService.class);
- csvSeparator = ';';
- dataContext = context.getDataContext();
+ enumerationFile = persistenceService.getEnumerationFile();
-
- TuttiEnumerationFile enumerationFile = persistenceService.getEnumerationFile();
-
{ // sorted/unsorted caracteristic
Caracteristic caracteristic =
persistenceService.getSortedUnsortedCaracteristic();
@@ -161,85 +181,117 @@
maturityCaracteristicValues.put("4", byIds.get(enumerationFile.QUALITATIVE_MATURITY_4_ID));
maturityCaracteristicValues.put("5", byIds.get(enumerationFile.QUALITATIVE_MATURITY_5_ID));
}
+ }
- List<Species> allReferentSpecies = persistenceService.getReferentSpeciesWithSurveyCode(
- persistenceService.getAllReferentSpecies());
+ public PsionImportResult importFile(File psionFile, FishingOperation operation, CatchBatch catchBatch) {
- speciesBySurveyCode = Maps.newTreeMap();
- for (Species species : allReferentSpecies) {
+ Preconditions.checkNotNull(psionFile);
+ Preconditions.checkArgument(psionFile.exists(), "Psion file " + psionFile + " does not exist.");
+
+ TuttiProtocol protocol = persistenceService.getProtocol();
+
+ if (protocol == null) {
+ throw new ApplicationBusinessException(_("tutti.service.psionimport.error.no.protocol"));
+ }
+
+ List<Species> allReferentSpecies = persistenceService.getAllReferentSpecies();
+ List<Species> allSpeciesWithSurveyCode = persistenceService.getReferentSpeciesWithSurveyCode(
+ allReferentSpecies);
+
+ Map<String, Species> speciesBySurveyCode = Maps.newTreeMap();
+ for (Species species : allSpeciesWithSurveyCode) {
if (species.getSurveyCode() != null) {
speciesBySurveyCode.put(species.getSurveyCode(), species);
}
}
+ Map<String, SpeciesProtocol> speciesProtocolBySurveyCode = Maps.newTreeMap();
- speciesProtocolBySurveyCode = Maps.newTreeMap();
-
- TuttiProtocol protocol = dataContext.getProtocol();
-
- if (protocol == null) {
- // not possible
- //FIXME Deal with error
- throw new IllegalStateException("Can't open psionImportService without a protocol");
- }
-
- List<SpeciesProtocol> speciesProtocols = protocol.getSpecies();
- for (SpeciesProtocol speciesProtocol : speciesProtocols) {
+ for (SpeciesProtocol speciesProtocol : protocol.getSpecies()) {
if (speciesProtocol.getSpeciesSurveyCode() == null) {
continue;
}
speciesProtocolBySurveyCode.put(speciesProtocol.getSpeciesSurveyCode(), speciesProtocol);
}
- }
- public PsionImportResult importFile(File psionFile, FishingOperation operation, CatchBatch catchBatch) {
+ BatchContainer<SpeciesBatch> rootSpeciesBatch =
+ persistenceService.getRootSpeciesBatch(operation.getId(), null);
- Preconditions.checkNotNull(psionFile);
- Preconditions.checkArgument(psionFile.exists(), "Psion file " + psionFile + " does not exist.");
+ Set<Species> alreadyUsedSpecies = Sets.newHashSet();
+ for (SpeciesBatch speciesBatch : rootSpeciesBatch.getChildren()) {
+ alreadyUsedSpecies.add(speciesBatch.getSpecies());
+ }
// load model
- PsionImportModel importModel;
+ PsionImportModel importModel = new PsionImportModel();
try {
- importModel = readImportFile(psionFile);
+ readImportFile(importModel,
+ psionFile,
+ operation,
+ speciesBySurveyCode,
+ speciesProtocolBySurveyCode,
+ alreadyUsedSpecies);
} catch (IOException e) {
- throw new ApplicationBusinessException(e.getMessage(), e.getCause());
+ importModel.addError(e.getMessage());
}
- // import in database
- PsionImportResult result = persist(psionFile, importModel, operation, catchBatch);
+ PsionImportResult result = new PsionImportResult(psionFile, importModel.getErrors());
+ if (importModel.withErrors()) {
+ if (log.isWarnEnabled()) {
+ log.warn("Won't import psion file, errors detected.");
+ }
+ } else {
+ // persist in db
+ persist(result, importModel, operation, catchBatch);
+ }
+
return result;
}
- protected PsionImportModel readImportFile(File arpFile) throws IOException {
+ protected void readImportFile(PsionImportModel importModel,
+ File importFile,
+ FishingOperation operation,
+ Map<String, Species> speciesBySurveyCode,
+ Map<String, SpeciesProtocol> speciesProtocolBySurveyCode,
+ Set<Species> alreadyUsedSpecies) throws IOException {
- TuttiEnumerationFile enumerationFile = persistenceService.getEnumerationFile();
+ BufferedReader reader = Files.newReader(importFile, Charsets.UTF_8);
- PsionImportModel importModel = new PsionImportModel();
+ try {
- BufferedReader reader = Files.newReader(arpFile, Charsets.UTF_8);
+ reader.readLine(); // initiales saisisseurs
+ String operationCode = reader.readLine(); // Id du trait
+ String operationDateStr = reader.readLine(); // Date du trait
- try {
- PsionImportBatchModel batch = null;
+ Date operationDate;
+ try {
+ operationDate = df.parse(operationDateStr);
+ } catch (ParseException e) {
- // first line, don't care
- String line;
+ throw new IOException(_("tutti.service.psionimport.error.invalid.date.format"));
+ }
- line = reader.readLine(); // initiales saisisseurs
- line = reader.readLine(); // Id du trait
- line = reader.readLine(); // Date du trait
- line = reader.readLine(); // Heure de création du fichier
- line = reader.readLine(); // Ligne blanche
+ boolean correctOperation = ObjectUtils.equals(operationCode, operation.getStationNumber()) &&
+ ObjectUtils.equals(operationDate, operation.getGearShootingStartDate());
- int lineNumber = 6;
+ if (!correctOperation) {
+ throw new IOException(_("tutti.service.psionimport.error.invalid.operation"));
+ }
+ reader.readLine(); // Heure de création du fichier
+ reader.readLine(); // Ligne blanche
+
+ int lineNumber = 5;
+
+ PsionImportBatchModel batch = null;
+
+ String line;
String badSpecies = null;
while ((line = reader.readLine()) != null) {
lineNumber++;
if (!line.contains(":")) {
- throw new IOException(
- "Format de la ligne (" +
- lineNumber + ") incorrecte : " + line);
+ throw new IOException(_("tutti.service.psionimport.error.invalid.line.syntax", lineNumber, line));
}
int endIndex = line.indexOf(':');
String commandStr = StringUtils.trim(line.substring(0, endIndex));
@@ -250,18 +302,9 @@
try {
command = PsionImportKeyword.valueOf(commandStr);
} catch (IllegalArgumentException e) {
- throw new IOException(
- "La commande " + commandStr + " n'est pas connue ligne (" +
- lineNumber + ") ");
+ throw new IOException(_("tutti.service.psionimport.error.invalid.command.syntax", commandStr, lineNumber));
}
- if (command.isIgnored()) {
- if (log.isWarnEnabled()) {
- log.warn("Ignoring command: " + command);
- }
- continue;
- }
-
String value = StringUtils.trim(line.substring(endIndex + 1));
if (PsionImportKeyword.ESPE.equals(command)) {
@@ -270,7 +313,7 @@
// register previous batch
if (batch != null) {
- addBatchToModel(importModel, batch);
+ importModel.addBatch(batch);
}
Species species = speciesBySurveyCode.get(value);
@@ -278,11 +321,26 @@
if (species == null) {
// could not load this species
+ badSpecies = value;
+ batch = null;
+ String error = _("tutti.service.psionimport.error.species.not.found", lineNumber, value);
if (log.isWarnEnabled()) {
- log.warn("Ligne " + lineNumber + " espèce " + value + " inconnue.");
+ log.warn(error);
}
+ importModel.addError(error);
+ continue;
+ }
+
+ if (alreadyUsedSpecies.contains(species)) {
+
+ // can't use an already used species
badSpecies = value;
- importModel.addIgnoredSpecies(badSpecies);
+ batch = null;
+ String error = _("tutti.service.psionimport.error.species.already.used", lineNumber, value);
+ if (log.isWarnEnabled()) {
+ log.warn(error);
+ }
+ importModel.addError(error);
continue;
}
@@ -293,11 +351,13 @@
String lengthStepCaracteristicId = speciesProtocol.getLengthStepPmfmId();
if (StringUtils.isBlank(lengthStepCaracteristicId)) {
+ badSpecies = value;
+ batch = null;
+ String error = _("tutti.service.psionimport.error.no.lengthClass.caracteristic", lineNumber, value);
if (log.isWarnEnabled()) {
- log.warn("Ligne " + lineNumber + " espèce " + value + " ignorée car pas de caractéristique de classe de taille renseignée dans le protocole.");
+ log.warn(error);
}
- badSpecies = value;
- importModel.addIgnoredSpecies(badSpecies);
+ importModel.addError(error);
continue;
}
batch = new PsionImportBatchModel(species, Integer.valueOf(lengthStepCaracteristicId));
@@ -315,8 +375,7 @@
// check batch exists
if (batch == null) {
throw new IOException(
- "La ligne " + line + " (" + lineNumber +
- ") n'est pas valide, elle doit être précédée par une ligne ESPE");
+ _("tutti.service.psionimport.error.invalid.firstLine", line, lineNumber));
}
switch (command) {
@@ -336,54 +395,63 @@
case CATE:
// add category
- Integer caracteristicId;
- CaracteristicQualitativeValue caracteristicQualitativeValue;
+ if (StringUtils.isBlank(value)) {
+ badSpecies = batch.getSpecies().getSurveyCode();
+ batch = null;
+ String error = _("tutti.service.psionimport.error.invalid.category.syntax", lineNumber, value, badSpecies);
- if (SEX_VALUES.contains(value)) {
+ if (log.isWarnEnabled()) {
+ log.warn(error);
+ }
+ importModel.addError(error);
+ continue;
+ }
- // sex caracteristic
- caracteristicId = enumerationFile.PMFM_ID_SEX;
+ if ("N".equals(value)) {
- caracteristicQualitativeValue = sexCaracteristicValues.get(value);
+ // special case, no category
- if (caracteristicQualitativeValue == null) {
+ } else {
- //means non sexé
- caracteristicId = null;
- }
+ // guess all categories
- } else if (MATURITY_VALUES.contains(value)) {
+ for (int i = 0, nbCategory = value.length(); i < nbCategory; i++) {
+ String categoryCode = value.substring(i, i + 1);
- // maturity caracteristic
- caracteristicId = enumerationFile.PMFM_ID_MATURITY;
- caracteristicQualitativeValue = maturityCaracteristicValues.get(value);
+ PsionImportBatchModel.SampleCategory category = guessCategory(categoryCode);
- } else {
+ if (category == null) {
+ badSpecies = batch.getSpecies().getSurveyCode();
+ batch = null;
+ String error = _("tutti.service.psionimport.error.invalid.category.syntax", lineNumber, categoryCode, badSpecies);
+ if (log.isWarnEnabled()) {
+ log.warn(error);
+ }
+ importModel.addError(
+ error
+ );
+ break;
+ }
- if (log.isWarnEnabled()) {
- log.warn("Ligne " + lineNumber + ", catégorisation '" + value + "' inconnue, espèce " + batch.getSpecies().getSurveyCode() + " ignorée");
+ batch.setCategory(category.getCategoryId(), category.getCategoryValue());
}
- badSpecies = batch.getSpecies().getSurveyCode();
- importModel.addIgnoredSpecies(badSpecies);
- batch = null;
- continue;
-// throw new IOException(
-// "Ligne " + lineNumber + ", catégorisation '" + value + "' inconnue");
+ if (batch == null) {
+
+ // at least one category was not ok
+ continue;
+ }
}
- batch.setCategory(caracteristicId, caracteristicQualitativeValue);
+ batch.setCategoryCode(value);
+
break;
case LONG:
// add frequency
Float size = toFloat(value, lineNumber);
- batch.addFrequency(size);
+ batch.addFrequency(size, 1);
break;
-
- case OUTI:
- // ignore it
- break;
}
}
}
@@ -391,32 +459,24 @@
if (batch != null) {
// save it
- addBatchToModel(importModel, batch);
+ importModel.addBatch(batch);
}
reader.close();
- return importModel;
} finally {
IOUtils.closeQuietly(reader);
}
}
- protected PsionImportResult persist(File arpFile,
- PsionImportModel importModel,
- FishingOperation operation,
- CatchBatch catchBatch) {
- PsionImportResult result = new PsionImportResult(arpFile);
+ protected void persist(PsionImportResult result,
+ PsionImportModel importModel,
+ FishingOperation operation,
+ CatchBatch catchBatch) {
if (catchBatch != null) {
- addFileAsAttachment(arpFile, catchBatch);
+ addFileAsAttachment(result.getImportFile(), catchBatch);
}
- // delete all species batches
- BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null);
- for (SpeciesBatch batch : rootSpeciesBatch.getChildren()) {
- persistenceService.deleteSpeciesBatch(batch.getId());
- }
-
// insert all imported species batches
TuttiEnumerationFile enumerationFile = persistenceService.getEnumerationFile();
@@ -425,10 +485,9 @@
for (Species specy : species) {
- //FIXME Make sure this does work well with a none sex batch...
List<PsionImportBatchModel> batchs = importModel.getBatchs(specy);
- if (batchs.size() == 1 && batchs.get(0).getCategoryId() == null) {
+ if (batchs.size() == 1 && !batchs.get(0).withCategories()) {
PsionImportBatchModel batchModel = batchs.get(0);
@@ -436,10 +495,9 @@
SpeciesBatch batch = createSpeciesBatch(operation,
batchModel.getSpecies(),
batchModel.getWeight(),
+ batchModel.getSampleWeight(),
enumerationFile.PMFM_ID_SORTED_UNSORTED,
sortedCaracteristic);
- //FIXME Check this is ok.
- batch.setWeight(batchModel.getSampleWeight());
batch = persistenceService.createSpeciesBatch(batch, null);
@@ -449,37 +507,109 @@
// batch with categories
- SpeciesBatch batch = createSpeciesBatch(operation,
- specy,
- null,
- enumerationFile.PMFM_ID_SORTED_UNSORTED,
- sortedCaracteristic);
+ SpeciesBatch rootBatch = createSpeciesBatch(operation,
+ specy,
+ null,
+ null,
+ enumerationFile.PMFM_ID_SORTED_UNSORTED,
+ sortedCaracteristic);
- batch = persistenceService.createSpeciesBatch(batch, null);
+ rootBatch = persistenceService.createSpeciesBatch(rootBatch, null);
+
for (PsionImportBatchModel batchModel : batchs) {
- SpeciesBatch childBatch = createSpeciesBatch(operation,
- batchModel.getSpecies(),
- batchModel.getWeight(),
- batchModel.getCategoryId(),
- batchModel.getCategoryValue());
- //FIXME Check this is ok.
- childBatch.setWeight(batchModel.getSampleWeight());
+ SpeciesBatch parentBatch = rootBatch;
- childBatch = persistenceService.createSpeciesBatch(childBatch, batch.getId());
+ SpeciesBatch childBatch = null;
+ Iterator<PsionImportBatchModel.SampleCategory> categoryIterator = batchModel.getCategoryIterator();
+
+ while (categoryIterator.hasNext()) {
+ PsionImportBatchModel.SampleCategory sampleCategory = categoryIterator.next();
+
+ boolean lastCategory = !categoryIterator.hasNext();
+
+ Integer categoryId = sampleCategory.getCategoryId();
+ Serializable categoryValue = sampleCategory.getCategoryValue();
+
+ if (lastCategory) {
+
+ // always create the leaf
+ childBatch = createSpeciesBatch(operation,
+ specy,
+ batchModel.getWeight(),
+ batchModel.getSampleWeight(),
+ categoryId,
+ categoryValue);
+ } else {
+
+ // try to find child in parent children
+
+ childBatch = null;
+ for (SpeciesBatch speciesBatch : parentBatch.getChildBatchs()) {
+
+ if (speciesBatch.getSampleCategoryId().equals(categoryId) &&
+ speciesBatch.getSampleCategoryValue().equals(categoryValue)) {
+ childBatch = speciesBatch;
+ break;
+ }
+ }
+
+ if (childBatch == null) {
+
+ // must create it
+ childBatch = createSpeciesBatch(operation,
+ specy,
+ null,
+ null,
+ categoryId,
+ categoryValue);
+ }
+ }
+
+ if (TuttiEntities.isNew(childBatch)) {
+
+ // persist it
+ childBatch = persistenceService.createSpeciesBatch(childBatch, parentBatch.getId());
+ parentBatch.addChildBatchs(childBatch);
+ }
+
+ parentBatch = childBatch;
+ }
+
persistFrequencies(childBatch, batchModel);
}
}
result.incrementNbImported();
}
- for (String ignoredSpecies : importModel.getIgnoredSpecies()) {
- result.incrementNbNotImported();
- }
persistenceService.saveCatchBatch(catchBatch);
+ }
+ protected PsionImportBatchModel.SampleCategory guessCategory(String categoryCode) {
+
+ PsionImportBatchModel.SampleCategory result = null;
+
+ Integer caracteristicId;
+ CaracteristicQualitativeValue caracteristicQualitativeValue;
+
+ if (SEX_VALUES.contains(categoryCode)) {
+
+ // sex caracteristic
+ caracteristicId = enumerationFile.PMFM_ID_SEX;
+ caracteristicQualitativeValue = sexCaracteristicValues.get(categoryCode);
+
+ result = new PsionImportBatchModel.SampleCategory(caracteristicId, caracteristicQualitativeValue);
+
+ } else if (MATURITY_VALUES.contains(categoryCode)) {
+
+ // maturity caracteristic
+ caracteristicId = enumerationFile.PMFM_ID_MATURITY;
+ caracteristicQualitativeValue = maturityCaracteristicValues.get(categoryCode);
+
+ result = new PsionImportBatchModel.SampleCategory(caracteristicId, caracteristicQualitativeValue);
+ }
return result;
}
@@ -506,19 +636,10 @@
persistenceService.saveSpeciesBatchFrequency(batch.getId(), toSave);
}
- protected void addBatchToModel(PsionImportModel importModel,
- PsionImportBatchModel batch) throws IOException {
-
- if (log.isInfoEnabled()) {
- log.info("Adding for species " + batch.getSpecies().getSurveyCode() + ", " +
- batch.getNbFrequencies() + " batchs.");
- }
- importModel.addBatch(batch);
- }
-
protected SpeciesBatch createSpeciesBatch(FishingOperation operation,
Species species,
Float catchWeight,
+ Float sampleWeight,
Integer categoryId,
Serializable cqv) {
SpeciesBatch batch = SpeciesBatchs.newSpeciesBatch();
@@ -526,8 +647,11 @@
batch.setSampleCategoryId(categoryId);
batch.setSampleCategoryValue(cqv);
batch.setSpecies(species);
- batch.setSampleCategoryWeight(
- catchWeight == null ? null : TuttiEntities.roundKiloGram(catchWeight));
+ batch.setSampleCategoryWeight(catchWeight == null ? null : TuttiEntities.roundKiloGram(catchWeight));
+ //FIXME Check this is ok.
+ batch.setWeight(sampleWeight == null ? null : TuttiEntities.roundKiloGram(sampleWeight));
+
+ batch.setChildBatchs(Lists.<SpeciesBatch>newArrayList());
return batch;
}
@@ -537,7 +661,7 @@
attachment.setObjectId(Integer.valueOf(catchBatch.getId()));
attachment.setName(f.getName());
String date = DateFormat.getDateTimeInstance().format(context.currentDate());
- String comment = _("tutti.service.arp.import.attachment.comment", date);
+ String comment = _("tutti.service.psion.import.attachment.comment", date);
attachment.setComment(comment);
persistenceService.createAttachment(attachment, f);
}
@@ -557,43 +681,4 @@
}
return result;
}
-
- /**
- * All usables keywords in a psion import.
- * <p/>
- * Created on 1/20/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 3.0.1
- */
- public static enum PsionImportKeyword {
-
- ESPE(false),
- POID(false),
- TAIL(false),
- CATE(false),
- LONG(false),
-
- // ignored
- HEUR(true),
- AGEN(true),
- CAIS(true),
- TAXO(true),
- OUTI(true),
- PORT(true),
- DATE(true),
- HERE(true),
- NAVI(true),
- ENGI(true);
-
- private final boolean ignored;
-
- PsionImportKeyword(boolean ignored) {
- this.ignored = ignored;
- }
-
- public boolean isIgnored() {
- return ignored;
- }
- }
}
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2014-01-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2014-01-21 16:29:59 UTC (rev 1519)
@@ -43,6 +43,7 @@
tutti.report.step.export.fishingOperation=
tutti.report.step.generateReport=
tutti.report.step.load.fishingOperation=
+tutti.service.arp.import.attachment.comment=
tutti.service.compressZipFile.error=
tutti.service.context.serviceInstanciation.error=
tutti.service.csv.parse.entityNotFound=
@@ -144,6 +145,17 @@
tutti.service.protocol.import.benthos.error=
tutti.service.protocol.import.species.error=
tutti.service.protocol.import.taxonUsed.error=
+tutti.service.psion.import.attachment.comment=
+tutti.service.psionimport.error.invalid.category.syntax=
+tutti.service.psionimport.error.invalid.command.syntax=
+tutti.service.psionimport.error.invalid.date.format=
+tutti.service.psionimport.error.invalid.firstLine=
+tutti.service.psionimport.error.invalid.line.syntax=
+tutti.service.psionimport.error.invalid.operation=
+tutti.service.psionimport.error.no.lengthClass.caracteristic=
+tutti.service.psionimport.error.no.protocol=
+tutti.service.psionimport.error.species.already.used=
+tutti.service.psionimport.error.species.not.found=
tutti.service.pupitri.export.species.error=
tutti.service.pupitri.import.attachment.comment=
tutti.service.pupitri.import.carrousel.error=
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2014-01-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2014-01-21 16:29:59 UTC (rev 1519)
@@ -144,6 +144,17 @@
tutti.service.protocol.import.benthos.error=Erreur lors de l'import du benthos du protocole %1s du fichier %2s
tutti.service.protocol.import.species.error=Erreur lors de l'import des espèces du protocole %1s du fichier %2s
tutti.service.protocol.import.taxonUsed.error=Le taxon référent d'id %s est déjà utilisé
+tutti.service.psion.import.attachment.comment=Import Psion du %s
+tutti.service.psionimport.error.invalid.category.syntax=Ligne %s, catégorisation '%s' inconnue, l'espèce %s sera ignorée
+tutti.service.psionimport.error.invalid.command.syntax=Ligne %s, la commande '%s' n'est pas reconnue
+tutti.service.psionimport.error.invalid.date.format=Format de la date du trait incorrecte (mm-dd-aaaa)
+tutti.service.psionimport.error.invalid.firstLine=La ligne %s (%s) n'est pas valide, elle doit être précédée par une ligne ESPE
+tutti.service.psionimport.error.invalid.line.syntax=Ligne %s, format incorrecte (%s)
+tutti.service.psionimport.error.invalid.operation=Code station ou date du trait incorrect
+tutti.service.psionimport.error.no.lengthClass.caracteristic=Ligne %s espèce '%s' ignorée car pas de caractéristique de classe de taille renseignée dans le protocole.
+tutti.service.psionimport.error.no.protocol=Impossible de faire un import Psion sans protocol.
+tutti.service.psionimport.error.species.already.used="Ligne %s, espèce '%s' déjà utilisée
+tutti.service.psionimport.error.species.not.found=Ligne %s, espèce '%s' inconnue
tutti.service.pupitri.export.species.error=Erreur lors de l'export des espèces pour Pupitri dans le fichier %s
tutti.service.pupitri.import.attachment.comment=Import Pupitri du %s
tutti.service.pupitri.import.carrousel.error=Erreur lors de l'import du fichier de carrousel %2s pour le trait %1s
Modified: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java
===================================================================
--- trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java 2014-01-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java 2014-01-21 16:29:59 UTC (rev 1519)
@@ -42,6 +42,7 @@
import java.io.File;
import java.io.IOException;
+import java.util.List;
/**
* Created on 1/19/14.
@@ -85,9 +86,9 @@
TuttiServiceContext serviceContext = dbResource.getServiceContext();
- File protocol = dbResource.copyClassPathResource("pupitri/ano-3898.tuttiProtocol", "ano-3898.tuttiProtocol");
+ File protocol = dbResource.copyClassPathResource("psion/protocol.tuttiProtocol", "protocol.tuttiProtocol");
dbResource.getConfig().getApplicationConfig().setOption(TuttiConfigurationOption.DB_PROTOCOL_DIRECTORY.getKey(), protocol.getParentFile().getAbsolutePath());
- serviceContext.getDataContext().setProtocolId("ano-3898");
+ serviceContext.getDataContext().setProtocolId("protocol");
dbResource.openDataContext();
@@ -103,86 +104,88 @@
@Test
public void importCC053() throws IOException {
- File trunk = dbResource.copyClassPathResource("psion/CC053.IWA", "CC053.IWA");
+ File importFile = dbResource.copyClassPathResource("psion/CC053.IWA", "CC053.IWA");
FishingOperation operation = dataContext.operations.get(1);
CatchBatch catchBatch = persistenceService.getCatchBatchFromFishingOperation(operation.getId());
catchBatch.setFishingOperation(operation);
BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null);
-// Assert.assertEquals(3, rootSpeciesBatch.sizeChildren());
- PsionImportResult arpImportResult = service.importFile(trunk, operation, catchBatch);
+ int oldNbBatchs = rootSpeciesBatch.sizeChildren();
- PsionImportResult importResult = service.importFile(trunk, operation, catchBatch);
+ PsionImportResult importResult = service.importFile(importFile, operation, catchBatch);
int nbAdded = importResult.getNbImported();
- int nbNotAdded = importResult.getNbNotImported();
+ List<String> errors = importResult.getErrors();
if (log.isInfoEnabled()) {
log.info("Imported: " + nbAdded);
- log.info("Ignored: " + nbNotAdded);
+ log.info("Errors: " + errors.size());
}
- Assert.assertEquals(9, nbAdded);
- Assert.assertEquals(9, nbNotAdded);
+ Assert.assertEquals(17, nbAdded);
+ Assert.assertEquals(0, errors.size());
+ // no batch imported
BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), null);
- Assert.assertEquals(9, rootSpeciesBatchAfter.sizeChildren());
+ Assert.assertEquals(oldNbBatchs + 17, rootSpeciesBatchAfter.sizeChildren());
}
@Test
public void importFM001() throws IOException {
- File trunk = dbResource.copyClassPathResource("psion/FM001.IWA", "FM001.IWA");
+ File importFile = dbResource.copyClassPathResource("psion/FM001.IWA", "FM001.IWA");
FishingOperation operation = dataContext.operations.get(1);
CatchBatch catchBatch = persistenceService.getCatchBatchFromFishingOperation(operation.getId());
catchBatch.setFishingOperation(operation);
BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null);
-// Assert.assertEquals(3, rootSpeciesBatch.sizeChildren());
- PsionImportResult importResult = service.importFile(trunk, operation, catchBatch);
+ int oldNbBatchs = rootSpeciesBatch.sizeChildren();
+ PsionImportResult importResult = service.importFile(importFile, operation, catchBatch);
+
int nbAdded = importResult.getNbImported();
- int nbNotAdded = importResult.getNbNotImported();
+ List<String> errors = importResult.getErrors();
if (log.isInfoEnabled()) {
log.info("Imported: " + nbAdded);
- log.info("Ignored: " + nbNotAdded);
+ log.info("Errors: " + errors.size());
}
- Assert.assertEquals(2, nbAdded);
- Assert.assertEquals(8, nbNotAdded);
+ Assert.assertEquals(10, nbAdded);
+ Assert.assertEquals(0, errors.size());
BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), null);
- Assert.assertEquals(2, rootSpeciesBatchAfter.sizeChildren());
+ Assert.assertEquals(oldNbBatchs + 10, rootSpeciesBatchAfter.sizeChildren());
}
@Test
public void importCFchephren() throws IOException {
- File trunk = dbResource.copyClassPathResource("psion/CFchephren 110612.IWA", "CFchephren 110612.IWA");
+ File importFile = dbResource.copyClassPathResource("psion/CFchephren 110612.IWA", "CFchephren 110612.IWA");
FishingOperation operation = dataContext.operations.get(1);
CatchBatch catchBatch = persistenceService.getCatchBatchFromFishingOperation(operation.getId());
catchBatch.setFishingOperation(operation);
BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null);
-// Assert.assertEquals(3, rootSpeciesBatch.sizeChildren());
- PsionImportResult importResult = service.importFile(trunk, operation, catchBatch);
+ int oldNbBatchs = rootSpeciesBatch.sizeChildren();
+ PsionImportResult importResult = service.importFile(importFile, operation, catchBatch);
int nbAdded = importResult.getNbImported();
- int nbNotAdded = importResult.getNbNotImported();
+ List<String> errors = importResult.getErrors();
if (log.isInfoEnabled()) {
log.info("Imported: " + nbAdded);
- log.info("Ignored: " + nbNotAdded);
+ log.info("Errors: " + errors.size());
}
Assert.assertEquals(0, nbAdded);
- Assert.assertEquals(1, nbNotAdded);
+ Assert.assertEquals(1, errors.size());
+ // no batch imported
BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), null);
- Assert.assertEquals(0, rootSpeciesBatchAfter.sizeChildren());
+ Assert.assertEquals(oldNbBatchs, rootSpeciesBatchAfter.sizeChildren());
}
}
Modified: trunk/tutti-service/src/test/resources/psion/CC053.IWA
===================================================================
--- trunk/tutti-service/src/test/resources/psion/CC053.IWA 2014-01-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-service/src/test/resources/psion/CC053.IWA 2014-01-21 16:29:59 UTC (rev 1519)
@@ -1,6 +1,6 @@
cc
-053
-06-13-2013
+A
+07-01-2013
07:19:11
ESPE : MERLMER
@@ -346,11 +346,6 @@
LONG : 15
LONG : 14
LONG : 11.5
-ESPE : SQUIMAN
-POID : 37
-TAIL : 37
-CATE : N
-LONG : 27
ESPE : OCTOVUL
POID : 11600
TAIL : 11600
Modified: trunk/tutti-service/src/test/resources/psion/FM001.IWA
===================================================================
--- trunk/tutti-service/src/test/resources/psion/FM001.IWA 2014-01-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-service/src/test/resources/psion/FM001.IWA 2014-01-21 16:29:59 UTC (rev 1519)
@@ -1,6 +1,6 @@
fm
-001
-05-24-2013
+A
+07-01-2013
18:28:13
ESPE : HELIDAC
@@ -20,8 +20,18 @@
ESPE : RAJAOXY
POID : 115
TAIL : 115
+CATE : M
+LONG : 34
+ESPE : RAJAOXY
+POID : 115
+TAIL : 115
CATE : F1
LONG : 35
+ESPE : RAJAOXY
+POID : 115
+TAIL : 115
+CATE : F2
+LONG : 36
ESPE : PHYIBLE
POID : 235
TAIL : 235
Added: trunk/tutti-service/src/test/resources/psion/protocol.tuttiProtocol
===================================================================
--- trunk/tutti-service/src/test/resources/psion/protocol.tuttiProtocol (rev 0)
+++ trunk/tutti-service/src/test/resources/psion/protocol.tuttiProtocol 2014-01-21 16:29:59 UTC (rev 1519)
@@ -0,0 +1,2427 @@
+id: 7a959cb1-2bf0-4876-8e20-ba0021c27835
+name: Protocole MEDITS
+benthos:
+- !SpeciesProtocol
+ id: e48d74a1-3ed9-4063-b970-fa95601ce813
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 907
+ speciesSurveyCode: ALPHGLA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: bedf43f2-1ba4-404e-ada2-cdd5c66e67b3
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 886
+ speciesSurveyCode: CHLOGRA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 99d3c435-ce9e-48f2-a2e5-de1e30af1c05
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 931
+ speciesSurveyCode: CRANSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6b2491d8-d237-489c-b98a-460594276fec
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 990
+ speciesSurveyCode: DARDSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: cab84c60-0637-49b8-880e-74bf53fe8de8
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1140
+ speciesSurveyCode: DORILAN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ce1dc3a2-912b-439b-8930-83c6bb5a9112
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1012
+ speciesSurveyCode: GALADIS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ddfe6e29-03e4-4387-b052-a698f5087bf2
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1013
+ speciesSurveyCode: GALAINT
+ weightEnabled: true
+- !SpeciesProtocol
+ id: fe7f5f8d-bfac-4ae9-8e9e-3abed1c6aa1e
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1014
+ speciesSurveyCode: GALANEX
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 03fd6fe9-9e9b-409e-96bf-57caa9e9419a
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1103
+ speciesSurveyCode: GONERHO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: fb000dfa-157d-42d8-affe-3585b21addb0
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 951
+ speciesSurveyCode: HOMAVUL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6e3a1545-86ff-41f7-ab1a-892c60e12a55
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1029
+ speciesSurveyCode: HOMOBAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6c61c141-d7de-4201-8291-53bfd17f856f
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1129
+ speciesSurveyCode: INACSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6f594c41-c44a-4d26-a76a-a54ec9368862
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1136
+ speciesSurveyCode: MACRSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 50e66761-7754-4c68-bd89-b2a4a8749421
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1111
+ speciesSurveyCode: MAJASQU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c4fc0b86-0848-49b1-b150-8f2bf4ca2034
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1067
+ speciesSurveyCode: MCPIDEP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 242174d3-8ca9-4cf9-b8b9-21316ffa5a93
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1066
+ speciesSurveyCode: MCPITUB
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a3915c98-71ec-4561-8673-95933e8edf70
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1075
+ speciesSurveyCode: MCPIVER
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ac3f2c25-fc67-4820-95a2-1de26faf840c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1015
+ speciesSurveyCode: MUNISPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 83bf86a4-810d-4c9b-8dcb-37c66735b33c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 999
+ speciesSurveyCode: PAGUEXC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2c53f5e8-688b-4766-8b22-d62d92109f8a
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 994
+ speciesSurveyCode: PAGUPRI
+ weightEnabled: true
+- !SpeciesProtocol
+ id: baafb7ef-164c-4b98-975c-28c518a7315a
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 997
+ speciesSurveyCode: PAGUSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: e26e4708-50e8-4947-b395-18dbd51e25fb
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 885
+ speciesSurveyCode: PAPANAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c4b0705b-5657-480e-ad6b-4d6327de8073
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1028
+ speciesSurveyCode: PAROCUV
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 33b8eb55-932c-488a-8de9-d4696a485c21
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 868
+ speciesSurveyCode: PASISIV
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2e4c871c-d943-4dff-8d8d-a23bf39f8482
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 866
+ speciesSurveyCode: PASISPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 423733e0-43c8-48ef-b6b9-b0077b8a03ae
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 880
+ speciesSurveyCode: PLESACA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2cc65b6e-4f4d-4757-aa89-40dd52f13f3c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 881
+ speciesSurveyCode: PLESANT
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 99805344-1325-4139-b3dd-f6e4690b5316
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 7185
+ speciesSurveyCode: PLESEDW
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6aa66a07-fcd1-4fdf-aec9-29ce15c595f9
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 882
+ speciesSurveyCode: PLESGIG
+ weightEnabled: true
+- !SpeciesProtocol
+ id: fe2af1be-2d65-4658-b587-49f22d4b939f
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 883
+ speciesSurveyCode: PLESHET
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 5fde324e-f7a1-4516-9190-7eaf2239c69b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 884
+ speciesSurveyCode: PLESMAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 8a8129f5-f66a-4057-8282-6c6287e80629
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 879
+ speciesSurveyCode: PLESSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ff17d20e-bfa6-4752-8c52-5614a4d0ae3e
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 953
+ speciesSurveyCode: POLCTYP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 5b3ccbb3-2f1a-4b55-b5b3-69a0559edbb9
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 935
+ speciesSurveyCode: PONPNOR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ebc7e293-3dd4-4d9a-b314-fdc7b0a23d89
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 934
+ speciesSurveyCode: PONPSPI
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 95fa55c4-f2f3-451f-ae27-3f520e43af38
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 928
+ speciesSurveyCode: PONTCAT
+ weightEnabled: true
+- !SpeciesProtocol
+ id: fa1a37a0-3623-47be-aaa4-4b6c725b8b1d
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 929
+ speciesSurveyCode: PONTLAC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d9a9967d-f191-4e6e-9a5c-a5dea4b8b774
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 10607
+ speciesSurveyCode: PROCEDU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: bbf63159-be69-444d-a004-66a13a63088b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 915
+ speciesSurveyCode: PROCSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 489084e7-7442-4ade-b356-cacb09e0ed3f
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 858
+ speciesSurveyCode: SOLOMEM
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c0ed971f-8a60-4ddc-888a-866483167241
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 715
+ speciesSurveyCode: SCALSCA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 1e9007ee-a31d-451f-9ad2-f6de5048f4cb
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 837
+ speciesSurveyCode: EUPHSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 1a27e40d-2660-4e47-badd-0df6cb48efc1
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 831
+ speciesSurveyCode: SQUIMAN
+ lengthStepPmfmId: 1417
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 04601e60-e556-428c-8aec-2beb1d8a5784
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 353
+ speciesSurveyCode: ATRIFRA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 4a296117-cfea-41fa-ba1d-9ddee2480957
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 379
+ speciesSurveyCode: CARDACU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: e16a2e50-fc6f-4255-897f-337286659f38
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 378
+ speciesSurveyCode: CARDECH
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a70dcb6b-6dc1-48f3-b95c-d47b933ff50a
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 382
+ speciesSurveyCode: CARDSPI
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a2c6201f-12f1-432a-b4a5-d5fa8b44e860
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 362
+ speciesSurveyCode: PECTSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: fcba0a99-625d-4854-9305-da4a346dbcc9
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 261
+ speciesSurveyCode: APORPES
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 90fca18f-1277-4de4-8ee2-50711a0fed72
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 262
+ speciesSurveyCode: APORSER
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 84b81e6a-3b65-485d-9bca-f37ef670709f
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 305
+ speciesSurveyCode: BUCCSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: e8c86081-2b02-4e6b-a82b-c28b2d3422fd
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 280
+ speciesSurveyCode: CASSECH
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c43a3c68-95e0-405b-87c4-9c8313ef68a4
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 281
+ speciesSurveyCode: CASSTYR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b7aedc06-1d73-4a11-8369-c71f5d244f37
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 2451
+ speciesSurveyCode: GIBBSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: dd2dfe21-db6d-4a42-a480-610051e55f4a
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 3928
+ speciesSurveyCode: MUREBRA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 37db060c-6c26-46f2-bce3-44cfb88f4c2c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 292
+ speciesSurveyCode: MURETRU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d15aee86-46a1-4b67-9228-75ca54cbd4e2
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 318
+ speciesSurveyCode: SCAPNIG
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3fe5fc8e-0cc7-43cb-a9a6-16c7875a1011
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1189
+ speciesSurveyCode: MICOSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ca52cdab-2b66-4d37-8af8-b81529aa8d52
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1191
+ speciesSurveyCode: MICOVUL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6ac82f3b-a242-4923-92ad-5eee494c0861
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 224
+ speciesSurveyCode: MBBRYOZ
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 13b65cd0-a23c-47e0-a92c-30b68f2edde5
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 3671
+ speciesSurveyCode: GRYPVIT
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 547f9754-999d-46c6-853e-83bb687604be
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 4626
+ speciesSurveyCode: ADAMCAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a353ed3f-76e8-4c26-a270-17f06b539e14
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 133
+ speciesSurveyCode: ALCYPAL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c1023085-ad82-46a7-aef8-7bb04c5ef860
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 3037
+ speciesSurveyCode: ALCYSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 50328180-2c0b-410b-bd0f-875957542e42
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 6758
+ speciesSurveyCode: FMVERET
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3b787133-a724-411e-a625-8baf34542b7a
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 6804
+ speciesSurveyCode: FUNIQUA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d0cc902e-ad69-46e8-9448-c70b3f343d6f
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 2224
+ speciesSurveyCode: ORACTIN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f66c8ecd-afdf-4227-b10a-9ec3a34cb87c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 7390
+ speciesSurveyCode: ANTESPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 10d40446-c9e5-4822-9de5-4b746c24977c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 11181
+ speciesSurveyCode: ASTRIRR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3754b3ad-1723-4f42-a746-7a320da08171
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 11943
+ speciesSurveyCode: ASTRSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 78d430ba-4d36-42e5-bb53-0a03a3f4ac6a
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 6812
+ speciesSurveyCode: CIDACID
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a28fbcad-63b7-4f7f-8d22-b26a3aafbd49
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1151
+ speciesSurveyCode: CLOPHIU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 9d5fc95c-52cc-4e29-a901-a832db1ad7f3
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 4235
+ speciesSurveyCode: ECHNACU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 14271e01-b001-427d-b14a-d65667dd47b5
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 3397
+ speciesSurveyCode: HOLOSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b3b6e938-7f0d-46eb-9cfb-3b7d48dc6919
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 4240
+ speciesSurveyCode: LEPRSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 24b681d8-981c-4257-b8e2-680e66bce967
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1155
+ speciesSurveyCode: OPHUOPH
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ec4f46f8-6c1d-42a7-85bf-953694f97218
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1177
+ speciesSurveyCode: STICREG
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c9e18e97-92fa-4c87-b032-dd2efc434ab3
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 395
+ speciesSurveyCode: SPISSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a88de136-eac9-4cca-b22c-5f7ca1d14da9
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 246
+ speciesSurveyCode: CANIGRA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 55b686b8-6249-408d-b303-77c58e1cff48
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 245
+ speciesSurveyCode: CANIZIZ
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 667f6b5c-f295-4c00-b03e-c097b5cd3aed
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 226
+ speciesSurveyCode: CLGASTE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 11c25935-9e93-49b5-b4ef-22de3aac3d0e
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 12060
+ speciesSurveyCode: FMAPLYS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6fe77fe1-fafe-4846-ac80-1ec79b15ee34
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 250
+ speciesSurveyCode: TURRSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 199934f5-b6a6-46cd-bfc6-db1e81c48e40
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 4413
+ speciesSurveyCode: APLYSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 338fa494-885b-4392-8d89-bc19ee5cbfbf
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 155
+ speciesSurveyCode: APHRACU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 751705d4-25f2-4bb4-9a53-96aed1fc3d84
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 196
+ speciesSurveyCode: FMMALDA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 443aa667-4773-443a-ae48-76f80d016310
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 3032
+ speciesSurveyCode: FMSABED
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 42af4c8f-fe49-4e33-a539-d4a966726530
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 209
+ speciesSurveyCode: FMSERPU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 94bec064-27cf-40c2-b746-ee1ddb0ef089
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 150
+ speciesSurveyCode: MBANNEL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: dbe23df9-1ef9-44f3-a272-7dec649b4e87
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 211
+ speciesSurveyCode: STERSCU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3c55f53b-2998-46e6-b1bf-f2761df75b29
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 3668
+ speciesSurveyCode: DENTSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 1f798975-e4ca-4df6-9adb-184e1ca167a4
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 147
+ speciesSurveyCode: SIPSNUD
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b0f41012-8aa8-4633-b632-8b415f721606
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 7
+ speciesSurveyCode: MBPORIF
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3df8daac-bf56-4041-8ff0-02899d7f6dca
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1182
+ speciesSurveyCode: CLASCID
+ weightEnabled: true
+gearUseFeaturePmfmId: !com.google.common.collect.Lists$TransformingRandomAccessList
+- 833
+- 828
+- 905
+- 826
+individualObservationPmfmId: !com.google.common.collect.Lists$TransformingRandomAccessList
+- 196
+- 174
+- 1435
+lengthClassesPmfmId:
+- 1417
+- 299
+- 307
+species:
+- !SpeciesProtocol
+ id: 4c712b41-ab72-4ab2-88ef-75eabbcd3f94
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 299
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 848
+ speciesSurveyCode: ARISFOL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3d9610bd-cd71-4f8c-8bd9-e0ab89e3023c
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 299
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 849
+ speciesSurveyCode: ARITANT
+ weightEnabled: true
+- !SpeciesProtocol
+ id: cdc14002-96d8-42e5-abe0-07cab51e8bc0
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 299
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 855
+ speciesSurveyCode: PAPELON
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 972082e1-b1bf-4228-b8f6-19c5f040792e
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 299
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 949
+ speciesSurveyCode: NEPRNOR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f3149d94-a711-45b3-b9b3-1f734454a06e
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 1417
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 507
+ speciesSurveyCode: ILLECOI
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b1da88e2-55ae-49f6-9174-4c189cc98e54
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 1417
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 489
+ speciesSurveyCode: LOLIVUL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 0dc70454-fccc-46cf-9176-2e38cb5c5c3a
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1277
+ speciesSurveyCode: CENTGRA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 4f70310c-2dd3-452f-8f44-d90feb39248e
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1282
+ speciesSurveyCode: SCYMLIC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 0d57db02-07d7-4b24-85d7-b2ffffd6b255
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1275
+ speciesSurveyCode: ETMOSPI
+ weightEnabled: true
+- !SpeciesProtocol
+ id: bd461ac9-f897-4fcd-ab23-abbf981279f1
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1254
+ speciesSurveyCode: GALEGAL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 1c264e2f-96f9-423b-a54b-cb5aa762b0cc
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1245
+ speciesSurveyCode: GALUMEL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6efe4eb1-e2a7-4fdb-89ad-3b2d6b47e2ec
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1222
+ speciesSurveyCode: HEPTPER
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 48412543-cf57-452d-979a-4e908cdd3f4c
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1220
+ speciesSurveyCode: HEXAGRI
+ weightEnabled: true
+- !SpeciesProtocol
+ id: baeca8b7-a1d7-4224-b3d6-022f15c6be5a
+ calcifySampleEnabled: true
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 2050
+ speciesSurveyCode: LOPHBUD
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ec5d8fb6-e26b-4e61-89d8-7c169fbe6096
+ calcifySampleEnabled: true
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 2049
+ speciesSurveyCode: LOPHPIS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 73b81c79-5117-4475-a393-ede51babfebe
+ calcifySampleEnabled: true
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1540
+ speciesSurveyCode: MERLMER
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 944b5f40-f4d0-4fce-8b5d-5df2eb7ef30d
+ calcifySampleEnabled: true
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1689
+ speciesSurveyCode: MULLBAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c5174b9b-061d-46e5-9a36-259d8dbe7ebf
+ calcifySampleEnabled: true
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1690
+ speciesSurveyCode: MULLSUR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b6f62ed7-34ea-48f3-a91c-196e5be13d45
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1257
+ speciesSurveyCode: MUSTAST
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 543a37c5-1b1a-49b4-9a1e-2c0022b17b5c
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1258
+ speciesSurveyCode: MUSTMED
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 1cc14725-4f35-4669-9048-0613a698a356
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1256
+ speciesSurveyCode: MUSTMUS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 310f665a-7c07-48fd-a6fd-65f5b43bd098
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1329
+ speciesSurveyCode: MYLIAQU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b83d4fd8-391a-42d5-8003-c71ecb8a9937
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1263
+ speciesSurveyCode: OXYNCEN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2ec145c1-0184-4c26-ae12-34fcd006c48b
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1312
+ speciesSurveyCode: RAJAALB
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 5fca8811-4586-43f8-8908-2f83ee9fa90d
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1313
+ speciesSurveyCode: RAJAAST
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d7b06817-a0d9-4b7e-aa7f-77acf6916ce1
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1306
+ speciesSurveyCode: RAJABAT
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 7d20d463-8c8e-4b1e-95b9-21076ab708ca
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1310
+ speciesSurveyCode: RAJACIR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 933d3b3a-b4cb-4239-896b-1f13f7ea6938
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1302
+ speciesSurveyCode: RAJACLA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 02521403-26cc-4338-98fa-c437de064538
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1314
+ speciesSurveyCode: RAJAMEL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b8cb7a32-93c9-4203-9e52-a13691528e21
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1315
+ speciesSurveyCode: RAJAMIR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: dca10109-c771-4290-adac-3220d72a15d9
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1308
+ speciesSurveyCode: RAJAOXY
+ weightEnabled: true
+- !SpeciesProtocol
+ id: eaec42f0-ca79-481c-9062-5b2787c552c4
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1316
+ speciesSurveyCode: RAJAPOL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 498f415a-bd36-4076-9dce-86015c89f678
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1318
+ speciesSurveyCode: RAJAUND
+ weightEnabled: true
+- !SpeciesProtocol
+ id: e8269d24-6773-4b7f-88a0-de3ecafa83d6
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1292
+ speciesSurveyCode: RHINCEM
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 401bd28f-f102-4529-a535-c02cfe561424
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1293
+ speciesSurveyCode: RHINRHI
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c1f9efff-260f-4855-9f5f-25cbddd76dd8
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1242
+ speciesSurveyCode: SCYOCAN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f4b01ee8-9dbc-4dfb-a597-668924690e98
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1243
+ speciesSurveyCode: SCYOSTE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3309c9a2-6e23-47a5-bf3c-83719215f6bf
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1266
+ speciesSurveyCode: SQUAACA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2c7cbd7d-d5a1-4ab8-b27d-90d561074a2a
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1267
+ speciesSurveyCode: SQUABLA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f13d6105-09e6-4485-9b23-6fa034a4a707
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1288
+ speciesSurveyCode: SQUTACU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f1fba700-1436-42b2-8be0-86781893fb29
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1289
+ speciesSurveyCode: SQUTOCL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 519bcc67-852a-4cd6-8328-cad0931e6732
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1287
+ speciesSurveyCode: SQUTSQU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 87fb8821-e053-4f5c-8940-4f5540fb85c8
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 174
+ - 196
+ speciesReferenceTaxonId: 1297
+ speciesSurveyCode: TORPMAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a744eb4d-43a7-4e7c-b51b-6c9b0c5a56d9
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 299
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 957
+ speciesSurveyCode: PALIELE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3e854d0b-7592-43be-9bf0-00152ad19cf0
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 299
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 853
+ speciesSurveyCode: PENAKER
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f684a970-b662-473e-aeff-b3b25881dc42
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 1417
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 514
+ speciesSurveyCode: OCTOVUL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 04d6c377-d267-4897-bfeb-eda10b88b082
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 1417
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 522
+ speciesSurveyCode: ELEDCIR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 767b25a5-b89e-4dc7-82c3-6d7046f21e34
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 1417
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 521
+ speciesSurveyCode: ELEDMOS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 52d095a6-ad24-4d03-b318-95a6b6434f89
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 1417
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 467
+ speciesSurveyCode: SEPIOFF
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2d5ae016-cb48-498d-949c-bc99f84b1c9b
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 1417
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 509
+ speciesSurveyCode: TODASAG
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 033ae020-e315-4b51-9f62-6408f436ec7e
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1912
+ speciesSurveyCode: ASPICUC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 0a405bc2-1330-4cbb-87d2-a925a9393991
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1698
+ speciesSurveyCode: BOOPBOO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f75aa101-3ba5-4577-a2fc-f40d907dc896
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1953
+ speciesSurveyCode: CITHMAC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 0f84dfac-6bed-40b8-8df6-78d2fc6f8fa9
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1700
+ speciesSurveyCode: DIPLANN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c5b257e3-8d83-4d59-8d22-ceba000efdaa
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1702
+ speciesSurveyCode: DIPLPUN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6e72e9cb-285d-455d-b943-ca68288438a6
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1703
+ speciesSurveyCode: DIPLSAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 521f937a-f6ce-44cf-a32a-5567eaf45e6a
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1704
+ speciesSurveyCode: DIPLVUL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c1a0bb60-ff2c-4430-9ea6-fdd80bc350dd
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1362
+ speciesSurveyCode: ENGRENC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 46b2419d-80e8-45ce-8845-1deb7c744300
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1632
+ speciesSurveyCode: EPINSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 67bca5b0-b534-41fd-a81e-969168446289
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1920
+ speciesSurveyCode: EUTRGUR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d787ebfa-c8fe-4fac-b8f5-16c2b70e462c
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1905
+ speciesSurveyCode: HELIDAC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3ef4b084-2080-4e17-a8f4-eb5eae314151
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1961
+ speciesSurveyCode: LEPMBOS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d565422d-5a09-4f63-8df7-3736726d012d
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1710
+ speciesSurveyCode: LITHMOR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 7ab19715-e91b-4ff0-bd3d-605be8a890e6
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1553
+ speciesSurveyCode: MICMPOU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ff7b2f1b-50ae-4d8d-82ce-916ac63c60bd
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1714
+ speciesSurveyCode: PAGEACA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 0415fc50-f9ac-4ad6-a4b2-a9d2875e2a26
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1715
+ speciesSurveyCode: PAGEBOG
+ weightEnabled: true
+- !SpeciesProtocol
+ id: e0d8f887-16ff-4d44-a35a-70a35146d44b
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1713
+ speciesSurveyCode: PAGEERY
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 17e577d9-9b23-430d-b6aa-b4600378ced7
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1695
+ speciesSurveyCode: SPARPAG
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d84bc931-3c2a-4819-ad4f-e007a830accc
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1573
+ speciesSurveyCode: PHYIBLE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a334e7b1-73a8-410d-a348-ed6ad81846fb
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1641
+ speciesSurveyCode: POLYAME
+ weightEnabled: true
+- !SpeciesProtocol
+ id: cc57956b-1fa1-40a0-a913-1550c0479052
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1957
+ speciesSurveyCode: PSETMAX
+ weightEnabled: true
+- !SpeciesProtocol
+ id: aa43606f-a395-453a-9e5c-8e75320f5559
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1351
+ speciesSurveyCode: SARDPIL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 56846282-2998-455e-a3c0-5b5adca223af
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 3789
+ speciesSurveyCode: SCOMPNE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 7f637203-607f-4f24-9076-9ec6f05bcd7e
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1772
+ speciesSurveyCode: SCOMSCO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3969d69f-a17d-47ff-87d4-af539ae8ed45
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1996
+ speciesSurveyCode: SOLEVUL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 466b5b93-b472-4c8a-aa08-5bf53d90bfa0
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1723
+ speciesSurveyCode: SPICMAE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 1ee6372f-c2e8-4633-8db9-36b5f487a005
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1724
+ speciesSurveyCode: SPICSMA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 933968a6-1352-474f-a408-9939ad16e5b1
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1663
+ speciesSurveyCode: TRACMED
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 69f476b0-862e-47e1-b593-2bb096616f9e
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1662
+ speciesSurveyCode: TRACTRA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3ca8616b-71db-40d3-9b50-caaf2ec20b41
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1921
+ speciesSurveyCode: TRIGLUC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f5adec71-9859-487d-b728-e2edf84dd1e7
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1922
+ speciesSurveyCode: TRIPLAS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 9c337552-d9ce-43c8-baee-bb8a16990f06
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1558
+ speciesSurveyCode: TRISCAP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6a8c710e-561b-42fa-822b-38fae515f841
+ countIfNoFrequencyEnabled: true
+ lengthStepPmfmId: 307
+ mandatorySampleCategoryId:
+ - 198
+ speciesReferenceTaxonId: 1619
+ speciesSurveyCode: ZEUSFAB
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d6b592f0-715e-469c-b5f9-a878a40d96f0
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 495
+ speciesSurveyCode: ABRAVER
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b7be5501-ab00-4d28-970d-0a6ea8c68f85
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 491
+ speciesSurveyCode: ALLOSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3219f09e-3d2b-47ad-bf3d-3f47f5678989
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1358
+ speciesSurveyCode: ALOSALO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 056bdc4b-11da-42d1-9974-8c95d20a8ad1
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1359
+ speciesSurveyCode: ALOSFAL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 9382a0b5-cb31-41e7-a928-8bf9adf1232a
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1637
+ speciesSurveyCode: ANTHANT
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 14ebb140-3775-4e69-aa2e-edec2d2aca44
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1547
+ speciesSurveyCode: ANTOMEG
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2455d46e-558b-4400-8578-e2dfee943d81
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1394
+ speciesSurveyCode: ARGESPY
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 5b560316-efa2-47a6-a200-4f1d1c7f15d3
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1970
+ speciesSurveyCode: ARNOSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2dcb33c5-27f9-4b4f-9899-09a8fc8a79fa
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1972
+ speciesSurveyCode: ARNOIMP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 8a757c0c-ba3e-4fb5-a909-cb064927de06
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1971
+ speciesSurveyCode: ARNOLAT
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3d2ab930-a3ae-427e-a051-fd10a1082fd6
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1973
+ speciesSurveyCode: ARNORUP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: cf728432-af31-4025-bb73-dfe8c5c59dd3
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1974
+ speciesSurveyCode: ARNOTHO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 8eaf92d2-cc37-496d-8163-ebf04822a274
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1913
+ speciesSurveyCode: ASPIOBS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f716bcb0-4378-4e06-b98e-3f60a16aaad8
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 523
+ speciesSurveyCode: BATISPO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: cdc46f8e-8e52-4c79-a2f2-03e028df5f13
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1818
+ speciesSurveyCode: BLENOCE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d3ba3646-93fd-40ef-93fb-832a3cb660e6
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 2004
+ speciesSurveyCode: BUGLLUT
+ weightEnabled: true
+- !SpeciesProtocol
+ id: cf2b786c-4982-4ff8-8e3d-79aadc7f538f
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1810
+ speciesSurveyCode: CALMSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a08a8d64-6347-49b1-a04c-515a40721381
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1811
+ speciesSurveyCode: CALMLYR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c023762c-40ab-45cf-86e1-e706d9379a4e
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1812
+ speciesSurveyCode: CALMMAC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d5efefa8-395d-4432-b742-42705c605c2c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1814
+ speciesSurveyCode: CALMRIS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: bd1b7e19-f2ee-4604-894c-c47d66538ceb
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1624
+ speciesSurveyCode: CAPOAPE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 62aeb758-506f-4d20-979c-57dcc774e9c0
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1860
+ speciesSurveyCode: CARPACU
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 21b09e73-3869-47b4-92fd-ee4673b0e3c0
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1720
+ speciesSurveyCode: CECACIR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 864923f3-cc7f-4abd-a624-868e1f1e6731
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1279
+ speciesSurveyCode: CENTUYA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 1c48f803-e058-4c2c-a924-b29507422267
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1654
+ speciesSurveyCode: CEPOMAC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 432de6bf-9f6e-4790-946b-75da0c9929d5
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1383
+ speciesSurveyCode: CHAUSLO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: e9f97268-2810-429d-9194-aac6768f25d3
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1335
+ speciesSurveyCode: CHIMMON
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 254fde77-2969-479f-b1d5-73addd18449b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1410
+ speciesSurveyCode: CLORAGA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 16e7adde-7c7a-4ff3-910b-e50f34ba777b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1532
+ speciesSurveyCode: COELCOE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: eec35479-9550-4bf5-aca6-b2f9388df19d
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1533
+ speciesSurveyCode: COELOCC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3537d192-e998-4caa-b760-4cb6a8f4d0b7
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1467
+ speciesSurveyCode: CONGCON
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 25dce34d-5ebe-488b-aad6-3734314a641c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1474
+ speciesSurveyCode: DALOIMB
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d54f1cca-cb49-40e1-a8c0-10ab46df1d6c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1321
+ speciesSurveyCode: DASICEN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 4ad0e928-afe2-444b-aeb9-50a92b48622b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1322
+ speciesSurveyCode: DASIPAS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 339c15a6-1518-44cd-b23f-722f21370bf0
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 3003
+ speciesSurveyCode: DASITOR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ef87ff58-12f9-496e-9d87-05ab13fc6906
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1323
+ speciesSurveyCode: DASIVIO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 7fe7b385-ce85-464d-8b87-ff88814d005b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1789
+ speciesSurveyCode: GOBIQUA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 56032d3e-93c6-4940-989c-c77e6830a821
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1706
+ speciesSurveyCode: DENTDEN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ed034eaf-6fe9-4404-bbae-72a1d1fef38e
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1644
+ speciesSurveyCode: DICELAB
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 15918297-cb98-49cb-905e-145e8d7231c9
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 10581
+ speciesSurveyCode: DIPLCER
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f29352c8-5caf-4bbb-ab30-6c13b9c5cd6b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1475
+ speciesSurveyCode: ECHEMIR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: fff748a1-94b9-4623-827d-c3d10a0e1af6
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1648
+ speciesSurveyCode: EPIGSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 51909bed-9e38-4db2-bfe6-bfcab3dfce70
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1649
+ speciesSurveyCode: EPIGCON
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 720c4f61-6aaa-4462-ba80-bbfebff36c8e
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1650
+ speciesSurveyCode: EPIGDEN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 48859723-699c-4662-b965-ef7020c2c526
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1586
+ speciesSurveyCode: GADAMAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d43881ee-1fc7-4e03-8fa7-540e321547c2
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 7693
+ speciesSurveyCode: GADIARG
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 56c555be-f691-4e6a-9d2e-925fd3afa638
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1579
+ speciesSurveyCode: GAIDMED
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ee845d00-009b-46fd-883d-ebdb547e0f20
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1580
+ speciesSurveyCode: GAIDVUL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b4ea935c-957e-47ce-81ec-c471f15c135b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1396
+ speciesSurveyCode: GLOSLEI
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 87b2f346-a827-4516-9d08-184ca2c87c7f
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1783
+ speciesSurveyCode: GOBISPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 9b165269-d44e-4ccf-a4be-a809a5eeadef
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1785
+ speciesSurveyCode: GOBINIG
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 12476229-943a-4037-8b79-83f14da19921
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 501
+ speciesSurveyCode: HISTSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b3843058-f126-44f1-823e-cac25ba4b6f6
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 7700
+ speciesSurveyCode: HOPLMED
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c6b6e928-c8f2-4e3c-a8c1-4a6463f6980c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1428
+ speciesSurveyCode: LAMASPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6637d2d8-5ffb-4e2a-8277-d185a44c3061
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1429
+ speciesSurveyCode: LAMACRO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3ab57331-ec76-44ee-bab7-96c780e603f0
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1590
+ speciesSurveyCode: LEPOLEP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f1b914a1-37bf-42c8-9387-920a422b9963
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1960
+ speciesSurveyCode: LEPMWHS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 7c41537e-af2a-49ba-9959-39fb85d56527
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1917
+ speciesSurveyCode: LEPTCAV
+ weightEnabled: true
+- !SpeciesProtocol
+ id: abaab523-9759-4ec4-b103-5df101d0b510
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1918
+ speciesSurveyCode: LEPTDIE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a2ce385c-0786-459b-aa26-02d936797165
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1791
+ speciesSurveyCode: GOBIFRI
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 91008a01-63e4-4e37-bdc1-dec8f0f0e9a5
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1882
+ speciesSurveyCode: LIZAAUR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: eddfe767-343e-4cc6-97af-59dd8367ba8d
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1881
+ speciesSurveyCode: LIZARAM
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 1ec767ba-1430-4678-a88f-ab9cfca572c2
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1883
+ speciesSurveyCode: LIZASAL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: db272acd-412c-4fa3-8750-e9ba6c664331
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 488
+ speciesSurveyCode: LOLISPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 67fa6ded-3a71-4ee3-a68c-b9c66b915775
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 12582
+ speciesSurveyCode: LOLIFOR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3c5f43b9-3c1b-4416-b4fb-ac9627e6f305
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1497
+ speciesSurveyCode: MACOSCO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 5b6f52bb-9014-47d5-a642-67465903521f
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1379
+ speciesSurveyCode: MAURMUE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b9928831-f097-434e-b023-ec19e673b328
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1551
+ speciesSurveyCode: GADUMER
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 5a0dbd0c-a97b-4b03-8fa3-65cac4dcafce
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 2011
+ speciesSurveyCode: MICUVAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 590ad66e-8a57-4fb6-9160-64216646fa4e
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1567
+ speciesSurveyCode: MOLVDYP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 8c123060-9d02-4938-ad86-867b14c37f6c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1568
+ speciesSurveyCode: MOLVMAC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 08628555-a63c-4def-a9f0-330fdb250092
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1566
+ speciesSurveyCode: MOLVMOL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 7d640ad6-0104-4dde-9792-36d792e8be3b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1593
+ speciesSurveyCode: MORAMOR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 27ac2050-f2f2-425b-a203-33171a22b0c4
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1877
+ speciesSurveyCode: MUGICEP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3ff92ada-84b8-4b8c-9be2-346a39e2aeaf
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1414
+ speciesSurveyCode: MYCOSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: acbc1c5d-3125-4ce3-816f-b92135e53cf5
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1464
+ speciesSurveyCode: NETTMEL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 5c12bd71-e723-413d-9be9-2e062646070b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1527
+ speciesSurveyCode: NEZUAEQ
+ weightEnabled: true
+- !SpeciesProtocol
+ id: db8b2566-540d-4d22-aaea-cd2949136a31
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1528
+ speciesSurveyCode: NEZUSCL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 7bd39d56-8571-4936-9247-2c3f7db3ca8c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1483
+ speciesSurveyCode: NOTABON
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 35cdc743-e4bf-45a8-b80f-9ac6f50e6b3e
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1711
+ speciesSurveyCode: OBLAMEL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 7aa028ca-c686-4592-8482-10be13c54d77
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 513
+ speciesSurveyCode: OCTOSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2acef86b-b195-4ff7-8164-874751de27e4
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 515
+ speciesSurveyCode: OCTODEP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 4d715d15-f9e1-4081-9d10-cf0f651b728d
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 517
+ speciesSurveyCode: OCTOSAL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ee9780a1-4ffc-43d1-bda0-8c180b59b18d
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1476
+ speciesSurveyCode: OPHCRUF
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 99345448-fefe-468f-bd59-6a0ba827dc8c
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1857
+ speciesSurveyCode: OPDIBAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 9b50141a-7e9f-45bb-8cb9-0609aec8952e
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1858
+ speciesSurveyCode: OPDIROC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6282d580-dde1-4477-89dd-f6ab1e4e63f1
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1477
+ speciesSurveyCode: OPHISER
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 44dbd32c-d339-4666-941b-8be80326a7d5
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1572
+ speciesSurveyCode: PHYIPHY
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b333a01f-33af-4fae-a8ee-372cbf0afd08
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 519
+ speciesSurveyCode: OCTOTET
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 3951b007-79c2-40f9-9ce2-f56f2b66e480
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1300
+ speciesSurveyCode: RAJASPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: dd590225-43f1-4403-8acb-6894ca3a7ebb
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1301
+ speciesSurveyCode: RAJABRA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 9ac0e7e4-563d-4f60-957e-22fe39c0860a
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1309
+ speciesSurveyCode: RAJAFUL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 7efd6a9a-1e6a-47da-915c-b68d1fd00017
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1304
+ speciesSurveyCode: RAJAMON
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f4b357aa-1c5c-40d8-8acd-b1ecffa18025
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1311
+ speciesSurveyCode: RAJANAE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 003afb88-af45-457c-a84b-16975a529645
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1317
+ speciesSurveyCode: RAJARDA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 4ae3247b-a7d3-4d1d-bd78-9e866821c072
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 471
+ speciesSurveyCode: ROSSMAC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 88da67b0-2f77-4d0b-bed1-08f3102fcd98
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1775
+ speciesSurveyCode: SADASAR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 12079205-9148-41b1-9d64-a920793f70bb
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1716
+ speciesSurveyCode: SARPSAL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 14bfc0d8-46cd-4f85-805e-8549a0ab90b8
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1894
+ speciesSurveyCode: SCORSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 8d055995-0c6f-4f52-bc05-bc79cc35e867
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1895
+ speciesSurveyCode: SCORELO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 8eda25d1-73d8-4e79-80e4-0829fb8bd1c3
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1897
+ speciesSurveyCode: SCORLOP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 220da7a9-05cb-484b-b299-49658e585bff
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1898
+ speciesSurveyCode: SCORMAD
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f27a7a08-2fa9-402a-8601-f8c26bb8f29d
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1899
+ speciesSurveyCode: SCORNOT
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 19328f63-e90d-4be0-a332-9efe14c87038
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1896
+ speciesSurveyCode: SCORPOR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 6c7342d2-f50f-4231-bc91-5851e778a916
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1900
+ speciesSurveyCode: SCORSCO
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 7b68433c-0e52-4369-9f13-9b300a0a31cb
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 466
+ speciesSurveyCode: SEPISPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ec368e8f-6152-4828-9d85-38d2cd6fe2ab
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 468
+ speciesSurveyCode: SEPIELE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 72688083-ed6d-418c-8195-b7290d2aeeba
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 469
+ speciesSurveyCode: SEPIORB
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 9bbb3bcb-f770-448e-8141-2a2a250dff45
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 476
+ speciesSurveyCode: SEPOSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: bb6f45c4-c085-4809-b63a-1b0750f58ac2
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1628
+ speciesSurveyCode: SERACAB
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 5976284b-a33e-4f31-aef3-cd5190f40b34
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1629
+ speciesSurveyCode: SERAHEP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 1b37cc5c-5164-4fa6-8f48-08173ace1507
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1995
+ speciesSurveyCode: SOLESPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: be091828-e022-4725-a682-f0e9ea3af3ba
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1998
+ speciesSurveyCode: SOLEIMP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 1075356e-b3b8-4c38-aba4-73f359a6b98b
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1999
+ speciesSurveyCode: SOLEKLE
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 00d90ba4-c2af-408b-a497-30a4c35c34dc
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 2000
+ speciesSurveyCode: SOLELAS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f49aadd1-65ea-4820-bed9-583a25761cf6
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1997
+ speciesSurveyCode: SOLESEN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 220088e3-a661-48a1-a837-ab6a8888f170
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1693
+ speciesSurveyCode: SPARAUR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: e3a09923-8414-4ad9-b131-825f41537ba7
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1874
+ speciesSurveyCode: SPHYSPY
+ weightEnabled: true
+- !SpeciesProtocol
+ id: ccf5602f-99b2-4976-a1b4-b27efedeaeb2
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1721
+ speciesSurveyCode: SPICSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2d623cc1-c373-4b00-844f-7933d5599b56
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1718
+ speciesSurveyCode: SPODCAN
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 01748fc9-794b-4951-9e0a-e38dfc479f30
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1356
+ speciesSurveyCode: SPRASPR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d49011fc-ec85-40de-afd0-e0ab033557ff
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1286
+ speciesSurveyCode: SQUTSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 23d7fd79-fa86-4f82-80f6-6a8d84c81171
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 6835
+ speciesSurveyCode: STOMBOA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 04dfc865-479b-4c52-b1fa-4c9ea6832eba
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 2018
+ speciesSurveyCode: SYMPNIG
+ weightEnabled: true
+- !SpeciesProtocol
+ id: c0331582-7102-4ce4-b3a0-07d49ae7c93e
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1815
+ speciesSurveyCode: CALMPHA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 9afd6c5b-773c-4d54-a378-5e194f8d5964
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 508
+ speciesSurveyCode: TODIEBL
+ weightEnabled: true
+- !SpeciesProtocol
+ id: d94abbd3-a93b-4ecb-ad20-26da4e3b8516
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1295
+ speciesSurveyCode: TORPSPP
+ weightEnabled: true
+- !SpeciesProtocol
+ id: cd2d62d0-edd9-4033-ad35-c376a5087fdf
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1298
+ speciesSurveyCode: TORPNOB
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 2a676665-dd81-4df7-945e-006ee86ba7b8
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1296
+ speciesSurveyCode: TORPTOR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: f57e191d-a6ec-49c5-a485-b437e5b290d1
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1760
+ speciesSurveyCode: TRAHARA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: b35892d0-732f-4490-a369-32c35ee580cc
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1759
+ speciesSurveyCode: TRAHDRA
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 500570c2-7875-4f17-a865-664c065631f4
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1761
+ speciesSurveyCode: TRAHRAD
+ weightEnabled: true
+- !SpeciesProtocol
+ id: a6c14a6b-f9a8-45be-ac57-0330bf385a05
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1664
+ speciesSurveyCode: TRACPIC
+ weightEnabled: true
+- !SpeciesProtocol
+ id: 729c0fba-b454-4bf8-a41d-6e513b63954f
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1910
+ speciesSurveyCode: TRIGLYR
+ weightEnabled: true
+- !SpeciesProtocol
+ id: dd584b99-1065-475f-8257-eaafc85dc0c8
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1560
+ speciesSurveyCode: TRISLUS
+ weightEnabled: true
+- !SpeciesProtocol
+ id: fb9842ce-13fa-48b8-b294-db418257f706
+ countIfNoFrequencyEnabled: true
+ mandatorySampleCategoryId: []
+ speciesReferenceTaxonId: 1764
+ speciesSurveyCode: URANSCA
+ weightEnabled: true
+vesselUseFeaturePmfmId: !com.google.common.collect.Lists$TransformingRandomAccessList
+- 863
+- 862
+- 173
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-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-01-21 16:29:59 UTC (rev 1519)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Sun Jan 12 14:36:06 CET 2014
+#Tue Jan 21 11:51:19 CET 2014
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -255,6 +255,7 @@
tutti.editSpeciesBatch.action.editFrequencies.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.exportMultiPost.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.importMultiPost.help=editFishingOperation.html\#captureEspecesActions
+tutti.editSpeciesBatch.action.importPsion.help=
tutti.editSpeciesBatch.action.importPupitri.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.removeBatch.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.removeSubBatch.help=editFishingOperation.html\#captureEspecesActions
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-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2014-01-21 16:29:59 UTC (rev 1519)
@@ -54,6 +54,7 @@
import fr.ifremer.tutti.service.export.pdf.CatchesPdfExportService;
import fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportService;
import fr.ifremer.tutti.service.protocol.ProtocolImportExportService;
+import fr.ifremer.tutti.service.psionimport.PsionImportService;
import fr.ifremer.tutti.service.pupitri.PupitriImportExportService;
import fr.ifremer.tutti.service.referential.ReferentialImportExportService;
import fr.ifremer.tutti.service.referential.TuttiReferentialSynchronizeService;
@@ -596,6 +597,10 @@
return serviceContext.getService(PupitriImportExportService.class);
}
+ public PsionImportService getTuttiPsionImportExportService() {
+ return serviceContext.getService(PsionImportService.class);
+ }
+
public ReferentialImportExportService getTuttiReferentialImportExportService() {
return serviceContext.getService(ReferentialImportExportService.class);
}
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportPsionAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportPsionAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportPsionAction.java 2014-01-21 16:29:59 UTC (rev 1519)
@@ -0,0 +1,173 @@
+package fr.ifremer.tutti.ui.swing.action;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.Lists;
+import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel;
+import fr.ifremer.tutti.persistence.service.TuttiEnumerationFile;
+import fr.ifremer.tutti.service.PersistenceService;
+import fr.ifremer.tutti.service.psionimport.PsionImportResult;
+import fr.ifremer.tutti.service.psionimport.PsionImportService;
+import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.species.ImportPupitriPopupUI;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchUI;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchUIHandler;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchUIModel;
+
+import javax.swing.JOptionPane;
+import javax.swing.UIManager;
+import java.io.File;
+import java.util.List;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Created on 1/21/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.1
+ */
+public class ImportPsionAction extends AbstractTuttiAction<SpeciesBatchUIModel, SpeciesBatchUI, SpeciesBatchUIHandler> {
+
+ protected File importedTrunkFile;
+
+ protected ImportPupitriPopupUI importPupitriDialog;
+
+ protected PersistenceService persistenceService;
+
+ protected EditFishingOperationAction editAction;
+
+ protected PsionImportResult importResult;
+
+ public ImportPsionAction(SpeciesBatchUIHandler handler) {
+ super(handler, false);
+ persistenceService = getContext().getPersistenceService();
+ importPupitriDialog = new ImportPupitriPopupUI(handler.getContext());
+ }
+
+ public EditFishingOperationAction getEditAction() {
+ if (editAction == null) {
+ FishingOperationsUI parentContainer = handler.getParentContainer(FishingOperationsUI.class);
+ editAction = getContext().getActionFactory().createLogicAction(parentContainer.getHandler(),
+ EditFishingOperationAction.class);
+ }
+ return editAction;
+ }
+
+ @Override
+ public boolean prepareAction() throws Exception {
+ boolean result = true;
+
+ // must check that sample category model is compatible for pupitri import
+ // means need some categories
+
+ TuttiEnumerationFile enumerationFile = persistenceService.getEnumerationFile();
+ SampleCategoryModel sampleCategoryModel = getDataContext().getSampleCategoryModel();
+
+ List<String> missingCategories = Lists.newArrayList();
+// if (!sampleCategoryModel.containsCategoryId(enumerationFile.PMFM_ID_SIZE_CATEGORY)) {
+// missingCategories.add("<li>" + persistenceService.getSizeCategoryCaracteristic().getParameterName() + "</li>");
+// }
+ if (!sampleCategoryModel.containsCategoryId(enumerationFile.PMFM_ID_SEX)) {
+ missingCategories.add("<li>" + persistenceService.getSexCaracteristic().getParameterName() + "</li>");
+ }
+ if (!sampleCategoryModel.containsCategoryId(enumerationFile.PMFM_ID_MATURITY)) {
+ missingCategories.add("<li>" + persistenceService.getMaturityCaracteristic().getParameterName() + "</li>");
+ }
+ if (!missingCategories.isEmpty()) {
+ result = false;
+ JOptionPane.showMessageDialog(
+ getContext().getActionUI(),
+ _("tutti.editSpeciesBatch.action.importPsion.invalidSampleCategoryModel.message", Joiner.on("").join(missingCategories)),
+ _("tutti.editSpeciesBatch.action.importPsion.invalidSampleCategoryModel.title"),
+ JOptionPane.ERROR_MESSAGE,
+ UIManager.getIcon("error")
+ );
+ }
+// if (result) {
+//
+// SpeciesBatchUIModel speciesBatchUIModel = getUI().getModel();
+// if (speciesBatchUIModel.getRowCount() > 0) {
+// String htmlMessage = String.format(
+// AbstractTuttiUIHandler.CONFIRMATION_FORMAT,
+// _("tutti.editSpeciesBatch.action.importPsion.existingData.message"),
+// _("tutti.editSpeciesBatch.action.importPsion.existingData.help"));
+//
+// int answer = JOptionPane.showConfirmDialog(getContext().getActionUI(),
+// htmlMessage,
+// _("tutti.editSpeciesBatch.action.importPsion.existingData.title"),
+// JOptionPane.OK_CANCEL_OPTION,
+// JOptionPane.WARNING_MESSAGE);
+//
+// result = answer == JOptionPane.OK_OPTION;
+// }
+// }
+
+ if (result) {
+ // choose file to import
+ importedTrunkFile = chooseFile(
+ _("tutti.editSpeciesBatch.action.title.choose.importPsionFile"),
+ _("tutti.editSpeciesBatch.action.choosePsionFile.import"),
+ "^.*\\.IWA", _("tutti.common.file.iwa"));
+
+ result = importedTrunkFile != null;
+ }
+
+ return result;
+ }
+
+ @Override
+ public void doAction() throws Exception {
+ PsionImportService importService = getContext().getTuttiPsionImportExportService();
+
+ EditCatchesUI parentContainer = handler.getParentContainer(EditCatchesUI.class);
+ EditCatchesUIModel model = parentContainer.getModel();
+
+ FishingOperation operation = model.getFishingOperation();
+ CatchBatch catchBatch = model.toEntity();
+
+ // import
+ importResult = importService.importFile(importedTrunkFile,
+ operation,
+ catchBatch);
+
+ if (importResult.isDone()) {
+
+ // reload operation
+ getEditAction().loadCatchBatch(operation);
+ }
+ }
+
+ @Override
+ public void releaseAction() {
+ super.releaseAction();
+ importedTrunkFile = null;
+ }
+
+ @Override
+ public void postSuccessAction() {
+ super.postSuccessAction();
+
+ if (importResult.isDone()) {
+
+ sendMessage(_("tutti.editSpeciesBatch.action.importPsion.success",
+ getModel().getRootNumber(), importResult.getNbImported()));
+ } else {
+
+ StringBuilder sb = new StringBuilder();
+ for (String s : importResult.getErrors()) {
+ sb.append("<li>").append(s).append("</li>");
+ }
+ displayWarningMessage(
+ _("tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation.title"),
+ "<html><body>" +
+ _("tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation", sb.toString()) +
+ "</body></html>"
+ );
+ sendMessage(_("tutti.editSpeciesBatch.action.importPsion.no.matching.data"));
+ }
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportPsionAction.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/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-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2014-01-21 16:29:59 UTC (rev 1519)
@@ -252,6 +252,15 @@
_help: {"tutti.editSpeciesBatch.action.importPupitri.help"};
}
+#importPsionButton {
+ actionIcon: pupitri-import;
+ text: "tutti.editSpeciesBatch.action.importPsion";
+ toolTipText: "tutti.editSpeciesBatch.action.importPsion.tip";
+ i18nMnemonic: "tutti.editSpeciesBatch.action.importPsion.mnemonic";
+ _applicationAction: {fr.ifremer.tutti.ui.swing.action.ImportPsionAction.class};
+ _help: {"tutti.editSpeciesBatch.action.importPsion.help"};
+}
+
#importMultiPostButton {
actionIcon: import;
text: "tutti.editSpeciesBatch.action.importMultiPost";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2014-01-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2014-01-21 16:29:59 UTC (rev 1519)
@@ -64,6 +64,7 @@
<JToolBar id='speciesBatchTabToolBar'>
<JButton id='importPupitriButton'/>
+ <JButton id='importPsionButton'/>
<JButton id='importMultiPostButton'/>
<JButton id='exportMultiPostButton'/>
</JToolBar>
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-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-01-21 16:29:59 UTC (rev 1519)
@@ -77,6 +77,7 @@
tutti.common.cancel=
tutti.common.cancel.mnemonic=
tutti.common.file.csv=
+tutti.common.file.iwa=
tutti.common.file.pdf=
tutti.common.file.protocol=
tutti.common.file.tuttiAccidental=
@@ -948,6 +949,7 @@
tutti.editSpeciesBatch.action.changeSampleCategory=
tutti.editSpeciesBatch.action.changeSampleCategory.mnemonic=
tutti.editSpeciesBatch.action.changeSampleCategory.tip=
+tutti.editSpeciesBatch.action.choosePsionFile.import=
tutti.editSpeciesBatch.action.createBatch=
tutti.editSpeciesBatch.action.createBatch.mnemonic=
tutti.editSpeciesBatch.action.createBatch.tip=
@@ -969,6 +971,18 @@
tutti.editSpeciesBatch.action.importMultiPost.sourceFile.title=
tutti.editSpeciesBatch.action.importMultiPost.success=
tutti.editSpeciesBatch.action.importMultiPost.tip=
+tutti.editSpeciesBatch.action.importPsion=
+tutti.editSpeciesBatch.action.importPsion.existingData.help=
+tutti.editSpeciesBatch.action.importPsion.existingData.message=
+tutti.editSpeciesBatch.action.importPsion.existingData.title=
+tutti.editSpeciesBatch.action.importPsion.invalidSampleCategoryModel.message=
+tutti.editSpeciesBatch.action.importPsion.invalidSampleCategoryModel.title=
+tutti.editSpeciesBatch.action.importPsion.mnemonic=
+tutti.editSpeciesBatch.action.importPsion.no.matching.data=
+tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation=
+tutti.editSpeciesBatch.action.importPsion.no.matching.fishingOperation.title=
+tutti.editSpeciesBatch.action.importPsion.success=
+tutti.editSpeciesBatch.action.importPsion.tip=
tutti.editSpeciesBatch.action.importPupitri=
tutti.editSpeciesBatch.action.importPupitri.existingData.help=
tutti.editSpeciesBatch.action.importPupitri.existingData.message=
@@ -997,6 +1011,7 @@
tutti.editSpeciesBatch.action.splitBatch=
tutti.editSpeciesBatch.action.splitBatch.mnemonic=
tutti.editSpeciesBatch.action.splitBatch.tip=
+tutti.editSpeciesBatch.action.title.choose.importPsionFile=
tutti.editSpeciesBatch.error.sampleCategoryValue.notAvailable=
tutti.editSpeciesBatch.field.speciesTotalInertWeight=
tutti.editSpeciesBatch.field.speciesTotalInertWeight.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-21 10:01:54 UTC (rev 1518)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-01-21 16:29:59 UTC (rev 1519)
@@ -70,6 +70,7 @@
tutti.common.cancel=Annuler
tutti.common.cancel.mnemonic=A
tutti.common.file.csv=Extension d'un fichier csv
+tutti.common.file.iwa=Fichier d'import Psion
tutti.common.file.pdf=Extension d'un fichier pdf
tutti.common.file.protocol=Extension d'un fichier de protocole Tutti
tutti.common.file.tuttiAccidental=Fichier d'import/export des lots de captures accidentelles
@@ -941,6 +942,7 @@
tutti.editSpeciesBatch.action.changeSampleCategory=Modifier la catégorie
tutti.editSpeciesBatch.action.changeSampleCategory.mnemonic=M
tutti.editSpeciesBatch.action.changeSampleCategory.tip=Modifier la catégorie de la cellule sélectionnée
+tutti.editSpeciesBatch.action.choosePsionFile.import=Importer
tutti.editSpeciesBatch.action.createBatch=Créer un lot pour une espèce
tutti.editSpeciesBatch.action.createBatch.mnemonic=C
tutti.editSpeciesBatch.action.createBatch.tip=Créer un nouveau lot pour une espèce
@@ -962,6 +964,18 @@
tutti.editSpeciesBatch.action.importMultiPost.sourceFile.title=Importer des lots d'espèces
tutti.editSpeciesBatch.action.importMultiPost.success=Des lots d'espèces ont été importés depuis le fichier %s
tutti.editSpeciesBatch.action.importMultiPost.tip=Importer des lots d'espèces créés sur un poste satellite
+tutti.editSpeciesBatch.action.importPsion=Import Psion
+tutti.editSpeciesBatch.action.importPsion.existingData.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas importer les données Pupitri et conserver les espèces saisies</li><li><strong>OK</strong> pour supprimer les espèces existantes et les remplacer par les données de Pupitri</li></ul>
+tutti.editSpeciesBatch.action.importPsion.existingData.message=Des espèces ont déjà été saisies dans la capture. Si vous continuez, elles vont être écrasées.
+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.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
+tutti.editSpeciesBatch.action.importPsion.success=Import Psion réussi \: %1s espèces importées, %2s espèces rejetées
+tutti.editSpeciesBatch.action.importPsion.tip=Import Psion
tutti.editSpeciesBatch.action.importPupitri=Import Pupitri
tutti.editSpeciesBatch.action.importPupitri.existingData.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour ne pas importer les données Pupitri et conserver les espèces saisies</li><li><strong>OK</strong> pour supprimer les espèces existantes et les remplacer par les données de Pupitri</li></ul>
tutti.editSpeciesBatch.action.importPupitri.existingData.message=Des espèces ont déjà été saisies dans la capture. Si vous continuez, elles vont être écrasées.
@@ -990,6 +1004,7 @@
tutti.editSpeciesBatch.action.splitBatch=Catégoriser le lot
tutti.editSpeciesBatch.action.splitBatch.mnemonic=C
tutti.editSpeciesBatch.action.splitBatch.tip=Catégoriser le lot courant (celui de la ligne sélectionné)
+tutti.editSpeciesBatch.action.title.choose.importPsionFile=Importer un fichier Psion
tutti.editSpeciesBatch.error.sampleCategoryValue.notAvailable=La valeur %s de la catégorie %s est déjà utilisée
tutti.editSpeciesBatch.field.speciesTotalInertWeight=Poids inerte trié
tutti.editSpeciesBatch.field.speciesTotalInertWeight.tip=Poids de la fraction inerte restante après le tri des espèces (cailloux, vase, débris coquilliers, etc.)
1
0
Jan. 21, 2014
Author: lkaufmann
Date: 2014-01-21 11:01:54 +0100 (Tue, 21 Jan 2014)
New Revision: 1518
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1518
Log:
Refs #4138. Update screen/db help page content
Modified:
trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html
Modified: trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html 2014-01-20 20:42:25 UTC (rev 1517)
+++ trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html 2014-01-21 10:01:54 UTC (rev 1518)
@@ -138,7 +138,7 @@
<p> </p>
</td>
<td colspan="2">
- [LK] Cet élément ne fait plus partie de l'interface ?
+ <u>LK: Cet élément ne fait plus partie de l'interface ?</u>
</td>
</tr>
<tr>
@@ -1004,7 +1004,7 @@
<p>Lecture seule</p>
</td>
<td>
- <p>(depuis version 1.2) Identique à celui de la campagne : Operation.vessel (OPERATION.VESSEL_FK) (Obsolète) : TODO supprimer le code qui fait cette gestion Si le navire est identique à celui de la campagne : Operation.vessel (OPERATION.VESSEL_FK) Sinon : Operation.operationVesselAssociation (OPERATION_VESSEL_ASSOCIATION.VESSEL_FK avec IS_CATCH_ON_OPERATION_VESSEL=0). Operation.vessel est alors rempli avec le premier navire de la liste de la campagne, pour être compatible avec Allegro (on doit toujours avoir : SCIENTIFIC_CRUISE.VESSEL_FK = OPERATION_VESSEL_FK).</p>
+ <p><u>(depuis version 1.2) Identique à celui de la campagne : Operation.vessel (OPERATION.VESSEL_FK) (Obsolète) : TODO supprimer le code qui fait cette gestion Si le navire est identique à celui de la campagne : Operation.vessel (OPERATION.VESSEL_FK) Sinon : Operation.operationVesselAssociation (OPERATION_VESSEL_ASSOCIATION.VESSEL_FK avec IS_CATCH_ON_OPERATION_VESSEL=0). Operation.vessel est alors rempli avec le premier navire de la liste de la campagne, pour être compatible avec Allegro (on doit toujours avoir : SCIENTIFIC_CRUISE.VESSEL_FK = OPERATION_VESSEL_FK).</u></p>
</td>
</tr>
<tr>
@@ -1034,7 +1034,7 @@
<p>Choix parmi les navires existants en base</p>
</td>
<td>
- <p>Est-ce stocké en base ?</p>
+ <p><u>LK: Est-ce stocké en base ?</u></p>
</td>
</tr>
<tr>
@@ -1102,7 +1102,7 @@
<h3>Trait > Autres paramètres</h3>
- <p>Cet onglet permet la saisie de l'hydrologie et des paramètres environnementaux.</p>
+ <p>Cet onglet permet la saisie des paramètres d'hydrologie et des paramètres environnementaux.</p>
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
@@ -1126,7 +1126,7 @@
</td>
<td>
<p>Operation.gearUseFeatures.vesselUseMeasurement (GEAR_USE_MEASUREMENT.xxx - en fonction du type de PSFM : NUMERICAL_VALUE, ALPHANUMERICAL_VALUE ou QUALITATIVE_VALUE_FK<br/>
- <strong>WARNING</strong> : En v2 (version à confirmer), informations dispatcher dans différent onglet, en fonction du PSFM trouvé dans le protocole</p>
+ <u><strong>WARNING</strong> : En v2 (version à confirmer), informations dispatcher dans différent onglet, en fonction du PSFM trouvé dans le protocole</u></p>
</td>
</tr>
</tbody>
@@ -1148,7 +1148,7 @@
<tbody>
<tr>
<td>
- <p>Poids TOTAL</p>
+ <p>Capture > Poids TOTAL</p>
</td>
<td>
<p> </p>
@@ -1162,13 +1162,13 @@
</tr>
<tr>
<td>
- <p>Poids total VRAC</p>
+ <p>Capture > Poids total VRAC</p>
</td>
<td>
<p> </p>
</td>
<td>
- <p>Numérique</p>
+ <p>Numérique (Lecture seule)</p>
</td>
<td>
<p>Lot "Capture > Vrac" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
@@ -1176,13 +1176,13 @@
</tr>
<tr>
<td>
- <p>Poids total HORS VRAC</p>
+ <p>Capture > Poids total HORS VRAC</p>
</td>
<td>
<p> </p>
</td>
<td>
- <p>Numérique</p>
+ <p>Numérique (Lecture seule)</p>
</td>
<td>
<p>Lot "Capture > Hors Vrac" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
@@ -1190,7 +1190,7 @@
</tr>
<tr>
<td>
- <p>Poids total NON TRIE</p>
+ <p>Capture > Poids total NON TRIE</p>
</td>
<td>
<p> </p>
@@ -1202,6 +1202,22 @@
<p>Lot "Capture > Non trié" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
</td>
</tr>
+ <tr class="danger">
+ <td>
+ <p>Capture > Carroussel observé (1)</p>
+ </td>
+ <td></td>
+ <td>Numérique (Lecture seule)</td>
+ <td><u>LK: Est-ce stocké en base ?</u></td>
+ </tr>
+ <tr class="danger">
+ <td>
+ <p>Capture > Trémie (1)</p>
+ </td>
+ <td></td>
+ <td>Numérique (Lecture seule)</td>
+ <td><u>LK: Est-ce stocké en base ?</u></td>
+ </tr>
<tr>
<td>
<p>Espèce > Poids TOTAL</p>
@@ -1230,7 +1246,7 @@
<p>Lot "Capture > Vrac > Espèce" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
</td>
</tr>
- <tr>
+ <tr class="danger">
<td>
<p>Espèce > Poids total VRAC trié</p>
</td>
@@ -1241,7 +1257,7 @@
<p>Numérique</p>
</td>
<td>
- <p> </p>
+ <p><u>Calculé par tutti ? utile seulement si Thalassa ?</u></p>
</td>
</tr>
<tr>
@@ -1255,7 +1271,7 @@
<p>Numérique</p>
</td>
<td>
- <p> </p>
+ <p>Lot "Capture > Hors Vrac > Espèce" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
</td>
</tr>
<tr>
@@ -1286,7 +1302,7 @@
<p>Lot "Capture > Vrac > Benthos" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
</td>
</tr>
- <tr>
+ <tr class="danger">
<td>
<p>Benthos > Poids total VRAC trié</p>
</td>
@@ -1297,12 +1313,12 @@
<p>Numérique</p>
</td>
<td>
- <p> </p>
+ <p><u>Calculé par tutti ? utile seulement si Thalassa ?</u></p>
</td>
</tr>
<tr>
<td>
- <p>Benthos > Poids total HORS VRAC TRIE</p>
+ <p>Benthos > Poids total HORS VRAC</p>
</td>
<td>
<p> </p>
@@ -1331,6 +1347,8 @@
</tbody>
</table>
+ <p><strong>(1)</strong> Uniquement si le navire possède un carrousel et un trémie.</p>
+
<h3>Captures > Espèces</h3>
<table class='table table-bordered table-striped table-hover table-condensed'>
@@ -1345,9 +1363,22 @@
<tbody>
<tr>
<td>
- <p>Espèce > Poids total VRAC</p>
+ <p>Poids total</p>
</td>
<td>
+ </td>
+ <td>
+ <p>Numérique (Lecture seule)</p>
+ </td>
+ <td colspan="2">
+ Non stocké en base.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Poids total VRAC</p>
+ </td>
+ <td>
<p> </p>
</td>
<td>
@@ -1360,6 +1391,32 @@
</tr>
<tr>
<td>
+ <p>Poids VRAC trié</p>
+ </td>
+ <td>
+ </td>
+ <td>
+ <p>Numérique (Lecture seule)</p>
+ </td>
+ <td colspan="2">
+ Non stocké en base.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Poids total HORS VRAC</p>
+ </td>
+ <td>
+ </td>
+ <td>
+ <p>Numérique (Lecture seule)</p>
+ </td>
+ <td colspan="2">
+ Non stocké en base.
+ </td>
+ </tr>
+ <tr>
+ <td>
<p>Poids inerte trié</p>
</td>
<td>
@@ -1569,23 +1626,32 @@
<p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif ?) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
</td>
</tr>
- <tr>
+ <tr class="danger">
<td>
<p>Tableau > A confirmer</p>
</td>
<td>
- <p> </p>
</td>
<td>
<p>Booléen (Case à cocher)</p>
</td>
<td colspan="2">
- <p>
-
- </p>
+ <u>LK: Est-ce stocké en base?</u>
</td>
</tr>
+ </tbody>
+ </table>
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
<tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th colspan="2">Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
<td>
<p>Mensuration > Type de mesure</p>
</td>
@@ -1595,7 +1661,7 @@
<p>Dupliqué pour chaque lot de mensuration créé (un lot pour chaque taille saisie) Batch.sortingMeasurement.pmfm (SORTING_MEASUREMENT.PMFM_FK)</p>
</td>
</tr>
- <tr>
+ <tr class="danger">
<td>
<p>Mensuration > Pas de la classe de taille</p>
</td>
@@ -1603,7 +1669,7 @@
<td></td>
<td colspan="2">
- <p> </p>
+ <p><u>WARNING : Non stocké, devrait dépendre de PSFM.precision ? Peut-etre peut-on le calculer par analyse des mensurations saisies ? (et si aucune mesure prendre la précision du PSFM)</u></p>
</td>
</tr>
<tr>
@@ -1664,10 +1730,22 @@
<th colspan="2">Correspondance en base de données</th>
</tr>
</thead>
- <tbody>
+ <tbody><tr>
+ <td>
+ <p>Poids total</p>
+ </td>
+ <td>
+ </td>
+ <td>
+ <p>Numérique (Lecture seule)</p>
+ </td>
+ <td colspan="2">
+ Non stocké en base.
+ </td>
+ </tr>
<tr>
<td>
- <p>Benthos > Poids total VRAC</p>
+ <p>Poids total VRAC</p>
</td>
<td>
<p> </p>
@@ -1682,6 +1760,32 @@
</tr>
<tr>
<td>
+ <p>Poids VRAC trié</p>
+ </td>
+ <td>
+ </td>
+ <td>
+ <p>Numérique (Lecture seule)</p>
+ </td>
+ <td colspan="2">
+ Non stocké en base.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Poids total HORS VRAC</p>
+ </td>
+ <td>
+ </td>
+ <td>
+ <p>Numérique (Lecture seule)</p>
+ </td>
+ <td colspan="2">
+ Non stocké en base.
+ </td>
+ </tr>
+ <tr>
+ <td>
<p>Poids inerte trié</p>
</td>
<td>
@@ -1891,7 +1995,7 @@
<p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
</td>
</tr>
- <tr>
+ <tr class="danger">
<td>
<p>Tableau > A confirmer</p>
</td>
@@ -1903,11 +2007,23 @@
</td>
<td colspan="2">
<p>
-
+ <u>LK : Est-ce stocké en base ?</u>
</p>
</td>
</tr>
+ </tbody>
+ </table>
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
<tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
<td>
<p>Mensuration > Type de mesure</p>
</td>
@@ -1917,14 +2033,14 @@
<p>Dupliqué pour chaque lot de mensuration créé (un lot pour chaque taille saisie) Batch.sortingMeasurement.pmfm (SORTING_MEASUREMENT.PMFM_FK)</p>
</td>
</tr>
- <tr>
+ <tr class="danger">
<td>
<p>Mensuration > Pas de la classe de taille</p>
</td>
<td></td>
<td></td>
<td colspan="2">
- <p> </p>
+ <u>WARNING : Non stocké, devrait dépendre de PSFM.precision ? Peut-etre peut-on le calculer par analyse des mensurations saisies ? (et si aucune mesure prendre la précision du PSFM)</u>
</td>
</tr>
<tr>
@@ -1997,9 +2113,9 @@
<p>Lot "Capture > Hors Vrac > Macro déchets" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
</td>
</tr>
- <tr>
+ <tr class="danger">
<td>
- <p>Pièces Jointes</p>
+ <p>Pièces Jointes<br/><u>LK: Y a-t-il une différence avec Tableau > Pièces jointes ?</u></p>
</td>
<td>
<p> </p>
1
0
r1517 - in trunk/tutti-persistence/src/main: java/fr/ifremer/tutti/persistence/service resources
by tchemit@users.forge.codelutin.com Jan. 20, 2014
by tchemit@users.forge.codelutin.com Jan. 20, 2014
Jan. 20, 2014
Author: tchemit
Date: 2014-01-20 21:42:25 +0100 (Mon, 20 Jan 2014)
New Revision: 1517
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1517
Log:
refs #3876: Import de donn?\195?\169es depuis un ictyom?\195?\168tre (par lot)
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2014-01-20 20:41:49 UTC (rev 1516)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2014-01-20 20:42:25 UTC (rev 1517)
@@ -149,6 +149,21 @@
@Value("${QualitativeValueId.SEX_UNDEFINED}")
public final Integer QUALITATIVE_SEX_UNDEFINED_ID = null;
+ @Value("${QualitativeValueId.MATURITY_1}")
+ public final Integer QUALITATIVE_MATURITY_1_ID = null;
+
+ @Value("${QualitativeValueId.MATURITY_2}")
+ public final Integer QUALITATIVE_MATURITY_2_ID = null;
+
+ @Value("${QualitativeValueId.MATURITY_3}")
+ public final Integer QUALITATIVE_MATURITY_3_ID = null;
+
+ @Value("${QualitativeValueId.MATURITY_4}")
+ public final Integer QUALITATIVE_MATURITY_4_ID = null;
+
+ @Value("${QualitativeValueId.MATURITY_5}")
+ public final Integer QUALITATIVE_MATURITY_5_ID = null;
+
@Value("${QualitativeValueId.SIZE_SMALL}")
public final Integer QUALITATIVE_SIZE_SMALL_ID = null;
Modified: trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties 2014-01-20 20:41:49 UTC (rev 1516)
+++ trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties 2014-01-20 20:42:25 UTC (rev 1517)
@@ -331,6 +331,12 @@
PmfmId.AGE=1430
# Catégorie maturité
PmfmId.MATURITY=174
+QualitativeValueId.MATURITY_1=272
+QualitativeValueId.MATURITY_2=273
+QualitativeValueId.MATURITY_3=274
+QualitativeValueId.MATURITY_4=275
+QualitativeValueId.MATURITY_5=276
+
# Catégorie macro-déchet
PmfmId.MARINE_LITTER_TYPE=1421
# Classe de taille macro-déchet
1
0
r1516 - in trunk/tutti-service/src: main/java/fr/ifremer/tutti/service main/java/fr/ifremer/tutti/service/psionimport test/java/fr/ifremer/tutti/service test/java/fr/ifremer/tutti/service/psionimport test/resources test/resources/psion
by tchemit@users.forge.codelutin.com Jan. 20, 2014
by tchemit@users.forge.codelutin.com Jan. 20, 2014
Jan. 20, 2014
Author: tchemit
Date: 2014-01-20 21:41:49 +0100 (Mon, 20 Jan 2014)
New Revision: 1516
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1516
Log:
refs #3876: Import de donn?\195?\169es depuis un ictyom?\195?\168tre (par lot)
Added:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportBatchModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportResult.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java
trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/
trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java
trunk/tutti-service/src/test/resources/psion/
trunk/tutti-service/src/test/resources/psion/CC053.IWA
trunk/tutti-service/src/test/resources/psion/CFchephren 110612.IWA
trunk/tutti-service/src/test/resources/psion/FM001.IWA
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportBatchModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportBatchModel.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportBatchModel.java 2014-01-20 20:41:49 UTC (rev 1516)
@@ -0,0 +1,119 @@
+package fr.ifremer.tutti.service.psionimport;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $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 com.google.common.collect.Maps;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+import org.apache.commons.lang3.mutable.MutableInt;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * Created on 1/20/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.0.1
+ */
+public class PsionImportBatchModel {
+
+ protected final Species species;
+
+ protected final Integer lengthStepCaracteristicId;
+
+ protected Float weight;
+
+ protected Float sampleWeight;
+
+ protected Integer categoryId;
+
+ protected Serializable categoryValue;
+
+ protected final Map<Float, MutableInt> frequencies;
+
+ public PsionImportBatchModel(Species species, Integer lengthStepCaracteristicId) {
+ this.species = species;
+ this.lengthStepCaracteristicId = lengthStepCaracteristicId;
+ frequencies = Maps.newTreeMap();
+ }
+
+ public void setWeight(Float weight) {
+ this.weight = weight;
+ }
+
+ public void setSampleWeight(Float sampleWeight) {
+ this.sampleWeight = sampleWeight;
+ }
+
+ public void setCategory(Integer categoryId, Serializable categoryValue) {
+ this.categoryId = categoryId;
+ this.categoryValue = categoryValue;
+ }
+
+ public void addFrequency(Float size) {
+ MutableInt mutableFloat = frequencies.get(size);
+ if (mutableFloat == null) {
+ mutableFloat = new MutableInt(0);
+ frequencies.put(size, mutableFloat);
+ }
+ mutableFloat.increment();
+ }
+
+ public Species getSpecies() {
+ return species;
+ }
+
+ public Integer getLengthStepCaracteristicId() {
+ return lengthStepCaracteristicId;
+ }
+
+ public Float getWeight() {
+ return weight;
+ }
+
+ public Float getSampleWeight() {
+ return sampleWeight;
+ }
+
+ public Integer getCategoryId() {
+ return categoryId;
+ }
+
+ public Serializable getCategoryValue() {
+ return categoryValue;
+ }
+
+ public boolean withFrequencies() {
+ return !frequencies.isEmpty();
+ }
+
+ public Map<Float, MutableInt> getFrequencies() {
+ return frequencies;
+ }
+
+ public int getNbFrequencies() {
+ return frequencies.size();
+ }
+}
Property changes on: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportBatchModel.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java 2014-01-20 20:41:49 UTC (rev 1516)
@@ -0,0 +1,84 @@
+package fr.ifremer.tutti.service.psionimport;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $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 com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Created on 1/20/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.0.1
+ */
+public class PsionImportModel {
+
+ protected final List<PsionImportBatchModel> batchs;
+
+ protected final Set<String> ignoredSpecies;
+
+ public PsionImportModel() {
+ batchs = Lists.newArrayList();
+ ignoredSpecies = Sets.newHashSet();
+ }
+
+ public void addBatch(PsionImportBatchModel batchModel) {
+ batchs.add(batchModel);
+ }
+
+ public void addIgnoredSpecies(String species) {
+ ignoredSpecies.add(species);
+ }
+
+ public boolean withBatchs() {
+ return !batchs.isEmpty();
+ }
+
+ public Set<String> getIgnoredSpecies() {
+ return ignoredSpecies;
+ }
+
+ public Set<Species> getSpecies() {
+ Set<Species> result = Sets.newLinkedHashSet();
+ for (PsionImportBatchModel batch : batchs) {
+ result.add(batch.getSpecies());
+ }
+ return result;
+ }
+
+ public List<PsionImportBatchModel> getBatchs(Species species) {
+ List<PsionImportBatchModel> result = Lists.newArrayList();
+ for (PsionImportBatchModel batch : batchs) {
+ if (species.equals(batch.getSpecies())) {
+ result.add(batch);
+ }
+ }
+ return result;
+ }
+}
Property changes on: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportResult.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportResult.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportResult.java 2014-01-20 20:41:49 UTC (rev 1516)
@@ -0,0 +1,66 @@
+package fr.ifremer.tutti.service.psionimport;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $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 java.io.File;
+
+/**
+ * Created on 1/20/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.0.1
+ */
+public class PsionImportResult {
+
+ protected final File importFile;
+
+ protected int nbImported;
+
+ protected int nbNotImported;
+
+ public PsionImportResult(File importFile) {
+ this.importFile = importFile;
+ }
+
+ public File getImportFile() {
+ return importFile;
+ }
+
+ public int getNbImported() {
+ return nbImported;
+ }
+
+ public int getNbNotImported() {
+ return nbNotImported;
+ }
+
+ void incrementNbImported() {
+ this.nbImported++;
+ }
+
+ void incrementNbNotImported() {
+ this.nbNotImported++;
+ }
+}
Property changes on: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportResult.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java 2014-01-20 20:41:49 UTC (rev 1516)
@@ -0,0 +1,599 @@
+package fr.ifremer.tutti.service.psionimport;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $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 com.google.common.base.Charsets;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.google.common.io.Files;
+import fr.ifremer.shared.application.ApplicationBusinessException;
+import fr.ifremer.tutti.persistence.entities.TuttiEntities;
+import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
+import fr.ifremer.tutti.persistence.entities.data.Attachment;
+import fr.ifremer.tutti.persistence.entities.data.Attachments;
+import fr.ifremer.tutti.persistence.entities.data.BatchContainer;
+import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
+import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
+import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequencys;
+import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchs;
+import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol;
+import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
+import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+import fr.ifremer.tutti.persistence.service.TuttiEnumerationFile;
+import fr.ifremer.tutti.service.AbstractTuttiService;
+import fr.ifremer.tutti.service.PersistenceService;
+import fr.ifremer.tutti.service.TuttiDataContext;
+import fr.ifremer.tutti.service.TuttiServiceContext;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.mutable.MutableInt;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.Serializable;
+import java.text.DateFormat;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * To import some psion files.
+ * <p/>
+ * Created on 1/20/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.0.1
+ */
+public class PsionImportService extends AbstractTuttiService {
+
+ private static final Log log = LogFactory.getLog(PsionImportService.class);
+
+ protected static final Set<String> SEX_VALUES = Sets.newHashSet(
+ "N", "n", "I", "i", "F", "f", "M", "m"
+ );
+
+ protected static final Set<String> MATURITY_VALUES = Sets.newHashSet(
+ "1", "2", "3", "4", "5"
+ );
+
+ protected PersistenceService persistenceService;
+
+ protected char csvSeparator;
+
+ protected TuttiDataContext dataContext;
+
+ protected CaracteristicQualitativeValue sortedCaracteristic;
+
+ protected CaracteristicQualitativeValue unsortedCaracteristic;
+
+ protected Map<String, Species> speciesBySurveyCode;
+
+ protected Map<String, SpeciesProtocol> speciesProtocolBySurveyCode;
+
+ protected Map<String, CaracteristicQualitativeValue> sexCaracteristicValues;
+
+ protected Map<String, CaracteristicQualitativeValue> maturityCaracteristicValues;
+
+ @Override
+ public void setServiceContext(TuttiServiceContext context) {
+ super.setServiceContext(context);
+ persistenceService = getService(PersistenceService.class);
+
+ csvSeparator = ';';
+ dataContext = context.getDataContext();
+
+
+ TuttiEnumerationFile enumerationFile = persistenceService.getEnumerationFile();
+
+ { // sorted/unsorted caracteristic
+ Caracteristic caracteristic =
+ persistenceService.getSortedUnsortedCaracteristic();
+
+ sortedCaracteristic = TuttiEntities.getQualitativeValue(caracteristic, enumerationFile.QUALITATIVE_VRAC_ID);
+ unsortedCaracteristic = TuttiEntities.getQualitativeValue(caracteristic, enumerationFile.QUALITATIVE_HORS_VRAC_ID);
+ }
+
+ { // sex caracteristic
+
+ sexCaracteristicValues = Maps.newTreeMap();
+
+ Caracteristic caracteristic = persistenceService.getSexCaracteristic();
+
+ List<CaracteristicQualitativeValue> qualitativeValues = caracteristic.getQualitativeValue();
+
+ Map<Integer, CaracteristicQualitativeValue> sexById = TuttiEntities.splitByIdAsInt(qualitativeValues);
+ CaracteristicQualitativeValue femaleCaracteristic = sexById.get(enumerationFile.QUALITATIVE_SEX_FEMALE_ID);
+ sexCaracteristicValues.put("F", femaleCaracteristic);
+ sexCaracteristicValues.put("f", femaleCaracteristic);
+ CaracteristicQualitativeValue maleCaracteristic = sexById.get(enumerationFile.QUALITATIVE_SEX_MALE_ID);
+ sexCaracteristicValues.put("M", maleCaracteristic);
+ sexCaracteristicValues.put("m", maleCaracteristic);
+ CaracteristicQualitativeValue unkownCaracteristic = sexById.get(enumerationFile.QUALITATIVE_SEX_UNDEFINED_ID);
+ sexCaracteristicValues.put("I", unkownCaracteristic);
+ sexCaracteristicValues.put("i", unkownCaracteristic);
+ }
+
+ { // maturity caracteristic
+
+ maturityCaracteristicValues = Maps.newTreeMap();
+
+ Caracteristic caracteristic = persistenceService.getMaturityCaracteristic();
+
+ List<CaracteristicQualitativeValue> qualitativeValues = caracteristic.getQualitativeValue();
+
+ Map<Integer, CaracteristicQualitativeValue> byIds = TuttiEntities.splitByIdAsInt(qualitativeValues);
+ maturityCaracteristicValues.put("1", byIds.get(enumerationFile.QUALITATIVE_MATURITY_1_ID));
+ maturityCaracteristicValues.put("2", byIds.get(enumerationFile.QUALITATIVE_MATURITY_2_ID));
+ maturityCaracteristicValues.put("3", byIds.get(enumerationFile.QUALITATIVE_MATURITY_3_ID));
+ maturityCaracteristicValues.put("4", byIds.get(enumerationFile.QUALITATIVE_MATURITY_4_ID));
+ maturityCaracteristicValues.put("5", byIds.get(enumerationFile.QUALITATIVE_MATURITY_5_ID));
+ }
+
+ List<Species> allReferentSpecies = persistenceService.getReferentSpeciesWithSurveyCode(
+ persistenceService.getAllReferentSpecies());
+
+ speciesBySurveyCode = Maps.newTreeMap();
+ for (Species species : allReferentSpecies) {
+ if (species.getSurveyCode() != null) {
+ speciesBySurveyCode.put(species.getSurveyCode(), species);
+ }
+ }
+
+ speciesProtocolBySurveyCode = Maps.newTreeMap();
+
+ TuttiProtocol protocol = dataContext.getProtocol();
+
+ if (protocol == null) {
+ // not possible
+ //FIXME Deal with error
+ throw new IllegalStateException("Can't open psionImportService without a protocol");
+ }
+
+ List<SpeciesProtocol> speciesProtocols = protocol.getSpecies();
+ for (SpeciesProtocol speciesProtocol : speciesProtocols) {
+ if (speciesProtocol.getSpeciesSurveyCode() == null) {
+ continue;
+ }
+
+ speciesProtocolBySurveyCode.put(speciesProtocol.getSpeciesSurveyCode(), speciesProtocol);
+ }
+ }
+
+ public PsionImportResult importFile(File psionFile, FishingOperation operation, CatchBatch catchBatch) {
+
+ Preconditions.checkNotNull(psionFile);
+ Preconditions.checkArgument(psionFile.exists(), "Psion file " + psionFile + " does not exist.");
+
+ // load model
+ PsionImportModel importModel;
+ try {
+ importModel = readImportFile(psionFile);
+ } catch (IOException e) {
+ throw new ApplicationBusinessException(e.getMessage(), e.getCause());
+ }
+
+ // import in database
+ PsionImportResult result = persist(psionFile, importModel, operation, catchBatch);
+
+ return result;
+ }
+
+ protected PsionImportModel readImportFile(File arpFile) throws IOException {
+
+ TuttiEnumerationFile enumerationFile = persistenceService.getEnumerationFile();
+
+ PsionImportModel importModel = new PsionImportModel();
+
+ BufferedReader reader = Files.newReader(arpFile, Charsets.UTF_8);
+
+ try {
+ PsionImportBatchModel batch = null;
+
+ // first line, don't care
+ String line;
+
+ line = reader.readLine(); // initiales saisisseurs
+ line = reader.readLine(); // Id du trait
+ line = reader.readLine(); // Date du trait
+ line = reader.readLine(); // Heure de création du fichier
+ line = reader.readLine(); // Ligne blanche
+
+ int lineNumber = 6;
+
+ String badSpecies = null;
+ while ((line = reader.readLine()) != null) {
+ lineNumber++;
+ if (!line.contains(":")) {
+ throw new IOException(
+ "Format de la ligne (" +
+ lineNumber + ") incorrecte : " + line);
+ }
+ int endIndex = line.indexOf(':');
+ String commandStr = StringUtils.trim(line.substring(0, endIndex));
+
+
+ PsionImportKeyword command;
+
+ try {
+ command = PsionImportKeyword.valueOf(commandStr);
+ } catch (IllegalArgumentException e) {
+ throw new IOException(
+ "La commande " + commandStr + " n'est pas connue ligne (" +
+ lineNumber + ") ");
+ }
+
+ if (command.isIgnored()) {
+ if (log.isWarnEnabled()) {
+ log.warn("Ignoring command: " + command);
+ }
+ continue;
+ }
+
+ String value = StringUtils.trim(line.substring(endIndex + 1));
+
+ if (PsionImportKeyword.ESPE.equals(command)) {
+
+ // start a new species
+
+ // register previous batch
+ if (batch != null) {
+ addBatchToModel(importModel, batch);
+ }
+
+ Species species = speciesBySurveyCode.get(value);
+
+ if (species == null) {
+
+ // could not load this species
+ if (log.isWarnEnabled()) {
+ log.warn("Ligne " + lineNumber + " espèce " + value + " inconnue.");
+ }
+ badSpecies = value;
+ importModel.addIgnoredSpecies(badSpecies);
+ continue;
+ }
+
+ badSpecies = null;
+
+ SpeciesProtocol speciesProtocol = speciesProtocolBySurveyCode.get(value);
+
+ String lengthStepCaracteristicId = speciesProtocol.getLengthStepPmfmId();
+
+ if (StringUtils.isBlank(lengthStepCaracteristicId)) {
+ if (log.isWarnEnabled()) {
+ log.warn("Ligne " + lineNumber + " espèce " + value + " ignorée car pas de caractéristique de classe de taille renseignée dans le protocole.");
+ }
+ badSpecies = value;
+ importModel.addIgnoredSpecies(badSpecies);
+ continue;
+ }
+ batch = new PsionImportBatchModel(species, Integer.valueOf(lengthStepCaracteristicId));
+ } else {
+
+ if (badSpecies != null) {
+ // ignore this line due to bad species
+ if (log.isDebugEnabled()) {
+ log.debug("Ligne " + lineNumber
+ + " ignorée car l'espèce " + badSpecies + " n'était pas reconnue");
+ }
+ continue;
+ }
+
+ // check batch exists
+ if (batch == null) {
+ throw new IOException(
+ "La ligne " + line + " (" + lineNumber +
+ ") n'est pas valide, elle doit être précédée par une ligne ESPE");
+ }
+
+ switch (command) {
+
+ case POID:
+ // add weight
+ Float weight = toFloat(value, lineNumber);
+ batch.setWeight(weight);
+ break;
+
+ case TAIL:
+ // add sample weight
+ Float sampleWeight = toFloat(value, lineNumber);
+ batch.setSampleWeight(sampleWeight);
+ break;
+
+ case CATE:
+ // add category
+
+ Integer caracteristicId;
+ CaracteristicQualitativeValue caracteristicQualitativeValue;
+
+ if (SEX_VALUES.contains(value)) {
+
+ // sex caracteristic
+ caracteristicId = enumerationFile.PMFM_ID_SEX;
+
+ caracteristicQualitativeValue = sexCaracteristicValues.get(value);
+
+ if (caracteristicQualitativeValue == null) {
+
+ //means non sexé
+ caracteristicId = null;
+ }
+
+ } else if (MATURITY_VALUES.contains(value)) {
+
+ // maturity caracteristic
+ caracteristicId = enumerationFile.PMFM_ID_MATURITY;
+ caracteristicQualitativeValue = maturityCaracteristicValues.get(value);
+
+ } else {
+
+ if (log.isWarnEnabled()) {
+ log.warn("Ligne " + lineNumber + ", catégorisation '" + value + "' inconnue, espèce " + batch.getSpecies().getSurveyCode() + " ignorée");
+ }
+
+ badSpecies = batch.getSpecies().getSurveyCode();
+ importModel.addIgnoredSpecies(badSpecies);
+ batch = null;
+ continue;
+// throw new IOException(
+// "Ligne " + lineNumber + ", catégorisation '" + value + "' inconnue");
+ }
+
+ batch.setCategory(caracteristicId, caracteristicQualitativeValue);
+ break;
+
+ case LONG:
+ // add frequency
+ Float size = toFloat(value, lineNumber);
+ batch.addFrequency(size);
+ break;
+
+ case OUTI:
+ // ignore it
+ break;
+ }
+ }
+ }
+
+ if (batch != null) {
+
+ // save it
+ addBatchToModel(importModel, batch);
+ }
+
+ reader.close();
+ return importModel;
+ } finally {
+ IOUtils.closeQuietly(reader);
+ }
+ }
+
+ protected PsionImportResult persist(File arpFile,
+ PsionImportModel importModel,
+ FishingOperation operation,
+ CatchBatch catchBatch) {
+ PsionImportResult result = new PsionImportResult(arpFile);
+
+ if (catchBatch != null) {
+ addFileAsAttachment(arpFile, catchBatch);
+ }
+
+ // delete all species batches
+ BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null);
+ for (SpeciesBatch batch : rootSpeciesBatch.getChildren()) {
+ persistenceService.deleteSpeciesBatch(batch.getId());
+ }
+
+ // insert all imported species batches
+
+ TuttiEnumerationFile enumerationFile = persistenceService.getEnumerationFile();
+
+ Set<Species> species = importModel.getSpecies();
+
+ for (Species specy : species) {
+
+ //FIXME Make sure this does work well with a none sex batch...
+ List<PsionImportBatchModel> batchs = importModel.getBatchs(specy);
+
+ if (batchs.size() == 1 && batchs.get(0).getCategoryId() == null) {
+
+ PsionImportBatchModel batchModel = batchs.get(0);
+
+ // simple batch with no category
+ SpeciesBatch batch = createSpeciesBatch(operation,
+ batchModel.getSpecies(),
+ batchModel.getWeight(),
+ enumerationFile.PMFM_ID_SORTED_UNSORTED,
+ sortedCaracteristic);
+ //FIXME Check this is ok.
+ batch.setWeight(batchModel.getSampleWeight());
+
+ batch = persistenceService.createSpeciesBatch(batch, null);
+
+ persistFrequencies(batch, batchModel);
+
+ } else {
+
+ // batch with categories
+
+ SpeciesBatch batch = createSpeciesBatch(operation,
+ specy,
+ null,
+ enumerationFile.PMFM_ID_SORTED_UNSORTED,
+ sortedCaracteristic);
+
+ batch = persistenceService.createSpeciesBatch(batch, null);
+
+ for (PsionImportBatchModel batchModel : batchs) {
+
+ SpeciesBatch childBatch = createSpeciesBatch(operation,
+ batchModel.getSpecies(),
+ batchModel.getWeight(),
+ batchModel.getCategoryId(),
+ batchModel.getCategoryValue());
+ //FIXME Check this is ok.
+ childBatch.setWeight(batchModel.getSampleWeight());
+
+ childBatch = persistenceService.createSpeciesBatch(childBatch, batch.getId());
+
+ persistFrequencies(childBatch, batchModel);
+ }
+ }
+ result.incrementNbImported();
+ }
+
+ for (String ignoredSpecies : importModel.getIgnoredSpecies()) {
+ result.incrementNbNotImported();
+ }
+ persistenceService.saveCatchBatch(catchBatch);
+
+ return result;
+ }
+
+ protected void persistFrequencies(SpeciesBatch batch, PsionImportBatchModel batchModel) {
+
+ Integer lengthStepCaracteristicId = batchModel.getLengthStepCaracteristicId();
+ Map<Float, MutableInt> frequencies = batchModel.getFrequencies();
+ List<SpeciesBatchFrequency> toSave = Lists.newArrayList();
+
+ Caracteristic lengthStepCaracteristic = persistenceService.getCaracteristic(lengthStepCaracteristicId);
+
+ for (Map.Entry<Float, MutableInt> entry : frequencies.entrySet()) {
+ Float size = entry.getKey();
+ MutableInt number = entry.getValue();
+
+ SpeciesBatchFrequency batchFrequency = SpeciesBatchFrequencys.newSpeciesBatchFrequency();
+ batchFrequency.setBatch(batch);
+ batchFrequency.setLengthStepCaracteristic(lengthStepCaracteristic);
+ batchFrequency.setLengthStep(size);
+ batchFrequency.setNumber(number.getValue());
+ toSave.add(batchFrequency);
+ }
+
+ persistenceService.saveSpeciesBatchFrequency(batch.getId(), toSave);
+ }
+
+ protected void addBatchToModel(PsionImportModel importModel,
+ PsionImportBatchModel batch) throws IOException {
+
+ if (log.isInfoEnabled()) {
+ log.info("Adding for species " + batch.getSpecies().getSurveyCode() + ", " +
+ batch.getNbFrequencies() + " batchs.");
+ }
+ importModel.addBatch(batch);
+ }
+
+ protected SpeciesBatch createSpeciesBatch(FishingOperation operation,
+ Species species,
+ Float catchWeight,
+ Integer categoryId,
+ Serializable cqv) {
+ SpeciesBatch batch = SpeciesBatchs.newSpeciesBatch();
+ batch.setFishingOperation(operation);
+ batch.setSampleCategoryId(categoryId);
+ batch.setSampleCategoryValue(cqv);
+ batch.setSpecies(species);
+ batch.setSampleCategoryWeight(
+ catchWeight == null ? null : TuttiEntities.roundKiloGram(catchWeight));
+ return batch;
+ }
+
+ protected void addFileAsAttachment(File f, CatchBatch catchBatch) {
+ Attachment attachment = Attachments.newAttachment();
+ attachment.setObjectType(AttachementObjectTypeEnum.CATCH_BATCH);
+ attachment.setObjectId(Integer.valueOf(catchBatch.getId()));
+ attachment.setName(f.getName());
+ String date = DateFormat.getDateTimeInstance().format(context.currentDate());
+ String comment = _("tutti.service.arp.import.attachment.comment", date);
+ attachment.setComment(comment);
+ persistenceService.createAttachment(attachment, f);
+ }
+
+ protected Float toFloat(String cell, int lineNumber) throws IOException {
+ Float result = null;
+ if (!cell.isEmpty()) {
+ try {
+ result = Float.valueOf(cell);
+ } catch (NumberFormatException e) {
+ throw new IOException("Format de la valeur [" + lineNumber + "] : " + cell +
+ " incorrect, devrait être un entier décimal");
+ }
+ }
+ if (result == null) {
+ throw new IOException("La valeur [" + lineNumber + "] est obligatoire mais n'est pas renseignée");
+ }
+ return result;
+ }
+
+ /**
+ * All usables keywords in a psion import.
+ * <p/>
+ * Created on 1/20/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.0.1
+ */
+ public static enum PsionImportKeyword {
+
+ ESPE(false),
+ POID(false),
+ TAIL(false),
+ CATE(false),
+ LONG(false),
+
+ // ignored
+ HEUR(true),
+ AGEN(true),
+ CAIS(true),
+ TAXO(true),
+ OUTI(true),
+ PORT(true),
+ DATE(true),
+ HERE(true),
+ NAVI(true),
+ ENGI(true);
+
+ private final boolean ignored;
+
+ PsionImportKeyword(boolean ignored) {
+ this.ignored = ignored;
+ }
+
+ public boolean isIgnored() {
+ return ignored;
+ }
+ }
+}
Property changes on: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java
===================================================================
--- trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java (rev 0)
+++ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java 2014-01-20 20:41:49 UTC (rev 1516)
@@ -0,0 +1,188 @@
+package fr.ifremer.tutti.service.psionimport;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $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.TuttiConfigurationOption;
+import fr.ifremer.tutti.persistence.ProgressionModel;
+import fr.ifremer.tutti.persistence.entities.data.BatchContainer;
+import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
+import fr.ifremer.tutti.service.PersistenceService;
+import fr.ifremer.tutti.service.ServiceDbResource;
+import fr.ifremer.tutti.service.TuttiServiceContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Created on 1/19/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.1
+ */
+public class PsionImportServiceTest {
+
+ @ClassRule
+ public static final ServiceDbResource dbResource =
+ ServiceDbResource.writeDb("dbExport");
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(PsionImportServiceTest.class);
+
+ public static final String PROGRAM_ID = "CAM-TEST_ELEVATION";
+
+ public static final String CRUISE_ID = "100003";
+
+ public static final String OPERATION_1_ID = "100112";
+
+ public static final String OPERATION_2_ID = "100113";
+
+ public static final String OPERATION_3_ID = "100115";
+
+ protected PsionImportService service;
+
+ protected PersistenceService persistenceService;
+
+ protected ServiceDbResource.DataContext dataContext;
+
+ protected ProgressionModel progressionModel;
+
+ protected File dataDirectory;
+
+ @Before
+ public void setUp() throws Exception {
+
+ dataDirectory = dbResource.getConfig().getDataDirectory();
+
+ TuttiServiceContext serviceContext = dbResource.getServiceContext();
+
+ File protocol = dbResource.copyClassPathResource("pupitri/ano-3898.tuttiProtocol", "ano-3898.tuttiProtocol");
+ dbResource.getConfig().getApplicationConfig().setOption(TuttiConfigurationOption.DB_PROTOCOL_DIRECTORY.getKey(), protocol.getParentFile().getAbsolutePath());
+ serviceContext.getDataContext().setProtocolId("ano-3898");
+
+ dbResource.openDataContext();
+
+ persistenceService = serviceContext.getService(PersistenceService.class);
+ service = serviceContext.getService(PsionImportService.class);
+
+ progressionModel = new ProgressionModel();
+ progressionModel.setTotal(9);
+
+ dataContext = dbResource.loadContext(PROGRAM_ID, CRUISE_ID, 3, OPERATION_2_ID, OPERATION_1_ID, OPERATION_3_ID);
+ }
+
+ @Test
+ public void importCC053() throws IOException {
+
+ File trunk = dbResource.copyClassPathResource("psion/CC053.IWA", "CC053.IWA");
+
+ FishingOperation operation = dataContext.operations.get(1);
+ CatchBatch catchBatch = persistenceService.getCatchBatchFromFishingOperation(operation.getId());
+ catchBatch.setFishingOperation(operation);
+
+ BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null);
+// Assert.assertEquals(3, rootSpeciesBatch.sizeChildren());
+ PsionImportResult arpImportResult = service.importFile(trunk, operation, catchBatch);
+
+ PsionImportResult importResult = service.importFile(trunk, operation, catchBatch);
+
+ int nbAdded = importResult.getNbImported();
+ int nbNotAdded = importResult.getNbNotImported();
+
+ if (log.isInfoEnabled()) {
+ log.info("Imported: " + nbAdded);
+ log.info("Ignored: " + nbNotAdded);
+ }
+
+ Assert.assertEquals(9, nbAdded);
+ Assert.assertEquals(9, nbNotAdded);
+
+ BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), null);
+ Assert.assertEquals(9, rootSpeciesBatchAfter.sizeChildren());
+ }
+
+ @Test
+ public void importFM001() throws IOException {
+
+ File trunk = dbResource.copyClassPathResource("psion/FM001.IWA", "FM001.IWA");
+
+ FishingOperation operation = dataContext.operations.get(1);
+ CatchBatch catchBatch = persistenceService.getCatchBatchFromFishingOperation(operation.getId());
+ catchBatch.setFishingOperation(operation);
+
+ BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null);
+// Assert.assertEquals(3, rootSpeciesBatch.sizeChildren());
+ PsionImportResult importResult = service.importFile(trunk, operation, catchBatch);
+
+ int nbAdded = importResult.getNbImported();
+ int nbNotAdded = importResult.getNbNotImported();
+
+ if (log.isInfoEnabled()) {
+ log.info("Imported: " + nbAdded);
+ log.info("Ignored: " + nbNotAdded);
+ }
+
+ Assert.assertEquals(2, nbAdded);
+ Assert.assertEquals(8, nbNotAdded);
+
+ BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), null);
+ Assert.assertEquals(2, rootSpeciesBatchAfter.sizeChildren());
+ }
+
+ @Test
+ public void importCFchephren() throws IOException {
+
+ File trunk = dbResource.copyClassPathResource("psion/CFchephren 110612.IWA", "CFchephren 110612.IWA");
+
+ FishingOperation operation = dataContext.operations.get(1);
+ CatchBatch catchBatch = persistenceService.getCatchBatchFromFishingOperation(operation.getId());
+ catchBatch.setFishingOperation(operation);
+
+ BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null);
+// Assert.assertEquals(3, rootSpeciesBatch.sizeChildren());
+ PsionImportResult importResult = service.importFile(trunk, operation, catchBatch);
+
+ int nbAdded = importResult.getNbImported();
+ int nbNotAdded = importResult.getNbNotImported();
+
+ if (log.isInfoEnabled()) {
+ log.info("Imported: " + nbAdded);
+ log.info("Ignored: " + nbNotAdded);
+ }
+
+ Assert.assertEquals(0, nbAdded);
+ Assert.assertEquals(1, nbNotAdded);
+
+ BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), null);
+ Assert.assertEquals(0, rootSpeciesBatchAfter.sizeChildren());
+ }
+}
Property changes on: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-service/src/test/resources/psion/CC053.IWA
===================================================================
--- trunk/tutti-service/src/test/resources/psion/CC053.IWA (rev 0)
+++ trunk/tutti-service/src/test/resources/psion/CC053.IWA 2014-01-20 20:41:49 UTC (rev 1516)
@@ -0,0 +1,590 @@
+cc
+053
+06-13-2013
+07:19:11
+
+ESPE : MERLMER
+POID : 50
+TAIL : 50
+CATE : I
+LONG : 12.5
+LONG : 15
+ESPE : SPICMAE
+POID : 20
+TAIL : 20
+CATE : N
+LONG : 12
+ESPE : TRIPLAS
+POID : 40
+TAIL : 40
+CATE : N
+LONG : 15
+ESPE : PAGEERY
+POID : 760
+TAIL : 760
+CATE : N
+LONG : 16.5
+LONG : 20
+LONG : 20
+LONG : 18.5
+LONG : 17.5
+LONG : 18.5
+LONG : 17.5
+LONG : 19
+LONG : 18.5
+ESPE : ELEDMOS
+POID : 230
+TAIL : 230
+CATE : N
+LONG : 5
+LONG : 6
+LONG : 5
+ESPE : SOLEVUL
+POID : 1350
+TAIL : 1350
+CATE : N
+LONG : 34.5
+LONG : 27.5
+LONG : 31
+LONG : 23
+LONG : 21.5
+LONG : 34.5
+ESPE : ELEDCIR
+POID : 4650
+TAIL : 1820
+CATE : N
+LONG : 6.5
+LONG : 5.5
+LONG : 5.5
+LONG : 5
+LONG : 5
+LONG : 5
+LONG : 5
+LONG : 5
+LONG : 5.5
+LONG : 5
+LONG : 5
+LONG : 5.5
+LONG : 5.5
+LONG : 5.5
+LONG : 5
+LONG : 5
+LONG : 5
+LONG : 4
+LONG : 4
+LONG : 4
+LONG : 4.5
+LONG : 4.5
+LONG : 4.5
+LONG : 4.5
+LONG : 4.5
+LONG : 4.5
+LONG : 4.5
+LONG : 4.5
+LONG : 4.5
+LONG : 4.5
+LONG : 4.5
+LONG : 4.5
+ESPE : SPICMAE
+POID : 864
+TAIL : 300
+CATE : N
+LONG : 11.5
+LONG : 13.5
+LONG : 14
+LONG : 14.5
+LONG : 17
+LONG : 15.5
+LONG : 12.5
+LONG : 14
+LONG : 14
+LONG : 13.5
+ESPE : EUTRGUR
+POID : 3788
+TAIL : 1315
+CATE : N
+LONG : 20
+LONG : 16
+LONG : 15
+LONG : 17.5
+LONG : 15.5
+LONG : 18.5
+LONG : 15
+LONG : 16
+LONG : 14.5
+LONG : 13.5
+LONG : 17.5
+LONG : 16
+LONG : 16.5
+LONG : 19
+LONG : 15.5
+LONG : 16
+LONG : 16
+LONG : 16
+LONG : 17
+LONG : 17
+LONG : 19
+LONG : 13.5
+LONG : 19
+LONG : 18
+LONG : 23.5
+LONG : 16.5
+LONG : 16.5
+LONG : 16.5
+LONG : 15
+LONG : 15.5
+LONG : 14.5
+LONG : 16.5
+LONG : 19
+LONG : 18
+LONG : 13.5
+ESPE : TRISCAP
+POID : 7777
+TAIL : 1545
+CATE : N
+LONG : 16
+LONG : 20
+LONG : 17
+LONG : 20
+LONG : 18.5
+LONG : 18.5
+LONG : 19.5
+LONG : 18
+LONG : 16.5
+LONG : 18.5
+LONG : 17.5
+LONG : 20.5
+LONG : 16.5
+LONG : 16.5
+LONG : 17
+LONG : 18.5
+LONG : 16
+LONG : 17.5
+LONG : 17
+LONG : 18.5
+LONG : 15.5
+LONG : 16
+LONG : 16.5
+LONG : 16.5
+LONG : 16.5
+ESPE : TRACMED
+POID : 10700
+TAIL : 3715
+CATE : N
+LONG : 21
+LONG : 18.5
+LONG : 22
+LONG : 21.5
+LONG : 24.5
+LONG : 18.5
+LONG : 18
+LONG : 13
+LONG : 21
+LONG : 21
+LONG : 20
+LONG : 13.5
+LONG : 21.5
+LONG : 16
+LONG : 23
+LONG : 22
+LONG : 22
+LONG : 17
+LONG : 19.5
+LONG : 20
+LONG : 23.5
+LONG : 19.5
+LONG : 12.5
+LONG : 19.5
+LONG : 14
+LONG : 19
+LONG : 20
+LONG : 18
+LONG : 23
+LONG : 18.5
+LONG : 10.5
+LONG : 10
+LONG : 15.5
+LONG : 19
+LONG : 16
+LONG : 16
+LONG : 19.5
+LONG : 20.5
+LONG : 26
+LONG : 12
+LONG : 20.5
+LONG : 22.5
+LONG : 19.5
+LONG : 21
+LONG : 24
+LONG : 25.5
+LONG : 17.5
+LONG : 19
+LONG : 17
+LONG : 20
+LONG : 17.5
+LONG : 16
+LONG : 20
+LONG : 15.5
+LONG : 14
+LONG : 12
+LONG : 17
+LONG : 13
+LONG : 9
+LONG : 10.5
+LONG : 9
+LONG : 9.5
+LONG : 14
+LONG : 12
+ESPE : PAGEACA
+POID : 6600
+TAIL : 3220
+CATE : N
+LONG : 17.5
+LONG : 17.5
+LONG : 17.5
+LONG : 16.5
+LONG : 17.5
+LONG : 16
+LONG : 17.5
+LONG : 16.5
+LONG : 18
+LONG : 18
+LONG : 21.5
+LONG : 17
+LONG : 18
+LONG : 17.5
+LONG : 17.5
+LONG : 18
+LONG : 17
+LONG : 18
+LONG : 18
+LONG : 17.5
+LONG : 17
+LONG : 17
+LONG : 17
+LONG : 19
+LONG : 17.5
+LONG : 22
+LONG : 17
+LONG : 17
+LONG : 18.5
+LONG : 17.5
+LONG : 18
+LONG : 16.5
+LONG : 17.5
+LONG : 17
+LONG : 17.5
+LONG : 17.5
+LONG : 17.5
+LONG : 16
+LONG : 16
+LONG : 17.5
+LONG : 16
+LONG : 17.5
+LONG : 17.5
+ESPE : BOOPBOO
+POID : 45943
+TAIL : 2230
+CATE : N
+LONG : 21
+LONG : 17
+LONG : 17
+LONG : 16
+LONG : 16.5
+LONG : 17
+LONG : 20
+LONG : 17.5
+LONG : 17
+LONG : 16
+LONG : 16.5
+LONG : 16.5
+LONG : 18.5
+LONG : 15.5
+LONG : 16.5
+LONG : 16.5
+LONG : 17
+LONG : 16.5
+LONG : 16.5
+LONG : 16.5
+LONG : 17.5
+LONG : 18
+LONG : 20
+LONG : 16.5
+LONG : 17
+LONG : 16.5
+LONG : 16.5
+LONG : 17
+LONG : 16
+LONG : 21.5
+LONG : 19
+LONG : 17
+LONG : 16
+LONG : 18
+LONG : 15
+LONG : 16.5
+LONG : 17
+LONG : 13.5
+LONG : 15
+ESPE : MERLMER
+POID : 395
+TAIL : 395
+CATE : F
+LONG : 34.5
+ESPE : LOPHPIS
+POID : 1175
+TAIL : 1175
+CATE : F
+LONG : 32
+LONG : 28.5
+LONG : 27.5
+ESPE : MERLMER
+POID : 317
+TAIL : 110
+CATE : I
+LONG : 15.5
+LONG : 15
+LONG : 15
+LONG : 14
+LONG : 11.5
+ESPE : SQUIMAN
+POID : 37
+TAIL : 37
+CATE : N
+LONG : 27
+ESPE : OCTOVUL
+POID : 11600
+TAIL : 11600
+CATE : N
+LONG : 11
+LONG : 14
+LONG : 13
+LONG : 13
+LONG : 6.5
+LONG : 10
+LONG : 7.5
+LONG : 6.5
+ESPE : DIPLVUL
+POID : 2250
+TAIL : 2250
+CATE : N
+LONG : 20.5
+LONG : 20.5
+LONG : 18.5
+LONG : 15.5
+LONG : 19.5
+LONG : 20.5
+LONG : 21
+LONG : 22
+LONG : 18
+LONG : 18
+LONG : 18.5
+LONG : 19.5
+LONG : 24
+LONG : 20
+LONG : 20
+LONG : 19.5
+LONG : 18
+LONG : 19.5
+ESPE : TRISCAP
+POID : 3341
+TAIL : 210
+CATE : N
+LONG : 9.5
+LONG : 10.5
+LONG : 8.5
+LONG : 8
+LONG : 9
+LONG : 8
+LONG : 8
+LONG : 8
+LONG : 8
+LONG : 8
+LONG : 11
+LONG : 10.5
+LONG : 10
+LONG : 10
+LONG : 8.5
+LONG : 8.5
+LONG : 8.5
+LONG : 9
+LONG : 9
+LONG : 8
+LONG : 9.5
+LONG : 9
+LONG : 7.5
+LONG : 8
+LONG : 8
+LONG : 8.5
+LONG : 8.5
+LONG : 8.5
+LONG : 8.5
+LONG : 8.5
+ESPE : TRACTRA
+POID : 1267
+TAIL : 440
+CATE : N
+LONG : 20
+LONG : 8
+LONG : 8
+LONG : 8.5
+LONG : 7.5
+LONG : 6.5
+LONG : 9
+LONG : 9
+LONG : 8.5
+LONG : 16
+LONG : 9
+LONG : 14
+LONG : 17.5
+LONG : 18
+LONG : 15.5
+LONG : 9
+LONG : 10.5
+LONG : 8
+LONG : 11
+LONG : 8
+LONG : 8
+LONG : 8.5
+LONG : 8.5
+LONG : 9
+LONG : 9
+LONG : 8
+LONG : 7
+LONG : 8
+LONG : 8.5
+LONG : 8
+LONG : 8.5
+LONG : 7.5
+LONG : 7.5
+LONG : 8
+LONG : 7.5
+ESPE : MULLBAR
+POID : 3629
+TAIL : 1260
+CATE : M
+LONG : 12
+LONG : 11.5
+LONG : 11
+LONG : 11.5
+LONG : 11.5
+LONG : 10.5
+LONG : 10.5
+LONG : 11.5
+LONG : 11.5
+LONG : 11
+LONG : 9
+LONG : 11.5
+LONG : 10.5
+LONG : 12.5
+LONG : 11.5
+LONG : 11
+LONG : 11
+LONG : 11.5
+LONG : 10.5
+LONG : 10.5
+LONG : 12
+LONG : 11.5
+LONG : 13
+LONG : 11
+LONG : 12
+LONG : 11
+LONG : 11.5
+LONG : 12
+LONG : 10.5
+LONG : 11.5
+LONG : 11
+LONG : 10.5
+LONG : 9.5
+LONG : 10.5
+LONG : 11
+LONG : 10.5
+LONG : 11
+LONG : 11
+LONG : 12
+LONG : 16
+LONG : 13.5
+LONG : 13
+LONG : 12
+LONG : 13
+LONG : 16.5
+LONG : 12
+LONG : 11.5
+LONG : 12
+LONG : 11
+LONG : 11
+LONG : 11.5
+LONG : 13
+LONG : 12
+LONG : 11
+LONG : 14
+LONG : 12.5
+LONG : 11.5
+LONG : 12
+LONG : 12.5
+LONG : 12
+LONG : 12.5
+LONG : 16
+LONG : 16
+LONG : 11.5
+LONG : 11.5
+LONG : 10.5
+LONG : 11.5
+LONG : 11.5
+ESPE : MULLBAR
+POID : 4853
+TAIL : 1685
+CATE : F
+LONG : 9.5
+LONG : 10.5
+LONG : 11.5
+LONG : 11.5
+LONG : 13
+LONG : 12
+LONG : 10.5
+LONG : 12
+LONG : 12
+LONG : 13.5
+LONG : 16.5
+LONG : 12.5
+LONG : 15.5
+LONG : 12.5
+LONG : 12
+LONG : 14
+LONG : 14.5
+LONG : 14.5
+LONG : 14.5
+LONG : 14.5
+LONG : 12.5
+LONG : 13
+LONG : 13.5
+LONG : 12
+LONG : 12
+LONG : 11.5
+LONG : 12
+LONG : 13
+LONG : 15.5
+LONG : 14.5
+LONG : 13.5
+LONG : 13
+LONG : 13
+LONG : 13
+LONG : 14
+LONG : 15.5
+LONG : 14.5
+LONG : 14
+LONG : 12.5
+LONG : 17
+LONG : 15
+LONG : 15
+LONG : 15
+LONG : 16
+LONG : 15
+LONG : 14.5
+LONG : 14.5
+LONG : 14.5
+LONG : 15.5
+LONG : 14
+LONG : 13.5
+LONG : 16
+LONG : 13.5
+LONG : 15
Added: trunk/tutti-service/src/test/resources/psion/CFchephren 110612.IWA
===================================================================
--- trunk/tutti-service/src/test/resources/psion/CFchephren 110612.IWA (rev 0)
+++ trunk/tutti-service/src/test/resources/psion/CFchephren 110612.IWA 2014-01-20 20:41:49 UTC (rev 1516)
@@ -0,0 +1,330 @@
+
+INIT : CF
+PORT : LOC
+DATE : 06-11-2012
+HEUR : 04:37:33
+OUTI : Pied � coulisse
+NAVI : CHEPHREN
+ENGI : B
+ESPE : 4401
+TAXO : 1
+LONG : 10.77
+LONG : 10.25
+LONG : 11.59
+LONG : 10.55
+LONG : 12.88
+LONG : 11.06
+LONG : 9.64
+LONG : 10.16
+LONG : 12.70
+LONG : 14.29
+LONG : 14.24
+LONG : 10.48
+LONG : 11.52
+LONG : 10.60
+LONG : 10.47
+LONG : 10.77
+LONG : 8.61
+LONG : 12.94
+LONG : 12.10
+LONG : 13.31
+LONG : 10.86
+LONG : 10.71
+LONG : 13.07
+LONG : 12.02
+LONG : 11.08
+LONG : 12.31
+LONG : 11.78
+LONG : 11.94
+LONG : 10.35
+LONG : 12.07
+LONG : 9.86
+LONG : 12.28
+LONG : 10.35
+LONG : 11.28
+LONG : 12.50
+LONG : 12.09
+LONG : 11.07
+LONG : 9.63
+LONG : 10.31
+LONG : 8.85
+LONG : 10.14
+LONG : 12.15
+LONG : 10.69
+LONG : 11.50
+LONG : 10.45
+LONG : 10.10
+LONG : 10.70
+TAXO : 2
+LONG : 12.33
+LONG : 11.89
+LONG : 10.21
+LONG : 10.55
+LONG : 9.95
+LONG : 10.83
+LONG : 9.92
+LONG : 12.32
+LONG : 11.90
+LONG : 10.43
+LONG : 10.46
+LONG : 10.33
+LONG : 10.82
+LONG : 9.87
+LONG : 9.89
+LONG : 10.91
+LONG : 10.28
+LONG : 10.29
+LONG : 11.18
+LONG : 9.86
+LONG : 11.00
+LONG : 11.52
+LONG : 11.22
+LONG : 12.02
+LONG : 11.11
+LONG : 9.59
+LONG : 11.26
+LONG : 10.02
+LONG : 10.61
+LONG : 9.31
+LONG : 10.85
+LONG : 11.24
+LONG : 10.25
+LONG : 11.20
+LONG : 11.11
+LONG : 11.77
+LONG : 9.89
+LONG : 10.53
+LONG : 10.46
+LONG : 11.77
+LONG : 12.44
+LONG : 9.96
+LONG : 10.32
+LONG : 10.23
+LONG : 10.96
+LONG : 10.65
+LONG : 10.06
+LONG : 8.15
+LONG : 10.53
+LONG : 12.65
+LONG : 10.49
+LONG : 12.22
+LONG : 11.49
+LONG : 11.01
+LONG : 10.46
+LONG : 10.02
+LONG : 11.39
+LONG : 9.98
+LONG : 10.72
+LONG : 10.64
+LONG : 11.28
+LONG : 11.59
+LONG : 11.89
+LONG : 11.47
+LONG : 11.18
+LONG : 10.62
+LONG : 12.19
+LONG : 10.16
+LONG : 10.40
+LONG : 11.98
+LONG : 11.87
+LONG : 11.92
+LONG : 10.86
+LONG : 10.07
+LONG : 11.23
+LONG : 9.93
+LONG : 10.24
+LONG : 10.95
+LONG : 9.69
+LONG : 9.82
+LONG : 11.61
+LONG : 9.57
+LONG : 11.40
+LONG : 10.22
+LONG : 9.27
+LONG : 10.80
+LONG : 11.40
+LONG : 9.68
+LONG : 10.68
+LONG : 7.09
+LONG : 10.61
+LONG : 10.33
+LONG : 10.73
+TAXO : 1
+LONG : 11.79
+LONG : 11.35
+LONG : 10.58
+LONG : 11.32
+LONG : 15.86
+TAXO : 2
+LONG : 10.49
+LONG : 10.60
+LONG : 10.73
+LONG : 10.31
+LONG : 9.52
+TAXO : 1
+LONG : 1.16
+CAIS : 05:13:38
+AGEN : CF
+PORT : LOC
+DATE : 06-11-2012
+HEUR : 05:14:3
+OUTI : Ichtyometre
+OUTI : Pied a coulisse
+NAVI : CHEPHREN
+ENGI : B
+ESPE : 4401
+CATE : N
+TAXO : 2
+LONG : 46
+TAXO : 1
+LONG : 56
+LONG : 53
+LONG : 54
+LONG : 57
+LONG : 50
+LONG : 53
+LONG : 54
+LONG : 56
+LONG : 55
+LONG : 55
+LONG : 51
+LONG : 48
+LONG : 51
+LONG : 58
+LONG : 49
+LONG : 51
+LONG : 50
+LONG : 49
+LONG : 54
+LONG : 47
+LONG : 49
+LONG : 51
+LONG : 49
+LONG : 51
+LONG : 49
+LONG : 56
+LONG : 52
+LONG : 56
+LONG : 56
+LONG : 51
+LONG : 50
+LONG : 53
+LONG : 52
+LONG : 51
+LONG : 51
+LONG : 48
+LONG : 51
+LONG : 48
+LONG : 55
+LONG : 49
+LONG : 51
+LONG : 57
+LONG : 53
+LONG : 53
+LONG : 57
+LONG : 54
+LONG : 48
+LONG : 51
+LONG : 52
+LONG : 58
+LONG : 52
+LONG : 54
+LONG : 54
+LONG : 51
+LONG : 54
+LONG : 53
+LONG : 53
+LONG : 58
+LONG : 53
+LONG : 48
+LONG : 50
+LONG : 50
+LONG : 54
+LONG : 56
+LONG : 58
+LONG : 53
+LONG : 50
+LONG : 50
+LONG : 54
+LONG : 56
+LONG : 49
+LONG : 54
+LONG : 55
+LONG : 54
+LONG : 50
+LONG : 50
+LONG : 53
+LONG : 59
+LONG : 51
+LONG : 49
+LONG : 52
+LONG : 45
+LONG : 49
+LONG : 56
+LONG : 55
+LONG : 55
+LONG : 54
+LONG : 53
+LONG : 53
+LONG : 52
+LONG : 61
+LONG : 55
+LONG : 51
+LONG : 53
+LONG : 53
+LONG : 55
+LONG : 55
+LONG : 55
+LONG : 52
+LONG : 53
+LONG : 54
+LONG : 50
+LONG : 54
+LONG : 47
+LONG : 54
+LONG : 57
+LONG : 51
+LONG : 51
+LONG : 51
+LONG : 56
+LONG : 50
+LONG : 53
+LONG : 47
+LONG : 56
+LONG : 57
+LONG : 54
+LONG : 56
+LONG : 55
+LONG : 48
+LONG : 58
+LONG : 55
+LONG : 59
+LONG : 51
+LONG : 49
+LONG : 51
+LONG : 52
+LONG : 54
+LONG : 41
+LONG : 53
+LONG : 54
+LONG : 51
+LONG : 56
+LONG : 54
+LONG : 47
+LONG : 49
+LONG : 48
+LONG : 54
+LONG : 49
+LONG : 49
+LONG : 54
+LONG : 53
+LONG : 51
+LONG : 55
+LONG : 51
+LONG : 52
+LONG : 53
+LONG : 50
+LONG : 53
+LONG : 52
+LONG : 49
+CAIS : 05:35:7
Added: trunk/tutti-service/src/test/resources/psion/FM001.IWA
===================================================================
--- trunk/tutti-service/src/test/resources/psion/FM001.IWA (rev 0)
+++ trunk/tutti-service/src/test/resources/psion/FM001.IWA 2014-01-20 20:41:49 UTC (rev 1516)
@@ -0,0 +1,210 @@
+fm
+001
+05-24-2013
+18:28:13
+
+ESPE : HELIDAC
+POID : 1040
+TAIL : 1040
+CATE : N
+LONG : 21.5
+LONG : 26
+LONG : 22
+LONG : 24
+LONG : 25.5
+ESPE : TODASAG
+POID : 265
+TAIL : 265
+CATE : N
+LONG : 21
+ESPE : RAJAOXY
+POID : 115
+TAIL : 115
+CATE : F1
+LONG : 35
+ESPE : PHYIBLE
+POID : 235
+TAIL : 235
+CATE : N
+LONG : 6.5
+LONG : 6.5
+LONG : 7.5
+LONG : 7.5
+LONG : 6
+LONG : 6.5
+LONG : 7.5
+LONG : 7.5
+LONG : 8
+LONG : 8
+LONG : 6.5
+LONG : 8.5
+LONG : 7.5
+LONG : 7
+LONG : 5.5
+LONG : 7.5
+LONG : 7
+LONG : 6.5
+LONG : 7.5
+LONG : 7.5
+LONG : 6
+LONG : 6
+LONG : 6
+LONG : 6.5
+LONG : 5.5
+LONG : 6.5
+LONG : 7
+LONG : 7.5
+LONG : 6.5
+LONG : 18
+LONG : 16
+LONG : 22.5
+LONG : 15.5
+LONG : 16
+LONG : 7.5
+LONG : 7.5
+ESPE : GALUMEL
+POID : 1460
+TAIL : 1460
+CATE : M
+LONG : 35
+LONG : 32.5
+LONG : 34
+LONG : 33.5
+LONG : 40
+LONG : 40
+LONG : 40
+LONG : 42
+LONG : 45
+ESPE : LEPMBOS
+POID : 275
+TAIL : 275
+CATE : N
+LONG : 21
+LONG : 15.5
+LONG : 16.5
+LONG : 20
+LONG : 20
+LONG : 14
+ESPE : GALUMEL
+POID : 4890
+TAIL : 4890
+CATE : F
+LONG : 42
+LONG : 43.5
+LONG : 34
+LONG : 40
+LONG : 44
+LONG : 36.5
+LONG : 30.5
+LONG : 37.5
+LONG : 40
+LONG : 38
+LONG : 37
+LONG : 38
+LONG : 37
+LONG : 40
+LONG : 43
+LONG : 38
+LONG : 35
+LONG : 46
+LONG : 49
+LONG : 48.5
+LONG : 48.5
+LONG : 46.5
+LONG : 48.5
+ESPE : NEPRNOR
+POID : 110
+TAIL : 110
+CATE : F
+LONG : 28
+LONG : 31
+LONG : 29
+LONG : 36
+LONG : 25
+LONG : 32
+LONG : 32
+LONG : 34
+ESPE : NEPRNOR
+POID : 365
+TAIL : 365
+CATE : M
+LONG : 54
+LONG : 44
+LONG : 47
+LONG : 39
+LONG : 27
+LONG : 37
+LONG : 30
+LONG : 32
+LONG : 34
+LONG : 32
+ESPE : ARISFOL
+POID : 775
+TAIL : 775
+CATE : F
+LONG : 46
+LONG : 47
+LONG : 43
+LONG : 43
+LONG : 45
+LONG : 43
+LONG : 45
+LONG : 47
+LONG : 46
+LONG : 33
+LONG : 43
+LONG : 33
+LONG : 29
+LONG : 43
+LONG : 46
+LONG : 45
+LONG : 46
+LONG : 45
+LONG : 46
+LONG : 43
+LONG : 42
+LONG : 42
+LONG : 43
+LONG : 45
+LONG : 46
+LONG : 45
+LONG : 47
+LONG : 45
+LONG : 40
+ESPE : ARISFOL
+POID : 75
+TAIL : 75
+CATE : M
+LONG : 34
+LONG : 32
+LONG : 38
+LONG : 32
+LONG : 33
+ESPE : PAPELON
+POID : 40
+TAIL : 40
+CATE : M
+LONG : 30
+LONG : 32
+LONG : 33
+ESPE : PAPELON
+POID : 40
+TAIL : 40
+CATE : F
+LONG : 36
+LONG : 36
+ESPE : ETMOSPI
+POID : 90
+TAIL : 90
+CATE : F
+LONG : 20
+LONG : 19.5
+LONG : 12.5
+ESPE : ETMOSPI
+POID : 295
+TAIL : 295
+CATE : M
+LONG : 18.5
+LONG : 13
+LONG : 30.5
+LONG : 30.5
1
0
r1515 - in trunk/tutti-ui-swing/src/main/help: css fr
by lkaufmann@users.forge.codelutin.com Jan. 20, 2014
by lkaufmann@users.forge.codelutin.com Jan. 20, 2014
Jan. 20, 2014
Author: lkaufmann
Date: 2014-01-20 18:08:33 +0100 (Mon, 20 Jan 2014)
New Revision: 1515
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1515
Log:
Refs #4138. Update screen/db help page content
Modified:
trunk/tutti-ui-swing/src/main/help/css/style.css
trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html
Modified: trunk/tutti-ui-swing/src/main/help/css/style.css
===================================================================
--- trunk/tutti-ui-swing/src/main/help/css/style.css 2014-01-20 16:51:25 UTC (rev 1514)
+++ trunk/tutti-ui-swing/src/main/help/css/style.css 2014-01-20 17:08:33 UTC (rev 1515)
@@ -44,4 +44,14 @@
.dropdown-submenu:hover>.dropdown-menu{display:block;}
.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#cccccc;margin-top:5px;margin-right:-10px;}
.dropdown-submenu:hover>a:after{border-left-color:#ffffff;}
-.dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;}
\ No newline at end of file
+.dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;}
+
+
+.table > thead > tr > .danger,
+.table > tbody > tr > .danger,
+.table > tfoot > tr > .danger,
+.table > thead > .danger > td,
+.table > tbody > .danger > td,
+.table > tfoot > .danger > td {
+ background-color: #F2DEDE !important;
+}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html 2014-01-20 16:51:25 UTC (rev 1514)
+++ trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html 2014-01-20 17:08:33 UTC (rev 1515)
@@ -59,7 +59,7 @@
<p>Nom</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Texte libre</p>
@@ -73,7 +73,7 @@
<p>Zone</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Liste.</p>
@@ -88,7 +88,7 @@
<p>Description</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Texte libre</p>
@@ -117,7 +117,7 @@
<p>Série</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Liste.</p>
@@ -127,16 +127,21 @@
<p>ScientificCruise.program (SCIENTIFIC_CRUISE.PROGRAM_FK)</p>
</td>
</tr>
- <tr>
- <td rowspan="2">
+ <tr class="danger">
+ <td rowspan="3">
<p>Année</p>
</td>
- <td rowspan="2">
+ <td rowspan="3">
<p> </p>
</td>
- <td rowspan="2">
+ <td rowspan="3">
<p> </p>
</td>
+ <td colspan="2">
+ [LK] Cet élément ne fait plus partie de l'interface ?
+ </td>
+ </tr>
+ <tr>
<td>
<p>En lecture</p>
</td>
@@ -185,7 +190,7 @@
<p>Nombre de poches</p>
</td>
<td rowspan="2">
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td rowspan="2">
<p>Numérique</p>
@@ -210,7 +215,7 @@
<p>Port de départ</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Liste.</p>
@@ -225,7 +230,7 @@
<p>Port d'arrivée</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Liste.</p>
@@ -240,7 +245,7 @@
<p>Date de début</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Date (JJ/MM/AAAA)</p>
@@ -254,7 +259,7 @@
<p>Date de fin</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Date (JJ/MM/AAAA)</p>
@@ -268,7 +273,7 @@
<p>Navire</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Liste.</p>
@@ -283,7 +288,7 @@
<p>Engin(s)</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Liste.</p>
@@ -298,7 +303,7 @@
<p>Chef(s) de mission</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Liste.</p>
@@ -313,7 +318,7 @@
<p>Responsable(s) de salle de tri</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Liste.</p>
@@ -357,7 +362,7 @@
<p>Nom</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Texte libre</p>
@@ -755,7 +760,7 @@
<p>Code Station</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Texte libre</p>
@@ -769,7 +774,7 @@
<p>Numéro de Trait</p>
</td>
<td>
- <p> </p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Numérique</p>
@@ -869,34 +874,56 @@
</tr>
<tr>
<td>
- <p>Date et Heure de début de traîne</p>
+ <p>Date de début de traîne</p>
</td>
<td>
- <p> </p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Date (JJ/MM/AAAA)</p>
</td>
- <td>
+ <td rowspan="2">
<p>Operation.startDateTime et Operation.fishingStartDateTime (OPERATION.START_DATE_TIME et OPERATION.FISHING_START_DATE_TIME)</p>
</td>
</tr>
<tr>
<td>
- <p>Date et Heure de fin de traîne</p>
+ <p>Heure de début de traîne</p>
</td>
<td>
<p> </p>
</td>
<td>
+ <p>Heure (HH:MM)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Date de fin de traîne</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
<p>Date (JJ/MM/AAAA)</p>
</td>
- <td>
+ <td rowspan="2">
<p>Operation.endDateTime et Operation.fishingEndDateTime (OPERATION.END_DATE_TIME et OPERATION.FISHING_END_DATE_TIME)</p>
</td>
</tr>
<tr>
<td>
+ <p>Heure de fin de traîne</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Heure (HH:MM)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
<p>Trait rectiligne</p>
</td>
<td>
@@ -931,10 +958,10 @@
<p> </p>
</td>
<td>
- <p>Numérique</p>
+ <p>Numérique (Lecture seule)</p>
</td>
<td>
- <p> </p>
+ <p>Non stockée en base</p>
</td>
</tr>
<tr>
@@ -966,7 +993,7 @@
<p>Operation.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_de_campagne></p>
</td>
</tr>
- <tr>
+ <tr class="danger">
<td>
<p>Autres caractéristiques du Navire</p>
</td>
@@ -977,7 +1004,7 @@
<p>Lecture seule</p>
</td>
<td>
- <p>Operation.vessel (OPERATION.VESSEL_FK)</p>
+ <p>(depuis version 1.2) Identique à celui de la campagne : Operation.vessel (OPERATION.VESSEL_FK) (Obsolète) : TODO supprimer le code qui fait cette gestion Si le navire est identique à celui de la campagne : Operation.vessel (OPERATION.VESSEL_FK) Sinon : Operation.operationVesselAssociation (OPERATION_VESSEL_ASSOCIATION.VESSEL_FK avec IS_CATCH_ON_OPERATION_VESSEL=0). Operation.vessel est alors rempli avec le premier navire de la liste de la campagne, pour être compatible avec Allegro (on doit toujours avoir : SCIENTIFIC_CRUISE.VESSEL_FK = OPERATION_VESSEL_FK).</p>
</td>
</tr>
<tr>
@@ -995,7 +1022,7 @@
<p>Operation.gearPhysicialFeatures (OPERATION.GEAR_PHYSCIAL_FEATURES_FK) : lien vers un engin déjà déclaré au niveau de la campagne. Le code de l'engin est également dupliqué au début de Operation.name (OPERATION.NAME), devant le numéro du trait, pour rester compatible avec le format des données historiques.</p>
</td>
</tr>
- <tr>
+ <tr class="danger">
<td>
<p>Navire(s) associé(s)</p>
</td>
@@ -1007,7 +1034,7 @@
<p>Choix parmi les navires existants en base</p>
</td>
<td>
- <p> </p>
+ <p>Est-ce stocké en base ?</p>
</td>
</tr>
<tr>
@@ -1060,7 +1087,7 @@
<p>Valeur</p>
</td>
<td>
- <p>X</p>
+ <p></p>
</td>
<td>
<p>Type de la caractéristique issu d'un référentiel</p>
@@ -1073,8 +1100,10 @@
</table>
- <h3>Hydrologie et paramètres environnementaux</h3>
+ <h3>Trait > Autres paramètres</h3>
+ <p>Cet onglet permet la saisie de l'hydrologie et des paramètres environnementaux.</p>
+
<table class='table table-bordered table-striped table-hover table-condensed'>
<thead>
<tr>
@@ -1085,18 +1114,19 @@
</tr>
</thead>
<tbody>
- <tr>
+ <tr class="danger">
<td>
<p>Valeur</p>
</td>
<td>
- <p>X</p>
+ <p></p>
</td>
<td>
<p>Type de la caractéristique issu d'un référentiel</p>
</td>
<td>
- <p>Operation.gearUseFeatures.vesselUseMeasurement (GEAR_USE_MEASUREMENT.xxx - en fonction du type de PSFM : NUMERICAL_VALUE, ALPHANUMERICAL_VALUE ou QUALITATIVE_VALUE_FK</p>
+ <p>Operation.gearUseFeatures.vesselUseMeasurement (GEAR_USE_MEASUREMENT.xxx - en fonction du type de PSFM : NUMERICAL_VALUE, ALPHANUMERICAL_VALUE ou QUALITATIVE_VALUE_FK<br/>
+ <strong>WARNING</strong> : En v2 (version à confirmer), informations dispatcher dans différent onglet, en fonction du PSFM trouvé dans le protocole</p>
</td>
</tr>
</tbody>
@@ -2113,7 +2143,7 @@
<p>Tableau > Espèce</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Liste.</p>
@@ -2272,7 +2302,7 @@
<p>Tableau > Espèce</p>
</td>
<td>
- <p>X</p>
+ <p style="text-align:center;font-weight:bold;">X</p>
</td>
<td>
<p>Liste.</p>
1
0
r1514 - trunk/tutti-service/src/test/resources/report/2013.12.05/allegro-tutti/reports
by tchemit@users.forge.codelutin.com Jan. 20, 2014
by tchemit@users.forge.codelutin.com Jan. 20, 2014
Jan. 20, 2014
Author: tchemit
Date: 2014-01-20 17:51:25 +0100 (Mon, 20 Jan 2014)
New Revision: 1514
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1514
Log:
refs #4135: [EXPORT GENERIQUE] demande d'?\195?\169volutions (update birt report)
Modified:
trunk/tutti-service/src/test/resources/report/2013.12.05/allegro-tutti/reports/controle_data_allegro_campagne.rptdesign
Modified: trunk/tutti-service/src/test/resources/report/2013.12.05/allegro-tutti/reports/controle_data_allegro_campagne.rptdesign
===================================================================
--- trunk/tutti-service/src/test/resources/report/2013.12.05/allegro-tutti/reports/controle_data_allegro_campagne.rptdesign 2014-01-20 15:12:33 UTC (rev 1513)
+++ trunk/tutti-service/src/test/resources/report/2013.12.05/allegro-tutti/reports/controle_data_allegro_campagne.rptdesign 2014-01-20 16:51:25 UTC (rev 1514)
@@ -212,21 +212,6 @@
<text-property name="heading">Distance</text-property>
</structure>
<structure>
- <property name="columnName">Ouv_Verticale</property>
- <property name="analysis">dimension</property>
- <text-property name="heading">Ouv_Verticale</text-property>
- </structure>
- <structure>
- <property name="columnName">Ouv_Horizontale_Ailes</property>
- <property name="analysis">dimension</property>
- <text-property name="heading">Ouv_Horizontale_Ailes</text-property>
- </structure>
- <structure>
- <property name="columnName">Ouv_Horizontale_Panneaux</property>
- <property name="analysis">dimension</property>
- <text-property name="heading">Ouv_Horizontale_Panneaux</text-property>
- </structure>
- <structure>
<property name="columnName">Saisisseur</property>
<property name="analysis">dimension</property>
<text-property name="heading">Saisisseur</text-property>
@@ -568,221 +553,206 @@
</structure>
<structure>
<property name="position">22</property>
- <property name="name">Ouv_Verticale</property>
- <property name="dataType">string</property>
- </structure>
- <structure>
- <property name="position">23</property>
- <property name="name">Ouv_Horizontale_Ailes</property>
- <property name="dataType">string</property>
- </structure>
- <structure>
- <property name="position">24</property>
- <property name="name">Ouv_Horizontale_Panneaux</property>
- <property name="dataType">string</property>
- </structure>
- <structure>
- <property name="position">25</property>
<property name="name">Saisisseur</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">26</property>
+ <property name="position">23</property>
<property name="name">NavireAssocie</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">27</property>
+ <property name="position">24</property>
<property name="name">Commentaire</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">28</property>
+ <property name="position">25</property>
<property name="name">Poids_Total</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">29</property>
+ <property name="position">26</property>
<property name="name">Poids_Total_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">30</property>
+ <property name="position">27</property>
<property name="name">Poids_Total_Vrac</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">31</property>
+ <property name="position">28</property>
<property name="name">Poids_Total_Vrac_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">32</property>
+ <property name="position">29</property>
<property name="name">Poids_Total_HorsVrac</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">33</property>
+ <property name="position">30</property>
<property name="name">Poids_Total_HorsVrac_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">34</property>
+ <property name="position">31</property>
<property name="name">Poids_Total_Non_Trie</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">35</property>
+ <property name="position">32</property>
<property name="name">Poids_Total_Non_Trie_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">36</property>
+ <property name="position">33</property>
<property name="name">Poids_Total_Tremis</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">37</property>
+ <property name="position">34</property>
<property name="name">Poids_Total_Tremis_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">38</property>
+ <property name="position">35</property>
<property name="name">Poids_Total_Carroussel</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">39</property>
+ <property name="position">36</property>
<property name="name">Poids_Total_Carroussel_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">40</property>
+ <property name="position">37</property>
<property name="name">Poids_Total_Espece</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">41</property>
+ <property name="position">38</property>
<property name="name">Poids_Total_Espece_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">42</property>
+ <property name="position">39</property>
<property name="name">Poids_Total_Espece_Vrac</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">43</property>
+ <property name="position">40</property>
<property name="name">Poids_Total_Espece_Vrac_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">44</property>
+ <property name="position">41</property>
<property name="name">Poids_Total_Espece_Vrac_Trie</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">45</property>
+ <property name="position">42</property>
<property name="name">Poids_Total_Espece_Vrac_Trie_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">46</property>
+ <property name="position">43</property>
<property name="name">Poids_Total_Espece_HorsVrac</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">47</property>
+ <property name="position">44</property>
<property name="name">Poids_Total_Espece_HorsVrac_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">48</property>
+ <property name="position">45</property>
<property name="name">Poids_Total_Espece_Inerte_Trie</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">49</property>
+ <property name="position">46</property>
<property name="name">Poids_Total_Espece_Inerte_Trie_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">50</property>
+ <property name="position">47</property>
<property name="name">Poids_Total_Espece_Vivant_non_detaille_trie</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">51</property>
+ <property name="position">48</property>
<property name="name">Poids_Total_Espece_Vivant_non_detaille_trie_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">52</property>
+ <property name="position">49</property>
<property name="name">Poids_Total_Benthos</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">53</property>
+ <property name="position">50</property>
<property name="name">Poids_Total_Benthos_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">54</property>
+ <property name="position">51</property>
<property name="name">Poids_Total_Benthos_Vrac</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">55</property>
+ <property name="position">52</property>
<property name="name">Poids_Total_Benthos_Vrac_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">56</property>
+ <property name="position">53</property>
<property name="name">Poids_Total_Benthos_Vrac_Trie</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">57</property>
+ <property name="position">54</property>
<property name="name">Poids_Total_Benthos_Vrac_Trie_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">58</property>
+ <property name="position">55</property>
<property name="name">Poids_Total_Benthos_HorsVrac</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">59</property>
+ <property name="position">56</property>
<property name="name">Poids_Total_Benthos_HorsVrac_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">60</property>
+ <property name="position">57</property>
<property name="name">Poids_Total_Benthos_Inerte_Trie</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">61</property>
+ <property name="position">58</property>
<property name="name">Poids_Total_Benthos_Inerte_Trie_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">62</property>
+ <property name="position">59</property>
<property name="name">Poids_Total_Benthos_Vivant_non_detaille_trie</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">63</property>
+ <property name="position">60</property>
<property name="name">Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">64</property>
+ <property name="position">61</property>
<property name="name">Poids_Total_Macro_Dechet</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">65</property>
+ <property name="position">62</property>
<property name="name">Poids_Total_Macro_Dechet_Calcule</property>
<property name="dataType">string</property>
</structure>
@@ -939,314 +909,293 @@
</structure>
<structure>
<property name="position">22</property>
- <property name="name">Ouv_Verticale</property>
- <property name="nativeName">Ouv_Verticale</property>
- <property name="dataType">string</property>
- <property name="nativeDataType">12</property>
- </structure>
- <structure>
- <property name="position">23</property>
- <property name="name">Ouv_Horizontale_Ailes</property>
- <property name="nativeName">Ouv_Horizontale_Ailes</property>
- <property name="dataType">string</property>
- <property name="nativeDataType">12</property>
- </structure>
- <structure>
- <property name="position">24</property>
- <property name="name">Ouv_Horizontale_Panneaux</property>
- <property name="nativeName">Ouv_Horizontale_Panneaux</property>
- <property name="dataType">string</property>
- <property name="nativeDataType">12</property>
- </structure>
- <structure>
- <property name="position">25</property>
<property name="name">Saisisseur</property>
<property name="nativeName">Saisisseur</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">26</property>
+ <property name="position">23</property>
<property name="name">NavireAssocie</property>
<property name="nativeName">NavireAssocie</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">27</property>
+ <property name="position">24</property>
<property name="name">Commentaire</property>
<property name="nativeName">Commentaire</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">28</property>
+ <property name="position">25</property>
<property name="name">Poids_Total</property>
<property name="nativeName">Poids_Total</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">29</property>
+ <property name="position">26</property>
<property name="name">Poids_Total_Calcule</property>
<property name="nativeName">Poids_Total_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">30</property>
+ <property name="position">27</property>
<property name="name">Poids_Total_Vrac</property>
<property name="nativeName">Poids_Total_Vrac</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">31</property>
+ <property name="position">28</property>
<property name="name">Poids_Total_Vrac_Calcule</property>
<property name="nativeName">Poids_Total_Vrac_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">32</property>
+ <property name="position">29</property>
<property name="name">Poids_Total_HorsVrac</property>
<property name="nativeName">Poids_Total_HorsVrac</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">33</property>
+ <property name="position">30</property>
<property name="name">Poids_Total_HorsVrac_Calcule</property>
<property name="nativeName">Poids_Total_HorsVrac_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">34</property>
+ <property name="position">31</property>
<property name="name">Poids_Total_Non_Trie</property>
<property name="nativeName">Poids_Total_Non_Trie</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">35</property>
+ <property name="position">32</property>
<property name="name">Poids_Total_Non_Trie_Calcule</property>
<property name="nativeName">Poids_Total_Non_Trie_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">36</property>
+ <property name="position">33</property>
<property name="name">Poids_Total_Tremis</property>
<property name="nativeName">Poids_Total_Tremis</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">37</property>
+ <property name="position">34</property>
<property name="name">Poids_Total_Tremis_Calcule</property>
<property name="nativeName">Poids_Total_Tremis_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">38</property>
+ <property name="position">35</property>
<property name="name">Poids_Total_Carroussel</property>
<property name="nativeName">Poids_Total_Carroussel</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">39</property>
+ <property name="position">36</property>
<property name="name">Poids_Total_Carroussel_Calcule</property>
<property name="nativeName">Poids_Total_Carroussel_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">40</property>
+ <property name="position">37</property>
<property name="name">Poids_Total_Espece</property>
<property name="nativeName">Poids_Total_Espece</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">41</property>
+ <property name="position">38</property>
<property name="name">Poids_Total_Espece_Calcule</property>
<property name="nativeName">Poids_Total_Espece_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">42</property>
+ <property name="position">39</property>
<property name="name">Poids_Total_Espece_Vrac</property>
<property name="nativeName">Poids_Total_Espece_Vrac</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">43</property>
+ <property name="position">40</property>
<property name="name">Poids_Total_Espece_Vrac_Calcule</property>
<property name="nativeName">Poids_Total_Espece_Vrac_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">44</property>
+ <property name="position">41</property>
<property name="name">Poids_Total_Espece_Vrac_Trie</property>
<property name="nativeName">Poids_Total_Espece_Vrac_Trie</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">45</property>
+ <property name="position">42</property>
<property name="name">Poids_Total_Espece_Vrac_Trie_Calcule</property>
<property name="nativeName">Poids_Total_Espece_Vrac_Trie_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">46</property>
+ <property name="position">43</property>
<property name="name">Poids_Total_Espece_HorsVrac</property>
<property name="nativeName">Poids_Total_Espece_HorsVrac</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">47</property>
+ <property name="position">44</property>
<property name="name">Poids_Total_Espece_HorsVrac_Calcule</property>
<property name="nativeName">Poids_Total_Espece_HorsVrac_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">48</property>
+ <property name="position">45</property>
<property name="name">Poids_Total_Espece_Inerte_Trie</property>
<property name="nativeName">Poids_Total_Espece_Inerte_Trie</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">49</property>
+ <property name="position">46</property>
<property name="name">Poids_Total_Espece_Inerte_Trie_Calcule</property>
<property name="nativeName">Poids_Total_Espece_Inerte_Trie_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">50</property>
+ <property name="position">47</property>
<property name="name">Poids_Total_Espece_Vivant_non_detaille_trie</property>
<property name="nativeName">Poids_Total_Espece_Vivant_non_detaille_trie</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">51</property>
+ <property name="position">48</property>
<property name="name">Poids_Total_Espece_Vivant_non_detaille_trie_Calcule</property>
<property name="nativeName">Poids_Total_Espece_Vivant_non_detaille_trie_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">52</property>
+ <property name="position">49</property>
<property name="name">Poids_Total_Benthos</property>
<property name="nativeName">Poids_Total_Benthos</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">53</property>
+ <property name="position">50</property>
<property name="name">Poids_Total_Benthos_Calcule</property>
<property name="nativeName">Poids_Total_Benthos_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">54</property>
+ <property name="position">51</property>
<property name="name">Poids_Total_Benthos_Vrac</property>
<property name="nativeName">Poids_Total_Benthos_Vrac</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">55</property>
+ <property name="position">52</property>
<property name="name">Poids_Total_Benthos_Vrac_Calcule</property>
<property name="nativeName">Poids_Total_Benthos_Vrac_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">56</property>
+ <property name="position">53</property>
<property name="name">Poids_Total_Benthos_Vrac_Trie</property>
<property name="nativeName">Poids_Total_Benthos_Vrac_Trie</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">57</property>
+ <property name="position">54</property>
<property name="name">Poids_Total_Benthos_Vrac_Trie_Calcule</property>
<property name="nativeName">Poids_Total_Benthos_Vrac_Trie_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">58</property>
+ <property name="position">55</property>
<property name="name">Poids_Total_Benthos_HorsVrac</property>
<property name="nativeName">Poids_Total_Benthos_HorsVrac</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">59</property>
+ <property name="position">56</property>
<property name="name">Poids_Total_Benthos_HorsVrac_Calcule</property>
<property name="nativeName">Poids_Total_Benthos_HorsVrac_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">60</property>
+ <property name="position">57</property>
<property name="name">Poids_Total_Benthos_Inerte_Trie</property>
<property name="nativeName">Poids_Total_Benthos_Inerte_Trie</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">61</property>
+ <property name="position">58</property>
<property name="name">Poids_Total_Benthos_Inerte_Trie_Calcule</property>
<property name="nativeName">Poids_Total_Benthos_Inerte_Trie_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">62</property>
+ <property name="position">59</property>
<property name="name">Poids_Total_Benthos_Vivant_non_detaille_trie</property>
<property name="nativeName">Poids_Total_Benthos_Vivant_non_detaille_trie</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">63</property>
+ <property name="position">60</property>
<property name="name">Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule</property>
<property name="nativeName">Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">64</property>
+ <property name="position">61</property>
<property name="name">Poids_Total_Macro_Dechet</property>
<property name="nativeName">Poids_Total_Macro_Dechet</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">65</property>
+ <property name="position">62</property>
<property name="name">Poids_Total_Macro_Dechet_Calcule</property>
<property name="nativeName">Poids_Total_Macro_Dechet_Calcule</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
</list-property>
- <xml-property name="queryText"><![CDATA[select "Annee", "Serie", "Serie_Partielle", "Code_Station", "Id_Operation", "Poche", "Engin", "Navire", "DateDeb_Op", "LatDeb", "LongDeb", "DateFin_Op", "LatFin", "LongFin", "Duree", "Strate", "Sous-Strate", "Localite", "Validite_OP", "Rectiligne", "Distance", "Ouv_Verticale", "Ouv_Horizontale_Ailes", "Ouv_Horizontale_Panneaux", "Saisisseur", "NavireAssocie", "Commentaire", "Poids_Total", "Poids_Total_Calcule", "Poids_Total_Vrac", "Poids_Total_Vrac_Calcule", "Poids_Total_HorsVrac", "Poids_Total_HorsVrac_Calcule", "Poids_Total_Non_Trie", "Poids_Total_Non_Trie_Calcule", "Poids_Total_Tremis", "Poids_Total_Tremis_Calcule", "Poids_Total_Carroussel", "Poids_Total_Carroussel_Calcule", "Poids_Total_Espece", "Poids_Total_Espece_Calcule", "Poids_Total_Espece_Vrac", "Poids_Total_Espece_Vrac_Calcule", "Poids_Total_Espece_Vrac_Trie", "Poids_Total_Espece_Vrac_Trie_Calcule", "Poids_Total_Espece_HorsVrac", "Poids_Total_Espece_HorsVrac_Calcule", "Poids_Total_Espece_Inerte_Trie", "Poids_Total_Espece_Inerte_Trie_Calcule", "Poids_Total_Espece_Vivant_non_detaille_trie", "Poids_Total_Espece_Vivant_non_detaille_trie_Calcule", "Poids_Total_Benthos", "Poids_Total_Benthos_Calcule", "Poids_Total_Benthos_Vrac", "Poids_Total_Benthos_Vrac_Calcule", "Poids_Total_Benthos_Vrac_Trie", "Poids_Total_Benthos_Vrac_Trie_Calcule", "Poids_Total_Benthos_HorsVrac", "Poids_Total_Benthos_HorsVrac_Calcule", "Poids_Total_Benthos_Inerte_Trie", "Poids_Total_Benthos_Inerte_Trie_Calcule", "Poids_Total_Benthos_Vivant_non_detaille_trie", "Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule", "Poids_Total_Macro_Dechet", "Poids_Total_Macro_Dechet_Calcule" from "operation.csv" : {"Annee","Annee",INT;"Serie","Serie",STRING;"Serie_Partielle","Serie_Partielle",STRING;"Code_Station","Code_Station",STRING;"Id_Operation","Id_Operation",INT;"Poche","Poche",STRING;"Engin","Engin",STRING;"Navire","Navire",STRING;"DateDeb_Op","DateDeb_Op",STRING;"LatDeb","LatDeb",STRING;"LongDeb","LongDeb",STRING;"DateFin_Op","DateFin_Op",STRING;"LatFin","LatFin",STRING;"LongFin","LongFin",STRING;"Duree","Duree",STRING;"Strate","Strate",STRING;"Sous-Strate","Sous-Strate",STRING;"Localite","Localite",STRING;"Validite_OP","Validite_OP",STRING;"Rectiligne","Rectiligne",STRING;"Distance","Distance",BIGDECIMAL;"Ouv_Verticale","Ouv_Verticale",STRING;"Ouv_Horizontale_Ailes","Ouv_Horizontale_Ailes",STRING;"Ouv_Horizontale_Panneaux","Ouv_Horizontale_Panneaux",STRING;"Saisisseur","Saisisseur",STRING;"NavireAssocie","NavireAssocie",STRING;"Commentaire","Commentaire",STRING;"Poids_Total","Poids_Total",BIGDECIMAL;"Poids_Total_Calcule","Poids_Total_Calcule",STRING;"Poids_Total_Vrac","Poids_Total_Vrac",BIGDECIMAL;"Poids_Total_Vrac_Calcule","Poids_Total_Vrac_Calcule",STRING;"Poids_Total_HorsVrac","Poids_Total_HorsVrac",BIGDECIMAL;"Poids_Total_HorsVrac_Calcule","Poids_Total_HorsVrac_Calcule",STRING;"Poids_Total_Non_Trie","Poids_Total_Non_Trie",BIGDECIMAL;"Poids_Total_Non_Trie_Calcule","Poids_Total_Non_Trie_Calcule",STRING;"Poids_Total_Tremis","Poids_Total_Tremis",BIGDECIMAL;"Poids_Total_Tremis_Calcule","Poids_Total_Tremis_Calcule",STRING;"Poids_Total_Carroussel","Poids_Total_Carroussel",BIGDECIMAL;"Poids_Total_Carroussel_Calcule","Poids_Total_Carroussel_Calcule",STRING;"Poids_Total_Espece","Poids_Total_Espece",BIGDECIMAL;"Poids_Total_Espece_Calcule","Poids_Total_Espece_Calcule",STRING;"Poids_Total_Espece_Vrac","Poids_Total_Espece_Vrac",BIGDECIMAL;"Poids_Total_Espece_Vrac_Calcule","Poids_Total_Espece_Vrac_Calcule",STRING;"Poids_Total_Espece_Vrac_Trie","Poids_Total_Espece_Vrac_Trie",BIGDECIMAL;"Poids_Total_Espece_Vrac_Trie_Calcule","Poids_Total_Espece_Vrac_Trie_Calcule",STRING;"Poids_Total_Espece_HorsVrac","Poids_Total_Espece_HorsVrac",BIGDECIMAL;"Poids_Total_Espece_HorsVrac_Calcule","Poids_Total_Espece_HorsVrac_Calcule",STRING;"Poids_Total_Espece_Inerte_Trie","Poids_Total_Espece_Inerte_Trie",BIGDECIMAL;"Poids_Total_Espece_Inerte_Trie_Calcule","Poids_Total_Espece_Inerte_Trie_Calcule",STRING;"Poids_Total_Espece_Vivant_non_detaille_trie","Poids_Total_Espece_Vivant_non_detaille_trie",BIGDECIMAL;"Poids_Total_Espece_Vivant_non_detaille_trie_Calcule","Poids_Total_Espece_Vivant_non_detaille_trie_Calcule",STRING;"Poids_Total_Benthos","Poids_Total_Benthos",BIGDECIMAL;"Poids_Total_Benthos_Calcule","Poids_Total_Benthos_Calcule",STRING;"Poids_Total_Benthos_Vrac","Poids_Total_Benthos_Vrac",BIGDECIMAL;"Poids_Total_Benthos_Vrac_Calcule","Poids_Total_Benthos_Vrac_Calcule",STRING;"Poids_Total_Benthos_Vrac_Trie","Poids_Total_Benthos_Vrac_Trie",BIGDECIMAL;"Poids_Total_Benthos_Vrac_Trie_Calcule","Poids_Total_Benthos_Vrac_Trie_Calcule",STRING;"Poids_Total_Benthos_HorsVrac","Poids_Total_Benthos_HorsVrac",BIGDECIMAL;"Poids_Total_Benthos_HorsVrac_Calcule","Poids_Total_Benthos_HorsVrac_Calcule",STRING;"Poids_Total_Benthos_Inerte_Trie","Poids_Total_Benthos_Inerte_Trie",BIGDECIMAL;"Poids_Total_Benthos_Inerte_Trie_Calcule","Poids_Total_Benthos_Inerte_Trie_Calcule",STRING;"Poids_Total_Benthos_Vivant_non_detaille_trie","Poids_Total_Benthos_Vivant_non_detaille_trie",BIGDECIMAL;"Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule","Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule",STRING;"Poids_Total_Macro_Dechet","Poids_Total_Macro_Dechet",BIGDECIMAL;"Poids_Total_Macro_Dechet_Calcule","Poids_Total_Macro_Dechet_Calcule",STRING}]]></xml-property>
+ <xml-property name="queryText"><![CDATA[select "Annee", "Serie", "Serie_Partielle", "Code_Station", "Id_Operation", "Poche", "Engin", "Navire", "DateDeb_Op", "LatDeb", "LongDeb", "DateFin_Op", "LatFin", "LongFin", "Duree", "Strate", "Sous-Strate", "Localite", "Validite_OP", "Rectiligne", "Distance", "Saisisseur", "NavireAssocie", "Commentaire", "Poids_Total", "Poids_Total_Calcule", "Poids_Total_Vrac", "Poids_Total_Vrac_Calcule", "Poids_Total_HorsVrac", "Poids_Total_HorsVrac_Calcule", "Poids_Total_Non_Trie", "Poids_Total_Non_Trie_Calcule", "Poids_Total_Tremis", "Poids_Total_Tremis_Calcule", "Poids_Total_Carroussel", "Poids_Total_Carroussel_Calcule", "Poids_Total_Espece", "Poids_Total_Espece_Calcule", "Poids_Total_Espece_Vrac", "Poids_Total_Espece_Vrac_Calcule", "Poids_Total_Espece_Vrac_Trie", "Poids_Total_Espece_Vrac_Trie_Calcule", "Poids_Total_Espece_HorsVrac", "Poids_Total_Espece_HorsVrac_Calcule", "Poids_Total_Espece_Inerte_Trie", "Poids_Total_Espece_Inerte_Trie_Calcule", "Poids_Total_Espece_Vivant_non_detaille_trie", "Poids_Total_Espece_Vivant_non_detaille_trie_Calcule", "Poids_Total_Benthos", "Poids_Total_Benthos_Calcule", "Poids_Total_Benthos_Vrac", "Poids_Total_Benthos_Vrac_Calcule", "Poids_Total_Benthos_Vrac_Trie", "Poids_Total_Benthos_Vrac_Trie_Calcule", "Poids_Total_Benthos_HorsVrac", "Poids_Total_Benthos_HorsVrac_Calcule", "Poids_Total_Benthos_Inerte_Trie", "Poids_Total_Benthos_Inerte_Trie_Calcule", "Poids_Total_Benthos_Vivant_non_detaille_trie", "Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule", "Poids_Total_Macro_Dechet", "Poids_Total_Macro_Dechet_Calcule" from "operation.csv" : {"Annee","Annee",INT;"Serie","Serie",STRING;"Serie_Partielle","Serie_Partielle",STRING;"Code_Station","Code_Station",STRING;"Id_Operation","Id_Operation",INT;"Poche","Poche",STRING;"Engin","Engin",STRING;"Navire","Navire",STRING;"DateDeb_Op","DateDeb_Op",STRING;"LatDeb","LatDeb",STRING;"LongDeb","LongDeb",STRING;"DateFin_Op","DateFin_Op",STRING;"LatFin","LatFin",STRING;"LongFin","LongFin",STRING;"Duree","Duree",STRING;"Strate","Strate",STRING;"Sous-Strate","Sous-Strate",STRING;"Localite","Localite",STRING;"Validite_OP","Validite_OP",STRING;"Rectiligne","Rectiligne",STRING;"Distance","Distance",BIGDECIMAL;"Saisisseur","Saisisseur",STRING;"NavireAssocie","NavireAssocie",STRING;"Commentaire","Commentaire",STRING;"Poids_Total","Poids_Total",BIGDECIMAL;"Poids_Total_Calcule","Poids_Total_Calcule",STRING;"Poids_Total_Vrac","Poids_Total_Vrac",BIGDECIMAL;"Poids_Total_Vrac_Calcule","Poids_Total_Vrac_Calcule",STRING;"Poids_Total_HorsVrac","Poids_Total_HorsVrac",BIGDECIMAL;"Poids_Total_HorsVrac_Calcule","Poids_Total_HorsVrac_Calcule",STRING;"Poids_Total_Non_Trie","Poids_Total_Non_Trie",BIGDECIMAL;"Poids_Total_Non_Trie_Calcule","Poids_Total_Non_Trie_Calcule",STRING;"Poids_Total_Tremis","Poids_Total_Tremis",BIGDECIMAL;"Poids_Total_Tremis_Calcule","Poids_Total_Tremis_Calcule",STRING;"Poids_Total_Carroussel","Poids_Total_Carroussel",BIGDECIMAL;"Poids_Total_Carroussel_Calcule","Poids_Total_Carroussel_Calcule",STRING;"Poids_Total_Espece","Poids_Total_Espece",BIGDECIMAL;"Poids_Total_Espece_Calcule","Poids_Total_Espece_Calcule",STRING;"Poids_Total_Espece_Vrac","Poids_Total_Espece_Vrac",BIGDECIMAL;"Poids_Total_Espece_Vrac_Calcule","Poids_Total_Espece_Vrac_Calcule",STRING;"Poids_Total_Espece_Vrac_Trie","Poids_Total_Espece_Vrac_Trie",BIGDECIMAL;"Poids_Total_Espece_Vrac_Trie_Calcule","Poids_Total_Espece_Vrac_Trie_Calcule",STRING;"Poids_Total_Espece_HorsVrac","Poids_Total_Espece_HorsVrac",BIGDECIMAL;"Poids_Total_Espece_HorsVrac_Calcule","Poids_Total_Espece_HorsVrac_Calcule",STRING;"Poids_Total_Espece_Inerte_Trie","Poids_Total_Espece_Inerte_Trie",BIGDECIMAL;"Poids_Total_Espece_Inerte_Trie_Calcule","Poids_Total_Espece_Inerte_Trie_Calcule",STRING;"Poids_Total_Espece_Vivant_non_detaille_trie","Poids_Total_Espece_Vivant_non_detaille_trie",BIGDECIMAL;"Poids_Total_Espece_Vivant_non_detaille_trie_Calcule","Poids_Total_Espece_Vivant_non_detaille_trie_Calcule",STRING;"Poids_Total_Benthos","Poids_Total_Benthos",BIGDECIMAL;"Poids_Total_Benthos_Calcule","Poids_Total_Benthos_Calcule",STRING;"Poids_Total_Benthos_Vrac","Poids_Total_Benthos_Vrac",BIGDECIMAL;"Poids_Total_Benthos_Vrac_Calcule","Poids_Total_Benthos_Vrac_Calcule",STRING;"Poids_Total_Benthos_Vrac_Trie","Poids_Total_Benthos_Vrac_Trie",BIGDECIMAL;"Poids_Total_Benthos_Vrac_Trie_Calcule","Poids_Total_Benthos_Vrac_Trie_Calcule",STRING;"Poids_Total_Benthos_HorsVrac","Poids_Total_Benthos_HorsVrac",BIGDECIMAL;"Poids_Total_Benthos_HorsVrac_Calcule","Poids_Total_Benthos_HorsVrac_Calcule",STRING;"Poids_Total_Benthos_Inerte_Trie","Poids_Total_Benthos_Inerte_Trie",BIGDECIMAL;"Poids_Total_Benthos_Inerte_Trie_Calcule","Poids_Total_Benthos_Inerte_Trie_Calcule",STRING;"Poids_Total_Benthos_Vivant_non_detaille_trie","Poids_Total_Benthos_Vivant_non_detaille_trie",BIGDECIMAL;"Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule","Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule",STRING;"Poids_Total_Macro_Dechet","Poids_Total_Macro_Dechet",BIGDECIMAL;"Poids_Total_Macro_Dechet_Calcule","Poids_Total_Macro_Dechet_Calcule",STRING}]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>2.0</Version>
@@ -1592,7 +1541,7 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:identifier>
- <design:name>Ouv_Verticale</design:name>
+ <design:name>Saisisseur</design:name>
<design:position>22</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
@@ -1601,54 +1550,6 @@
<design:nullability>Unknown</design:nullability>
</design:attributes>
<design:usageHints>
- <design:label>Ouv_Verticale</design:label>
- <design:formattingHints/>
- </design:usageHints>
- </design:resultColumnDefinitions>
- <design:resultColumnDefinitions>
- <design:attributes>
- <design:identifier>
- <design:name>Ouv_Horizontale_Ailes</design:name>
- <design:position>23</design:position>
- </design:identifier>
- <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
- <design:precision>-1</design:precision>
- <design:scale>-1</design:scale>
- <design:nullability>Unknown</design:nullability>
- </design:attributes>
- <design:usageHints>
- <design:label>Ouv_Horizontale_Ailes</design:label>
- <design:formattingHints/>
- </design:usageHints>
- </design:resultColumnDefinitions>
- <design:resultColumnDefinitions>
- <design:attributes>
- <design:identifier>
- <design:name>Ouv_Horizontale_Panneaux</design:name>
- <design:position>24</design:position>
- </design:identifier>
- <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
- <design:precision>-1</design:precision>
- <design:scale>-1</design:scale>
- <design:nullability>Unknown</design:nullability>
- </design:attributes>
- <design:usageHints>
- <design:label>Ouv_Horizontale_Panneaux</design:label>
- <design:formattingHints/>
- </design:usageHints>
- </design:resultColumnDefinitions>
- <design:resultColumnDefinitions>
- <design:attributes>
- <design:identifier>
- <design:name>Saisisseur</design:name>
- <design:position>25</design:position>
- </design:identifier>
- <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
- <design:precision>-1</design:precision>
- <design:scale>-1</design:scale>
- <design:nullability>Unknown</design:nullability>
- </design:attributes>
- <design:usageHints>
<design:label>Saisisseur</design:label>
<design:formattingHints/>
</design:usageHints>
@@ -1657,7 +1558,7 @@
<design:attributes>
<design:identifier>
<design:name>NavireAssocie</design:name>
- <design:position>26</design:position>
+ <design:position>23</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1673,7 +1574,7 @@
<design:attributes>
<design:identifier>
<design:name>Commentaire</design:name>
- <design:position>27</design:position>
+ <design:position>24</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1689,7 +1590,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total</design:name>
- <design:position>28</design:position>
+ <design:position>25</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1705,7 +1606,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Calcule</design:name>
- <design:position>29</design:position>
+ <design:position>26</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1721,7 +1622,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Vrac</design:name>
- <design:position>30</design:position>
+ <design:position>27</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1737,7 +1638,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Vrac_Calcule</design:name>
- <design:position>31</design:position>
+ <design:position>28</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1753,7 +1654,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_HorsVrac</design:name>
- <design:position>32</design:position>
+ <design:position>29</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1769,7 +1670,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_HorsVrac_Calcule</design:name>
- <design:position>33</design:position>
+ <design:position>30</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1785,7 +1686,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Non_Trie</design:name>
- <design:position>34</design:position>
+ <design:position>31</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1801,7 +1702,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Non_Trie_Calcule</design:name>
- <design:position>35</design:position>
+ <design:position>32</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1817,7 +1718,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Tremis</design:name>
- <design:position>36</design:position>
+ <design:position>33</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1833,7 +1734,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Tremis_Calcule</design:name>
- <design:position>37</design:position>
+ <design:position>34</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1849,7 +1750,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Carroussel</design:name>
- <design:position>38</design:position>
+ <design:position>35</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1865,7 +1766,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Carroussel_Calcule</design:name>
- <design:position>39</design:position>
+ <design:position>36</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1881,7 +1782,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece</design:name>
- <design:position>40</design:position>
+ <design:position>37</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1897,7 +1798,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_Calcule</design:name>
- <design:position>41</design:position>
+ <design:position>38</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1913,7 +1814,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_Vrac</design:name>
- <design:position>42</design:position>
+ <design:position>39</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1929,7 +1830,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_Vrac_Calcule</design:name>
- <design:position>43</design:position>
+ <design:position>40</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1945,7 +1846,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_Vrac_Trie</design:name>
- <design:position>44</design:position>
+ <design:position>41</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1961,7 +1862,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_Vrac_Trie_Calcule</design:name>
- <design:position>45</design:position>
+ <design:position>42</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1977,7 +1878,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_HorsVrac</design:name>
- <design:position>46</design:position>
+ <design:position>43</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -1993,7 +1894,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_HorsVrac_Calcule</design:name>
- <design:position>47</design:position>
+ <design:position>44</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2009,7 +1910,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_Inerte_Trie</design:name>
- <design:position>48</design:position>
+ <design:position>45</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2025,7 +1926,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_Inerte_Trie_Calcule</design:name>
- <design:position>49</design:position>
+ <design:position>46</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2041,7 +1942,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_Vivant_non_detaille_trie</design:name>
- <design:position>50</design:position>
+ <design:position>47</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2057,7 +1958,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Espece_Vivant_non_detaille_trie_Calcule</design:name>
- <design:position>51</design:position>
+ <design:position>48</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2073,7 +1974,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos</design:name>
- <design:position>52</design:position>
+ <design:position>49</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2089,7 +1990,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_Calcule</design:name>
- <design:position>53</design:position>
+ <design:position>50</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2105,7 +2006,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_Vrac</design:name>
- <design:position>54</design:position>
+ <design:position>51</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2121,7 +2022,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_Vrac_Calcule</design:name>
- <design:position>55</design:position>
+ <design:position>52</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2137,7 +2038,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_Vrac_Trie</design:name>
- <design:position>56</design:position>
+ <design:position>53</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2153,7 +2054,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_Vrac_Trie_Calcule</design:name>
- <design:position>57</design:position>
+ <design:position>54</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2169,7 +2070,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_HorsVrac</design:name>
- <design:position>58</design:position>
+ <design:position>55</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2185,7 +2086,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_HorsVrac_Calcule</design:name>
- <design:position>59</design:position>
+ <design:position>56</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2201,7 +2102,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_Inerte_Trie</design:name>
- <design:position>60</design:position>
+ <design:position>57</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2217,7 +2118,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_Inerte_Trie_Calcule</design:name>
- <design:position>61</design:position>
+ <design:position>58</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2233,7 +2134,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_Vivant_non_detaille_trie</design:name>
- <design:position>62</design:position>
+ <design:position>59</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2249,7 +2150,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule</design:name>
- <design:position>63</design:position>
+ <design:position>60</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2265,7 +2166,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Macro_Dechet</design:name>
- <design:position>64</design:position>
+ <design:position>61</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -2281,7 +2182,7 @@
<design:attributes>
<design:identifier>
<design:name>Poids_Total_Macro_Dechet_Calcule</design:name>
- <design:position>65</design:position>
+ <design:position>62</design:position>
</design:identifier>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -3002,31 +2903,26 @@
</structure>
<structure>
<property name="position">8</property>
- <property name="name">Navire</property>
- <property name="dataType">string</property>
- </structure>
- <structure>
- <property name="position">9</property>
<property name="name">MarineLitterCategory</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">10</property>
+ <property name="position">9</property>
<property name="name">MarineLitterSizeCategory</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">11</property>
+ <property name="position">10</property>
<property name="name">Number</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">12</property>
+ <property name="position">11</property>
<property name="name">Weight</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">13</property>
+ <property name="position">12</property>
<property name="name">Commentaire</property>
<property name="dataType">string</property>
</structure>
@@ -3085,48 +2981,41 @@
</structure>
<structure>
<property name="position">8</property>
- <property name="name">Navire</property>
- <property name="nativeName">Navire</property>
- <property name="dataType">string</property>
- <property name="nativeDataType">12</property>
- </structure>
- <structure>
- <property name="position">9</property>
<property name="name">MarineLitterCategory</property>
<property name="nativeName">MarineLitterCategory</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">10</property>
+ <property name="position">9</property>
<property name="name">MarineLitterSizeCategory</property>
<property name="nativeName">MarineLitterSizeCategory</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">11</property>
+ <property name="position">10</property>
<property name="name">Number</property>
<property name="nativeName">Number</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
- <property name="position">12</property>
+ <property name="position">11</property>
<property name="name">Weight</property>
<property name="nativeName">Weight</property>
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
<structure>
- <property name="position">13</property>
+ <property name="position">12</property>
<property name="name">Commentaire</property>
<property name="nativeName">Commentaire</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
</list-property>
- <xml-property name="queryText"><![CDATA[select "Annee", "Serie", "Serie_Partielle", "Engin", "Code_Station", "Id_Operation", "Poche", "Navire", "MarineLitterCategory", "MarineLitterSizeCategory", "Number", "Weight", "Commentaire" from marineLitter.csv : {"Annee","Annee",INT;"Serie","Serie",STRING;"Serie_Partielle","Serie_Partielle",STRING;"Engin","Engin",STRING;"Code_Station","Code_Station",STRING;"Id_Operation","Id_Operation",INT;"Poche","Poche",STRING;"Navire","Navire",STRING;"MarineLitterCategory","MarineLitterCategory",STRING;"MarineLitterSizeCategory","MarineLitterSizeCategory",STRING;"Number","Number",INT;"Weight","Weight",BIGDECIMAL;"Commentaire","Commentaire",STRING}]]></xml-property>
+ <xml-property name="queryText"><![CDATA[select "Annee", "Serie", "Serie_Partielle", "Engin", "Code_Station", "Id_Operation", "Poche", "MarineLitterCategory", "MarineLitterSizeCategory", "Number", "Weight", "Commentaire" from marineLitter.csv : {"Annee","Annee",INT;"Serie","Serie",STRING;"Serie_Partielle","Serie_Partielle",STRING;"Engin","Engin",STRING;"Code_Station","Code_Station",STRING;"Id_Operation","Id_Operation",INT;"Poche","Poche",STRING;"Navire","Navire",STRING;"MarineLitterCategory","MarineLitterCategory",STRING;"MarineLitterSizeCategory","MarineLitterSizeCategory",STRING;"Number","Number",INT;"Weight","Weight",BIGDECIMAL;"Commentaire","Commentaire",STRING}]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>1.0</Version>
@@ -3233,7 +3122,7 @@
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
- <design:name>Navire</design:name>
+ <design:name>MarineLitterCategory</design:name>
<design:position>8</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
@@ -3241,20 +3130,6 @@
<design:nullability>Unknown</design:nullability>
</design:attributes>
<design:usageHints>
- <design:label>Navire</design:label>
- <design:formattingHints/>
- </design:usageHints>
- </design:resultColumnDefinitions>
- <design:resultColumnDefinitions>
- <design:attributes>
- <design:name>MarineLitterCategory</design:name>
- <design:position>9</design:position>
- <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
- <design:precision>-1</design:precision>
- <design:scale>-1</design:scale>
- <design:nullability>Unknown</design:nullability>
- </design:attributes>
- <design:usageHints>
<design:label>MarineLitterCategory</design:label>
<design:formattingHints/>
</design:usageHints>
@@ -3262,7 +3137,7 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:name>MarineLitterSizeCategory</design:name>
- <design:position>10</design:position>
+ <design:position>9</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
@@ -3276,7 +3151,7 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:name>Number</design:name>
- <design:position>11</design:position>
+ <design:position>10</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
@@ -3290,7 +3165,7 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:name>Weight</design:name>
- <design:position>12</design:position>
+ <design:position>11</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
@@ -3304,7 +3179,7 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:name>Commentaire</design:name>
- <design:position>13</design:position>
+ <design:position>12</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
@@ -3398,16 +3273,16 @@
<text-property name="heading">Poche</text-property>
</structure>
<structure>
- <property name="columnName">Navire</property>
- <property name="analysis">dimension</property>
- <text-property name="heading">Navire</text-property>
- </structure>
- <structure>
<property name="columnName">Code_Taxon</property>
<property name="analysis">measure</property>
<text-property name="heading">Code_Taxon</text-property>
</structure>
<structure>
+ <property name="columnName">Code_Espece_Campagne</property>
+ <property name="analysis">measure</property>
+ <text-property name="heading">Code_Espece_Campagne</text-property>
+ </structure>
+ <structure>
<property name="columnName">Nom_scientifique</property>
<property name="analysis">dimension</property>
<text-property name="heading">Nom_scientifique</text-property>
@@ -3617,6 +3492,11 @@
<property name="analysis">measure</property>
<text-property name="heading">Coef_Elev_Espece_Capture</text-property>
</structure>
+ <structure>
+ <property name="columnName">Coef_Final_Elevation</property>
+ <property name="analysis">measure</property>
+ <text-property name="heading">Coef_Final_Elevation</text-property>
+ </structure>
</list-property>
<list-property name="parameters"/>
<structure name="cachedMetaData">
@@ -3658,13 +3538,13 @@
</structure>
<structure>
<property name="position">8</property>
- <property name="name">Navire</property>
- <property name="dataType">string</property>
+ <property name="name">Code_Taxon</property>
+ <property name="dataType">integer</property>
</structure>
<structure>
<property name="position">9</property>
- <property name="name">Code_Taxon</property>
- <property name="dataType">integer</property>
+ <property name="name">Code_Espece_Campagne</property>
+ <property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
@@ -3878,6 +3758,11 @@
</structure>
<structure>
<property name="position">52</property>
+ <property name="name">Coef_Final_Elevation</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">53</property>
<property name="name">categorisation-du-lot</property>
<property name="dataType">string</property>
</structure>
@@ -3936,19 +3821,19 @@
</structure>
<structure>
<property name="position">8</property>
- <property name="name">Navire</property>
- <property name="nativeName">Navire</property>
- <property name="dataType">string</property>
- <property name="nativeDataType">12</property>
- </structure>
- <structure>
- <property name="position">9</property>
<property name="name">Code_Taxon</property>
<property name="nativeName">Code_Taxon</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
+ <property name="position">9</property>
+ <property name="name">Code_Espece_Campagne</property>
+ <property name="nativeName">Code_Espece_Campagne</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ <structure>
<property name="position">10</property>
<property name="name">Nom_scientifique</property>
<property name="nativeName">Nom_scientifique</property>
@@ -4242,8 +4127,15 @@
<property name="dataType">decimal</property>
<property name="nativeDataType">2</property>
</structure>
+ <structure>
+ <property name="position">52</property>
+ <property name="name">Coef_Final_Elevation</property>
+ <property name="nativeName">Coef_Final_Elevation</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">2</property>
+ </structure>
</list-property>
- <xml-property name="queryText"><![CDATA[select "Annee", "Serie", "Serie_Partielle", "Engin", "Code_Station", "Id_Operation", "Poche", "Navire", "Code_Taxon", "Nom_scientifique", "Commentaire", "V_HV", "Num_Ordre_V_HV_H2", "Tot_V_HV", "Ech_V_HV", "Type_Volume_Poids_V_HV", "Unite_Volume_Poids_V_HV", "Class_Tri_", "Num_Ordre_Class_Tri__H2", "Tot_Class_Tri_", "Ech_Class_Tri_", "Type_Volume_Poids_Class_Tri_", "Unite_Volume_Poids_Class_Tri_", "Sexe", "Num_Ordre_Sexe_H2", "Tot_Sexe", "Ech_Sexe", "Type_Volume_Poids_Sexe", "Unite_Volume_Poids_Sexe", "Maturité", "Num_Ordre_Maturité_H2", "Tot_Maturité", "Ech_Maturité", "Type_Volume_Poids_Maturité", "Unite_Volume_Poids_Maturité", "Age", "Num_Ordre_Age_H2", "Tot_Age", "Ech_Age", "Type_Volume_Poids_Age", "Unite_Volume_Poids_Age", "Code_Longueur", "Libelle_Longueur", "Taille", "NumOrdre_Taille_H2", "Poids_Classe_Taille", "Unite_Taille", "Precision_Mesure", "Nbr", "Poids_Reference", "Coef_Elev_Espece_Capture" from "catch.csv" : {"Annee","Annee",INT;"Serie","Serie",STRING;"Serie_Partielle","Serie_Partielle",STRING;"Engin","Engin",STRING;"Code_Station","Code_Station",STRING;"Id_Operation","Id_Operation",INT;"Poche","Poche",STRING;"Navire","Navire",STRING;"Code_Taxon","Code_Taxon",INT;"Nom_scientifique","Nom_scientifique",STRING;"Commentaire","Commentaire",STRING;"V_HV","V_HV",STRING;"Num_Ordre_V_HV_H2","Num_Ordre_V_HV_H2",INT;"Tot_V_HV","Tot_V_HV",BIGDECIMAL;"Ech_V_HV","Ech_V_HV",BIGDECIMAL;"Type_Volume_Poids_V_HV","Type_Volume_Poids_V_HV",STRING;"Unite_Volume_Poids_V_HV","Unite_Volume_Poids_V_HV",STRING;"Class_Tri_","Class_Tri_",STRING;"Num_Ordre_Class_Tri__H2","Num_Ordre_Class_Tri__H2",INT;"Tot_Class_Tri_","Tot_Class_Tri_",BIGDECIMAL;"Ech_Class_Tri_","Ech_Class_Tri_",BIGDECIMAL;"Type_Volume_Poids_Class_Tri_","Type_Volume_Poids_Class_Tri_",STRING;"Unite_Volume_Poids_Class_Tri_","Unite_Volume_Poids_Class_Tri_",STRING;"Sexe","Sexe",STRING;"Num_Ordre_Sexe_H2","Num_Ordre_Sexe_H2",INT;"Tot_Sexe","Tot_Sexe",BIGDECIMAL;"Ech_Sexe","Ech_Sexe",BIGDECIMAL;"Type_Volume_Poids_Sexe","Type_Volume_Poids_Sexe",STRING;"Unite_Volume_Poids_Sexe","Unite_Volume_Poids_Sexe",STRING;"Maturité","Maturité",STRING;"Num_Ordre_Maturité_H2","Num_Ordre_Maturité_H2",INT;"Tot_Maturité","Tot_Maturité",BIGDECIMAL;"Ech_Maturité","Ech_Maturité",BIGDECIMAL;"Type_Volume_Poids_Maturité","Type_Volume_Poids_Maturité",STRING;"Unite_Volume_Poids_Maturité","Unite_Volume_Poids_Maturité",STRING;"Age","Age",STRING;"Num_Ordre_Age_H2","Num_Ordre_Age_H2",INT;"Tot_Age","Tot_Age",BIGDECIMAL;"Ech_Age","Ech_Age",BIGDECIMAL;"Type_Volume_Poids_Age","Type_Volume_Poids_Age",STRING;"Unite_Volume_Poids_Age","Unite_Volume_Poids_Age",STRING;"Code_Longueur","Code_Longueur",INT;"Libelle_Longueur","Libelle_Longueur",STRING;"Taille","Taille",BIGDECIMAL;"NumOrdre_Taille_H2","NumOrdre_Taille_H2",INT;"Poids_Classe_Taille","Poids_Classe_Taille",BIGDECIMAL;"Unite_Taille","Unite_Taille",STRING;"Precision_Mesure","Precision_Mesure",BIGDECIMAL;"Nbr","Nbr",INT;"Poids_Reference","Poids_Reference",BIGDECIMAL;"Coef_Elev_Espece_Capture","Coef_Elev_Espece_Capture",BIGDECIMAL}]]></xml-property>
+ <xml-property name="queryText"><![CDATA[select "Annee", "Serie", "Serie_Partielle", "Engin", "Code_Station", "Id_Operation", "Poche", "Code_Taxon", "Code_Espece_Campagne", "Nom_scientifique", "Commentaire", "V_HV", "Num_Ordre_V_HV_H2", "Tot_V_HV", "Ech_V_HV", "Type_Volume_Poids_V_HV", "Unite_Volume_Poids_V_HV", "Class_Tri_", "Num_Ordre_Class_Tri__H2", "Tot_Class_Tri_", "Ech_Class_Tri_", "Type_Volume_Poids_Class_Tri_", "Unite_Volume_Poids_Class_Tri_", "Sexe", "Num_Ordre_Sexe_H2", "Tot_Sexe", "Ech_Sexe", "Type_Volume_Poids_Sexe", "Unite_Volume_Poids_Sexe", "Maturité", "Num_Ordre_Maturité_H2", "Tot_Maturité", "Ech_Maturité", "Type_Volume_Poids_Maturité", "Unite_Volume_Poids_Maturité", "Age", "Num_Ordre_Age_H2", "Tot_Age", "Ech_Age", "Type_Volume_Poids_Age", "Unite_Volume_Poids_Age", "Code_Longueur", "Libelle_Longueur", "Taille", "NumOrdre_Taille_H2", "Poids_Classe_Taille", "Unite_Taille", "Precision_Mesure", "Nbr", "Poids_Reference", "Coef_Elev_Espece_Capture", "Coef_Final_Elevation" from "catch.csv" : {"Annee","Annee",INT;"Serie","Serie",STRING;"Serie_Partielle","Serie_Partielle",STRING;"Engin","Engin",STRING;"Code_Station","Code_Station",STRING;"Id_Operation","Id_Operation",INT;"Poche","Poche",STRING;"Code_Taxon","Code_Taxon",INT;"Code_Espece_Campagne","Code_Espece_Campagne",STRING;"Nom_scientifique","Nom_scientifique",STRING;"Commentaire","Commentaire",STRING;"V_HV","V_HV",STRING;"Num_Ordre_V_HV_H2","Num_Ordre_V_HV_H2",INT;"Tot_V_HV","Tot_V_HV",BIGDECIMAL;"Ech_V_HV","Ech_V_HV",BIGDECIMAL;"Type_Volume_Poids_V_HV","Type_Volume_Poids_V_HV",STRING;"Unite_Volume_Poids_V_HV","Unite_Volume_Poids_V_HV",STRING;"Class_Tri_","Class_Tri_",STRING;"Num_Ordre_Class_Tri__H2","Num_Ordre_Class_Tri__H2",INT;"Tot_Class_Tri_","Tot_Class_Tri_",BIGDECIMAL;"Ech_Class_Tri_","Ech_Class_Tri_",BIGDECIMAL;"Type_Volume_Poids_Class_Tri_","Type_Volume_Poids_Class_Tri_",STRING;"Unite_Volume_Poids_Class_Tri_","Unite_Volume_Poids_Class_Tri_",STRING;"Sexe","Sexe",STRING;"Num_Ordre_Sexe_H2","Num_Ordre_Sexe_H2",INT;"Tot_Sexe","Tot_Sexe",BIGDECIMAL;"Ech_Sexe","Ech_Sexe",BIGDECIMAL;"Type_Volume_Poids_Sexe","Type_Volume_Poids_Sexe",STRING;"Unite_Volume_Poids_Sexe","Unite_Volume_Poids_Sexe",STRING;"Maturité","Maturité",STRING;"Num_Ordre_Maturité_H2","Num_Ordre_Maturité_H2",INT;"Tot_Maturité","Tot_Maturité",BIGDECIMAL;"Ech_Maturité","Ech_Maturité",BIGDECIMAL;"Type_Volume_Poids_Maturité","Type_Volume_Poids_Maturité",STRING;"Unite_Volume_Poids_Maturité","Unite_Volume_Poids_Maturité",STRING;"Age","Age",STRING;"Num_Ordre_Age_H2","Num_Ordre_Age_H2",INT;"Tot_Age","Tot_Age",BIGDECIMAL;"Ech_Age","Ech_Age",BIGDECIMAL;"Type_Volume_Poids_Age","Type_Volume_Poids_Age",STRING;"Unite_Volume_Poids_Age","Unite_Volume_Poids_Age",STRING;"Code_Longueur","Code_Longueur",INT;"Libelle_Longueur","Libelle_Longueur",STRING;"Taille","Taille",BIGDECIMAL;"NumOrdre_Taille_H2","NumOrdre_Taille_H2",INT;"Poids_Classe_Taille","Poids_Classe_Taille",BIGDECIMAL;"Unite_Taille","Unite_Taille",STRING;"Precision_Mesure","Precision_Mesure",BIGDECIMAL;"Nbr","Nbr",INT;"Poids_Reference","Poids_Reference",BIGDECIMAL;"Coef_Elev_Espece_Capture","Coef_Elev_Espece_Capture",BIGDECIMAL; "Coef_Final_Elevation","Coef_Final_Elevation",BIGDECIMAL}]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>2.0</Version>
@@ -4365,32 +4257,32 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:identifier>
- <design:name>Navire</design:name>
+ <design:name>Code_Taxon</design:name>
<design:position>8</design:position>
</design:identifier>
- <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
+ <design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
<design:nullability>Unknown</design:nullability>
</design:attributes>
<design:usageHints>
- <design:label>Navire</design:label>
+ <design:label>Code_Taxon</design:label>
<design:formattingHints/>
</design:usageHints>
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
<design:identifier>
- <design:name>Code_Taxon</design:name>
+ <design:name>Code_Espece_Campagne</design:name>
<design:position>9</design:position>
</design:identifier>
- <design:nativeDataTypeCode>4</design:nativeDataTypeCode>
+ <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
<design:nullability>Unknown</design:nullability>
</design:attributes>
<design:usageHints>
- <design:label>Code_Taxon</design:label>
+ <design:label>Code_Espece_Campagne</design:label>
<design:formattingHints/>
</design:usageHints>
</design:resultColumnDefinitions>
@@ -5066,6 +4958,22 @@
<design:formattingHints/>
</design:usageHints>
</design:resultColumnDefinitions>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:identifier>
+ <design:name>Coef_Final_Elevation</design:name>
+ <design:position>52</design:position>
+ </design:identifier>
+ <design:nativeDataTypeCode>2</design:nativeDataTypeCode>
+ <design:precision>-1</design:precision>
+ <design:scale>-1</design:scale>
+ <design:nullability>Unknown</design:nullability>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>Coef_Final_Elevation</design:label>
+ <design:formattingHints/>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
</design:resultSetColumns>
</design:resultSetDefinitions>
</design:ResultSets>
@@ -5247,36 +5155,31 @@
</structure>
<structure>
<property name="position">8</property>
- <property name="name">Navire</property>
- <property name="dataType">string</property>
- </structure>
- <structure>
- <property name="position">9</property>
<property name="name">BatchId</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">10</property>
+ <property name="position">9</property>
<property name="name">ReferenceTaxonId</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">11</property>
+ <property name="position">10</property>
<property name="name">ReferenceTaxonName</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">12</property>
+ <property name="position">11</property>
<property name="name">Commentaire</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">13</property>
+ <property name="position">12</property>
<property name="name">CaracteristicId</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">14</property>
+ <property name="position">13</property>
<property name="name">CaracteristicValue</property>
<property name="dataType">string</property>
</structure>
@@ -5336,55 +5239,48 @@
</structure>
<structure>
<property name="position">8</property>
- <property name="name">Navire</property>
- <property name="nativeName">Navire</property>
- <property name="dataType">string</property>
- <property name="nativeDataType">12</property>
- </structure>
- <structure>
- <property name="position">9</property>
<property name="name">BatchId</property>
<property name="nativeName">BatchId</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
- <property name="position">10</property>
+ <property name="position">9</property>
<property name="name">ReferenceTaxonId</property>
<property name="nativeName">ReferenceTaxonId</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
- <property name="position">11</property>
+ <property name="position">10</property>
<property name="name">ReferenceTaxonName</property>
<property name="nativeName">ReferenceTaxonName</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">12</property>
+ <property name="position">11</property>
<property name="name">Commentaire</property>
<property name="nativeName">Commentaire</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
- <property name="position">13</property>
+ <property name="position">12</property>
<property name="name">CaracteristicId</property>
<property name="nativeName">CaracteristicId</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
- <property name="position">14</property>
+ <property name="position">13</property>
<property name="name">CaracteristicValue</property>
<property name="nativeName">CaracteristicValue</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
</list-property>
- <xml-property name="queryText"><![CDATA[select "Annee", "Serie", "Serie_Partielle", "Engin", "Code_Station", "Id_Operation", "Poche", "Navire", "BatchId", "ReferenceTaxonId", "ReferenceTaxonName", "Commentaire", "CaracteristicId", "CaracteristicValue" from accidentalCatch.csv : {"Annee","Annee",INT;"Serie","Serie",STRING;"Serie_Partielle","Serie_Partielle",STRING;"Engin","Engin",STRING;"Code_Station","Code_Station",STRING;"Id_Operation","Id_Operation",INT;"Poche","Poche",STRING;"Navire","Navire",STRING;"BatchId","BatchId",INT;"ReferenceTaxonId","ReferenceTaxonId",INT;"ReferenceTaxonName","ReferenceTaxonName",STRING;"Commentaire","Commentaire",STRING;"CaracteristicId","CaracteristicId",INT;"CaracteristicValue","CaracteristicValue",STRING}]]></xml-property>
+ <xml-property name="queryText"><![CDATA[select "Annee", "Serie", "Serie_Partielle", "Engin", "Code_Station", "Id_Operation", "Poche", "BatchId", "ReferenceTaxonId", "ReferenceTaxonName", "Commentaire", "CaracteristicId", "CaracteristicValue" from accidentalCatch.csv : {"Annee","Annee",INT;"Serie","Serie",STRING;"Serie_Partielle","Serie_Partielle",STRING;"Engin","Engin",STRING;"Code_Station","Code_Station",STRING;"Id_Operation","Id_Operation",INT;"Poche","Poche",STRING;;"BatchId","BatchId",INT;"ReferenceTaxonId","ReferenceTaxonId",INT;"ReferenceTaxonName","ReferenceTaxonName",STRING;"Commentaire","Commentaire",STRING;"CaracteristicId","CaracteristicId",INT;"CaracteristicValue","CaracteristicValue",STRING}]]></xml-property>
<xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
<Version>1.0</Version>
@@ -5491,22 +5387,8 @@
</design:resultColumnDefinitions>
<design:resultColumnDefinitions>
<design:attributes>
- <design:name>Navire</design:name>
- <design:position>8</design:position>
- <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
- <design:precision>-1</design:precision>
- <design:scale>-1</design:scale>
- <design:nullability>Unknown</design:nullability>
- </design:attributes>
- <design:usageHints>
- <design:label>Navire</design:label>
- <design:formattingHints/>
- </design:usageHints>
- </design:resultColumnDefinitions>
- <design:resultColumnDefinitions>
- <design:attributes>
<design:name>BatchId</design:name>
- <design:position>9</design:position>
+ <design:position>8</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
@@ -5520,7 +5402,7 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ReferenceTaxonId</design:name>
- <design:position>10</design:position>
+ <design:position>9</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
@@ -5534,7 +5416,7 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:name>ReferenceTaxonName</design:name>
- <design:position>11</design:position>
+ <design:position>10</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
@@ -5548,7 +5430,7 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:name>Commentaire</design:name>
- <design:position>12</design:position>
+ <design:position>11</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
@@ -5562,7 +5444,7 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CaracteristicId</design:name>
- <design:position>13</design:position>
+ <design:position>12</design:position>
<design:nativeDataTypeCode>4</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
@@ -5576,7 +5458,7 @@
<design:resultColumnDefinitions>
<design:attributes>
<design:name>CaracteristicValue</design:name>
- <design:position>14</design:position>
+ <design:position>13</design:position>
<design:nativeDataTypeCode>12</design:nativeDataTypeCode>
<design:precision>-1</design:precision>
<design:scale>-1</design:scale>
@@ -5622,15 +5504,15 @@
<property name="columnName">catch::Poche</property>
<property name="alias">Poche</property>
</structure>
- <structure>
- <property name="columnName">catch::Navire</property>
- <property name="alias">Navire</property>
- </structure>
- <structure>
+ <structure>
<property name="columnName">catch::Code_Taxon</property>
<property name="alias">Code_Taxon</property>
</structure>
<structure>
+ <property name="columnName">catch::Code_Espece_Campagne</property>
+ <property name="alias">Code_Espece_Campagne</property>
+ </structure>
+ <structure>
<property name="columnName">catch::Nom_scientifique</property>
<property name="alias">Nom_scientifique</property>
</structure>
@@ -5799,6 +5681,10 @@
<property name="alias">Coef_Elev_Espece_Capture</property>
</structure>
<structure>
+ <property name="columnName">catch::Coef_Final_Elevation</property>
+ <property name="alias">Coef_Final_Elevation</property>
+ </structure>
+ <structure>
<property name="columnName">catch::categorisation-du-lot</property>
<property name="alias">categorisation-du-lot</property>
</structure>
@@ -5862,251 +5748,246 @@
</structure>
<structure>
<property name="position">8</property>
- <property name="name">Navire</property>
- <property name="dataType">string</property>
- </structure>
- <structure>
- <property name="position">9</property>
<property name="name">Code_Taxon</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">10</property>
+ <property name="position">9</property>
<property name="name">Nom_scientifique</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">11</property>
+ <property name="position">10</property>
<property name="name">Commentaire</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">12</property>
+ <property name="position">11</property>
<property name="name">V_HV</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">13</property>
+ <property name="position">12</property>
<property name="name">Num_Ordre_V_HV_H2</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">14</property>
+ <property name="position">13</property>
<property name="name">Tot_V_HV</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">15</property>
+ <property name="position">14</property>
<property name="name">Ech_V_HV</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">16</property>
+ <property name="position">15</property>
<property name="name">Type_Volume_Poids_V_HV</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">17</property>
+ <property name="position">16</property>
<property name="name">Unite_Volume_Poids_V_HV</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">18</property>
+ <property name="position">17</property>
<property name="name">Class_Tri_</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">19</property>
+ <property name="position">18</property>
<property name="name">Num_Ordre_Class_Tri__H2</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">20</property>
+ <property name="position">19</property>
<property name="name">Tot_Class_Tri_</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">21</property>
+ <property name="position">20</property>
<property name="name">Ech_Class_Tri_</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">22</property>
+ <property name="position">21</property>
<property name="name">Type_Volume_Poids_Class_Tri_</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">23</property>
+ <property name="position">22</property>
<property name="name">Unite_Volume_Poids_Class_Tri_</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">24</property>
+ <property name="position">23</property>
<property name="name">Sexe</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">25</property>
+ <property name="position">24</property>
<property name="name">Num_Ordre_Sexe_H2</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">26</property>
+ <property name="position">25</property>
<property name="name">Tot_Sexe</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">27</property>
+ <property name="position">26</property>
<property name="name">Ech_Sexe</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">28</property>
+ <property name="position">27</property>
<property name="name">Type_Volume_Poids_Sexe</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">29</property>
+ <property name="position">28</property>
<property name="name">Unite_Volume_Poids_Sexe</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">30</property>
+ <property name="position">29</property>
<property name="name">Maturité</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">31</property>
+ <property name="position">30</property>
<property name="name">Num_Ordre_Maturité_H2</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">32</property>
+ <property name="position">31</property>
<property name="name">Tot_Maturité</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">33</property>
+ <property name="position">32</property>
<property name="name">Ech_Maturité</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">34</property>
+ <property name="position">33</property>
<property name="name">Type_Volume_Poids_Maturité</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">35</property>
+ <property name="position">34</property>
<property name="name">Unite_Volume_Poids_Maturité</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">36</property>
+ <property name="position">35</property>
<property name="name">Age</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">37</property>
+ <property name="position">36</property>
<property name="name">Num_Ordre_Age_H2</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">38</property>
+ <property name="position">37</property>
<property name="name">Tot_Age</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">39</property>
+ <property name="position">38</property>
<property name="name">Ech_Age</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">40</property>
+ <property name="position">39</property>
<property name="name">Type_Volume_Poids_Age</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">41</property>
+ <property name="position">40</property>
<property name="name">Unite_Volume_Poids_Age</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">42</property>
+ <property name="position">41</property>
<property name="name">Code_Longueur</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">43</property>
+ <property name="position">42</property>
<property name="name">Libelle_Longueur</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">44</property>
+ <property name="position">43</property>
<property name="name">Taille</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">45</property>
+ <property name="position">44</property>
<property name="name">NumOrdre_Taille_H2</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">46</property>
+ <property name="position">45</property>
<property name="name">Poids_Classe_Taille</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">47</property>
+ <property name="position">46</property>
<property name="name">Unite_Taille</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">48</property>
+ <property name="position">47</property>
<property name="name">Precision_Mesure</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">49</property>
+ <property name="position">48</property>
<property name="name">Nbr</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">50</property>
+ <property name="position">49</property>
<property name="name">Poids_Reference</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">51</property>
+ <property name="position">50</property>
<property name="name">Coef_Elev_Espece_Capture</property>
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="position">52</property>
+ <property name="position">51</property>
<property name="name">categorisation-du-lot</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">53</property>
+ <property name="position">52</property>
<property name="name">species-Id</property>
<property name="dataType">integer</property>
</structure>
<structure>
- <property name="position">54</property>
+ <property name="position">53</property>
<property name="name">species-Code_Rubin</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">55</property>
+ <property name="position">54</property>
<property name="name">species-Nom Scientifique</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">56</property>
+ <property name="position">55</property>
<property name="name">species-Code campagne</property>
<property name="dataType">string</property>
</structure>
<structure>
- <property name="position">57</property>
+ <property name="position">56</property>
<property name="name">species-lib</property>
<property name="dataType">string</property>
</structure>
@@ -6516,24 +6397,6 @@
<property name="dataType">decimal</property>
</structure>
<structure>
- <property name="name">Ouv_Verticale</property>
- <text-property name="displayName">Ouv_Verticale</text-property>
- <expression name="expression" type="javascript">dataSetRow["Ouv_Verticale"]</expression>
- <property name="dataType">string</property>
- </structure>
- <structure>
- <property name="name">Ouv_Horizontale_Ailes</property>
- <text-property name="displayName">Ouv_Horizontale_Ailes</text-property>
- <expression name="expression" type="javascript">dataSetRow["Ouv_Horizontale_Ailes"]</expression>
- <property name="dataType">string</property>
- </structure>
- <structure>
- <property name="name">Ouv_Horizontale_Panneaux</property>
- <text-property name="displayName">Ouv_Horizontale_Panneaux</text-property>
- <expression name="expression" type="javascript">dataSetRow["Ouv_Horizontale_Panneaux"]</expression>
- <property name="dataType">string</property>
- </structure>
- <structure>
<property name="name">Saisisseur</property>
<text-property name="displayName">Saisisseur</text-property>
<expression name="expression" type="javascript">dataSetRow["Saisisseur"]</expression>
@@ -7323,7 +7186,7 @@
</text-data>
</cell>
</row>
- <row id="2963">
+ <!--row id="2963">
<cell id="2964">
<label id="2965">
<property name="style">label-general</property>
@@ -7336,7 +7199,7 @@
<property name="resultSetColumn">Navire</property>
</data>
</cell>
- </row>
+ </row-->
<row id="2967">
<cell id="2968">
<label id="2969">
@@ -7382,7 +7245,7 @@
</grid>
</cell>
</row>
- <row id="2979">
+ <!--row id="2979">
<cell id="2980">
<label id="2981">
<property name="style">label-sous-title</property>
@@ -7436,7 +7299,7 @@
</row>
</grid>
</cell>
- </row>
+ </row-->
<row id="2996">
<cell id="2997">
<label id="2998">
@@ -8279,17 +8142,22 @@
<expression name="expression">dataSetRow["Poche"]</expression>
<property name="dataType">string</property>
</structure>
- <structure>
+ <!--structure>
<property name="name">Navire</property>
<expression name="expression">dataSetRow["Navire"]</expression>
<property name="dataType">string</property>
- </structure>
+ </structure-->
<structure>
<property name="name">Code_Taxon</property>
<expression name="expression">dataSetRow["Code_Taxon"]</expression>
<property name="dataType">integer</property>
</structure>
<structure>
+ <property name="name">Code_Espece_Campagne</property>
+ <expression name="expression">dataSetRow["Code_Espece_Campagne"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
<property name="name">Nom_scientifique</property>
<expression name="expression">dataSetRow["Nom_scientifique"]</expression>
<property name="dataType">string</property>
@@ -8500,6 +8368,11 @@
<property name="dataType">decimal</property>
</structure>
<structure>
+ <property name="name">Coef_Final_Elevation</property>
+ <expression name="expression">dataSetRow["Coef_Final_Elevation"]</expression>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
<property name="name">sumNbr</property>
<property name="dataType">float</property>
<simple-property-list name="aggregateOn">
@@ -10444,11 +10317,11 @@
<expression name="expression">dataSetRow["Poche"]</expression>
<property name="dataType">string</property>
</structure>
- <structure>
+ <!--structure>
<property name="name">Navire</property>
<expression name="expression">dataSetRow["Navire"]</expression>
<property name="dataType">string</property>
- </structure>
+ </structure-->
<structure>
<property name="name">MarineLitterCategory</property>
<expression name="expression">dataSetRow["MarineLitterCategory"]</expression>
@@ -10641,11 +10514,11 @@
<expression name="expression">dataSetRow["Poche"]</expression>
<property name="dataType">string</property>
</structure>
- <structure>
+ <!--structure>
<property name="name">Navire</property>
<expression name="expression">dataSetRow["Navire"]</expression>
<property name="dataType">string</property>
- </structure>
+ </structure-->
<structure>
<property name="name">BatchId</property>
<expression name="expression">dataSetRow["BatchId"]</expression>
1
0
Jan. 20, 2014
Author: lkaufmann
Date: 2014-01-20 16:12:33 +0100 (Mon, 20 Jan 2014)
New Revision: 1513
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1513
Log:
Refs #4138. Add screen/database mappings into help
Added:
trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html
Modified:
trunk/tutti-ui-swing/src/main/help/fr/genericExport.html
trunk/tutti-ui-swing/src/main/help/fr/index.html
trunk/tutti-ui-swing/src/main/help/fr/navbar.js
Added: trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html (rev 0)
+++ trunk/tutti-ui-swing/src/main/help/fr/dbMapping.html 2014-01-20 15:12:33 UTC (rev 1513)
@@ -0,0 +1,2418 @@
+<!DOCTYPE html>
+<html lang="fr">
+<head>
+ <!--
+ #%L
+ Tutti :: UI
+ $Id: dbManager.html 1487 2014-01-15 12:45:59Z lkaufmann $
+ $HeadURL: http://svn.forge.codelutin.com/svn/tutti/trunk/tutti-ui-swing/src/main/help… $
+ %%
+ Copyright (C) 2012 - 2013 Ifremer
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
+ #L%
+ -->
+ <meta charset="utf-8">
+
+ <title>Allegro Campagne - Gérer la base de données</title>
+ <link href="../css/bootstrap.min.css" rel="stylesheet">
+ <link href="../css/style.css" rel="stylesheet">
+ <script type="text/javascript" src="../js/jquery-2.0.3.min.js"></script>
+ <script type="text/javascript" src="../js/bootstrap.min.js"></script>
+ <script type="text/javascript" src="navbar.js"></script>
+</head>
+<body>
+
+ <div class="container">
+ <div class="page-header">
+ <h1>Gérer la base de données</h1>
+ </div>
+
+ <p>Cette page décrit comment sont stockées les informations visibles dans les écrans de l'application.</p>
+
+ <h2>Série de campagnes</h2>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Nom</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td>
+ <p>Program.name (PROGRAM.NAME)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Zone</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Provenant d'un référentiel des zones d'études des campagnes halieutiques.</p>
+ </td>
+ <td>
+ <p>Program.locations (PROGRAM2LOCATION.LOCATION_FK)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Description</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td>
+ <p>Program.description (PROGRAM.DESCRIPTION)</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h2>Campagne</h2>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th colspan="2">Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Série</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi les séries de campagne existantes dans la base.</p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.program (SCIENTIFIC_CRUISE.PROGRAM_FK)</p>
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="2">
+ <p>Année</p>
+ </td>
+ <td rowspan="2">
+ <p> </p>
+ </td>
+ <td rowspan="2">
+ <p> </p>
+ </td>
+ <td>
+ <p>En lecture</p>
+ </td>
+ <td >
+ <p>year(ScientificCruise.departureDateTime) (SCIENTIFIC_CRUISE.DEPARTURE_DATE_TIME) </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>En écriture</p>
+ </td>
+ <td >
+ <p>pas de stockage (car doit logiquement être compatible avec ScientificCruise.departureDateTime)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Série partielle</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.fishingTrip.surveyMeasurement (SURVEY_MEASUREMENT.ALPHA_NUMERICAL_VALUE, avec PMFM_FK=<PmfmId.SURVEY_PART>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Name</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.name (SCIENTIFIC_CRUISE.NAME)</p>
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="2">
+ <p>Nombre de poches</p>
+ </td>
+ <td rowspan="2">
+ <p>X</p>
+ </td>
+ <td rowspan="2">
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>En lecture</p>
+ </td>
+ <td>
+ <p>récupération de la plus grande valeur dans ScientificCruise.fishingTrip.gearPhysicalFeatures.gearPhysicalMeasurement.numericalvalue (GEAR_PHYSICAL_MEASURMENT.NUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_MULTIRIG_NUMBER>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>En écriture</p>
+ </td>
+ <td>
+ <p>valeur dupliquée pour chaque engin (voir "Engin(s)" ci-dessous) dans ScientificCruise.fishingTrip.gearPhysicalFeatures.gearPhysicalMeasurement.numericalvalue (GEAR_PHYSICAL_MEASURMENT.NUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_MULTIRIG_NUMBER>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Port de départ</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi une liste finie provenant d'un référentiel d'Harmonie.</p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.fishingTrip.departureLocation (FISHING_TRIP.DEPARTURE_LOCATION_FK) avec le lien avec la campagne via SCIENTIFIC_CRUISE_FK)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Port d'arrivée</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi une liste finie provenant d'un référentiel d'Harmonie.</p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.fishingTrip.returnLocation (FISHING_TRIP.RETURN_LOCATION_FK) avec le lien avec la campagne via SCIENTIFIC_CRUISE_FK)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Date de début</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Date (JJ/MM/AAAA)</p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.departureDateTime (SCIENTIFIC_CRUISE.DEPARTURE_DATE_TIME)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Date de fin</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Date (JJ/MM/AAAA)</p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.returnDateTime (SCIENTIFIC_CRUISE.RETURN_DATE_TIME)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Navire</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi les navires existants en base</p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.vessel (SCIENTIFIC_CRUISE.VESSEL_FK)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Engin(s)</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Fonctionnement via le principe de la double liste. Les éléments sont à sélectionner parmi la première liste, et sont ajoutés dans la seconde liste à leur sélection.</p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.fishingTrip.gearPhysicalFeatures.gear (GEAR_PHYSICAL_FEATURES.GEAR_FK avec RANK_ORDER=<n° d'ordre dans la liste>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Chef(s) de mission</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Fonctionnement via le principe de la double liste. Les éléments sont à sélectionner parmi la première liste, et sont ajoutés dans la seconde liste à leur sélection.</p>
+ </td>
+ <td colspan="2">
+ <p>La première personne de la liste est stockée sous ScientificCruise.manager (SCIENTIFIC_CRUISE.MANAGER_PERSON_FK) Pour les autres personnes, ScientificCruise.fishingTrip.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_de_campagne></p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Responsable(s) de salle de tri</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Fonctionnement via le principe de la double liste. Les éléments sont à sélectionner parmi la première liste, et sont ajoutés dans la seconde liste à leur sélection.</p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.fishingTrip.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_salle_de_tri></p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Commentaire</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td colspan="2">
+ <p>ScientificCruise.comments (SCIENTIFIC_CRUISE.COMMENTS)</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h2>Protocole</h2>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Nom</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td>
+ <p>TuttiProtocol.name (persisté dans le fichier)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Commentaire</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td>
+ <p>TuttiProtocol.comment (persisté dans le fichier)</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>Protocoles - Caractéristiques</h3>
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Classes de taille</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Fonctionnement via le principe de la double liste. Les éléments sont à sélectionner parmi la première liste, et sont ajoutés dans la seconde liste à leur sélection.</p>
+ </td>
+ <td rowspan="4">
+ <p>On récupère la liste de tous les pmfm que l'on répartit dans les différents onglets. Chaque pmfm ne peut être sélectionné que dans une seule liste.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mise en œuvre de l'engin</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Fonctionnement via le principe de la double liste. Les éléments sont à sélectionner parmi la première liste, et sont ajoutés dans la seconde liste à leur sélection.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Observations individuelles</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Fonctionnement via le principe de la double liste. Les éléments sont à sélectionner parmi la première liste, et sont ajoutés dans la seconde liste à leur sélection.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Autres caractéristiques</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Fonctionnement via le principe de la double liste. Les éléments sont à sélectionner parmi la première liste, et sont ajoutés dans la seconde liste à leur sélection.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>Espèces</h3>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th colspan="2">Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td colspan="2">
+ <p>Espèce sélectionné</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste</p>
+ </td>
+ <td>
+ <p>La liste des espèces référent non encore utilisés. Note: cette liste est partagée sur les deux onglets espèces - benthos).</p>
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="10">
+ <p>Tableau</p>
+ </td>
+ <td>
+ <p>Espèce</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Lecture seule</p>
+ </td>
+ <td rowspan="10">
+ <p>Chaque ligne du tableau est stockée sous la forme d'un SpeciesProtocol : TuttiProtocol.species.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Code campagne</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mode de mensuration</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Pesée</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Dénombrement</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Class Tri.</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Sexe</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Maturité</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Age</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Prélèvement de pièces calcaires</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>Benthos</h3>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th colspan="2" >Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th colspan="2">Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td colspan="2">
+ <p>Espèce sélectionné</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste</p>
+ </td>
+ <td>
+ <p>La liste des espèces référent non encore utilisés. Note: cette liste est partagée sur les deux onglets espèces - benthos).</p>
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="10">
+ <p>Tableau</p>
+ </td>
+ <td>
+ <p>Espèce</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Lecture seule</p>
+ </td>
+ <td rowspan="10">
+ <p>Chaque ligne du tableau est stockée sous la forme d'un SpeciesProtocol : TuttiProtocol.species.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Code campagne</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mode de mensuration</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Pesée</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Dénombrement</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Class Tri.</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Sexe</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Maturité</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Age</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Prélèvement de pièces calcaires</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h2>Trait</h2>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Code Station</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td>
+ <p>Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.ALPHANUMERICAL_VALUE avec PMFM_FK=<PmfmId.STATION_NUMBER>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Numéro de Trait</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Operation.name (OPERATION.NAME) : ajouté à la fin du "name", derrière le code de l'engin, pour rester compatible avec le format des données historiques.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Numéro de poche</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Liste des poches observées Operation.gearUseFeatures.gearUseMeasurement (GEAR_USE_MEASUREMENT.ALPHANUMERICAL_VALUE avec PMFM_FK=<PmfmId.MULTIRIG_AGGREGATION>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Strate</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Les valeurs de ce champ sont issues d'un référentiel.</p>
+ </td>
+ <td>
+ <p>Operation.gearUseFeatures.fishingArea.regulationLocation (FISHING_AREA2REG_LOCATION.LOCATION_FK associé au FISHING_AREA de l'opération) En lecture : sélection en tant que localité à partir du locationLevel (LOCATION.LOCATION_LEVEL_FK=<LocationLevelId.STRATA>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Sous strate</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Les valeurs de ce champ sont issues d'un référentiel.</p>
+ </td>
+ <td>
+ <p>Operation.gearUseFeatures.fishingArea.regulationLocation (FISHING_AREA2REG_LOCATION.LOCATION_FK associé au FISHING_AREA de l'opération) En lecture : sélection en tant que localité à partir du locationLevel (LOCATION.LOCATION_LEVEL_FK=<LocationLevelId.SUB_STRATA>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Localité</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Les valeurs de ce champ sont issues d'un référentiel.</p>
+ </td>
+ <td>
+ <p>operation.gearUseFeatures.fishingArea.regulationLocation (FISHING_AREA2REG_LOCATION.LOCATION_FK associé au FISHING_AREA de l'opération) En lecture : sélection en tant que localité à partir du locationLevel (LOCATION.LOCATION_LEVEL_FK=<LocationLevelId.LOCALITE>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Latitude et Longitude de début de traîne</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Cordonnées.</p>
+ <p>Le format de saisie peut être modifié dans la configuration.</p>
+ </td>
+ <td>
+ <p>Operation.vesselPosition (VESSEL_POSITION.LATITUDE et VESSEL_POSITION.LONGITUDE), avec startDateTime = "Début de traine > Date et heure"</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Latitude et Longitude de fin de traîne</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Cordonnées.</p>
+ <p>Le format de saisie peut être modifié dans la configuration.</p>
+ </td>
+ <td>
+ <p>Operation.vesselPosition (VESSEL_POSITION.LATITUDE et VESSEL_POSITION.LONGITUDE), avec startDateTime = "Fin de traine > Date et heure"</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Date et Heure de début de traîne</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Date (JJ/MM/AAAA)</p>
+ </td>
+ <td>
+ <p>Operation.startDateTime et Operation.fishingStartDateTime (OPERATION.START_DATE_TIME et OPERATION.FISHING_START_DATE_TIME)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Date et Heure de fin de traîne</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Date (JJ/MM/AAAA)</p>
+ </td>
+ <td>
+ <p>Operation.endDateTime et Operation.fishingEndDateTime (OPERATION.END_DATE_TIME et OPERATION.FISHING_END_DATE_TIME)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Trait rectiligne</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ <td>
+ <p>Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.RECTILINEAR_OPERATION>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Distance chalutée</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<PmfmId.TRAWL_DISTANCE>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Durée</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Trait valide/invalide</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ <td>
+ <p>Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.HAUL_VALID>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Saisisseur(s)</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Fonctionnement via le principe de la double liste. Les éléments sont à sélectionner parmi la première liste, et sont ajoutés dans la seconde liste à leur sélection.</p>
+ </td>
+ <td>
+ <p>Operation.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_de_campagne></p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Autres caractéristiques du Navire</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Lecture seule</p>
+ </td>
+ <td>
+ <p>Operation.vessel (OPERATION.VESSEL_FK)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Autres caractéristiques Engin</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi les engins de la campagne</p>
+ </td>
+ <td>
+ <p>Operation.gearPhysicialFeatures (OPERATION.GEAR_PHYSCIAL_FEATURES_FK) : lien vers un engin déjà déclaré au niveau de la campagne. Le code de l'engin est également dupliqué au début de Operation.name (OPERATION.NAME), devant le numéro du trait, pour rester compatible avec le format des données historiques.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Navire(s) associé(s)</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi les navires existants en base</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Commentaire</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Operation.comments (OPERATION.COMMENTS)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Pièces Jointes</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='OPERATION' et OBJECT_ID=<ID du trait>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+
+
+ <h3>Trait > Mise en oeuvre de l'engin</h3>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Valeur</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Type de la caractéristique issu d'un référentiel</p>
+ </td>
+ <td>
+ <p>Operation.gearUseFeatures.gearUseMeasurement (GEAR_USE_MEASUREMENT.xxx - en fonction du type de PSFM : NUMERICAL_VALUE, ALPHANUMERICAL_VALUE ou QUALITATIVE_VALUE_FK)</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+
+ <h3>Hydrologie et paramètres environnementaux</h3>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Valeur</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Type de la caractéristique issu d'un référentiel</p>
+ </td>
+ <td>
+ <p>Operation.gearUseFeatures.vesselUseMeasurement (GEAR_USE_MEASUREMENT.xxx - en fonction du type de PSFM : NUMERICAL_VALUE, ALPHANUMERICAL_VALUE ou QUALITATIVE_VALUE_FK</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h2>Captures</h2>
+
+ <h3>Captures > Résumé</h3>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Poids TOTAL</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Lot "Capture" (BATCH avec IS_CATCH_BATCH=1) Stocké uniquement si non calculé CatchBatch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Poids total VRAC</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Lot "Capture > Vrac" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Poids total HORS VRAC</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Lot "Capture > Hors Vrac" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Poids total NON TRIE</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Lot "Capture > Non trié" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Espèce > Poids TOTAL</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Sommme des poids des lots "Capture > xxx > Espèce" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Espèce > Poids total VRAC</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Lot "Capture > Vrac > Espèce" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Espèce > Poids total VRAC trié</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Espèce > Poids total HORS VRAC</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Benthos > Poids TOTAL</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Somme des poids des lots "Capture > xxx > Benthos" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Benthos > Poids total VRAC</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Lot "Capture > Vrac > Benthos" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Benthos > Poids total VRAC trié</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Benthos > Poids total HORS VRAC TRIE</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Lot "Capture > Hors Vrac > Benthos" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Pièces Jointes</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='CATCH_BATCH' et OBJECT_ID=<ID du lot de la capture>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>Captures > Espèces</h3>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th colspan="2">Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Espèce > Poids total VRAC</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique.</p>
+ <p>Le plus souvent, ce poids sera similaire au poids VRAC trié Espèces et sera donc calculé. Cependant, si seule une fraction des espèces est observée, renseigner ici le poids d'élévation.</p>
+ </td>
+ <td colspan="2">
+ <p>Lot "Capture > Vrac > Espèce" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Poids inerte trié</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td colspan="2">
+ <p>Lot "Capture > Vrac > Espèce > [TAXON_INERT]" Batch.referenceTaxon = [TAXON_INERT] (BATCH.REFERENCE_TAXON_FK=<ReferenceTaxonId.INERT>) Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Poids vivant non détaillé trié</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td colspan="2">
+ <p>Lot "Capture > Vrac > Espèce > Biota" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Pièces Jointes</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='CATCH_BATCH' et OBJECT_ID=<ID du lot VRAC > ESPECES>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Chaque ligne du tableau est stockée sous la forme d'un lot (Batch) positionné soit sous le lot "Capture > Vrac > Espèce" soit sous "Capture > Hors Vrac > Espèce"</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Espèce</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>stockage de l'espèce uniquement pour les lot parent Batch.referenceTaxon (BATCH.REFERENCE_TAXON_FK)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > V/HV</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix entre Vrac et Hors Vrac</p>
+ </td>
+ <td colspan="2">
+ <p>Vrac ou Hors Vrac : Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SORTED_UNSORTED>) Poids : Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Class. Tri</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SIZE_CATEGORY>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Sexe</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SEX>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Maturité</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.MATURITY>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Age</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Batch.sortingMeasurement.numericalValue (SORTING_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<PmfmId.AGE>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="2">
+ <p>Tableau > Poids sous-échantillonné</p>
+ </td>
+ <td rowspan="2">
+ <p> </p>
+ </td>
+ <td rowspan="2">
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>En lecture</p>
+ </td>
+ <td>
+ <p>on parse samplingRatioText pour récupérer le poids sous-échantillonné. si absent on le calculé à partir de samplingRatio (moins précis car perte possible de précision)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>En écriture</p>
+ </td>
+ <td>
+ <p>Si vide Batch.samplingRatio = 1</p>
+ <p>Sinon</p>
+ <p> Batch.samplingRatioText (BATCH.SAMPLING_RATIO_TEXT) concaténé à partir des chaines : "<Poids sous-échantillonné>" + "/" + "<Poids V/HV>"</p>
+ <p> Batch.samplingRatio (BATCH.SAMPLING_RATIO) calculé par le division : <Poids sous-échantillonné> / <Poids V/HV></p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Nombre</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Calculé à partir de la somme du nombre d'individus des lots fils (BATCH.INDIVIDUAL_COUNT avec PARENT_BATCH_FK=<ID du lot de la ligne du tableau>) (voir ci-dessous "Mensuration > Tableau")</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Commentaire</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td colspan="2">
+ <p>Batch.comments</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Pièces Jointes</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Fichier</p>
+ </td>
+ <td colspan="2">
+ <p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif ?) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > A confirmer</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ <td colspan="2">
+ <p>
+
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Type de mesure</p>
+ </td>
+ <td></td>
+ <td></td>
+ <td colspan="2">
+ <p>Dupliqué pour chaque lot de mensuration créé (un lot pour chaque taille saisie) Batch.sortingMeasurement.pmfm (SORTING_MEASUREMENT.PMFM_FK)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Pas de la classe de taille</p>
+ </td>
+ <td></td>
+ <td></td>
+
+ <td colspan="2">
+ <p> </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Tableau</p>
+ </td>
+ <td></td>
+ <td></td>
+
+ <td colspan="2">
+ <p>Chaque ligne du tableau de mensuration est stocké sous la forme d'un lot relié au lot correspondant à la ligne parent du tableau des espèces. (BATCH avec PARENT_BATCH_FK=<ID du lot parent dans le tableau des espèces>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Tableau > Classe de taille</p>
+ </td>
+ <td></td>
+ <td></td>
+
+ <td colspan="2">
+ <p>Batch.sortingMeasurement.numericalValue (SORTING_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<ID correspondant au "Type de mesure">)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Tableau > Nombre</p>
+ </td>
+ <td></td>
+ <td></td>
+
+ <td colspan="2">
+ <p>Batch.individualCount (BATCH.INDIVIDUAL_COUNT)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Tableau > Poids observé</p>
+ </td>
+ <td></td>
+ <td></td>
+
+ <td colspan="2">
+ <p>Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>Captures > Benthos</h3>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th colspan="2">Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Benthos > Poids total VRAC</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique.</p>
+ <p>Le plus souvent, ce poids sera similaire au poids VRAC trié Espèces et sera donc calculé. Cependant, si seule une fraction des espèces est observée, renseigner ici le poids d'élévation.</p>
+ </td>
+ <td colspan="2">
+ <p>Lot "Capture > Vrac > Benthos" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Poids inerte trié</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td colspan="2">
+ <p>Lot "Capture > Vrac > Benthos > [TAXON_INERT]" Batch.referenceTaxon = [TAXON_INERT] (BATCH.REFERENCE_TAXON_FK=<ReferenceTaxonId.INERT>) Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Poids vivant non détaillé trié</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td colspan="2">
+ <p>Lot "Capture > Vrac > Benthos > Biota" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Pièces Jointes</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='CATCH_BATCH' et OBJECT_ID=<ID du lot VRAC > BENTHOS>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Chaque ligne du tableau est stockée sous la forme d'un lot (Batch) positionné soit sous le lot "Capture > Vrac > Benthos" soit sous "Capture > Hors Vrac > Benthos"</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Benthos</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>stockage de l'espèce uniquement pour les lot parent Batch.referenceTaxon (BATCH.REFERENCE_TAXON_FK)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > V/HV</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix entre Vrac et Hors Vrac</p>
+ </td>
+ <td colspan="2">
+ <p>Vrac ou Hors Vrac : Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SORTED_UNSORTED>) Poids : Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Class. Tri</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SIZE_CATEGORY>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Sexe</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SEX>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Maturité</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.MATURITY>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Age</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Batch.sortingMeasurement.numericalValue (SORTING_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<PmfmId.AGE>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="2">
+ <p>Tableau > Poids sous-échantillonné</p>
+ </td>
+ <td rowspan="2">
+ <p> </p>
+ </td>
+ <td rowspan="2">
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>En lecture</p>
+ </td>
+ <td>
+ <p>on parse samplingRatioText pour récupérer le poids sous-échantillonné. si absent on le calculé à partir de samplingRatio (moins précis car perte possible de précision)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>En écriture</p>
+ </td>
+ <td>
+ <p>Si vide Batch.samplingRatio = 1</p>
+ <p>Sinon :</p>
+ <p> Batch.samplingRatioText (BATCH.SAMPLING_RATIO_TEXT) concaténé à partir des chaines : "<Poids sous-échantillonné>" + "/" + "<Poids V/HV>"</p>
+ <p> Batch.samplingRatio (BATCH.SAMPLING_RATIO) calculé par le division : <Poids sous-échantillonné> / <Poids V/HV></p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Nombre</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td colspan="2">
+ <p>Calculé à partir de la somme du nombre d'individus des lots fils (BATCH.INDIVIDUAL_COUNT avec PARENT_BATCH_FK=<ID du lot de la ligne du tableau>) (voir ci-dessous "Mensuration > Tableau")</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Commentaire</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td colspan="2">
+ <p>Batch.comments</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Pièces Jointes</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Fichier</p>
+ </td>
+ <td colspan="2">
+ <p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > A confirmer</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Booléen (Case à cocher)</p>
+ </td>
+ <td colspan="2">
+ <p>
+
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Type de mesure</p>
+ </td>
+ <td></td>
+ <td></td>
+ <td colspan="2">
+ <p>Dupliqué pour chaque lot de mensuration créé (un lot pour chaque taille saisie) Batch.sortingMeasurement.pmfm (SORTING_MEASUREMENT.PMFM_FK)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Pas de la classe de taille</p>
+ </td>
+ <td></td>
+ <td></td>
+ <td colspan="2">
+ <p> </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Tableau</p>
+ </td>
+ <td></td>
+ <td></td>
+ <td colspan="2">
+ <p>Chaque ligne du tableau de mensuration est stocké sous la forme d'un lot relié au lot correspondant à la ligne parent du tableau des espèces. (BATCH avec PARENT_BATCH_FK=<ID du lot parent dans le tableau des espèces>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Tableau > Classe de taille</p>
+ </td>
+ <td></td>
+ <td></td>
+ <td colspan="2">
+ <p>Batch.sortingMeasurement.numericalValue (SORTING_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<ID correspondant au "Type de mesure">)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Tableau > Nombre</p>
+ </td>
+ <td></td>
+ <td></td>
+ <td colspan="2">
+ <p>Batch.individualCount (BATCH.INDIVIDUAL_COUNT)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Mensuration > Tableau > Poids observé</p>
+ </td>
+ <td></td>
+ <td></td>
+ <td colspan="2">
+ <p>Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+
+ <h3>Captures > Macro déchets</h3>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Macro-dechets > Poids total</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Lot "Capture > Hors Vrac > Macro déchets" Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1 et PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Pièces Jointes</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='CATCH_BATCH' et OBJECT_ID=<ID du lot HORS VRAC > Macro déchets>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Chaque ligne du tableau est stockée sous la forme d'un lot (Batch) positionné soit sous le lot "Capture > Vrac > Benthos" soit sous "Capture > Hors Vrac > Benthos"</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Catégorie</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Choix parmi les valeurs issues d'un référentiel</p>
+ </td>
+ <td>
+ <p>Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.MARINE_LITTER_TYPE>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Catégorie de taille</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Choix parmi les valeurs issues d'un référentiel</p>
+ </td>
+ <td>
+ <p>Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.MARINE_LITTER_SIZE_CATEGORY>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Nombre</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Batch.quantificationMeasurement.qualitativeValue (QUANTIFICATION_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SIZE_CATEGORY>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Poids</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Batch.individualCount</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Commentaire</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td>
+ <p>Batch.comments</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Pièces Jointes</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Fichier</p>
+ </td>
+ <td>
+ <p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>Captures > Captures accidentelles</h3>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Tableau</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Chaque ligne du tableau est stockée sous la forme d'un prélèvement (Sample).</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Espèce</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi les valeurs issues d'un référentiel</p>
+ </td>
+ <td>
+ <p>Sample.referenceTaxon</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Sexe</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.qualitativeValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SEX>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Poids (kg)</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.numericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Taille</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.numericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Classe de taille</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi les caractéristiques du protocole</p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.qualitativeValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Mort ou vivant</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi les valeurs issues d'un référentiel</p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.qualitativeValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Autres caractéristiques</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste</p>
+ <p>Choix parmi les caractéristiques existantes en base</p>
+ </td>
+ <td>
+ <p>Tableau avec une entrée dans Sample.sampleMeasurements pour le pmfm choisi</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Commentaire</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td>
+ <p>Batch.comments</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Pièces Jointes</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Fichier</p>
+ </td>
+ <td>
+ <p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>Captures > Données individuelles</h3>
+
+ <table class='table table-bordered table-striped table-hover table-condensed'>
+ <thead>
+ <tr>
+ <th>Libellé de l'élément</th>
+ <th>Obligatoire</th>
+ <th>Type</th>
+ <th>Correspondance en base de données</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>Tableau</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Chaque ligne du tableau est stockée sous la forme d'un prélèvement (Sample).</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Espèce</p>
+ </td>
+ <td>
+ <p>X</p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi les valeurs issues d'un référentiel</p>
+ </td>
+ <td>
+ <p>Sample.referenceTaxon</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Poids (kg)</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.numericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.WEIGHT_OBSERVED>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Taille</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Numérique</p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.numericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SEX>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Classe de taille</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi les caractéristiques du protocole</p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.qualitativeValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=(celui choisi))</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Mort ou vivant</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste.</p>
+ <p>Choix parmi les valeurs issues d'un référentiel</p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.qualitativeValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.DEAD_OR_ALIVE>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Autres caractéristiques</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Liste</p>
+ <p>Choix parmi les caractéristiques existantes en base</p>
+ </td>
+ <td>
+ <p>Tableau avec une entrée dans Sample.sampleMeasurements pour le pmfm choisi</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Code prélèvement pièce calcifiée</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.alphanumericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.OTOLITHE_ID>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Code prélèvement autre</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Sample.sampleMeasurements.alphanumericalValue (SAMPLE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SAMPLE_ID>)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Commentaire</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Texte libre</p>
+ </td>
+ <td>
+ <p>Batch.comments</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Tableau > Pièces Jointes</p>
+ </td>
+ <td>
+ <p> </p>
+ </td>
+ <td>
+ <p>Fichier</p>
+ </td>
+ <td>
+ <p>Chaque pièce jointes est stockée dans MeasurementFile (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='SAMPLE' et OBJECT_ID=<ID du lot de la ligne du tableau>) MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif) MeasurementFile.name : nom MeasurementFile.comments : commentaire</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </div>
+</body>
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/help/fr/genericExport.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/genericExport.html 2014-01-20 13:54:38 UTC (rev 1512)
+++ trunk/tutti-ui-swing/src/main/help/fr/genericExport.html 2014-01-20 15:12:33 UTC (rev 1513)
@@ -259,7 +259,7 @@
des colonnes du tableau avanat <i>Autres caractéristiques</i></p>
<h2>Fichier marineLitter.csv</h2>
<p>
- Ce fichier contient les données de <strong>Macro dechêts</strong>.
+ Ce fichier contient les données de <strong>Macro déchets</strong>.
</p>
<h3>Entête du fichier</h3>
<pre>
@@ -374,8 +374,8 @@
<tr><td>Poids_Total_Benthos_Inerte_Trie_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total interte trié calculé</td><td>(4)</td></tr>
<tr><td>Poids_Total_Benthos_Vivant_non_detaille_trie</td><td>Opération > Capture > Benthos</td><td>Poids total non détaillé trié</td><td>(3)</td></tr>
<tr><td>Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total non détaillé trié calculé</td><td>(4)</td></tr>
- <tr><td>Poids_Total_Macro_Dechet</td><td>Opération > Capture > Macro déchêt</td><td>Poids total</td><td>(3)</td></tr>
- <tr><td>Poids_Total_Macro_Dechet_Calcule</td><td>Opération > Capture > Macro déchêt</td><td>Poids total calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Macro_Dechet</td><td>Opération > Capture > Macro déchet</td><td>Poids total</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Macro_Dechet_Calcule</td><td>Opération > Capture > Macro déchet</td><td>Poids total calculé</td><td>(4)</td></tr>
</tbody>
</table>
<p><strong>(1)</strong> : <strong>NA</strong> si pas de valeur</p>
Modified: trunk/tutti-ui-swing/src/main/help/fr/index.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/index.html 2014-01-20 13:54:38 UTC (rev 1512)
+++ trunk/tutti-ui-swing/src/main/help/fr/index.html 2014-01-20 15:12:33 UTC (rev 1513)
@@ -147,6 +147,7 @@
référentiels temporaires</a></li>
<li><a href="report.html">Générer des rapports</a></li>
<li><a href="genericExport.html">Export générique</a></li>
+ <li><a href="dbMapping.html">Mapping des écrans / base de données</a></li>
</ul>
</li>
<li>
Modified: trunk/tutti-ui-swing/src/main/help/fr/navbar.js
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/navbar.js 2014-01-20 13:54:38 UTC (rev 1512)
+++ trunk/tutti-ui-swing/src/main/help/fr/navbar.js 2014-01-20 15:12:33 UTC (rev 1513)
@@ -100,6 +100,7 @@
document.write(' <li><a href="manageTemporaryReferential.html">Gestionnaire de référentiels temporaires</a></li>');
document.write(' <li><a href="report.html">Générer des rapports</a></li>');
document.write(' <li><a href="genericExport.html">Export générique</a></li>');
+document.write(' <li><a href="dbMapping.html">Mapping des écrans / base de données</a></li>');
document.write(' </ul>');
document.write(' </li>');
document.write(' <li class="dropdown-submenu">');
1
0
r1512 - in trunk/tutti-service/src: main/java/fr/ifremer/tutti/service/export/generic test/java/fr/ifremer/tutti/service/export/generic
by tchemit@users.forge.codelutin.com Jan. 20, 2014
by tchemit@users.forge.codelutin.com Jan. 20, 2014
Jan. 20, 2014
Author: tchemit
Date: 2014-01-20 14:54:38 +0100 (Mon, 20 Jan 2014)
New Revision: 1512
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1512
Log:
refs #4135: [EXPORT GENERIQUE] demande d'?\195?\169volutions
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java
trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportService2Test.java
trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportServiceTest.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java 2014-01-19 13:15:24 UTC (rev 1511)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java 2014-01-20 13:54:38 UTC (rev 1512)
@@ -164,6 +164,29 @@
prepareUnsortedRows(row, rows, benthosBatch);
}
}
+
+ // compute final raising factor
+ // see http://forge.codelutin.com/issues/4135
+ for (CatchExportRow row : rows) {
+
+ float finalRaisingFactor = 1f;
+
+ for (ExportSampleCategory exportSampleCategory : row.getSampleCategory()) {
+
+ if (exportSampleCategory != null) {
+ Float totalWeight = exportSampleCategory.getCategoryWeight();
+ Float sampleWeight = exportSampleCategory.getSampleWeight();
+
+ if (totalWeight != null && sampleWeight != null) {
+
+ // the only case which can change the final rate
+ float currentRate = totalWeight / sampleWeight;
+ finalRaisingFactor *= currentRate;
+ }
+ }
+ }
+ row.setFinalRaisingFactor(finalRaisingFactor);
+ }
}
protected void prepareSortedRows(PersistenceService persistenceService,
Modified: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportService2Test.java
===================================================================
--- trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportService2Test.java 2014-01-19 13:15:24 UTC (rev 1511)
+++ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportService2Test.java 2014-01-20 13:54:38 UTC (rev 1512)
@@ -147,7 +147,7 @@
URL url = new URL(urlPrefix + "accidentalCatch.csv");
ServiceDbResource.assertFileContent("accidentalCatch export:\n",
url,
- "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Navire;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue");
+ "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue");
}
@@ -191,7 +191,7 @@
URL url = new URL(urlPrefix + "individualObservation.csv");
ServiceDbResource.assertFileContent("individualObservation export:\n",
url,
- "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Navire;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue");
+ "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue");
}
@@ -201,29 +201,29 @@
URL url = new URL("jar:" + exportFile.toURI().toURL() + "!/exportCruise-" + CRUISE_ID + "/catch.csv");
ServiceDbResource.assertFileContent("Catch export:\n",
url,
- "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Navire;Code_Taxon;Code_Espece_Campagne;Nom_scientifique;Commentaire;V_HV;Num_Ordre_V_HV_H2;Tot_V_HV;Ech_V_HV;Type_Volume_Poids_V_HV;Unite_Volume_Poids_V_HV;Class_Tri_;Num_Ordre_Class_Tri__H2;Tot_Class_Tri_;Ech_Class_Tri_;Type_Volume_Poids_Class_Tri_;Unite_Volume_Poids_Class_Tri_;Sexe;Num_Ordre_Sexe_H2;Tot_Sexe;Ech_Sexe;Type_Volume_Poids_Sexe;Unite_Volume_Poids_Sexe;Maturité;Num_Ordre_Maturité_H2;Tot_Maturité;Ech_Maturité;Type_Volume_Poids_Maturité;Unite_Volume_Poids_Maturité;Age;Num_Ordre_Age_H2;Tot_Age;Ech_Age;Type_Volume_Poids_Age;Unite_Volume_Poids_Age;Code_Longueur;Libelle_Longueur;Taille;NumOrdre_Taille_H2;Poids_Classe_Taille;Unite_Taille;Precision_Mesure;Nbr;Poids_Reference;Coef_Elev_Espece_Capture\n" +
- "2013;test elevation;1;OTB 20/28.10;B;2;1;278970;1938;;Agonus cataphractus;Trait B-2-1 AGONCAT-vrac 80;Vrac;1;80.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;80.0;3.5;\n" +
- "2013;test elevation;1;OTB 20/28.10;B;2;1;278970;1358;;Alosa alosa;Trait B-2-1 ALOSALO Vrac|Trait B-2-1 ALOSALO Vrac - Male 60;Vrac;2;;;Poids;kg;NA;;;;;kg;Mâle;1;60.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;60.0;5.8333335;\n" +
- "2013;test elevation;1;OTB 20/28.10;B;2;1;278970;1358;;Alosa alosa;Trait B-2-1 ALOSALO Vrac|Trait B-2-1 ALOSALO Vrac - Femelle 40.0;Vrac;2;;;Poids;kg;NA;;;;;kg;Femelle;2;40.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;40.0;8.75;\n" +
- "2013;test elevation;1;OTB 20/28.10;B;2;1;278970;1938;;Agonus cataphractus;Trait B-2-1 AGONCAT-horsvrac 20;Hors Vrac;1;20.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;20.0;1.0;\n" +
- "2013;test elevation;1;OTB 20/28.10;B;2;1;278970;4622;;Abietinaria abietina;\"Trait B-2-1 Benthos ABIEABI Vrac 30\n" +
+ "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Code_Taxon;Code_Espece_Campagne;Nom_scientifique;Commentaire;V_HV;Num_Ordre_V_HV_H2;Tot_V_HV;Ech_V_HV;Type_Volume_Poids_V_HV;Unite_Volume_Poids_V_HV;Class_Tri_;Num_Ordre_Class_Tri__H2;Tot_Class_Tri_;Ech_Class_Tri_;Type_Volume_Poids_Class_Tri_;Unite_Volume_Poids_Class_Tri_;Sexe;Num_Ordre_Sexe_H2;Tot_Sexe;Ech_Sexe;Type_Volume_Poids_Sexe;Unite_Volume_Poids_Sexe;Maturité;Num_Ordre_Maturité_H2;Tot_Maturité;Ech_Maturité;Type_Volume_Poids_Maturité;Unite_Volume_Poids_Maturité;Age;Num_Ordre_Age_H2;Tot_Age;Ech_Age;Type_Volume_Poids_Age;Unite_Volume_Poids_Age;Code_Longueur;Libelle_Longueur;Taille;NumOrdre_Taille_H2;Poids_Classe_Taille;Unite_Taille;Precision_Mesure;Nbr;Poids_Reference;Coef_Elev_Espece_Capture;Coef_Final_Elevation\n" +
+ "2013;test elevation;1;OTB 20/28.10;B;2;1;1938;;Agonus cataphractus;Trait B-2-1 AGONCAT-vrac 80;Vrac;1;80.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;80.0;3.5;1.0;\n" +
+ "2013;test elevation;1;OTB 20/28.10;B;2;1;1358;;Alosa alosa;Trait B-2-1 ALOSALO Vrac|Trait B-2-1 ALOSALO Vrac - Male 60;Vrac;2;;;Poids;kg;NA;;;;;kg;Mâle;1;60.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;60.0;5.8333335;1.0;\n" +
+ "2013;test elevation;1;OTB 20/28.10;B;2;1;1358;;Alosa alosa;Trait B-2-1 ALOSALO Vrac|Trait B-2-1 ALOSALO Vrac - Femelle 40.0;Vrac;2;;;Poids;kg;NA;;;;;kg;Femelle;2;40.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;40.0;8.75;1.0;\n" +
+ "2013;test elevation;1;OTB 20/28.10;B;2;1;1938;;Agonus cataphractus;Trait B-2-1 AGONCAT-horsvrac 20;Hors Vrac;1;20.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;20.0;1.0;1.0;\n" +
+ "2013;test elevation;1;OTB 20/28.10;B;2;1;4622;;Abietinaria abietina;\"Trait B-2-1 Benthos ABIEABI Vrac 30\n" +
"\n" +
"avec \n" +
"\n" +
- "commentaire...\";Vrac;1;30.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;30.0;7.0;\n" +
- "2013;test elevation;1;OTB 20/28.10;B;2;1;278970;380;;Acanthocardia echinata;\"Trait B-2-1 Benthos ACANECH Vrac 18\n" +
+ "commentaire...\";Vrac;1;30.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;30.0;7.0;1.0;\n" +
+ "2013;test elevation;1;OTB 20/28.10;B;2;1;380;;Acanthocardia echinata;\"Trait B-2-1 Benthos ACANECH Vrac 18\n" +
"\n" +
"avec \n" +
"\n" +
- "commentaire...\";Vrac;2;18.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;18.0;7.0;\n" +
- "2013;test elevation;1;OTB 20/28.10;A;1;1;278970;1938;;Agonus cataphractus;AGONCAT-vrac-80;Vrac;1;80.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;80.0;5.4444447;\n" +
- "2013;test elevation;1;OTB 20/28.10;A;1;1;278970;1358;;Alosa alosa;ALOSALO-vrac|ALOSALO-vrac-male 60;Vrac;2;;;Poids;kg;NA;;;;;kg;Mâle;1;60.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;60.0;9.074075;\n" +
- "2013;test elevation;1;OTB 20/28.10;A;1;1;278970;1358;;Alosa alosa;ALOSALO-vrac|ALOSALO-vrac-femelle 40;Vrac;2;;;Poids;kg;NA;;;;;kg;Femelle;2;40.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;5.0;1;0.6;cm;1.0;4;0.6;907.4074;\n" +
- "2013;test elevation;1;OTB 20/28.10;A;1;1;278970;1358;;Alosa alosa;ALOSALO-vrac|ALOSALO-vrac-femelle 40;Vrac;2;;;Poids;kg;NA;;;;;kg;Femelle;2;40.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;6.0;2;0.4;cm;1.0;10;0.4;1361.1111;\n" +
- "2013;test elevation;1;OTB 20/28.10;A;1;1;278970;1938;;Agonus cataphractus;AGONCAT-horsvrac-20;Hors Vrac;1;20.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;20.0;1.0;\n" +
- "2013;test elevation;1;;C;3;1;278970;11183;;Brissopsis atlantica;|;Vrac;1;;;Poids;kg;NA;;;;;kg;UNK - Indéterminé;1;30.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;30.0;0.0;\n" +
- "2013;test elevation;1;;C;3;1;278970;11183;;Brissopsis atlantica;|;Vrac;1;;;Poids;kg;NA;;;;;kg;Mâle;2;20.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;20.0;0.0;\n" +
- "2013;test elevation;1;;C;3;1;278970;11183;;Brissopsis atlantica;|;Vrac;1;;;Poids;kg;NA;;;;;kg;Femelle;3;;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;;1.0;");
+ "commentaire...\";Vrac;2;18.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;18.0;7.0;1.0;\n" +
+ "2013;test elevation;1;OTB 20/28.10;A;1;1;1938;;Agonus cataphractus;AGONCAT-vrac-80;Vrac;1;80.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;80.0;5.4444447;1.0;\n" +
+ "2013;test elevation;1;OTB 20/28.10;A;1;1;1358;;Alosa alosa;ALOSALO-vrac|ALOSALO-vrac-male 60;Vrac;2;;;Poids;kg;NA;;;;;kg;Mâle;1;60.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;60.0;9.074075;1.0;\n" +
+ "2013;test elevation;1;OTB 20/28.10;A;1;1;1358;;Alosa alosa;ALOSALO-vrac|ALOSALO-vrac-femelle 40;Vrac;2;;;Poids;kg;NA;;;;;kg;Femelle;2;40.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;5.0;1;0.6;cm;1.0;4;0.6;907.4074;1.0;\n" +
+ "2013;test elevation;1;OTB 20/28.10;A;1;1;1358;;Alosa alosa;ALOSALO-vrac|ALOSALO-vrac-femelle 40;Vrac;2;;;Poids;kg;NA;;;;;kg;Femelle;2;40.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;6.0;2;0.4;cm;1.0;10;0.4;1361.1111;1.0;\n" +
+ "2013;test elevation;1;OTB 20/28.10;A;1;1;1938;;Agonus cataphractus;AGONCAT-horsvrac-20;Hors Vrac;1;20.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;20.0;1.0;1.0;\n" +
+ "2013;test elevation;1;;C;3;1;11183;;Brissopsis atlantica;|;Vrac;1;;;Poids;kg;NA;;;;;kg;UNK - Indéterminé;1;30.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;30.0;0.0;1.0;\n" +
+ "2013;test elevation;1;;C;3;1;11183;;Brissopsis atlantica;|;Vrac;1;;;Poids;kg;NA;;;;;kg;Mâle;2;20.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;20.0;0.0;1.0;\n" +
+ "2013;test elevation;1;;C;3;1;11183;;Brissopsis atlantica;|;Vrac;1;;;Poids;kg;NA;;;;;kg;Femelle;3;;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;;1.0;1.0;");
}
@@ -243,8 +243,8 @@
URL url = new URL(urlPrefix + "marineLitter.csv");
ServiceDbResource.assertFileContent("marineLitter export:\n",
url,
- "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Navire;MarineLitterCategory;MarineLitterSizeCategory;Number;Weight;Commentaire\n" +
- "2013;test elevation;1;OTB 20/28.10;B;2;1;278970;L1 PLASTIQUE;A: <5*5 cm= 25 cm2;10;;\"Trait B-2-1 Macro dechet L1 Plastique (nb 10)\n" +
+ "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;MarineLitterCategory;MarineLitterSizeCategory;Number;Weight;Commentaire\n" +
+ "2013;test elevation;1;OTB 20/28.10;B;2;1;L1 PLASTIQUE;A: <5*5 cm= 25 cm2;10;;\"Trait B-2-1 Macro dechet L1 Plastique (nb 10)\n" +
"\n" +
"avec \n" +
"\n" +
Modified: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportServiceTest.java
===================================================================
--- trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportServiceTest.java 2014-01-19 13:15:24 UTC (rev 1511)
+++ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportServiceTest.java 2014-01-20 13:54:38 UTC (rev 1512)
@@ -99,72 +99,72 @@
"2013;Campagne CGFS;;A;2;1;308;Nombre d'engin - engin - totale - Déclaration d'un professionnel;2.0;";
public static final String CATCH_CONTENT =
- "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Navire;Code_Taxon;Code_Espece_Campagne;Nom_scientifique;Commentaire;V_HV;Num_Ordre_V_HV_H2;Tot_V_HV;Ech_V_HV;Type_Volume_Poids_V_HV;Unite_Volume_Poids_V_HV;Class_Tri_;Num_Ordre_Class_Tri__H2;Tot_Class_Tri_;Ech_Class_Tri_;Type_Volume_Poids_Class_Tri_;Unite_Volume_Poids_Class_Tri_;Sexe;Num_Ordre_Sexe_H2;Tot_Sexe;Ech_Sexe;Type_Volume_Poids_Sexe;Unite_Volume_Poids_Sexe;Maturité;Num_Ordre_Maturité_H2;Tot_Maturité;Ech_Maturité;Type_Volume_Poids_Maturité;Unite_Volume_Poids_Maturité;Age;Num_Ordre_Age_H2;Tot_Age;Ech_Age;Type_Volume_Poids_Age;Unite_Volume_Poids_Age;Code_Longueur;Libelle_Longueur;Taille;NumOrdre_Taille_H2;Poids_Classe_Taille;Unite_Taille;Precision_Mesure;Nbr;Poids_Reference;Coef_Elev_Espece_Capture\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;11242;;Aaptos;|||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Mâle;1;30.0;;Poids;kg;1 - Stade 1;1;10.0;5.0;Poids;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;10.0;1;;cm;0.5;5;5.0;20.0;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;11242;;Aaptos;|||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Mâle;1;30.0;;Poids;kg;1 - Stade 1;1;10.0;5.0;Poids;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;10.5;2;;cm;0.5;2;5.0;20.0;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;11242;;Aaptos;|||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Mâle;1;30.0;;Poids;kg;1 - Stade 1;1;10.0;5.0;Poids;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;11.0;3;;cm;0.5;1;5.0;20.0;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;11242;;Aaptos;|||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Mâle;1;30.0;;Poids;kg;3 - Stade 3;3;10.0;;Poids;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;11.0;1;;cm;0.5;5;10.0;10.0;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;11242;;Aaptos;||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Femelle;2;50.0;30.0;Poids;kg;3 - Stade 3;3;10.0;;Poids;kg;NA;;;;;kg;1425;Longueur totale (LT) - individu - queue - Mesure au cm par un observateur;10.0;1;;cm;;5;30.0;3.3333333;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;11242;;Aaptos;||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Femelle;2;50.0;30.0;Poids;kg;3 - Stade 3;3;10.0;;Poids;kg;NA;;;;;kg;1425;Longueur totale (LT) - individu - queue - Mesure au cm par un observateur;11.0;2;;cm;;6;30.0;3.3333333;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;11242;;Aaptos;||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Femelle;2;50.0;30.0;Poids;kg;3 - Stade 3;3;10.0;;Poids;kg;NA;;;;;kg;1425;Longueur totale (LT) - individu - queue - Mesure au cm par un observateur;12.0;3;;cm;;7;30.0;3.3333333;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;11242;;Aaptos;|;Vrac;1;100.0;;Poids;kg;M - Moyen;2;20.0;;Poids;kg;Femelle;2;50.0;30.0;Poids;kg;3 - Stade 3;3;10.0;;Poids;kg;NA;;;;;kg;;;;;;;;;20.0;5.0;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;11242;;Aaptos;;Hors Vrac;1;20.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;2;20.0;1.0;";
+ "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Code_Taxon;Code_Espece_Campagne;Nom_scientifique;Commentaire;V_HV;Num_Ordre_V_HV_H2;Tot_V_HV;Ech_V_HV;Type_Volume_Poids_V_HV;Unite_Volume_Poids_V_HV;Class_Tri_;Num_Ordre_Class_Tri__H2;Tot_Class_Tri_;Ech_Class_Tri_;Type_Volume_Poids_Class_Tri_;Unite_Volume_Poids_Class_Tri_;Sexe;Num_Ordre_Sexe_H2;Tot_Sexe;Ech_Sexe;Type_Volume_Poids_Sexe;Unite_Volume_Poids_Sexe;Maturité;Num_Ordre_Maturité_H2;Tot_Maturité;Ech_Maturité;Type_Volume_Poids_Maturité;Unite_Volume_Poids_Maturité;Age;Num_Ordre_Age_H2;Tot_Age;Ech_Age;Type_Volume_Poids_Age;Unite_Volume_Poids_Age;Code_Longueur;Libelle_Longueur;Taille;NumOrdre_Taille_H2;Poids_Classe_Taille;Unite_Taille;Precision_Mesure;Nbr;Poids_Reference;Coef_Elev_Espece_Capture;Coef_Final_Elevation\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;11242;;Aaptos;|||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Mâle;1;30.0;;Poids;kg;1 - Stade 1;1;10.0;5.0;Poids;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;10.0;1;;cm;0.5;5;5.0;20.0;2.0;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;11242;;Aaptos;|||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Mâle;1;30.0;;Poids;kg;1 - Stade 1;1;10.0;5.0;Poids;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;10.5;2;;cm;0.5;2;5.0;20.0;2.0;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;11242;;Aaptos;|||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Mâle;1;30.0;;Poids;kg;1 - Stade 1;1;10.0;5.0;Poids;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;11.0;3;;cm;0.5;1;5.0;20.0;2.0;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;11242;;Aaptos;|||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Mâle;1;30.0;;Poids;kg;3 - Stade 3;3;10.0;;Poids;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;11.0;1;;cm;0.5;5;10.0;10.0;1.0;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;11242;;Aaptos;||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Femelle;2;50.0;30.0;Poids;kg;3 - Stade 3;3;10.0;;Poids;kg;NA;;;;;kg;1425;Longueur totale (LT) - individu - queue - Mesure au cm par un observateur;10.0;1;;cm;;5;30.0;3.3333333;1.6666666;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;11242;;Aaptos;||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Femelle;2;50.0;30.0;Poids;kg;3 - Stade 3;3;10.0;;Poids;kg;NA;;;;;kg;1425;Longueur totale (LT) - individu - queue - Mesure au cm par un observateur;11.0;2;;cm;;6;30.0;3.3333333;1.6666666;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;11242;;Aaptos;||;Vrac;1;100.0;;Poids;kg;G - Gros;1;80.0;;Poids;kg;Femelle;2;50.0;30.0;Poids;kg;3 - Stade 3;3;10.0;;Poids;kg;NA;;;;;kg;1425;Longueur totale (LT) - individu - queue - Mesure au cm par un observateur;12.0;3;;cm;;7;30.0;3.3333333;1.6666666;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;11242;;Aaptos;|;Vrac;1;100.0;;Poids;kg;M - Moyen;2;20.0;;Poids;kg;Femelle;2;50.0;30.0;Poids;kg;3 - Stade 3;3;10.0;;Poids;kg;NA;;;;;kg;;;;;;;;;20.0;5.0;1.6666666;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;11242;;Aaptos;;Hors Vrac;1;20.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;2;20.0;1.0;1.0;";
public static final String CATCH_CONTENT_2 =
- "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Navire;Code_Taxon;Code_Espece_Campagne;Nom_scientifique;Commentaire;V_HV;Num_Ordre_V_HV_H2;Tot_V_HV;Ech_V_HV;Type_Volume_Poids_V_HV;Unite_Volume_Poids_V_HV;Class_Tri_;Num_Ordre_Class_Tri__H2;Tot_Class_Tri_;Ech_Class_Tri_;Type_Volume_Poids_Class_Tri_;Unite_Volume_Poids_Class_Tri_;Sexe;Num_Ordre_Sexe_H2;Tot_Sexe;Ech_Sexe;Type_Volume_Poids_Sexe;Unite_Volume_Poids_Sexe;Maturité;Num_Ordre_Maturité_H2;Tot_Maturité;Ech_Maturité;Type_Volume_Poids_Maturité;Unite_Volume_Poids_Maturité;Age;Num_Ordre_Age_H2;Tot_Age;Ech_Age;Type_Volume_Poids_Age;Unite_Volume_Poids_Age;Code_Longueur;Libelle_Longueur;Taille;NumOrdre_Taille_H2;Poids_Classe_Taille;Unite_Taille;Precision_Mesure;Nbr;Poids_Reference;Coef_Elev_Espece_Capture\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;365;;Aequipecten opercularis;taxon;Vrac;1;0.005;0.005;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;1;0.005;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;491;ALLOSPP;Alloteuthis;taxon;Vrac;2;0.004;0.004;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;1;0.004;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;300;;Buccinum undatum;taxon;Vrac;3;0.015;0.015;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;1;0.015;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1811;CALMLYR;Callionymus lyra;taxon;Vrac;4;0.07;0.07;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;1;0.07;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1644;DICELAB;Dicentrarchus labrax;taxon;Vrac;5;1.06;1.06;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;36.0;1;;cm;1.0;1;1.06;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1644;DICELAB;Dicentrarchus labrax;taxon;Vrac;5;1.06;1.06;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;38.0;2;;cm;1.0;1;1.06;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1362;ENGRENC;Engraulis encrasicolus;taxon;Vrac;6;0.038;0.038;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;10.5;1;;cm;0.5;2;0.038;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1362;ENGRENC;Engraulis encrasicolus;taxon;Vrac;6;0.038;0.038;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;12.5;2;;cm;0.5;1;0.038;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1362;ENGRENC;Engraulis encrasicolus;taxon;Vrac;6;0.038;0.038;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;13.0;3;;cm;0.5;1;0.038;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1986;;Limanda limanda;taxon;Vrac;7;0.66;0.66;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;25.0;1;;cm;1.0;1;0.66;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1986;;Limanda limanda;taxon;Vrac;7;0.66;0.66;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;28.0;2;;cm;1.0;1;0.66;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1986;;Limanda limanda;taxon;Vrac;7;0.66;0.66;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;30.0;3;;cm;1.0;1;0.66;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;489;LOLIVUL;Loligo vulgaris;taxon;Vrac;8;0.28;0.28;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;302;Longueur du manteau (LM) - individu - manteau - Mesure au cm par un observateur;9.0;1;;cm;1.0;1;0.28;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;489;LOLIVUL;Loligo vulgaris;taxon;Vrac;8;0.28;0.28;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;302;Longueur du manteau (LM) - individu - manteau - Mesure au cm par un observateur;10.0;2;;cm;1.0;3;0.28;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;489;LOLIVUL;Loligo vulgaris;taxon;Vrac;8;0.28;0.28;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;302;Longueur du manteau (LM) - individu - manteau - Mesure au cm par un observateur;11.0;3;;cm;1.0;2;0.28;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1988;;Microstomus kitt;taxon;Vrac;9;0.152;0.152;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;15.0;1;;cm;1.0;1;0.152;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1988;;Microstomus kitt;taxon;Vrac;9;0.152;0.152;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;18.0;2;;cm;1.0;1;0.152;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1690;MULLSUR;Mullus surmuletus;taxon;Vrac;10;0.036;0.036;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;11.0;1;;cm;1.0;1;0.036;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1978;;Pleuronectes platessa;taxon;Vrac;11;0.852;0.852;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;26.0;1;;cm;1.0;1;0.852;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1978;;Pleuronectes platessa;taxon;Vrac;11;0.852;0.852;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;30.0;2;;cm;1.0;1;0.852;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1351;SARDPIL;Sardina pilchardus;taxon;Vrac;12;0.022;0.022;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;10.5;1;;cm;0.5;1;0.022;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1772;SCOMSCO;Scomber scombrus;taxon;Vrac;13;0.18;0.18;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;27.0;1;;cm;1.0;1;0.18;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1242;SCYOCAN;Scyliorhinus canicula;taxon|categorie_individu;Vrac;14;;;Poids;kg;NA;;;;;kg;Femelle;1;1.0;1.0;Poids;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;51.0;1;;cm;1.0;1;1.0;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1242;SCYOCAN;Scyliorhinus canicula;taxon|categorie_individu;Vrac;14;;;Poids;kg;NA;;;;;kg;Femelle;1;1.0;1.0;Poids;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;55.0;2;;cm;1.0;1;1.0;1.0001919;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1662;TRACTRA;Trachurus trachurus;taxon|categorie_individu;Vrac;15;;;Poids;kg;P - Petit;1;131.12;0.96;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;8.0;1;;cm;1.0;1;0.96;136.69289;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1662;TRACTRA;Trachurus trachurus;taxon|categorie_individu;Vrac;15;;;Poids;kg;P - Petit;1;131.12;0.96;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;9.0;2;;cm;1.0;20;0.96;136.69289;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1662;TRACTRA;Trachurus trachurus;taxon|categorie_individu;Vrac;15;;;Poids;kg;P - Petit;1;131.12;0.96;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;10.0;3;;cm;1.0;89;0.96;136.69289;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1662;TRACTRA;Trachurus trachurus;taxon|categorie_individu;Vrac;15;;;Poids;kg;P - Petit;1;131.12;0.96;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;11.0;4;;cm;1.0;5;0.96;136.69289;\n" +
- "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;278970;1662;TRACTRA;Trachurus trachurus;taxon|categorie_individu;Vrac;15;;;Poids;kg;G - Gros;2;0.13;0.13;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;23.0;1;;cm;1.0;1;0.13;1009.42444;";
+ "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Code_Taxon;Code_Espece_Campagne;Nom_scientifique;Commentaire;V_HV;Num_Ordre_V_HV_H2;Tot_V_HV;Ech_V_HV;Type_Volume_Poids_V_HV;Unite_Volume_Poids_V_HV;Class_Tri_;Num_Ordre_Class_Tri__H2;Tot_Class_Tri_;Ech_Class_Tri_;Type_Volume_Poids_Class_Tri_;Unite_Volume_Poids_Class_Tri_;Sexe;Num_Ordre_Sexe_H2;Tot_Sexe;Ech_Sexe;Type_Volume_Poids_Sexe;Unite_Volume_Poids_Sexe;Maturité;Num_Ordre_Maturité_H2;Tot_Maturité;Ech_Maturité;Type_Volume_Poids_Maturité;Unite_Volume_Poids_Maturité;Age;Num_Ordre_Age_H2;Tot_Age;Ech_Age;Type_Volume_Poids_Age;Unite_Volume_Poids_Age;Code_Longueur;Libelle_Longueur;Taille;NumOrdre_Taille_H2;Poids_Classe_Taille;Unite_Taille;Precision_Mesure;Nbr;Poids_Reference;Coef_Elev_Espece_Capture;Coef_Final_Elevation\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;365;;Aequipecten opercularis;taxon;Vrac;1;0.005;0.005;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;1;0.005;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;491;ALLOSPP;Alloteuthis;taxon;Vrac;2;0.004;0.004;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;1;0.004;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;300;;Buccinum undatum;taxon;Vrac;3;0.015;0.015;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;1;0.015;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1811;CALMLYR;Callionymus lyra;taxon;Vrac;4;0.07;0.07;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;1;0.07;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1644;DICELAB;Dicentrarchus labrax;taxon;Vrac;5;1.06;1.06;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;36.0;1;;cm;1.0;1;1.06;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1644;DICELAB;Dicentrarchus labrax;taxon;Vrac;5;1.06;1.06;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;38.0;2;;cm;1.0;1;1.06;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1362;ENGRENC;Engraulis encrasicolus;taxon;Vrac;6;0.038;0.038;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;10.5;1;;cm;0.5;2;0.038;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1362;ENGRENC;Engraulis encrasicolus;taxon;Vrac;6;0.038;0.038;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;12.5;2;;cm;0.5;1;0.038;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1362;ENGRENC;Engraulis encrasicolus;taxon;Vrac;6;0.038;0.038;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;13.0;3;;cm;0.5;1;0.038;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1986;;Limanda limanda;taxon;Vrac;7;0.66;0.66;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;25.0;1;;cm;1.0;1;0.66;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1986;;Limanda limanda;taxon;Vrac;7;0.66;0.66;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;28.0;2;;cm;1.0;1;0.66;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1986;;Limanda limanda;taxon;Vrac;7;0.66;0.66;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;30.0;3;;cm;1.0;1;0.66;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;489;LOLIVUL;Loligo vulgaris;taxon;Vrac;8;0.28;0.28;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;302;Longueur du manteau (LM) - individu - manteau - Mesure au cm par un observateur;9.0;1;;cm;1.0;1;0.28;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;489;LOLIVUL;Loligo vulgaris;taxon;Vrac;8;0.28;0.28;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;302;Longueur du manteau (LM) - individu - manteau - Mesure au cm par un observateur;10.0;2;;cm;1.0;3;0.28;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;489;LOLIVUL;Loligo vulgaris;taxon;Vrac;8;0.28;0.28;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;302;Longueur du manteau (LM) - individu - manteau - Mesure au cm par un observateur;11.0;3;;cm;1.0;2;0.28;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1988;;Microstomus kitt;taxon;Vrac;9;0.152;0.152;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;15.0;1;;cm;1.0;1;0.152;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1988;;Microstomus kitt;taxon;Vrac;9;0.152;0.152;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;18.0;2;;cm;1.0;1;0.152;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1690;MULLSUR;Mullus surmuletus;taxon;Vrac;10;0.036;0.036;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;11.0;1;;cm;1.0;1;0.036;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1978;;Pleuronectes platessa;taxon;Vrac;11;0.852;0.852;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;26.0;1;;cm;1.0;1;0.852;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1978;;Pleuronectes platessa;taxon;Vrac;11;0.852;0.852;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;30.0;2;;cm;1.0;1;0.852;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1351;SARDPIL;Sardina pilchardus;taxon;Vrac;12;0.022;0.022;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;307;Longueur totale (LT) - individu - totale - Mesure au 1/2 cm par un observateur;10.5;1;;cm;0.5;1;0.022;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1772;SCOMSCO;Scomber scombrus;taxon;Vrac;13;0.18;0.18;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;27.0;1;;cm;1.0;1;0.18;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1242;SCYOCAN;Scyliorhinus canicula;taxon|categorie_individu;Vrac;14;;;Poids;kg;NA;;;;;kg;Femelle;1;1.0;1.0;Poids;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;51.0;1;;cm;1.0;1;1.0;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1242;SCYOCAN;Scyliorhinus canicula;taxon|categorie_individu;Vrac;14;;;Poids;kg;NA;;;;;kg;Femelle;1;1.0;1.0;Poids;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;55.0;2;;cm;1.0;1;1.0;1.0001919;1.0;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1662;TRACTRA;Trachurus trachurus;taxon|categorie_individu;Vrac;15;;;Poids;kg;P - Petit;1;131.12;0.96;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;8.0;1;;cm;1.0;1;0.96;136.69289;136.58333;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1662;TRACTRA;Trachurus trachurus;taxon|categorie_individu;Vrac;15;;;Poids;kg;P - Petit;1;131.12;0.96;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;9.0;2;;cm;1.0;20;0.96;136.69289;136.58333;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1662;TRACTRA;Trachurus trachurus;taxon|categorie_individu;Vrac;15;;;Poids;kg;P - Petit;1;131.12;0.96;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;10.0;3;;cm;1.0;89;0.96;136.69289;136.58333;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1662;TRACTRA;Trachurus trachurus;taxon|categorie_individu;Vrac;15;;;Poids;kg;P - Petit;1;131.12;0.96;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;11.0;4;;cm;1.0;5;0.96;136.69289;136.58333;\n" +
+ "2010;Campagne CGFS;;GOV 19.7/25.9;20;20;1;1662;TRACTRA;Trachurus trachurus;taxon|categorie_individu;Vrac;15;;;Poids;kg;G - Gros;2;0.13;0.13;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;306;Longueur totale (LT) - individu - totale - Mesure au cm par un observateur;23.0;1;;cm;1.0;1;0.13;1009.42444;1.0;";
public static final String MARINE_LITTER_CONTENT =
- "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Navire;MarineLitterCategory;MarineLitterSizeCategory;Number;Weight;Commentaire\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;L1 PLASTIQUE;A: <5*5 cm= 25 cm2;2;5.0;S1;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;L1a Sacs;B: <10*10 cm= 100 cm2;3;1.0;S2;";
+ "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;MarineLitterCategory;MarineLitterSizeCategory;Number;Weight;Commentaire\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;L1 PLASTIQUE;A: <5*5 cm= 25 cm2;2;5.0;S1;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;L1a Sacs;B: <10*10 cm= 100 cm2;3;1.0;S2;";
public static final String INDIVIDUAL_OBSERVATION_CONTENT =
- "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Navire;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100000;11242;Aaptos;P1;220;0.1;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100000;11242;Aaptos;P1;1433;307;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100000;11242;Aaptos;P1;307;10.0;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100000;11242;Aaptos;P1;1436;10;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100000;11242;Aaptos;P1;1435;A20;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100000;11242;Aaptos;P1;101;10.0;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100000;11242;Aaptos;P1;46;0L - 0 VMS - 1 LB;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100000;11242;Aaptos;P1;1388;5.0;";
+ "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100000;11242;Aaptos;P1;220;0.1;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100000;11242;Aaptos;P1;1433;307;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100000;11242;Aaptos;P1;307;10.0;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100000;11242;Aaptos;P1;1436;10;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100000;11242;Aaptos;P1;1435;A20;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100000;11242;Aaptos;P1;101;10.0;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100000;11242;Aaptos;P1;46;0L - 0 VMS - 1 LB;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100000;11242;Aaptos;P1;1388;5.0;";
public static final String ACCIDENTAL_CATCH_CONTENT =
- "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Navire;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100001;3835;Abalistes;;1393;Rejet mort;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100001;3835;Abalistes;;196;Femelle;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100001;3835;Abalistes;;220;10.0;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100001;3835;Abalistes;;1433;1425;\n" +
- "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;278970;100001;3835;Abalistes;;1425;4.0;";
+ "Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100001;3835;Abalistes;;1393;Rejet mort;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100001;3835;Abalistes;;196;Femelle;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100001;3835;Abalistes;;220;10.0;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100001;3835;Abalistes;;1433;1425;\n" +
+ "2013;Campagne CGFS;;GOV 19.7/25.9;A;1;1;100001;3835;Abalistes;;1425;4.0;";
public static final String SPECIES_CONTENT =
"Id;Code_Rubin;Nom Scientifique;Code campagne\n" +
1
0
r1511 - trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic
by tchemit@users.forge.codelutin.com Jan. 19, 2014
by tchemit@users.forge.codelutin.com Jan. 19, 2014
Jan. 19, 2014
Author: tchemit
Date: 2014-01-19 14:15:24 +0100 (Sun, 19 Jan 2014)
New Revision: 1511
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1511
Log:
refs #4135: [EXPORT GENERIQUE] demande d'?\195?\169volutions
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/AccidentalCatchExportModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/IndividualObservationExportModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/MarineLitterExportModel.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/AccidentalCatchExportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/AccidentalCatchExportModel.java 2014-01-19 12:58:20 UTC (rev 1510)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/AccidentalCatchExportModel.java 2014-01-19 13:15:24 UTC (rev 1511)
@@ -77,7 +77,7 @@
newColumnForExport("Code_station", FishingOperation.PROPERTY_STATION_NUMBER);
newColumnForExport("Id_Operation", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER, TuttiCsvUtil.INTEGER);
newColumnForExport("Poche", FishingOperation.PROPERTY_MULTIRIG_AGGREGATION);
- newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, TuttiCsvUtil.VESSEL_VALUE_FORMATTER);
+// newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, TuttiCsvUtil.VESSEL_VALUE_FORMATTER);
newColumnForExport("BatchId", AccidentalCatchExportRow.PROPERTY_BATCH_ID, TuttiCsvUtil.PRIMITIVE_INTEGER);
newColumnForExport("ReferenceTaxonId", AccidentalBatch.PROPERTY_SPECIES + "." + Species.PROPERTY_REFERENCE_TAXON_ID, TuttiCsvUtil.PRIMITIVE_INTEGER);
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java 2014-01-19 12:58:20 UTC (rev 1510)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java 2014-01-19 13:15:24 UTC (rev 1511)
@@ -71,12 +71,11 @@
newColumnForExport("Code_station", FishingOperation.PROPERTY_STATION_NUMBER);
newColumnForExport("Id_Operation", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER, TuttiCsvUtil.INTEGER);
newColumnForExport("Poche", FishingOperation.PROPERTY_MULTIRIG_AGGREGATION);
- newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, TuttiCsvUtil.VESSEL_VALUE_FORMATTER);
+// newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, TuttiCsvUtil.VESSEL_VALUE_FORMATTER);
newColumnForExport("Code_Taxon", SpeciesBatch.PROPERTY_SPECIES + "." + Species.PROPERTY_REFERENCE_TAXON_ID, TuttiCsvUtil.INTEGER);
newColumnForExport("Code_Espece_Campagne", SpeciesBatch.PROPERTY_SPECIES + "." + Species.PROPERTY_SURVEY_CODE);
newColumnForExport("Nom_scientifique", SpeciesBatch.PROPERTY_SPECIES + "." + Species.PROPERTY_NAME);
newColumnForExport("Commentaire", SpeciesBatch.PROPERTY_COMMENT);
- //FIXME Use me newColumnForExport("Coef_Final_Elevation", CatchExportRow.FINAL_RAISING_FACTOR);
for (SampleCategoryModelEntry entry : sampleCategoryModel.getCategory()) {
addSampleCategory(entry.getCanonicalLabel(), entry.getOrder());
@@ -95,6 +94,7 @@
newColumnForExport("Poids_Reference", CatchExportRow.REFERENCE_WEIGHT, TuttiCsvUtil.PRIMITIVE_FLOAT);
newColumnForExport("Coef_Elev_Espece_Capture", CatchExportRow.RAISING_FACTOR, TuttiCsvUtil.PRIMITIVE_FLOAT);
+ newColumnForExport("Coef_Final_Elevation", CatchExportRow.FINAL_RAISING_FACTOR, TuttiCsvUtil.PRIMITIVE_FLOAT);
}
public void prepareRows(PersistenceService persistenceService,
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/IndividualObservationExportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/IndividualObservationExportModel.java 2014-01-19 12:58:20 UTC (rev 1510)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/IndividualObservationExportModel.java 2014-01-19 13:15:24 UTC (rev 1511)
@@ -49,24 +49,16 @@
*/
public class IndividualObservationExportModel extends TuttiCsvUtil.AbstractTuttiExportModel<IndividualObservationExportRow> {
-// protected final Caracteristic caracteristicSample;
-//
-// protected final Caracteristic caracteristicOtolithe;
-
protected final Caracteristic caracteristicWeight;
protected final Caracteristic caracteristicPmfmId;
public IndividualObservationExportModel(
char separator,
-// Caracteristic caracteristicSample,
-// Caracteristic caracteristicOtolithe,
Caracteristic caracteristicWeight,
Caracteristic caracteristicPmfmId) {
super(separator);
-// this.caracteristicSample = caracteristicSample;
-// this.caracteristicOtolithe = caracteristicOtolithe;
this.caracteristicWeight = caracteristicWeight;
this.caracteristicPmfmId = caracteristicPmfmId;
@@ -77,7 +69,7 @@
newColumnForExport("Code_station", FishingOperation.PROPERTY_STATION_NUMBER);
newColumnForExport("Id_Operation", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER, TuttiCsvUtil.INTEGER);
newColumnForExport("Poche", FishingOperation.PROPERTY_MULTIRIG_AGGREGATION);
- newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, TuttiCsvUtil.VESSEL_VALUE_FORMATTER);
+// newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, TuttiCsvUtil.VESSEL_VALUE_FORMATTER);
newColumnForExport("BatchId", IndividualObservationExportRow.PROPERTY_BATCH_ID, TuttiCsvUtil.PRIMITIVE_INTEGER);
newColumnForExport("ReferenceTaxonId", IndividualObservationBatch.PROPERTY_SPECIES + "." + Species.PROPERTY_REFERENCE_TAXON_ID, TuttiCsvUtil.PRIMITIVE_INTEGER);
@@ -98,20 +90,6 @@
if (CollectionUtils.isNotEmpty(observations)) {
for (IndividualObservationBatch child : observations) {
-// addCaracteristicRow(rows,
-// cruise,
-// operation,
-// child,
-// caracteristicSample,
-// child.getSamplingCode());
-//
-// addCaracteristicRow(rows,
-// cruise,
-// operation,
-// child,
-// caracteristicOtolithe,
-// child.getCalcifiedPieceSamplingCode());
-
addCaracteristicRow(rows,
cruise,
operation,
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/MarineLitterExportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/MarineLitterExportModel.java 2014-01-19 12:58:20 UTC (rev 1510)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/MarineLitterExportModel.java 2014-01-19 13:15:24 UTC (rev 1511)
@@ -54,7 +54,7 @@
newColumnForExport("Code_station", FishingOperation.PROPERTY_STATION_NUMBER);
newColumnForExport("Id_Operation", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER, TuttiCsvUtil.INTEGER);
newColumnForExport("Poche", FishingOperation.PROPERTY_MULTIRIG_AGGREGATION);
- newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, TuttiCsvUtil.VESSEL_VALUE_FORMATTER);
+// newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, TuttiCsvUtil.VESSEL_VALUE_FORMATTER);
newColumnForExport("MarineLitterCategory", MarineLitterBatch.PROPERTY_MARINE_LITTER_CATEGORY, TuttiCsvUtil.CARACTERISTIC_VALUE_FORMATTER);
newColumnForExport("MarineLitterSizeCategory", MarineLitterBatch.PROPERTY_MARINE_LITTER_SIZE_CATEGORY, TuttiCsvUtil.CARACTERISTIC_VALUE_FORMATTER);
1
0
r1510 - in trunk/tutti-ui-swing/src/main/help: export fr
by tchemit@users.forge.codelutin.com Jan. 19, 2014
by tchemit@users.forge.codelutin.com Jan. 19, 2014
Jan. 19, 2014
Author: tchemit
Date: 2014-01-19 13:58:20 +0100 (Sun, 19 Jan 2014)
New Revision: 1510
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1510
Log:
refs #3939: [SPECS] Fournir la documentation sur le format g?\195?\169n?\195?\169rique
Added:
trunk/tutti-ui-swing/src/main/help/export/exportCruise-example.zip
Modified:
trunk/tutti-ui-swing/src/main/help/export/accidentalCatch.csv
trunk/tutti-ui-swing/src/main/help/export/catch.csv
trunk/tutti-ui-swing/src/main/help/export/individualObservation.csv
trunk/tutti-ui-swing/src/main/help/export/marineLitter.csv
trunk/tutti-ui-swing/src/main/help/export/operation.csv
trunk/tutti-ui-swing/src/main/help/export/parameter.csv
trunk/tutti-ui-swing/src/main/help/export/species.csv
trunk/tutti-ui-swing/src/main/help/export/survey.csv
trunk/tutti-ui-swing/src/main/help/fr/genericExport.html
Modified: trunk/tutti-ui-swing/src/main/help/export/accidentalCatch.csv
===================================================================
--- trunk/tutti-ui-swing/src/main/help/export/accidentalCatch.csv 2014-01-19 12:57:12 UTC (rev 1509)
+++ trunk/tutti-ui-swing/src/main/help/export/accidentalCatch.csv 2014-01-19 12:58:20 UTC (rev 1510)
@@ -1,7 +1,6 @@
-Annee;Serie;Serie_Partielle;Engin;Code_station;Numero_Trait;Poche;Navire;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100007;11183;Brissopsis atlantica;;1393;Rejet mort;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100007;11183;Brissopsis atlantica;;196;Femelle;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100007;11183;Brissopsis atlantica;;220;10.0;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100007;11183;Brissopsis atlantica;;1433;299;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100007;11183;Brissopsis atlantica;;299;1.0;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100007;11183;Brissopsis atlantica;;101;10.0;
+Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;31;4098;Abralia;commentaire capture accidentelle;1393;Rejet mort;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;31;4098;Abralia;commentaire capture accidentelle;196;Femelle;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;31;4098;Abralia;commentaire capture accidentelle;220;12.0;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;31;4098;Abralia;commentaire capture accidentelle;1433;323;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;31;4098;Abralia;commentaire capture accidentelle;323;1.0;
Modified: trunk/tutti-ui-swing/src/main/help/export/catch.csv
===================================================================
--- trunk/tutti-ui-swing/src/main/help/export/catch.csv 2014-01-19 12:57:12 UTC (rev 1509)
+++ trunk/tutti-ui-swing/src/main/help/export/catch.csv 2014-01-19 12:58:20 UTC (rev 1510)
@@ -1,7 +1,9 @@
-Annee;Serie;Serie_Partielle;Engin;Code_station;Numero_Trait;Poche;Navire;Taxon;Nom_scientifique;Commentaire;V_HV;Num_Ordre_V_HV_H2;Tot_V_HV;Ech_V_HV;Type_Volume_Poids_V_HV;Unite_Volume_Poids_V_HV;Class_Tri_;Num_Ordre_Class_Tri__H2;Tot_Class_Tri_;Ech_Class_Tri_;Type_Volume_Poids_Class_Tri_;Unite_Volume_Poids_Class_Tri_;Sexe;Num_Ordre_Sexe_H2;Tot_Sexe;Ech_Sexe;Type_Volume_Poids_Sexe;Unite_Volume_Poids_Sexe;Maturité;Num_Ordre_Maturité_H2;Tot_Maturité;Ech_Maturité;Type_Volume_Poids_Maturité;Unite_Volume_Poids_Maturité;Age;Num_Ordre_Age_H2;Tot_Age;Ech_Age;Type_Volume_Poids_Age;Unite_Volume_Poids_Age;Code_Longueur;Libelle_Longueur;Taille;NumOrdre_Taille_H2;Poids_Classe_Taille;Unite_Taille;Precision_Mesure;Nbr;Poids_Reference;Coef_Elev_Espece_Capture
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;495;Abralia veranyi;|Commentaire Espèce Très gros;Vrac;1;;;Poids;kg;TG - Très gros;1;50.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;299;Longueur céphalothoracique (LC) - individu - céphalothorax - Mesure au mm par un observateur;10.0;1;10.0;mm;1.0;3;10.0;6.4942336;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;495;Abralia veranyi;|Commentaire Espèce Très gros;Vrac;1;;;Poids;kg;TG - Très gros;1;50.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;299;Longueur céphalothoracique (LC) - individu - céphalothorax - Mesure au mm par un observateur;11.0;2;3.0;mm;1.0;2;3.0;21.647446;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;495;Abralia veranyi;|;Vrac;1;;;Poids;kg;G - Gros;2;10.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;10.0;6.4942336;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;495;Abralia veranyi;;Hors Vrac;1;5.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;1;5.0;1.0;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;4626;Adamsia carciniopados;Commentaires benthos|;Vrac;1;;;Poids;kg;TG - Très gros;1;0.5;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;0.5;1.5153213;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;4626;Adamsia carciniopados;Commentaires benthos|;Vrac;1;;;Poids;kg;G - Gros;2;0.2;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;0.2;3.7883031;
+Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;Code_Taxon;Code_Espece_Campagne;Nom_scientifique;Commentaire;V_HV;Num_Ordre_V_HV_H2;Tot_V_HV;Ech_V_HV;Type_Volume_Poids_V_HV;Unite_Volume_Poids_V_HV;Class_Tri_;Num_Ordre_Class_Tri__H2;Tot_Class_Tri_;Ech_Class_Tri_;Type_Volume_Poids_Class_Tri_;Unite_Volume_Poids_Class_Tri_;Sexe;Num_Ordre_Sexe_H2;Tot_Sexe;Ech_Sexe;Type_Volume_Poids_Sexe;Unite_Volume_Poids_Sexe;Maturité;Num_Ordre_Maturité_H2;Tot_Maturité;Ech_Maturité;Type_Volume_Poids_Maturité;Unite_Volume_Poids_Maturité;Age;Num_Ordre_Age_H2;Tot_Age;Ech_Age;Type_Volume_Poids_Age;Unite_Volume_Poids_Age;Code_Longueur;Libelle_Longueur;Taille;NumOrdre_Taille_H2;Poids_Classe_Taille;Unite_Taille;Precision_Mesure;Nbr;Poids_Reference;Coef_Elev_Espece_Capture;Coef_Final_Elevation
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;1749;;Ammodytes tobianus;Commentaire V|;Vrac;1;;;Poids;kg;TG - Très gros;1;20.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;20.0;4.5;0.0;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;1749;;Ammodytes tobianus;Commentaire V|Commentaire V/G|;Vrac;1;;;Poids;kg;G - Gros;2;70.0;;Poids;kg;Male;1;67.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;323;Largeur céphalothoracique (LAC) - individu - céphalothorax - Mesure au mm par un observateur;10.0;1;10.0;mm;1.0;12;10.0;9.0;0.0;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;1749;;Ammodytes tobianus;Commentaire V|Commentaire V/G|;Vrac;1;;;Poids;kg;G - Gros;2;70.0;;Poids;kg;Male;1;67.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;323;Largeur céphalothoracique (LAC) - individu - céphalothorax - Mesure au mm par un observateur;11.0;2;12.0;mm;1.0;2;12.0;7.5;0.0;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;1749;;Ammodytes tobianus;Commentaire V|Commentaire V/G|;Vrac;1;;;Poids;kg;G - Gros;2;70.0;;Poids;kg;Male;1;67.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;323;Largeur céphalothoracique (LAC) - individu - céphalothorax - Mesure au mm par un observateur;12.0;3;12.0;mm;1.0;3;12.0;7.5;0.0;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;1749;;Ammodytes tobianus;Commentaire V|Commentaire V/G|Commentaire V/G/F;Vrac;1;;;Poids;kg;G - Gros;2;70.0;;Poids;kg;Femelle;2;3.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;12;3.0;30.0;0.0;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;1938;;Agonus cataphractus;|;Vrac;2;;;Poids;kg;G - Gros;1;10.0;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;2;10.0;1.0;0.0;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;4622;;Abietinaria abietina;commentaire benthos V|commentaire benthos V/G;Vrac;1;;;Poids;kg;G - Gros;1;0.5;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;;0.5;1.4;0.0;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;4622;;Abietinaria abietina;commentaire benthos V|commentaire benthos V/M;Vrac;1;;;Poids;kg;M - Moyen;2;0.2;;Poids;kg;NA;;;;;kg;NA;;;;;kg;NA;;;;;kg;;;;;;;;1;0.2;3.5;0.0;
Added: trunk/tutti-ui-swing/src/main/help/export/exportCruise-example.zip
===================================================================
(Binary files differ)
Property changes on: trunk/tutti-ui-swing/src/main/help/export/exportCruise-example.zip
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/tutti-ui-swing/src/main/help/export/individualObservation.csv
===================================================================
--- trunk/tutti-ui-swing/src/main/help/export/individualObservation.csv 2014-01-19 12:57:12 UTC (rev 1509)
+++ trunk/tutti-ui-swing/src/main/help/export/individualObservation.csv 2014-01-19 12:58:20 UTC (rev 1510)
@@ -1,17 +1,12 @@
-Annee;Serie;Serie_Partielle;Engin;Code_station;Numero_Trait;Poche;Navire;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100001;495;Abralia veranyi;;1433;299;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100001;495;Abralia veranyi;;299;10.0;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100001;495;Abralia veranyi;;198;TG - Très gros;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100002;495;Abralia veranyi;;1433;299;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100002;495;Abralia veranyi;;299;10.0;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100002;495;Abralia veranyi;;198;TG - Très gros;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100003;495;Abralia veranyi;;1433;299;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100003;495;Abralia veranyi;;299;10.0;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100003;495;Abralia veranyi;;198;TG - Très gros;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100004;495;Abralia veranyi;;1433;299;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100004;495;Abralia veranyi;;299;11.0;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100004;495;Abralia veranyi;;198;TG - Très gros;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100005;495;Abralia veranyi;;1433;299;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100005;495;Abralia veranyi;;299;11.0;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100005;495;Abralia veranyi;;198;TG - Très gros;
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;100006;495;Abralia veranyi;;220;5.0;
+Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;BatchId;ReferenceTaxonId;ReferenceTaxonName;Commentaire;CaracteristicId;CaracteristicValue
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;29;1938;Agonus cataphractus;commentaire observation individuelle 1;220;0.09;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;29;1938;Agonus cataphractus;commentaire observation individuelle 1;1433;299;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;29;1938;Agonus cataphractus;commentaire observation individuelle 1;299;2.0;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;29;1938;Agonus cataphractus;commentaire observation individuelle 1;198;G - Gros;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;29;1938;Agonus cataphractus;commentaire observation individuelle 1;196;UNK - Indetermine;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;29;1938;Agonus cataphractus;commentaire observation individuelle 1;1435;1;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;30;1938;Agonus cataphractus;commentaire observation individuelle 2;220;0.02;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;30;1938;Agonus cataphractus;commentaire observation individuelle 2;1433;299;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;30;1938;Agonus cataphractus;commentaire observation individuelle 2;299;2.0;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;30;1938;Agonus cataphractus;commentaire observation individuelle 2;198;G - Gros;
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;30;1938;Agonus cataphractus;commentaire observation individuelle 2;1435;2;
Modified: trunk/tutti-ui-swing/src/main/help/export/marineLitter.csv
===================================================================
--- trunk/tutti-ui-swing/src/main/help/export/marineLitter.csv 2014-01-19 12:57:12 UTC (rev 1509)
+++ trunk/tutti-ui-swing/src/main/help/export/marineLitter.csv 2014-01-19 12:58:20 UTC (rev 1510)
@@ -1,2 +1,2 @@
-Annee;Serie;Serie_Partielle;Engin;Code_station;Numero_Trait;Poche;Navire;MarineLitterCategory;MarineLitterSizeCategory;Number;Weight;Commentaire
-2014;Export Générique;1;SENSOR Micrel/NKE TPS 100;A;1;1;278970;"L3d Objets métalliques de grande taille - Barils, pièces de machinerie, appareils électriques, etc.";A: <5*5 cm= 25 cm2;2;10.0;Grille pains;
+Annee;Serie;Serie_Partielle;Engin;Code_station;Id_Operation;Poche;MarineLitterCategory;MarineLitterSizeCategory;Number;Weight;Commentaire
+2014;Campagne CGFS;;OTT 15/21.2;A;1;1;"L3d Objets métalliques de grande taille - Barils, pièces de machinerie, appareils électriques, etc.";A: <5*5 cm= 25 cm2;12;20.0;commentaire macro-dechet;
Modified: trunk/tutti-ui-swing/src/main/help/export/operation.csv
===================================================================
--- trunk/tutti-ui-swing/src/main/help/export/operation.csv 2014-01-19 12:57:12 UTC (rev 1509)
+++ trunk/tutti-ui-swing/src/main/help/export/operation.csv 2014-01-19 12:58:20 UTC (rev 1510)
@@ -1,2 +1,2 @@
-Annee;Serie;Serie_Partielle;Code_Station;Numero_Trait;Poche;Engin;Navire;DateDeb_Op;LatDeb;LongDeb;DateFin_Op;LatFin;LongFin;Duree;Strate;Sous-Strate;Localite;Validite_OP;Rectiligne;Distance;Ouv_Verticale;Ouv_Horizontale_Ailes;Ouv_Horizontale_Panneaux;Saisisseur;NavireAssocie;Commentaire;Poids_Total;Poids_Total_Calcule;Poids_Total_Vrac;Poids_Total_Vrac_Calcule;Poids_Total_HorsVrac;Poids_Total_HorsVrac_Calcule;Poids_Total_Non_Trie;Poids_Total_Non_Trie_Calcule;Poids_Total_Tremis;Poids_Total_Tremis_Calcule;Poids_Total_Carroussel;Poids_Total_Carroussel_Calcule;Poids_Total_Espece;Poids_Total_Espece_Calcule;Poids_Total_Espece_Vrac;Poids_Total_Espece_Vrac_Calcule;Poids_Total_Espece_Vrac_Trie;Poids_Total_Espece_Vrac_Trie_Calcule;Poids_Total_Espece_HorsVrac;Poids_Total_Espece_HorsVrac_Calcule;Poids_Total_Espece_Inerte_Trie;Poids_Total_Espece_Inerte_Trie_Calcule;Poids_Total_Espece_Vivant_non_detaille_trie;Poids_Total_Espece_Vivant_non_detaille_trie_Calcule;Poids_Total_Benthos;Poids_Total_Benthos_Calcule;Poids_Total_Benthos_Vrac;Poids_Total_Benthos_Vrac_Calcule;Poids_Total_Benthos_Vrac_Trie;Poids_Total_Benthos_Vrac_Trie_Calcule;Poids_Total_Benthos_HorsVrac;Poids_Total_Benthos_HorsVrac_Calcule;Poids_Total_Benthos_Inerte_Trie;Poids_Total_Benthos_Inerte_Trie_Calcule;Poids_Total_Benthos_Vivant_non_detaille_trie;Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule;Poids_Total_Macro_Dechet;Poids_Total_Macro_Dechet_Calcule
-2014;Export Générique;1;A;1;1;SENSOR Micrel/NKE TPS 100;278970;17/01/2014 00:00:00;41.3;1.5;17/01/2014 01:00:00;41.3;1.6;60;Strate 1D;NA;Localité 1D1;Y;Y;8363.0;NA;NA;NA;Ching-Maria VILLANUEVA|Joel VIGNEAU;005-07 (nat.) - NAVIRE OFIMER|FRA000868095 - THALASSA;;70.7;Y;60.7;Y;5.0;Y;5.0;N;;?;;?;65.0;Y;60.0;Y;60.0;Y;5.0;Y;0.0;Y;0.0;Y;0.7;Y;0.7;Y;0.7;Y;0.0;Y;0.0;Y;0.0;Y;10.0;Y;
+Annee;Serie;Serie_Partielle;Code_Station;Id_Operation;Poche;Engin;Navire;DateDeb_Op;LatDeb;LongDeb;DateFin_Op;LatFin;LongFin;Duree;Strate;Sous-Strate;Localite;Validite_OP;Rectiligne;Distance;Saisisseur;NavireAssocie;Commentaire;Poids_Total;Poids_Total_Calcule;Poids_Total_Vrac;Poids_Total_Vrac_Calcule;Poids_Total_HorsVrac;Poids_Total_HorsVrac_Calcule;Poids_Total_Non_Trie;Poids_Total_Non_Trie_Calcule;Poids_Total_Tremis;Poids_Total_Tremis_Calcule;Poids_Total_Carroussel;Poids_Total_Carroussel_Calcule;Poids_Total_Espece;Poids_Total_Espece_Calcule;Poids_Total_Espece_Vrac;Poids_Total_Espece_Vrac_Calcule;Poids_Total_Espece_Vrac_Trie;Poids_Total_Espece_Vrac_Trie_Calcule;Poids_Total_Espece_HorsVrac;Poids_Total_Espece_HorsVrac_Calcule;Poids_Total_Espece_Inerte_Trie;Poids_Total_Espece_Inerte_Trie_Calcule;Poids_Total_Espece_Vivant_non_detaille_trie;Poids_Total_Espece_Vivant_non_detaille_trie_Calcule;Poids_Total_Benthos;Poids_Total_Benthos_Calcule;Poids_Total_Benthos_Vrac;Poids_Total_Benthos_Vrac_Calcule;Poids_Total_Benthos_Vrac_Trie;Poids_Total_Benthos_Vrac_Trie_Calcule;Poids_Total_Benthos_HorsVrac;Poids_Total_Benthos_HorsVrac_Calcule;Poids_Total_Benthos_Inerte_Trie;Poids_Total_Benthos_Inerte_Trie_Calcule;Poids_Total_Benthos_Vivant_non_detaille_trie;Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule;Poids_Total_Macro_Dechet;Poids_Total_Macro_Dechet_Calcule
+2014;Campagne CGFS;;A;1;1;OTT 15/21.2;854508;19/01/2014 00:00:00;45.1;0.45;19/01/2014 01:00:00;45.1;0.49;60;Strate 1D;NA;Localité 1D2;Y;Y;3143.0;Claire VOLNY-ANNE|Celine VIGNOT;000 (nat.) - NAVIRE OFIMER|FRA000385795 - THALIA;commentaire Trait;100.7;Y;100.7;Y;0.0;Y;0.0;Y;-9.0;?;-9.0;?;100.0;Y;100.0;Y;100.0;Y;0.0;Y;0.0;Y;0.0;Y;0.72;Y;0.72;Y;0.72;Y;0.0;Y;0.02;N;0.0;Y;20.0;Y;
Modified: trunk/tutti-ui-swing/src/main/help/export/parameter.csv
===================================================================
--- trunk/tutti-ui-swing/src/main/help/export/parameter.csv 2014-01-19 12:57:12 UTC (rev 1509)
+++ trunk/tutti-ui-swing/src/main/help/export/parameter.csv 2014-01-19 12:58:20 UTC (rev 1510)
@@ -1,8 +1,19 @@
-Annee;Serie;Serie_Partielle;Code_station;Numero_Trait;Poche;Code_PMFM;Libelle_PMFm;Valeur
-2014;Export Générique;1;A;1;1;833;Ouverture verticale (chalut ou drague) - opération - totale - Instrument de bord;2.0;
-2014;Export Générique;1;A;1;1;828;Ouverture Horizontale aux pointes d'ailes - opération - totale - Instrument de bord;3.0;
-2014;Export Générique;1;A;1;1;905;Longueur d'un bras - engin - bras - Inconnue;5.0;
-2014;Export Générique;1;A;1;1;826;Longueur des funes - opération - totale - Instrument de bord;6.0;
-2014;Export Générique;1;A;1;1;863;"Température - masse d'eau, eau brute - Fond début de pêche - Instrument de bord";10.0;
-2014;Export Générique;1;A;1;1;862;"Température - masse d'eau, eau brute - Fond fin de pêche - Instrument de bord";9.0;
-2014;Export Générique;1;A;1;1;173;"Profondeur fond - masse d'eau, eau brute - totale - Inconnue";100.0;
+Annee;Serie;Serie_Partielle;Code_station;Id_Operation;Poche;Code_PMFM;Libelle_PMFm;Valeur
+2014;Campagne CGFS;;A;1;1;828;Ouverture Horizontale aux pointes d'ailes - opération - totale - Instrument de bord;12.0;
+2014;Campagne CGFS;;A;1;1;965;Ouverture verticale (chalut ou drague) - engin - totale - Inconnue;3.0;
+2014;Campagne CGFS;;A;1;1;855;Sonde - opération - Début de pêche - Instrument de bord;4.0;
+2014;Campagne CGFS;;A;1;1;826;Longueur de fune - opération - totale - Instrument de bord;33.0;
+2014;Campagne CGFS;;A;1;1;854;Sonde - opération - Fin de pêche - Instrument de bord;3.0;
+2014;Campagne CGFS;;A;1;1;194;"Etat de la mer - masse d'eau, eau brute - totale - Observation par un observateur";"0 - calme, vagues absentes";
+2014;Campagne CGFS;;A;1;1;230;Vitesse du vent - air - totale - Inconnue;12.0;
+2014;Campagne CGFS;;A;1;1;847;"Salinité - masse d'eau, eau brute - Fond début de pêche - Instrument de bord";34.0;
+2014;Campagne CGFS;;A;1;1;848;"Salinité - masse d'eau, eau brute - Fond fin de pêche - Instrument de bord";44.0;
+2014;Campagne CGFS;;A;1;1;849;"Salinité moyenne - masse d'eau, eau brute - Fond total - Instrument de bord";4.0;
+2014;Campagne CGFS;;A;1;1;850;"Salinité - masse d'eau, eau brute - Surface mise à l'eau - Instrument de bord";4.0;
+2014;Campagne CGFS;;A;1;1;851;"Salinité - masse d'eau, eau brute - Surface sortie de l'eau - Instrument de bord";4.0;
+2014;Campagne CGFS;;A;1;1;862;"Température - masse d'eau, eau brute - Fond fin de pêche - Instrument de bord";3.0;
+2014;Campagne CGFS;;A;1;1;863;"Température - masse d'eau, eau brute - Fond début de pêche - Instrument de bord";55.0;
+2014;Campagne CGFS;;A;1;1;881;"Température moyenne - masse d'eau, eau brute - Fond total - Instrument de bord";5.0;
+2014;Campagne CGFS;;A;1;1;882;"Température - masse d'eau, eau brute - Surface mise à l'eau - Instrument de bord";5.0;
+2014;Campagne CGFS;;A;1;1;883;"Température - masse d'eau, eau brute - Surface sortie de l'eau - Instrument de bord";5.0;
+2014;Campagne CGFS;;A;1;1;821;Direction vent - air - totale - Instrument de bord;33.0;
Modified: trunk/tutti-ui-swing/src/main/help/export/species.csv
===================================================================
--- trunk/tutti-ui-swing/src/main/help/export/species.csv 2014-01-19 12:57:12 UTC (rev 1509)
+++ trunk/tutti-ui-swing/src/main/help/export/species.csv 2014-01-19 12:58:20 UTC (rev 1510)
@@ -1,4 +1,5 @@
Id;Code_Rubin;Nom Scientifique;Code campagne
-495;ABRLVER;Abralia veranyi;ABRAVER;
-4626;ADAMCAR;Adamsia carciniopados;;
-11183;;Brissopsis atlantica;;
+1749;AMMOTOB;Ammodytes tobianus;AMMOTOB;
+1938;AGONCAT;Agonus cataphractus;AGONCAT;
+4098;ABRL;Abralia;;
+4622;ABIEABI;Abietinaria abietina;;
Modified: trunk/tutti-ui-swing/src/main/help/export/survey.csv
===================================================================
--- trunk/tutti-ui-swing/src/main/help/export/survey.csv 2014-01-19 12:57:12 UTC (rev 1509)
+++ trunk/tutti-ui-swing/src/main/help/export/survey.csv 2014-01-19 12:58:20 UTC (rev 1510)
@@ -1,2 +1,2 @@
Annee;Serie;Serie_Partielle;Navire;Pays;Zone_Etude;Campagne;Id_Sismer;Date_Deb_Campagne;Port_Deb_Campagne;Date_Fin_Campagne;Port_Fin_Campagne;Chef_Mission;Resp_Salle_Tri;Commentaire
-2014;Export Générique;1;278970;FRA;CGFS - Manche Est / Sud Mer du Nord;Export Générique_2014_1;;14/01/2014 00:00:00;La Barbotière (Gujan-Mestras);29/01/2014 00:00:00;Etang de Palo;Adrian LEVREL|Alain BISEAU;Alain BISEAU|Alain TETARD;;
+2014;Campagne CGFS;;854508;FRA;CGFS - Manche Est / Sud Mer du Nord;Campagne CGFS_2014;;19/01/2014 00:00:00;La Barbotière (Gujan-Mestras);25/01/2014 00:00:00;La Barbotière (Gujan-Mestras);- Testeur Ifremer;Adrian LEVREL;;
Modified: trunk/tutti-ui-swing/src/main/help/fr/genericExport.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/genericExport.html 2014-01-19 12:57:12 UTC (rev 1509)
+++ trunk/tutti-ui-swing/src/main/help/fr/genericExport.html 2014-01-19 12:58:20 UTC (rev 1510)
@@ -64,6 +64,8 @@
├── parameter.csv
├── species.csv
└── survey.csv</pre>
+ <p>Vous pouvez télécharger <a href="../export/exportCruise-example.zip" target="export">un exemple d'export générique.</a></p>
+
<h2>Fichier accidentalCatch.csv</h2>
<p>
Ce fichier contient les <strong>Captures accidentelles</strong>.
@@ -89,10 +91,9 @@
<tr><td>Serie_Partielle</td><td>Campagne</td><td>Série partielle</td><td></td></tr>
<tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
<tr><td>Code_station</td><td>Opération</td><td>Code station</td><td></td></tr>
- <tr><td>Numero_Trait</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
+ <tr><td>Id_Operation</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
<tr><td>Poche</td><td>Opération</td><td>Numéro de pôche</td><td></td></tr>
- <tr class='danger'><td>Navire</td><td>Opération</td><td>Navire</td><td><strong>A supprimer?</strong></td></tr>
- <tr class='active'><td>BatchId</td><td>Opération > Capture</td><td>Numéro de lôt de capture</td><td>Id technique non visible à l'écran</td></tr>
+ <tr class='active'><td>BatchId</td><td>Opération > Capture</td><td>Numéro de lôt de capture</td><td>Id du lot capture</td></tr>
<tr><td>ReferenceTaxonId</td><td>Opération > Observations individuelles</td><td>Tableau > Espèce</td><td></td></tr>
<tr><td>ReferenceTaxonName</td><td>Opération > Observations individuelles</td><td>Tableau > Espèce</td><td></td></tr>
<tr><td>Commentaire</td><td>Opération > Observations individuelles</td><td>Tableau > Commentaire</td><td></td></tr>
@@ -101,7 +102,14 @@
</tbody>
</table>
- <p><strong>(1)</strong> On retrouve aussi les caractéristiques définies dans le protocole > Caractéristiques > Observations individuelles qui sont des colonnes du tableau</p>
+ <p><strong>(1)</strong> On retrouve en plus les caractéristiques définies directement dans le tableau :</p>
+ <ul>
+ <li>Tableau > Sexe</li>
+ <li>Tableau > Poids observé</li>
+ <li>Tableau > Taille</li>
+ <li>Tableau > Classe de taille</li>
+ <li>Tableau > Mort ou vivant</li>
+ </ul>
<h2>Fichier catch.csv</h2>
<p>
Ce fichier contient les données des <strong>Captures espèces et benthos</strong>.
@@ -127,36 +135,62 @@
<tr><td>Serie_Partielle</td><td>Campagne</td><td>Série partielle</td><td></td></tr>
<tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
<tr><td>Code_station</td><td>Opération</td><td>Code station</td><td></td></tr>
- <tr><td>Numero_Trait</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
+ <tr><td>Id_Operation</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
<tr><td>Poche</td><td>Opération</td><td>Numéro de pôche</td><td></td></tr>
<tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
- <tr class='danger'><td>Navire</td><td>Opération</td><td>Navire</td><td><strong>A supprimer?</strong></td></tr>
- <tr><td>Taxon</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Espèce</td><td></td></tr>
+ <tr><td>Code_Taxon</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Espèce</td><td></td></tr>
+ <tr><td>Code_Espece_Campagne</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Espèce</td><td></td></tr>
<tr><td>Nom_scientifique</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Espèce</td><td></td></tr>
- <tr><td>Commentaire</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Commentaire</td><td></td></tr>
- <tr><td>V_HV</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Poids Vrac</td><td></td></tr>
- <tr><td>Num_Ordre_V_HV_H2</td><td>Opération > Captures > Espèces ou Benthos</td><td>Numéro ordre du lot</td><td></td></tr>
- <tr><td>Tot_V_HV</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Vrac (sur le lôt père)</td><td></td></tr>
+ <tr><td>Commentaire</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Commentaire</td><td>Les commentaires séparés par des <strong>|</strong>; en partant du lôt père jusqu'au lot feuille</td></tr>
+ <tr><td>V_HV</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Poids Vrac</td><td>Valeur: <strong>Vrac</strong> ou <strong>Hors Vrac</strong></td></tr>
+ <tr class='active'><td>Num_Ordre_V_HV_H2</td><td>Opération > Captures > Espèces ou Benthos</td><td>Numéro ordre du lot</td><td>(rankOrder)</td></tr>
+ <tr><td>Tot_V_HV</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Vrac / Hors Vrac</td><td></td></tr>
<tr><td>Ech_V_HV</td><td>Opération > Captures > Espèces ou Benthos</td><td>Tableau > Poids sous échantillonné</td><td></td></tr>
- <tr><td>Type_Volume_Poids_V_HV</td><td>Opération > Captures > Espèces ou Benthos</td><td>TODO</td><td></td></tr>
- <tr><td>Unite_Volume_Poids_V_HV</td><td>Opération > Captures > Espèces ou Benthos</td><td>TODO</td><td></td></tr>
+ <tr class='active'><td>Type_Volume_Poids_V_HV</td><td>Opération > Captures > Espèces ou Benthos</td><td></td><td>Poids ou volume (toujours <strong>Poids</strong>)</td></tr>
+ <tr class='active'><td>Unite_Volume_Poids_V_HV</td><td>Opération > Captures > Espèces ou Benthos</td><td></td><td>Unité de poids (toujours <strong>kg</strong>)</td></tr>
<tr><td>(1)</td><td>Opération > Captures > Espèces ou Benthos</td><td>Catégorisations</td><td></td></tr>
- <tr><td>Code_Longueur</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>TODO</td><td></td></tr>
- <tr><td>Libelle_Longueur</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>TODO</td><td></td></tr>
- <tr><td>Taille</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>TODO</td><td></td></tr>
- <tr><td>NumOrdre_Taille_H2</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>TODO</td><td></td></tr>
- <tr><td>Poids_Classe_Taille</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Poids</td><td></td></tr>
- <tr><td>Unite_Taille</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Classe de taille</td><td></td></tr>
- <tr><td>Precision_Mesure</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Précision</td><td></td></tr>
- <tr><td>Nbr</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Nombre d'individus</td><td></td></tr>
- <tr><td>Poids_Reference</td><td>Opération > Captures > Espèces ou Benthos</td><td>Poids de référence</td><td></td></tr>
- <tr><td>Coef_Elev_Espece_Capture</td><td>Opération > Captures > Espèces ou Benthos</td><td>coefficient d'élévation à la capture totale</td><td></td></tr>
+ <tr><td>Code_Longueur</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Type de mesure</td><td></td></tr>
+ <tr><td>Libelle_Longueur</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Type de mesure</td><td></td></tr>
+ <tr><td>Taille</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Tableau > Taille</td><td></td></tr>
+ <tr class='active'><td>NumOrdre_Taille_H2</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Numéro ordre du lot</td><td>(rankOrder)</td></tr>
+ <tr><td>Poids_Classe_Taille</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Tableau > Poids observé</td><td></td></tr>
+ <tr><td>Unite_Taille</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Type de mesure</td><td></td></tr>
+ <tr><td>Precision_Mesure</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Type de mesure</td><td></td></tr>
+ <tr><td>Nbr</td><td>Opération > Captures > Espèces ou Benthos > Mensurations</td><td>Tableau > Nombre</td><td></td></tr>
+ <tr class='active'><td>Poids_Reference</td><td>Opération > Captures > Espèces ou Benthos</td><td>Poids de référence</td><td>Poids utilisé pour faire l'élévation</td></tr>
+ <tr class='active'><td>Coef_Elev_Espece_Capture</td><td>Opération > Captures > Espèces ou Benthos</td><td>Coefficient d'élévation à la capture totale</td><td>Valeur calculée</td></tr>
+ <tr class='danger'><td>Coef_Final_Elevation</td><td>Opération > Captures > Espèces ou Benthos</td><td>Coefficient d'élévation par catégorie à la capture totale</td><td>Valeur calculée à définir</td></tr>
</tbody>
</table>
-
+ <p><strong>(1)</strong> Comme pour <strong>V_HV</strong>; pour chaque catégorisation <strong>XXX</strong> on aura 6 colonnes :</p>
+ <dl>
+ <dt>XXX</dt>
+ <dd>
+ Valeur de la catégorisation (i.e valeur de la catartéristique) (<strong>NA</strong> si cette catégorisation n'est pas utilisée)
+ </dd>
+ <dt>Num_Ordre_XXX</dt>
+ <dd>
+ La position du lot (technique)
+ </dd>
+ <dt>Tot_XXX</dt>
+ <dd>
+ Tableau > XXX
+ <br/>
+ Le poids total pour tous les lots de cette catégorie
+ </dd>
+ <dt>Ech_XXX</dt>
+ <dd>Tableau > Poids sous échantillonné
+ <br/>
+ Le poids échantillon de enregistre les modifications faites dans les différents champs.
+ </dd>
+ <dt>Type_Volume_Poids_XXX</dt>
+ <dd>Poids ou volume (toujours <strong>Poids</strong>)</dd>
+ <dt>Unite_Volume_Poids_XXX</dt>
+ <dd>Unité de poids (toujours <strong>kg</strong>)</dd>
+ </dl>
<h2>Fichier gearCaracteristics.csv</h2>
<p>
- Ce fichier contient les données de <strong>mises en oeuvre de l'engin</strong>.
+ Ce fichier contient les caractéristiques des engins d'une campagne.
</p>
<h3>Entête du fichier</h3>
<pre>
@@ -177,10 +211,10 @@
<tr><td>Annee</td><td>Campagne</td><td>Date de début</td><td>format YYYY</td></tr>
<tr><td>Serie</td><td>Campagne</td><td>Série</td><td></td></tr>
<tr><td>Serie_Partielle</td><td>Campagne</td><td>Série partielle</td><td></td></tr>
- <tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
- <tr><td>Code_PMFM</td><td>Opération > Mise en oeuvre de l'engin</td><td>Tableau > Caractéristique</td><td></td></tr>
- <tr><td>Libelle_PMFM</td><td>Opération > Mise en oeuvre de l'engin</td><td>Tableau > Caractéristique</td><td></td></tr>
- <tr><td>Valeur</td><td>Opération > Mise en oeuvre de l'engin</td><td>Tableau > Valeur</td><td></td></tr>
+ <tr><td>Engin</td><td>Campagne</td><td>Engin</td><td></td></tr>
+ <tr><td>Code_PMFM</td><td>Campagne > Engin</td><td>Tableau > Caractéristique</td><td></td></tr>
+ <tr><td>Libelle_PMFM</td><td>Campagne > Engin</td><td>Tableau > Caractéristique</td><td></td></tr>
+ <tr><td>Valeur</td><td>Campagne > Engin</td><td>Tableau > Valeur</td><td></td></tr>
</tbody>
</table>
@@ -209,19 +243,20 @@
<tr><td>Serie_Partielle</td><td>Campagne</td><td>Série partielle</td><td></td></tr>
<tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
<tr><td>Code_station</td><td>Opération</td><td>Code station</td><td></td></tr>
- <tr><td>Numero_Trait</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
+ <tr><td>Id_Operation</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
<tr><td>Poche</td><td>Opération</td><td>Numéro de pôche</td><td></td></tr>
<tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
- <tr class='danger'><td>Navire</td><td>Opération</td><td>Navire</td><td><strong>A supprimer?</strong></td></tr>
<tr><td>BatchId</td><td>Opération > Observations individuelles</td><td>Id technique</td><td></td></tr>
<tr><td>ReferenceTaxonId</td><td>Opération > Observations individuelles</td><td>Tableau > Espèce</td><td></td></tr>
<tr><td>ReferenceTaxonName</td><td>Opération > Observations individuelles</td><td>Tableau > Espèce</td><td></td></tr>
<tr><td>Commentaire</td><td>Opération > Observations individuelles</td><td>Tableau > Commentaire</td><td></td></tr>
- <tr><td>CaracteristicId</td><td>Opération > Observations individuelles</td><td>Tableau > Caractéristique</td><td></td></tr>
- <tr><td>CaracteristicValue</td><td>Opération > Observations individuelles</td><td>Tableau > Valeur</td><td></td></tr>
+ <tr><td>CaracteristicId</td><td>Opération > Observations individuelles</td><td>Tableau > Autre Caractéristiques > Tableau > Caractéristique</td><td>(1)</td></tr>
+ <tr><td>CaracteristicValue</td><td>Opération > Observations individuelles</td><td>Tableau > Autre Caractéristiques > Tableau > Valeur</td><td>(1)</td></tr>
</tbody>
</table>
+ <p><strong>(1)</strong> On retrouve aussi les caractéristiques communes définies dans le protocole, affichées dans
+ des colonnes du tableau avanat <i>Autres caractéristiques</i></p>
<h2>Fichier marineLitter.csv</h2>
<p>
Ce fichier contient les données de <strong>Macro dechêts</strong>.
@@ -247,10 +282,9 @@
<tr><td>Serie_Partielle</td><td>Campagne</td><td>Série partielle</td><td></td></tr>
<tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
<tr><td>Code_station</td><td>Opération</td><td>Code station</td><td></td></tr>
- <tr><td>Numero_Trait</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
+ <tr><td>Id_Operation</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
<tr><td>Poche</td><td>Opération</td><td>Numéro de pôche</td><td></td></tr>
<tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
- <tr class='danger'><td>Navire</td><td>Opération</td><td>Navire</td><td><strong>A supprimer?</strong></td></tr>
<tr><td>MarineLitterCategory</td><td>Opération > Macro-déchet</td><td>Tableau > Catégorie</td><td></td></tr>
<tr><td>MarineLitterSizeCategory</td><td>Opération > Macro-déchet</td><td>Tableau > Catégorie de taille</td><td></td></tr>
<tr><td>Number</td><td>Opération > Macro-déchet</td><td>Tableau > Nombre</td><td></td></tr>
@@ -284,73 +318,74 @@
<tr><td>Serie_Partielle</td><td>Campagne</td><td>Série partielle</td><td></td></tr>
<tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
<tr><td>Code_station</td><td>Opération</td><td>Code station</td><td></td></tr>
- <tr><td>Numero_Trait</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
+ <tr><td>Id_Operation</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
<tr><td>Poche</td><td>Opération</td><td>Numéro de pôche</td><td></td></tr>
<tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
<tr><td>Navire</td><td>Opération</td><td>Navire</td><td></td></tr>
- <tr><td>DateDeb_Op</td><td>Opération</td><td>Date début</td><td></td></tr>
- <tr><td>LatDeb</td><td>Opération</td><td>Latitude début</td><td></td></tr>
- <tr><td>LongDeb</td><td>Opération</td><td>Longitude début</td><td></td></tr>
- <tr><td>DateFin_Op</td><td>Opération</td><td>Date fin</td><td></td></tr>
- <tr><td>LatFin</td><td>Opération</td><td>Latitude fin</td><td></td></tr>
- <tr><td>LongFin</td><td>Opération</td><td>Longitude fin</td><td></td></tr>
- <tr><td>Duree</td><td>Opération</td><td>Durée du trait</td><td></td></tr>
- <tr><td>Strate</td><td>Opération</td><td>Strate</td><td></td></tr>
- <tr><td>Sous-Strate</td><td>Opération</td><td>Sous strate</td><td></td></tr>
- <tr><td>Localite</td><td>Opération</td><td>Localité</td><td></td></tr>
+ <tr><td>DateDeb_Op</td><td>Opération</td><td>Date début</td><td>format JJ/MM/YYYY HH:MM:ss</td></tr>
+ <tr><td>LatDeb</td><td>Opération</td><td>Latitude début</td><td>format DD</td></tr>
+ <tr><td>LongDeb</td><td>Opération</td><td>Longitude début</td><td>format DD</td></tr>
+ <tr><td>DateFin_Op</td><td>Opération</td><td>Date fin</td><td>format JJ/MM/YYYY HH:MM:ss</td></tr>
+ <tr><td>LatFin</td><td>Opération</td><td>Latitude fin</td><td>format DD</td></tr>
+ <tr><td>LongFin</td><td>Opération</td><td>Longitude fin</td><td>format DD</td></tr>
+ <tr><td>Duree</td><td>Opération</td><td>Durée du trait</td><td>(3)</td></tr>
+ <tr><td>Strate</td><td>Opération</td><td>Strate</td><td>(1)</td></tr>
+ <tr><td>Sous-Strate</td><td>Opération</td><td>Sous strate</td><td>(1)</td></tr>
+ <tr><td>Localite</td><td>Opération</td><td>Localité</td><td>(1)</td></tr>
<tr><td>Validite_OP</td><td>Opération</td><td>Opération valide</td><td></td></tr>
<tr><td>Rectiligne</td><td>Opération</td><td>Opération rectiligne</td><td></td></tr>
<tr><td>Distance</td><td>Opération</td><td>Distance</td><td></td></tr>
- <tr><td>Ouv_Verticale</td><td>Opération</td><td></td><td>TODO A supprimer car c'est une caractéristique du trait</td></tr>
- <tr><td>Ouv_Horizontale_Ailes</td><td>Opération</td><td></td><td>TODO A supprimer car c'est une caractéristique du trait</td></tr>
- <tr><td>Ouv_Horizontale_Panneaux</td><td>Opération</td><td></td><td>TODO A supprimer car c'est une caractéristique du trait</td></tr>
- <tr><td>Saisisseur</td><td>Opération</td><td>Saisisseur</td><td></td></tr>
- <tr><td>NavireAssocie</td><td>Opération</td><td>Navire associé</td><td></td></tr>
+ <tr><td>Saisisseur</td><td>Opération</td><td>Saisisseur</td><td>(2)</td></tr>
+ <tr><td>NavireAssocie</td><td>Opération</td><td>Navire associé</td><td>(2)</td></tr>
<tr><td>Commentaire</td><td>Opération</td><td>Commentaire</td><td></td></tr>
- <tr><td>Poids_Total</td><td>Opération > Capture > Résumé</td><td>Poids total capture</td><td></td></tr>
- <tr><td>Poids_Total_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total calculé</td><td></td></tr>
- <tr><td>Poids_Total_Vrac</td><td>Opération > Capture > Résumé</td><td>Poids total Vrac</td><td></td></tr>
- <tr><td>Poids_Total_Vrac_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total Vrac calculé</td><td></td></tr>
- <tr><td>Poids_Total_HorsVrac</td><td>Opération > Capture > Résumé</td><td>Poids total Hors Vrac</td><td></td></tr>
- <tr><td>Poids_Total_HorsVrac_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total Hors Vrac calculé</td><td></td></tr>
- <tr><td>Poids_Total_Non_Trie</td><td>Opération > Capture > Résumé</td><td>Poids total Non trié</td><td></td></tr>
- <tr><td>Poids_Total_Non_Trie_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total Non trié calculé</td><td></td></tr>
- <tr><td>Poids_Total_Tremis</td><td>Opération > Capture > Résumé</td><td>Poids total Trémis</td><td></td></tr>
- <tr><td>Poids_Total_Tremis_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total Trémis calculé</td><td></td></tr>
- <tr><td>Poids_Total_Carroussel</td><td>Opération > Capture > Résumé</td><td>Poids total Carroussel</td><td></td></tr>
- <tr><td>Poids_Total_Carroussel_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total Carroussel calculé</td><td></td></tr>
- <tr><td>Poids_Total_Espece</td><td>Opération > Capture > Espèce</td><td>Poids total</td><td></td></tr>
- <tr><td>Poids_Total_Espece_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total calculé</td><td></td></tr>
- <tr><td>Poids_Total_Espece_Vrac</td><td>Opération > Capture > Espèce</td><td>Poids total Vrac</td><td></td></tr>
- <tr><td>Poids_Total_Espece_Vrac_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total Vrac calculé</td><td></td></tr>
- <tr><td>Poids_Total_Espece_Vrac_Trie</td><td>Opération > Capture > Espèce</td><td>Poids total Vrac trié</td><td></td></tr>
- <tr><td>Poids_Total_Espece_Vrac_Trie_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total Vrac trié calculé</td><td></td></tr>
- <tr><td>Poids_Total_Espece_HorsVrac</td><td>Opération > Capture > Espèce</td><td>Poids total Hors Vrac</td><td></td></tr>
- <tr><td>Poids_Total_Espece_HorsVrac_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total Hors Vrac calculé</td><td></td></tr>
- <tr><td>Poids_Total_Espece_Inerte_Trie</td><td>Opération > Capture > Espèce</td><td>Poids total interte trié</td><td></td></tr>
- <tr><td>Poids_Total_Espece_Inerte_Trie_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total interte trié calculé</td><td></td></tr>
- <tr><td>Poids_Total_Espece_Vivant_non_detaille_trie</td><td>Opération > Capture > Espèce</td><td>Poids total no détaillé trié</td><td></td></tr>
- <tr><td>Poids_Total_Espece_Vivant_non_detaille_trie_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total no détaillé trié calculé</td><td></td></tr>
- <tr><td>Poids_Total_Benthos</td><td>Opération > Capture > Benthos</td><td>Poids total</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total calculé</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_Vrac</td><td>Opération > Capture > Benthos</td><td>Poids total Vrac</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_Vrac_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total Vrac calculé</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_Vrac_Trie</td><td>Opération > Capture > Benthos</td><td>Poids total Vrac trié</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_Vrac_Trie_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total Vrac trié calculé</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_HorsVrac</td><td>Opération > Capture > Benthos</td><td>Poids total Hors Vrac</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_HorsVrac_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total Hors Vrac calculé</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_Inerte_Trie</td><td>Opération > Capture > Benthos</td><td>Poids total interte trié</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_Inerte_Trie_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total interte trié calculé</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_Vivant_non_detaille_trie</td><td>Opération > Capture > Benthos</td><td>Poids total no détaillé trié</td><td></td></tr>
- <tr><td>Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total no détaillé trié calculé</td><td></td></tr>
- <tr><td>Poids_Total_Macro_Dechet</td><td>Opération > Capture > Macro déchêt</td><td>Poids total</td><td></td></tr>
- <tr><td>Poids_Total_Macro_Dechet_Calcule</td><td>Opération > Capture > Macro déchêt</td><td>Poids total calculé</td><td></td></tr>
+ <tr><td>Poids_Total</td><td>Opération > Capture > Résumé</td><td>Poids total capture</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Vrac</td><td>Opération > Capture > Résumé</td><td>Poids total Vrac</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Vrac_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total Vrac calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_HorsVrac</td><td>Opération > Capture > Résumé</td><td>Poids total Hors Vrac</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_HorsVrac_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total Hors Vrac calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Non_Trie</td><td>Opération > Capture > Résumé</td><td>Poids total Non trié</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Non_Trie_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total Non trié calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Tremis</td><td>Opération > Capture > Résumé</td><td>Poids total Trémis</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Tremis_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total Trémis calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Carroussel</td><td>Opération > Capture > Résumé</td><td>Poids total Carroussel</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Carroussel_Calcule</td><td>Opération > Capture > Résumé</td><td>Poids total Carroussel calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Espece</td><td>Opération > Capture > Espèce</td><td>Poids total</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Espece_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Espece_Vrac</td><td>Opération > Capture > Espèce</td><td>Poids total Vrac</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Espece_Vrac_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total Vrac calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Espece_Vrac_Trie</td><td>Opération > Capture > Espèce</td><td>Poids total Vrac trié</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Espece_Vrac_Trie_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total Vrac trié calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Espece_HorsVrac</td><td>Opération > Capture > Espèce</td><td>Poids total Hors Vrac</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Espece_HorsVrac_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total Hors Vrac calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Espece_Inerte_Trie</td><td>Opération > Capture > Espèce</td><td>Poids total interte trié</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Espece_Inerte_Trie_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total interte trié calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Espece_Vivant_non_detaille_trie</td><td>Opération > Capture > Espèce</td><td>Poids total non détaillé trié</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Espece_Vivant_non_detaille_trie_Calcule</td><td>Opération > Capture > Espèce</td><td>Poids total non détaillé trié calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Benthos</td><td>Opération > Capture > Benthos</td><td>Poids total</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Benthos_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Benthos_Vrac</td><td>Opération > Capture > Benthos</td><td>Poids total Vrac</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Benthos_Vrac_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total Vrac calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Benthos_Vrac_Trie</td><td>Opération > Capture > Benthos</td><td>Poids total Vrac trié</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Benthos_Vrac_Trie_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total Vrac trié calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Benthos_HorsVrac</td><td>Opération > Capture > Benthos</td><td>Poids total Hors Vrac</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Benthos_HorsVrac_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total Hors Vrac calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Benthos_Inerte_Trie</td><td>Opération > Capture > Benthos</td><td>Poids total interte trié</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Benthos_Inerte_Trie_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total interte trié calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Benthos_Vivant_non_detaille_trie</td><td>Opération > Capture > Benthos</td><td>Poids total non détaillé trié</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Benthos_Vivant_non_detaille_trie_Calcule</td><td>Opération > Capture > Benthos</td><td>Poids total non détaillé trié calculé</td><td>(4)</td></tr>
+ <tr><td>Poids_Total_Macro_Dechet</td><td>Opération > Capture > Macro déchêt</td><td>Poids total</td><td>(3)</td></tr>
+ <tr><td>Poids_Total_Macro_Dechet_Calcule</td><td>Opération > Capture > Macro déchêt</td><td>Poids total calculé</td><td>(4)</td></tr>
</tbody>
</table>
+ <p><strong>(1)</strong> : <strong>NA</strong> si pas de valeur</p>
+ <p><strong>(2)</strong> : Valeurs séparées par des <strong>|</strong></p>
+ <p><strong>(3)</strong> : <strong>-9</strong> si pas de valeur</p>
+ <p><strong>(4)</strong> : <strong>Y</strong> si valeur calculée, <strong>N</strong> si valeur observée</p>
<h2>Fichier parameter.csv</h2>
<p>
- Ce fichier contient les des <strong>Caractéristiques du trait</strong>.
+ Ce fichier contient tous les <strong>Caractéristiques du trait</strong>.
</p>
<h3>Entête du fichier</h3>
<pre>Annee;Serie;Serie_Partielle;Code_station;Numero_Trait;Poche;Code_PMFM;Libelle_PMFm;Valeur</pre>
@@ -372,18 +407,24 @@
<tr><td>Serie_Partielle</td><td>Campagne</td><td>Série partielle</td><td></td></tr>
<tr><td>Engin</td><td>Opération</td><td>Engin</td><td></td></tr>
<tr><td>Code_station</td><td>Opération</td><td>Code station</td><td></td></tr>
- <tr><td>Numero_Trait</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
+ <tr><td>Id_Operation</td><td>Opération</td><td>Numéro de trait</td><td></td></tr>
<tr><td>Poche</td><td>Opération</td><td>Numéro de pôche</td><td></td></tr>
- <tr><td>Code_PMFM</td><td>Code du pmfm</td><td>Tableau > Caractéristique</td><td></td></tr>
- <tr><td>Libelle_PMFm</td><td>Libellé du psfm</td><td>Tableau > Caractéristique</td><td></td></tr>
- <tr><td>Valeur</td><td>Valeur</td><td>Tableau > Valeur</td><td></td></tr>
+ <tr><td>Code_PMFM</td><td>Opération > Mise en oeuvre de l'engin (ou Autres paramètres)</td><td>Tableau > Caractéristique</td><td></td></tr>
+ <tr><td>Libelle_PMFm</td><td>Opération > Mise en oeuvre de l'engin (ou Autres paramètres)</td><td>Tableau > Caractéristique</td><td></td></tr>
+ <tr><td>Valeur</td><td>Opération > Mise en oeuvre de l'engin (ou Autres paramètres)</td><td>Tableau > Valeur</td><td></td></tr>
</tbody>
</table>
<h2>Fichier species.csv</h2>
<p>
- Ce fichier contient l'ensemble des espèces rencontrées dans les captures du trait.
+ Ce fichier contient l'ensemble des espèces rencontrées dans les captures du trait, à savoir :
</p>
+ <ul>
+ <li>Capture espèces</li>
+ <li>Capture benthos</li>
+ <li>Capture accidentelles</li>
+ <li>Observations individuelles</li>
+ </ul>
<h3>Entête du fichier</h3>
<pre>Id;Code_Rubin;Nom Scientifique;Code campagne</pre>
<h3>Exemple</h3>
@@ -393,16 +434,14 @@
<thead>
<tr>
<th>Nom de colonne</th>
- <th>Ecran</th>
- <th>Champs</th>
<th>Commentaire</th>
</tr>
</thead>
<tbody>
- <tr><td>Id</td><td>Identifiant du taxon</td><td></td><td></td></tr>
- <tr><td>Code_Rubin</td><td>RefTaxon</td><td></td><td></td></tr>
- <tr><td>Nom Scientifique</td><td></td><td></td><td></td></tr>
- <tr><td>Code campagne</td><td>Code campagne renseigné dans le protocole</td><td></td><td></td></tr>
+ <tr><td>Id</td><td>Identifiant du taxon</td></tr>
+ <tr><td>Code_Rubin</td><td>RefTaxon</td></tr>
+ <tr><td>Nom Scientifique</td><td>Nom scientifique</td></tr>
+ <tr><td>Code campagne</td><td>Code campagne renseigné dans le protocole</td></tr>
</tbody>
</table>
@@ -430,10 +469,10 @@
<tr><td>Serie</td><td>Campagne</td><td>Série</td><td></td></tr>
<tr><td>Serie_Partielle</td><td>Campagne</td><td>Série partielle</td><td></td></tr>
<tr><td>Navire</td><td>Campagne</td><td>Navire</td><td>Code</td></tr>
- <tr><td>Pays</td><td>Campagne</td><td>Pays</td><td>Provient de la configuration</td></tr>
+ <tr><td>Pays</td><td>Configuration > Application</td><td>Id du pays à utiliser (export)</td><td></td></tr>
<tr><td>Zone_Etude</td><td>Série de Campagne</td><td>Zone</td><td></td></tr>
<tr><td>Campagne</td><td>Campagne</td><td>Nom</td><td></td></tr>
- <tr><td>Id_Sismer</td><td>Campagne</td><td>TODO</td><td></td></tr>
+ <tr><td>Id_Sismer</td><td>Campagne</td><td></td><td>Vide pour le moment (voir http://forge.codelutin.com/issues/2877)</td></tr>
<tr><td>Date_Deb_Campagne</td><td>Campagne</td><td>Date de début</td><td>format JJ/MM/YYYY HH:MM:ss</td></tr>
<tr><td>Port_Deb_Campagne</td><td>Campagne</td><td>Port de départ</td><td></td></tr>
<tr><td>Date_Fin_Campagne</td><td>Campagne</td><td>Date de fin</td><td>format JJ/MM/YYYY HH:MM:ss</td></tr>
1
0
r1509 - trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence
by tchemit@users.forge.codelutin.com Jan. 19, 2014
by tchemit@users.forge.codelutin.com Jan. 19, 2014
Jan. 19, 2014
Author: tchemit
Date: 2014-01-19 13:57:12 +0100 (Sun, 19 Jan 2014)
New Revision: 1509
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1509
Log:
fixes #4154: [REFERENTIEL] Probl?\195?\168me si des esp?\195?\168ces sont supprim?\195?\169s
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-01-18 23:08:52 UTC (rev 1508)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-01-19 12:57:12 UTC (rev 1509)
@@ -84,6 +84,7 @@
import java.io.File;
import java.io.IOException;
import java.util.Collection;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
@@ -168,8 +169,6 @@
try {
V result = call.call();
return result;
- } catch (ApplicationTechnicalException e) {
- throw e;
} catch (RuntimeException e) {
throw e;
} catch (Exception e) {
@@ -644,7 +643,39 @@
@Override
public TuttiProtocol getProtocol(String id) {
- return protocolService.getProtocol(id);
+ TuttiProtocol protocol = protocolService.getProtocol(id);
+
+ // sanity it (remove all bad species and benthos)
+ // see http://forge.codelutin.com/issues/4154
+ List<Species> allReferentSpecies = getAllReferentSpecies();
+
+ Map<String, Species> map = TuttiEntities.splitByTaxonId(allReferentSpecies);
+
+ Iterator<SpeciesProtocol> iterator = protocol.getSpecies().iterator();
+ while (iterator.hasNext()) {
+ SpeciesProtocol speciesProtocol = iterator.next();
+ String taxonId = String.valueOf(speciesProtocol.getSpeciesReferenceTaxonId());
+ Species species = map.get(taxonId);
+ if (species == null) {
+ if (log.isWarnEnabled()) {
+ log.warn("Could not find protocol species " + taxonId + " (" + speciesProtocol.getSpeciesSurveyCode() + ") in referential.");
+ }
+ iterator.remove();
+ }
+ }
+ iterator = protocol.getBenthos().iterator();
+ while (iterator.hasNext()) {
+ SpeciesProtocol speciesProtocol = iterator.next();
+ String taxonId = String.valueOf(speciesProtocol.getSpeciesReferenceTaxonId());
+ Species species = map.get(taxonId);
+ if (species == null) {
+ if (log.isWarnEnabled()) {
+ log.warn("Could not find protocol benthos " + taxonId + " (" + speciesProtocol.getSpeciesSurveyCode() + ") in referential.");
+ }
+ iterator.remove();
+ }
+ }
+ return protocol;
}
//------------------------------------------------------------------------//
1
0
r1508 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol
by tchemit@users.forge.codelutin.com Jan. 18, 2014
by tchemit@users.forge.codelutin.com Jan. 18, 2014
Jan. 18, 2014
Author: tchemit
Date: 2014-01-19 00:08:52 +0100 (Sun, 19 Jan 2014)
New Revision: 1508
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1508
Log:
fix npe
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2014-01-18 22:47:12 UTC (rev 1507)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2014-01-18 23:08:52 UTC (rev 1508)
@@ -493,6 +493,11 @@
if (CollectionUtils.isNotEmpty(speciesProtocols)) {
for (SpeciesProtocol speciesProtocol : speciesProtocols) {
Integer taxonId = speciesProtocol.getSpeciesReferenceTaxonId();
+
+ if (taxonId == null) {
+
+ continue;
+ }
String taxonIdStr = String.valueOf(taxonId);
// remove all synonyms from available synonym list
1
0
Jan. 18, 2014
Author: tchemit
Date: 2014-01-18 23:47:12 +0100 (Sat, 18 Jan 2014)
New Revision: 1507
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1507
Log:
refs #4150: [AIDE] Manque aide pour Action + ou - sur l'?\195?\169cran
Modified:
trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html
Modified: trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html 2014-01-18 22:41:26 UTC (rev 1506)
+++ trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html 2014-01-18 22:47:12 UTC (rev 1507)
@@ -149,6 +149,14 @@
<h3>Description des actions<a name="traitActions"></a></h3>
<dl>
+ <dt>+</dt>
+ <dd>
+ Pour créer un nouveau trait.
+ </dd>
+ <dt>-</dt>
+ <dd>
+ Pour supprimer le trait sélectionné.
+ </dd>
<dt>Réinitialiser</dt>
<dd>
si des valeurs ont été modifiées et avant enregistrement, permet de
1
0