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
May 2014
- 5 participants
- 105 discussions
May 30, 2014
See <http://ci.codelutin.com/jenkins/job/tutti-nightly/44/changes>
Changes:
[Tony CHEMIT] refs #4959 implements it
------------------------------------------
Started by an SCM change
Building in workspace <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/>
Reverting <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk> to depth infinity with ignoreExternals: false
Updating https://svn.codelutin.com/tutti/trunk at revision '2014-05-29T00:50:18.907 +0200'
U tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
U tutti-ui-swing/src/main/filtered-resources/log4j.properties
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ComputeBatchWeightsAction.java
U tutti-ui-swing/src/license/THIRD-PARTY.properties
U pom.xml
U tutti-persistence/src/main/xmi/tutti-persistence.zargo
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MarineLitterBatchPersistenceServiceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchTreeHelper.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchPersistenceHelper.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/MeasurementPersistenceHelper.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
U tutti-persistence/src/main/resources/queries-failsafe.hbm.xml
At revision 1818
Parsing POMs
Modules changed, recalculating dependency graph
[trunk] $ /opt/jdk7/bin/java -Dsettings.security=/var/local/forge/data/codelutin.com/maven/settings-security.xml -Djava.awt.headless=true -cp /var/local/forge/data/codelutin.com/jenkins/plugins/maven-plugin/WEB-INF/lib/maven31-agent-1.5.jar:/opt/maven3/boot/plexus-classworlds-2.5.1.jar:/opt/maven3/conf/logging jenkins.maven3.agent.Maven31Main /opt/maven3 /var/local/forge/exec/tomcat-codelutin.com/webapps/jenkins/WEB-INF/lib/remoting-2.39.jar /var/local/forge/data/codelutin.com/jenkins/plugins/maven-plugin/WEB-INF/lib/maven31-interceptor-1.5.jar /var/local/forge/data/codelutin.com/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.5.jar 56731
<===[JENKINS REMOTING CAPACITY]===> channel started
Executing Maven: -B -f <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/pom.xml> -s /var/local/forge/data/codelutin.com/maven/settings.xml -e -U clean install -DperformRelease -Dredmine.skipGenerateChanges
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] Tutti
[INFO] Tutti :: Persistence
[INFO] Tutti :: Ichtyometer API
[INFO] Tutti :: Service
[INFO] Tutti :: UI
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti ---
[INFO] Deleting <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target>
[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] Exporting server [redmine-forge.codelutin.com] privateKey in ${redmine.apiKey}
[INFO]
[INFO] --- license-maven-plugin:1.6:update-project-license (attach-licenses) @ tutti ---
[INFO] Will create or update license file [gpl_v3] to <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/LICENSE.txt>
[INFO]
[INFO] --- license-maven-plugin:1.6:add-third-party (attach-licenses) @ tutti ---
[WARNING] The goal is skip due to packaging 'pom'
[INFO]
[INFO] --- license-maven-plugin:1.6:update-file-header (update-file-header-on-pom) @ tutti ---
[INFO] Will search files to update from root <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk>
[INFO] Scan 1 file header done in 40.822ms.
[INFO] All files are up-to-date.
[INFO]
[INFO] --- license-maven-plugin:1.6:update-file-header (update-file-header) @ tutti ---
[INFO] Will search files to update from root <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/src>
[INFO] Scan 8 files header done in 36.8ms.
[INFO] All files are up-to-date.
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.10:check (default) @ tutti ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java17:1.0
[INFO]
[INFO] --- jredmine-maven-plugin:1.8.1:generate-changes (jredmine-generate-changes) @ tutti ---
[INFO] Skipping goal (skipGenerateChanges flag is on).
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ tutti ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/surefire-…>
[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
[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]
[INFO] --- maven-javadoc-plugin:2.9.1:jar (attach-javadocs) @ tutti ---
[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.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/collect/f…>
[INFO] Copying tutti-3.5-SNAPSHOT-site_fr.xml to <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/collect/f…>
[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.5:sign (sign-artifacts) @ tutti ---
[INFO]
[INFO] --- maven-dependency-plugin:2.8:analyze-only (analyze) @ tutti ---
[INFO] Skipping pom project
[INFO]
[INFO] --- maven-install-plugin:2.5.1:install (default-install) @ tutti ---
[INFO] Installing <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/pom.xml> to /var/local/forge/data/codelutin.com/maven/repository/fr/ifremer/tutti/3.5-SNAPSHOT/tutti-3.5-SNAPSHOT.pom
[INFO] Installing <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/tutti-3.5…> to /var/local/forge/data/codelutin.com/maven/repository/fr/ifremer/tutti/3.5-SNAPSHOT/tutti-3.5-SNAPSHOT-site_fr.xml
[INFO] Installing <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/tutti-3.5…> to /var/local/forge/data/codelutin.com/maven/repository/fr/ifremer/tutti/3.5-SNAPSHOT/tutti-3.5-SNAPSHOT.pom.asc
[INFO] Installing <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/tutti-3.5…> to /var/local/forge/data/codelutin.com/maven/repository/fr/ifremer/tutti/3.5-SNAPSHOT/tutti-3.5-SNAPSHOT-site_fr.xml.asc
[JENKINS] Archiving disabled
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: Persistence 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug… (2 KB at 7.9 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene… (2 KB at 3.9 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug… (1017 B at 43.2 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene… (1017 B at 38.2 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[WARNING] The POM for fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT is missing, no dependency information available
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[WARNING] The POM for fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT is missing, no dependency information available
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [ 9.512 s]
[INFO] Tutti :: Persistence .............................. FAILURE [ 1.549 s]
[INFO] Tutti :: Ichtyometer API .......................... SKIPPED
[INFO] Tutti :: Service .................................. SKIPPED
[INFO] Tutti :: UI ....................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.791 s
[INFO] Finished at: 2014-05-29T00:50:39+01:00
[INFO] Final Memory: 45M/437M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project tutti-persistence: Could not resolve dependencies for project fr.ifremer.tutti:tutti-persistence:jar:3.5-SNAPSHOT: The following artifacts could not be resolved: fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project tutti-persistence: Could not resolve dependencies for project fr.ifremer.tutti:tutti-persistence:jar:3.5-SNAPSHOT: The following artifacts could not be resolved: fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:220)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:127)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:257)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:200)
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:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
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:745)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project fr.ifremer.tutti:tutti-persistence:jar:3.5-SNAPSHOT: The following artifacts could not be resolved: fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:198)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:195)
... 33 more
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: The following artifacts could not be resolved: fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:384)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:192)
... 34 more
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:459)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:262)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367)
... 35 more
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1012)
at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1004)
at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:725)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
... 3 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/DependencyResolutionExcept…
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :tutti-persistence
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com chemit+codelutin-ci(a)codelutin.com
channel stopped
Skipping sonar analysis due to bad build status FAILURE
1
4
May 30, 2014
See <http://ci.codelutin.com/jenkins/job/tutti-ci/97/changes>
Changes:
[Tony CHEMIT] fixes #5153: [TECH] Fichier d'ui corrompu
------------------------------------------
[...truncated 543 lines...]
[INFO] Generated 41 file(s) in 6.981s
[INFO]
[INFO] --- jaxx-maven-plugin:2.8.6-SNAPSHOT:generate-help-ids (default) @ tutti-ui-swing ---
[INFO] Store detected help ids to <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/target…>
[INFO] Merge help ids to <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/target…>
[INFO] Use input file: <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>
[INFO] No keys to add.
[INFO]
[INFO] --- i18n-maven-plugin:3.0:parserJava (scan-sources) @ tutti-ui-swing ---
[INFO]
[INFO] --- i18n-maven-plugin:3.0:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
[INFO]
[INFO] >>> i18n-maven-plugin:3.0:gen (scan-sources) @ tutti-ui-swing >>>
[INFO]
[INFO] --- i18n-maven-plugin:3.0:get (get) @ tutti-ui-swing ---
[INFO] Copying tutti-ui-swing.properties to <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/target…>
[INFO] Copying tutti-ui-swing.properties to <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/target…>
[INFO]
[INFO] <<< i18n-maven-plugin:3.0:gen (scan-sources) @ tutti-ui-swing <<<
[INFO]
[INFO] --- i18n-maven-plugin:3.0:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 9/1615 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1637/1648 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] >>> i18n-maven-plugin:3.0:bundle (make-bundle) @ tutti-ui-swing >>>
[INFO]
[INFO] --- i18n-maven-plugin:3.0:collect-i18n-artifacts (collect-i18n-artifacts) @ tutti-ui-swing ---
[INFO] collected 14 i18n artifacts for locale fr_FR stored in <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/target…>
[INFO] collected 14 i18n artifacts for locale en_GB stored in <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/target…>
[INFO]
[INFO] <<< i18n-maven-plugin:3.0:bundle (make-bundle) @ tutti-ui-swing <<<
[INFO]
[INFO] --- i18n-maven-plugin:3.0:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 405/2644 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 2468/2701 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] --- license-maven-plugin:1.6:update-project-license (attach-licenses) @ tutti-ui-swing ---
[INFO]
[INFO] --- license-maven-plugin:1.6:add-third-party (attach-licenses) @ tutti-ui-swing ---
[INFO] Load missing file <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/li…>
[INFO] Missing file <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/li…> is up-to-date.
[INFO] Writing third-party file to <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/target…>
[INFO] Writing bundled third-party file to <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/target…>
[INFO] Will attach third party file from <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/li…>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ui-swing ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO] Copying 104 resources
[INFO] Copying 4 resources
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 327 source files to <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/target…>
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>:[27,56] fr.ifremer.adagio.core.service.technical.synchro.ReferentialSynchroContext in fr.ifremer.adagio.core.service.technical.synchro has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>:[28,56] fr.ifremer.adagio.core.service.technical.synchro.ReferentialSynchroResult in fr.ifremer.adagio.core.service.technical.synchro has been deprecated
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional': class file for org.springframework.transaction.annotation.Transactional not found
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable': class file for org.springframework.cache.annotation.Cacheable not found
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict': class file for org.springframework.cache.annotation.CacheEvict not found
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>:[245,9] fr.ifremer.adagio.core.service.technical.synchro.ReferentialSynchroContext in fr.ifremer.adagio.core.service.technical.synchro has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>:[246,9] fr.ifremer.adagio.core.service.technical.synchro.ReferentialSynchroResult in fr.ifremer.adagio.core.service.technical.synchro has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>:[387,44] getSelectedValues() in javax.swing.JList has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>: Some input files use unchecked or unsafe operations.
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>: Recompile with -Xlint:unchecked for details.
[INFO] 101 warnings
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>:[327,41] cannot find symbol
symbol: method newSession(java.io.File,boolean,java.util.Map<java.lang.Class,jaxx.runtime.swing.session.State>)
location: class jaxx.runtime.swing.session.SwingSession
[ERROR] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>:[873,101] cannot find symbol
symbol: method getFile()
location: variable swingSession of type jaxx.runtime.swing.session.SwingSession
[INFO] 2 errors
[INFO] -------------------------------------------------------------
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [ 2.641 s]
[INFO] Tutti :: Persistence .............................. SUCCESS [ 16.932 s]
[INFO] Tutti :: Ichtyometer API .......................... SUCCESS [ 1.106 s]
[INFO] Tutti :: Service .................................. SUCCESS [ 5.697 s]
[INFO] Tutti :: UI ....................................... FAILURE [ 14.376 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 42.490 s
[INFO] Finished at: 2014-05-30T13:17:57+01:00
[INFO] Final Memory: 160M/1294M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project tutti-ui-swing: Compilation failure: Compilation failure:
[ERROR] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>:[327,41] cannot find symbol
[ERROR] symbol: method newSession(java.io.File,boolean,java.util.Map<java.lang.Class,jaxx.runtime.swing.session.State>)
[ERROR] location: class jaxx.runtime.swing.session.SwingSession
[ERROR] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>:[873,101] cannot find symbol
[ERROR] symbol: method getFile()
[ERROR] location: variable swingSession of type jaxx.runtime.swing.session.SwingSession
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project tutti-ui-swing: Compilation failure
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
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:745)
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:858)
at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 30 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :tutti-ui-swing
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com chemit+codelutin-ci(a)codelutin.com
channel stopped
1
3
Build failed in Jenkins: tutti-ci » Tutti :: UI #97
by admin+ci-codelutin.com@codelutin.com May 30, 2014
by admin+ci-codelutin.com@codelutin.com May 30, 2014
May 30, 2014
See <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
Changes:
[Tony CHEMIT] fixes #5153: [TECH] Fichier d'ui corrompu
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax… (2 KB at 51.9 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (2 KB at 38.9 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax… (2 KB at 49.9 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (2 KB at 45.0 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (2 KB at 48.1 KB/sec)
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax… (2 KB at 46.5 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax… (5 KB at 144.2 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (5 KB at 180.3 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax… (2 KB at 66.5 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (2 KB at 58.2 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax… (2 KB at 73.0 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (2 KB at 66.9 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax… (2 KB at 63.9 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (2 KB at 58.6 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax… (77 KB at 1862.9 KB/sec)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti-ui-swing ---
[INFO]
[INFO] --- jaxx-maven-plugin:2.8.6-SNAPSHOT:generate (default) @ tutti-ui-swing ---
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax… (2 KB at 61.0 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (2 KB at 58.4 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/jax… (2 KB at 63.5 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (2 KB at 60.8 KB/sec)
[INFO] use project compile scope class-path
[INFO] Detects 41 modified jaxx file(s).
[WARNING] JAXX detects 6 warnings :
<http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
Found a handler fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditorHandler which does not implements jaxx.runtime.spi.UIHandler
<http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
jaxx supports i18n, no need to add explicit call to I18n.t for attribute 'text' in component 'filterBenthosBatchRootButton' : [handler.getFilterBenthosBatchRootButtonText(model.getRootNumber())]
<http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
jaxx supports i18n, no need to add explicit call to I18n.t for attribute 'text' in component 'filterSpeciesBatchRootButton' : [handler.getFilterSpeciesBatchRootButtonText(model.getRootNumber())]
<http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
jaxx supports i18n, no need to add explicit call to I18n.t for attribute 'text' in component 'gearLatitudeLabel' : [handler.getGearLatitudeLabelText(handler.getConfig().getCoordinateEditorType())]
<http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
jaxx supports i18n, no need to add explicit call to I18n.t for attribute 'text' in component 'gearLongitudeLabel' : [handler.getGearLongitudeLabelText(handler.getConfig().getCoordinateEditorType())]
<http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
jaxx supports i18n, no need to add explicit call to I18n.t for attribute 'toolTipText' in component 'trawlDistanceField' : [handler.getTrawlDistanceTooltipText(model.getTrawlDistance())]
[INFO] Generated 41 file(s) in 6.981s
[INFO]
[INFO] --- jaxx-maven-plugin:2.8.6-SNAPSHOT:generate-help-ids (default) @ tutti-ui-swing ---
[INFO] Store detected help ids to <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Merge help ids to <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Use input file: <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] No keys to add.
[INFO]
[INFO] --- i18n-maven-plugin:3.0:parserJava (scan-sources) @ tutti-ui-swing ---
[INFO]
[INFO] --- i18n-maven-plugin:3.0:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
[INFO]
[INFO] >>> i18n-maven-plugin:3.0:gen (scan-sources) @ tutti-ui-swing >>>
[INFO]
[INFO] --- i18n-maven-plugin:3.0:get (get) @ tutti-ui-swing ---
[INFO] Copying tutti-ui-swing.properties to <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Copying tutti-ui-swing.properties to <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO]
[INFO] <<< i18n-maven-plugin:3.0:gen (scan-sources) @ tutti-ui-swing <<<
[INFO]
[INFO] --- i18n-maven-plugin:3.0:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 9/1615 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1637/1648 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] >>> i18n-maven-plugin:3.0:bundle (make-bundle) @ tutti-ui-swing >>>
[INFO]
[INFO] --- i18n-maven-plugin:3.0:collect-i18n-artifacts (collect-i18n-artifacts) @ tutti-ui-swing ---
[INFO] collected 14 i18n artifacts for locale fr_FR stored in <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] collected 14 i18n artifacts for locale en_GB stored in <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO]
[INFO] <<< i18n-maven-plugin:3.0:bundle (make-bundle) @ tutti-ui-swing <<<
[INFO]
[INFO] --- i18n-maven-plugin:3.0:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 405/2644 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 2468/2701 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] --- license-maven-plugin:1.6:update-project-license (attach-licenses) @ tutti-ui-swing ---
[INFO]
[INFO] --- license-maven-plugin:1.6:add-third-party (attach-licenses) @ tutti-ui-swing ---
[INFO] Load missing file <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Missing file <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…> is up-to-date.
[INFO] Writing third-party file to <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Writing bundled third-party file to <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Will attach third party file from <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ui-swing ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO] Copying 104 resources
[INFO] Copying 4 resources
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 327 source files to <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>:[27,56] fr.ifremer.adagio.core.service.technical.synchro.ReferentialSynchroContext in fr.ifremer.adagio.core.service.technical.synchro has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>:[28,56] fr.ifremer.adagio.core.service.technical.synchro.ReferentialSynchroResult in fr.ifremer.adagio.core.service.technical.synchro has been deprecated
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional': class file for org.springframework.transaction.annotation.Transactional not found
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable': class file for org.springframework.cache.annotation.Cacheable not found
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'key()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict': class file for org.springframework.cache.annotation.CacheEvict not found
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.Cacheable'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'value()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'allEntries()' in type 'org.springframework.cache.annotation.CacheEvict'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] Cannot find annotation method 'readOnly()' in type 'org.springframework.transaction.annotation.Transactional'
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>:[245,9] fr.ifremer.adagio.core.service.technical.synchro.ReferentialSynchroContext in fr.ifremer.adagio.core.service.technical.synchro has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>:[246,9] fr.ifremer.adagio.core.service.technical.synchro.ReferentialSynchroResult in fr.ifremer.adagio.core.service.technical.synchro has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>:[387,44] getSelectedValues() in javax.swing.JList has been deprecated
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>: Some input files use unchecked or unsafe operations.
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>: Recompile with -Xlint:unchecked for details.
[INFO] 101 warnings
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>:[327,41] cannot find symbol
symbol: method newSession(java.io.File,boolean,java.util.Map<java.lang.Class,jaxx.runtime.swing.session.State>)
location: class jaxx.runtime.swing.session.SwingSession
[ERROR] <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>:[873,101] cannot find symbol
symbol: method getFile()
location: variable swingSession of type jaxx.runtime.swing.session.SwingSession
[INFO] 2 errors
[INFO] -------------------------------------------------------------
[JENKINS] Archiving disabled
1
3
r1828 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches
by tchemit@users.forge.codelutin.com May 30, 2014
by tchemit@users.forge.codelutin.com May 30, 2014
May 30, 2014
Author: tchemit
Date: 2014-05-30 17:30:24 +0200 (Fri, 30 May 2014)
New Revision: 1828
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1828
Log:
fixes #5144 [CAPTURE] gestion de la saisie de la valeur 0 (z?\195?\169ro) dans le champ "Poids total non tri?\195?\169" (onglet r?\195?\169sum?\195?\169), qui ne doit pas emp?\195?\170cher le calcul dans les autres champs
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2014-05-30 15:28:10 UTC (rev 1827)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2014-05-30 15:30:24 UTC (rev 1828)
@@ -151,10 +151,8 @@
EditCatchesUIModel model = getModel();
-// clearValidators();
changeValidatorContext(model.getValidationContext(), getValidator());
listenValidationTableHasNoFatalError(getValidator(), model);
-// listenValidatorValid(getValidator(), model);
setCustomTab(0, model);
setCustomTab(1, ui.getSpeciesTabContent().getModel());
1
0
r1827 - in trunk: tutti-service/src/main/java/fr/ifremer/tutti/service tutti-service/src/main/java/fr/ifremer/tutti/service/catches tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data tutti-service/src/main/resources/i18n tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches
by tchemit@users.forge.codelutin.com May 30, 2014
by tchemit@users.forge.codelutin.com May 30, 2014
May 30, 2014
Author: tchemit
Date: 2014-05-30 17:28:10 +0200 (Fri, 30 May 2014)
New Revision: 1827
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1827
Log:
fixes #5144 [CAPTURE] gestion de la saisie de la valeur 0 (z?\195?\169ro) dans le champ "Poids total non tri?\195?\169" (onglet r?\195?\169sum?\195?\169), qui ne doit pas emp?\195?\170cher le calcul dans les autres champs
Added:
trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/CatchBatch-edit-fatal-validation.xml
trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/CatchBatch-validate-error-validation.xml
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/ValidationService.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/ValidateCruiseOperationsService.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-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java 2014-05-30 15:26:24 UTC (rev 1826)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java 2014-05-30 15:28:10 UTC (rev 1827)
@@ -25,6 +25,7 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import fr.ifremer.tutti.TuttiConfiguration;
+import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.data.Program;
@@ -906,6 +907,10 @@
return DateUtil.between(date, getCruise().getBeginDate(), getCruise().getEndDate());
}
+ public boolean isNotWeightZeroValue(Float weight) {
+ return TuttiEntities.isNotEqualWeight(weight, 0f);
+ }
+
public boolean isMutiRegNumberValid(String numberAsString) {
boolean result = false;
if (numberAsString.matches("\\d+")) {
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/ValidationService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/ValidationService.java 2014-05-30 15:26:24 UTC (rev 1826)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/ValidationService.java 2014-05-30 15:28:10 UTC (rev 1827)
@@ -24,6 +24,7 @@
import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
import fr.ifremer.tutti.persistence.entities.data.BenthosBatch;
+import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch;
@@ -71,6 +72,12 @@
return result;
}
+ public NuitonValidatorResult validateCatchBatch(CatchBatch catchBatch, String context) {
+ NuitonValidator<CatchBatch> validator = NuitonValidatorFactory.newValidator(CatchBatch.class, context);
+ NuitonValidatorResult result = validator.validate(catchBatch);
+ return result;
+ }
+
public NuitonValidatorResult validateSpeciesBatch(SpeciesBatch speciesBatch) {
NuitonValidator<SpeciesBatch> validator = NuitonValidatorFactory.newValidator(SpeciesBatch.class);
NuitonValidatorResult result = validator.validate(speciesBatch);
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/ValidateCruiseOperationsService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/ValidateCruiseOperationsService.java 2014-05-30 15:26:24 UTC (rev 1826)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/ValidateCruiseOperationsService.java 2014-05-30 15:28:10 UTC (rev 1827)
@@ -241,6 +241,17 @@
boolean error = !isCatchBatch;
if (isCatchBatch) {
+
+ NuitonValidatorResult catchBatchValidatorResult = validationService.validateCatchBatch(catchBatch, ValidationService.VALIDATION_CONTEXT_VALIDATE);
+
+ if (catchBatchValidatorResult.hasFatalMessages()) {
+ errors.addAll(catchBatchValidatorResult.getMessagesForScope(NuitonValidatorScope.FATAL));
+ }
+
+ if (catchBatchValidatorResult.hasErrorMessagess()) {
+ errors.addAll(catchBatchValidatorResult.getMessagesForScope(NuitonValidatorScope.ERROR));
+ }
+
rootSpeciesBatch = persistenceService.getRootSpeciesBatch(fishingOperationId, true);
if (rootSpeciesBatch != null) {
Added: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/CatchBatch-edit-fatal-validation.xml
===================================================================
--- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/CatchBatch-edit-fatal-validation.xml (rev 0)
+++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/CatchBatch-edit-fatal-validation.xml 2014-05-30 15:28:10 UTC (rev 1827)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #%L
+ Tutti :: Service
+ $Id$
+ $HeadURL: https://svn.codelutin.com/tutti/trunk/tutti-service/src/main/resources/fr/i… $
+ %%
+ 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%
+ -->
+
+<!DOCTYPE validators PUBLIC
+ "-//Apache Struts//XWork Validator 1.0.3//EN"
+ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
+<validators>
+
+ <field name="catchTotalRejectedWeight">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ catchTotalRejectedWeight == null || isNotWeightZeroValue(catchTotalRejectedWeight) ]]>
+ </param>
+ <message>tutti.validator.error.catchBatch.catchTotalRejectedWeight.zeroValue</message>
+ </field-validator>
+ </field>
+
+</validators>
Property changes on: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/CatchBatch-edit-fatal-validation.xml
___________________________________________________________________
Added: svn:mime-type
+ text/xml
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/CatchBatch-validate-error-validation.xml
===================================================================
--- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/CatchBatch-validate-error-validation.xml (rev 0)
+++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/CatchBatch-validate-error-validation.xml 2014-05-30 15:28:10 UTC (rev 1827)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #%L
+ Tutti :: Service
+ $Id$
+ $HeadURL: https://svn.codelutin.com/tutti/trunk/tutti-service/src/main/resources/fr/i… $
+ %%
+ 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%
+ -->
+
+<!DOCTYPE validators PUBLIC
+ "-//Apache Struts//XWork Validator 1.0.3//EN"
+ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
+<validators>
+
+ <field name="catchTotalRejectedWeight">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ catchTotalRejectedWeight == null || isNotWeightZeroValue(catchTotalRejectedWeight) ]]>
+ </param>
+ <message>tutti.validator.error.catchBatch.catchTotalRejectedWeight.zeroValue</message>
+ </field-validator>
+ </field>
+
+</validators>
Property changes on: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/CatchBatch-validate-error-validation.xml
___________________________________________________________________
Added: svn:mime-type
+ text/xml
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
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-05-30 15:26:24 UTC (rev 1826)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2014-05-30 15:28:10 UTC (rev 1827)
@@ -214,6 +214,7 @@
tutti.service.validateCruise.operations.progress=
tutti.validator.error.accidental.species.required=
tutti.validator.error.benthosBatch.species.required=
+tutti.validator.error.catchBatch.catchTotalRejectedWeight.zeroValue=
tutti.validator.error.comment.too.long=
tutti.validator.error.cruise.beginDate.required=
tutti.validator.error.cruise.dates.endBeforeStart=
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-05-30 15:26:24 UTC (rev 1826)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2014-05-30 15:28:10 UTC (rev 1827)
@@ -199,6 +199,7 @@
tutti.service.validateCruise.operations.progress=Vérification du trait %s
tutti.validator.error.accidental.species.required=L'espèce est obligatoire
tutti.validator.error.benthosBatch.species.required=L'espèce est obligatoire
+tutti.validator.error.catchBatch.catchTotalRejectedWeight.zeroValue=Le poids total NON TRIÉ ne peut pas valoir 0
tutti.validator.error.comment.too.long=Taille de commentaire trop longue (limitée à %s caractères)
tutti.validator.error.cruise.beginDate.required=La date de début est obligatoire
tutti.validator.error.cruise.dates.endBeforeStart=La date de fin doit être après la date de début
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java 2014-05-30 15:26:24 UTC (rev 1826)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java 2014-05-30 15:28:10 UTC (rev 1827)
@@ -614,6 +614,7 @@
handler.installStartDateListener();
handler.installCoordinatesListener();
+
}
public void loadCatchBatch(FishingOperation bean) {
@@ -621,6 +622,9 @@
boolean empty = bean == null || TuttiEntities.isNew(bean);
EditCatchesUI ui = getUI().getCatchesTabContent();
+
+ ui.getHandler().uninstallTotalRejectWeightListener();
+
TuttiBeanMonitor<EditCatchesUIModel> catchBatchMonitor =
ui.getHandler().getCatchBatchMonitor();
@@ -720,7 +724,6 @@
batch,
catchEnabled);
-
// 4) Propagate new selected fishingoperation to others tabs
FishingOperation operationToLoad = batch == null ? null : bean;
@@ -789,6 +792,8 @@
false);
}
+ ui.getHandler().installTotalRejectWeightListener();
+
catchesUIModel.setLoadingData(false);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2014-05-30 15:26:24 UTC (rev 1826)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2014-05-30 15:28:10 UTC (rev 1827)
@@ -155,6 +155,7 @@
bean: {model.getCatchTotalRejectedComputedOrNotWeight()};
model: {model.getCatchTotalRejectedWeight()};
_help: {"tutti.editCatchBatch.field.catchTotalRejectedWeight.help"};
+ _validatorLabel: {t("tutti.editCatchBatch.field.catchTotalRejectedWeight")};
}
#catchTotalUnsortedWeightLabel {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2014-05-30 15:26:24 UTC (rev 1826)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2014-05-30 15:28:10 UTC (rev 1827)
@@ -65,7 +65,7 @@
<EditCatchesUIModel id='model'
initializer='getContextValue(EditCatchesUIModel.class)'/>
- <BeanValidator id='validator' bean='model'
+ <BeanValidator id='validator' context='validate' bean='model'
uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'>
<field name='catchTotalWeight' component='catchTotalWeightField'/>
@@ -169,7 +169,7 @@
<JTextField id='catchTotalUnsortedWeightField'/>
</cell>
</row>
- <!-- Poids total rejeté -->
+ <!-- Poids total NON TRIÉ (rejeté) -->
<row>
<cell>
<JLabel id='catchTotalRejectedWeightLabel'/>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2014-05-30 15:26:24 UTC (rev 1826)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2014-05-30 15:28:10 UTC (rev 1827)
@@ -23,6 +23,7 @@
*/
import com.google.common.collect.Sets;
+import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.BenthosBatchRowModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.frequency.BenthosFrequencyCellComponent;
@@ -48,6 +49,8 @@
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import java.awt.Color;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
import java.util.Set;
import static org.nuiton.i18n.I18n.n;
@@ -87,6 +90,28 @@
*/
private TuttiBeanMonitor<EditCatchesUIModel> catchBatchMonitor;
+ /**
+ * To remove {@code 0} value of total rejected weight.
+ *
+ * @since 3.5
+ */
+ private final PropertyChangeListener totalWeightRejectedListener = new PropertyChangeListener() {
+
+ public void propertyChange(PropertyChangeEvent evt) {
+
+ EditCatchesUIModel source = (EditCatchesUIModel) evt.getSource();
+
+ Float totalWeight = (Float) evt.getNewValue();
+
+ if (totalWeight != null && TuttiEntities.isEqualWeight(totalWeight, 0.f)) {
+
+ // remove the totalWeight (see https://forge.codelutin.com/issues/5144)
+ source.setCatchTotalRejectedWeight(null);
+
+ }
+ }
+ };
+
//------------------------------------------------------------------------//
//-- AbstractTuttiUIHandler methods --//
//------------------------------------------------------------------------//
@@ -106,6 +131,8 @@
EditCatchesUIModel model = ui.getContextValue(EditCatchesUIModel.class);
+ model.setValidationContext(getContext().getValidationContext());
+
listModelIsModify(model);
catchBatchMonitor.setBean(model);
@@ -124,7 +151,10 @@
EditCatchesUIModel model = getModel();
- listenValidatorValid(getValidator(), model);
+// clearValidators();
+ changeValidatorContext(model.getValidationContext(), getValidator());
+ listenValidationTableHasNoFatalError(getValidator(), model);
+// listenValidatorValid(getValidator(), model);
setCustomTab(0, model);
setCustomTab(1, ui.getSpeciesTabContent().getModel());
@@ -288,6 +318,14 @@
//-- Public methods --//
//------------------------------------------------------------------------//
+ public void uninstallTotalRejectWeightListener() {
+ getModel().removePropertyChangeListener(EditCatchesUIModel.PROPERTY_CATCH_TOTAL_REJECTED_WEIGHT, totalWeightRejectedListener);
+ }
+
+ public void installTotalRejectWeightListener() {
+ getModel().addPropertyChangeListener(EditCatchesUIModel.PROPERTY_CATCH_TOTAL_REJECTED_WEIGHT, totalWeightRejectedListener);
+ }
+
public TuttiBeanMonitor<EditCatchesUIModel> getCatchBatchMonitor() {
return catchBatchMonitor;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java 2014-05-30 15:26:24 UTC (rev 1826)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java 2014-05-30 15:28:10 UTC (rev 1827)
@@ -55,6 +55,8 @@
private static final long serialVersionUID = 1L;
+ public static final String PROPERTY_VALIDATION_CONTEXT = "validationContext";
+
public static final String PROPERTY_CATCH_BATCH = "catchBatch";
public static final String PROPERTY_BATCH_UPDATED = "batchUpdated";
@@ -109,6 +111,8 @@
protected FishingOperation fishingOperation;
+ protected String validationContext;
+
protected final CatchBatch editObject = CatchBatchs.newCatchBatch();
protected final List<Attachment> attachment = Lists.newArrayList();
@@ -364,6 +368,16 @@
return false;
}
+ public String getValidationContext() {
+ return validationContext;
+ }
+
+ public void setValidationContext(String validationContext) {
+ Object oldValue = getValidationContext();
+ this.validationContext = validationContext;
+ firePropertyChange(PROPERTY_VALIDATION_CONTEXT, oldValue, validationContext);
+ }
+
public Multimap<CaracteristicQualitativeValue, Species> getSpeciesUsed() {
return speciesUsed;
}
1
0
r1826 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing
by tchemit@users.forge.codelutin.com May 30, 2014
by tchemit@users.forge.codelutin.com May 30, 2014
May 30, 2014
Author: tchemit
Date: 2014-05-30 17:26:24 +0200 (Fri, 30 May 2014)
New Revision: 1826
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1826
Log:
refs #5153: [TECH] Fichier d'ui corrompu (fix compile)
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java
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-05-30 13:51:20 UTC (rev 1825)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2014-05-30 15:26:24 UTC (rev 1826)
@@ -37,6 +37,7 @@
import javax.swing.UIManager;
import javax.swing.plaf.BorderUIResource;
import java.awt.Color;
+import java.io.IOException;
import java.util.Arrays;
/**
@@ -172,7 +173,13 @@
handler.onCloseUI();
//close context
- context.getSwingSession().save();
+ try {
+ context.getSwingSession().save();
+ } catch (IOException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Could not save ui config file " + context.getSwingSession().getFile(), e);
+ }
+ }
context.close();
if (exitCode != null) {
1
0
r1825 - trunk/tutti-service/src/main/java/fr/ifremer/tutti/service
by tchemit@users.forge.codelutin.com May 30, 2014
by tchemit@users.forge.codelutin.com May 30, 2014
May 30, 2014
Author: tchemit
Date: 2014-05-30 15:51:20 +0200 (Fri, 30 May 2014)
New Revision: 1825
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1825
Log:
fixes #5155 [TECH] Pouvoir charger la base m?\195?\170me si le protocole n'est pas pr?\195?\169sent
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java 2014-05-30 13:50:51 UTC (rev 1824)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java 2014-05-30 13:51:20 UTC (rev 1825)
@@ -186,7 +186,32 @@
this.service = persistenceService;
// load protocol and propagate it to service
- getProtocol();
+ if (isProtocolFilled()) {
+
+ if (!persistenceService.isProtocolExist(getProtocolId())) {
+
+ if (log.isErrorEnabled()) {
+ log.error("Could not find protocol with id: " + getProtocolId());
+ }
+
+ setProtocolId(null);
+
+ } else {
+
+ try {
+ getProtocol();
+ } catch (Exception e) {
+
+ if (log.isErrorEnabled()) {
+ log.error("Could not use load protocol with id:" + getProtocolId(), e);
+ }
+ setProtocolId(null);
+
+ }
+
+ }
+
+ }
loadSampleCategoryModel(config.getSampleCategoryModel());
}
1
0
r1824 - in trunk/tutti-service/src: main/java/fr/ifremer/tutti/service/export/sumatra main/resources/i18n test/java/fr/ifremer/tutti/service/export/sumatra
by tchemit@users.forge.codelutin.com May 30, 2014
by tchemit@users.forge.codelutin.com May 30, 2014
May 30, 2014
Author: tchemit
Date: 2014-05-30 15:50:51 +0200 (Fri, 30 May 2014)
New Revision: 1824
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1824
Log:
fixes #5135 [EXPORT SUMATRA] date et heure d?\195?\169but fin trait ?\195?\160 ajouter
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/CatchRow.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/CatchRowModel.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/export/sumatra/CatchesSumatraExportServiceTest.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/CatchRow.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/CatchRow.java 2014-05-30 13:29:49 UTC (rev 1823)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/CatchRow.java 2014-05-30 13:50:51 UTC (rev 1824)
@@ -40,6 +40,8 @@
public static final String PROPERTY_GEAR_SHOOTING_START_DATE = FishingOperation.PROPERTY_GEAR_SHOOTING_START_DATE;
+ public static final String PROPERTY_GEAR_SHOOTING_END_DATE = FishingOperation.PROPERTY_GEAR_SHOOTING_END_DATE;
+
public static final String PROPERTY_MULTIRIG_AGGREGATION = FishingOperation.PROPERTY_MULTIRIG_AGGREGATION;
public static final String PROPERTY_GEAR_SHOOTING_START_LATITUDE = FishingOperation.PROPERTY_GEAR_SHOOTING_START_LATITUDE;
@@ -92,6 +94,10 @@
return fishingOperation.getGearShootingStartDate();
}
+ public Date getGearShootingEndDate() {
+ return fishingOperation.getGearShootingEndDate();
+ }
+
public String getMultirigAggregation() {
return fishingOperation.getMultirigAggregation();
}
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/CatchRowModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/CatchRowModel.java 2014-05-30 13:29:49 UTC (rev 1823)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/CatchRowModel.java 2014-05-30 13:50:51 UTC (rev 1824)
@@ -53,6 +53,8 @@
newColumnForExport(t("tutti.service.exportSumatra.header.startLongitude"), CatchRow.PROPERTY_GEAR_SHOOTING_START_LONGITUDE, TuttiCsvUtil.FLOAT);
newColumnForExport(t("tutti.service.exportSumatra.header.endLatitude"), CatchRow.PROPERTY_GEAR_SHOOTING_END_LATITUDE, TuttiCsvUtil.FLOAT);
newColumnForExport(t("tutti.service.exportSumatra.header.endLongitude"), CatchRow.PROPERTY_GEAR_SHOOTING_END_LONGITUDE, TuttiCsvUtil.FLOAT);
+ newColumnForExport(t("tutti.service.exportSumatra.header.startDate"), CatchRow.PROPERTY_GEAR_SHOOTING_START_DATE, TuttiCsvUtil.DAY_TIME_SECOND);
+ newColumnForExport(t("tutti.service.exportSumatra.header.endDate"), CatchRow.PROPERTY_GEAR_SHOOTING_END_DATE, TuttiCsvUtil.DAY_TIME_SECOND);
}
@Override
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-05-30 13:29:49 UTC (rev 1823)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2014-05-30 13:50:51 UTC (rev 1824)
@@ -80,6 +80,7 @@
tutti.service.exportSumatra.error.station.null=
tutti.service.exportSumatra.header.averageSize=
tutti.service.exportSumatra.header.averageWeight=
+tutti.service.exportSumatra.header.endDate=
tutti.service.exportSumatra.header.endLatitude=
tutti.service.exportSumatra.header.endLongitude=
tutti.service.exportSumatra.header.genuisSpecies=
@@ -89,6 +90,7 @@
tutti.service.exportSumatra.header.sign=
tutti.service.exportSumatra.header.sortedWeight=
tutti.service.exportSumatra.header.species=
+tutti.service.exportSumatra.header.startDate=
tutti.service.exportSumatra.header.startLatitude=
tutti.service.exportSumatra.header.startLongitude=
tutti.service.exportSumatra.header.station=
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-05-30 13:29:49 UTC (rev 1823)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2014-05-30 13:50:51 UTC (rev 1824)
@@ -77,6 +77,7 @@
tutti.service.exportSumatra.error.station.null=Le trait est nul
tutti.service.exportSumatra.header.averageSize=longueurmoy
tutti.service.exportSumatra.header.averageWeight=poidsmoy
+tutti.service.exportSumatra.header.endDate=datefinstation
tutti.service.exportSumatra.header.endLatitude=latitudefin
tutti.service.exportSumatra.header.endLongitude=longitudefin
tutti.service.exportSumatra.header.genuisSpecies=especescientifique
@@ -85,6 +86,7 @@
tutti.service.exportSumatra.header.number=nbindividus
tutti.service.exportSumatra.header.sign=signe
tutti.service.exportSumatra.header.sortedWeight=tri
+tutti.service.exportSumatra.header.startDate=datedebutstation
tutti.service.exportSumatra.header.startLatitude=latitudedebut
tutti.service.exportSumatra.header.startLongitude=longitudedebut
tutti.service.exportSumatra.header.station=station
Modified: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/sumatra/CatchesSumatraExportServiceTest.java
===================================================================
--- trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/sumatra/CatchesSumatraExportServiceTest.java 2014-05-30 13:29:49 UTC (rev 1823)
+++ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/sumatra/CatchesSumatraExportServiceTest.java 2014-05-30 13:50:51 UTC (rev 1824)
@@ -59,10 +59,10 @@
public static final String OPERATION_BAD_3_ID = "100115";
public static final String EXPORT_CONTENT =
- "annee;station;poche;especescientifique;espececampagne;signe;tri;total;poidsmoy;longueurmoy;nbindividus;moule;latitudedebut;longitudedebut;latitudefin;longitudefin\n" +
- "2013;A;1;Chama magna;CHAMMAG;;100.0;100.0;2.5;;40;0.4;;;;\n" +
- "2013;A;1;Echinogammarus;ECHIGAM;;100.0;100.0;0.23980816;;417;4.17;;;;\n" +
- "2013;A;1;Brissopsis atlantica;BRISATLAN;;100.0;100.0;1.0638298;10.571428;94;0.94;;;;";
+ "annee;station;poche;especescientifique;espececampagne;signe;tri;total;poidsmoy;longueurmoy;nbindividus;moule;latitudedebut;longitudedebut;latitudefin;longitudefin;datedebutstation;datefinstation\n" +
+ "2013;A;1;Chama magna;CHAMMAG;;100.0;100.0;2.5;;40;0.4;;;;;27/09/2013 00:00:00;27/09/2013 00:00:00\n" +
+ "2013;A;1;Echinogammarus;ECHIGAM;;100.0;100.0;0.23980816;;417;4.17;;;;;27/09/2013 00:00:00;27/09/2013 00:00:00\n" +
+ "2013;A;1;Brissopsis atlantica;BRISATLAN;;100.0;100.0;1.0638298;10.571428;94;0.94;;;;;27/09/2013 00:00:00;27/09/2013 00:00:00";
protected CatchesSumatraExportService service;
1
0
r1823 - in trunk: tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service tutti-persistence/src/main/resources/i18n tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation tutti-ui-swing/src/main/resources/i18n
by tchemit@users.forge.codelutin.com May 30, 2014
by tchemit@users.forge.codelutin.com May 30, 2014
May 30, 2014
Author: tchemit
Date: 2014-05-30 15:29:49 +0200 (Fri, 30 May 2014)
New Revision: 1823
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1823
Log:
fixes #5138
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.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/export/sumatra/SumatraExportResult.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/CancelEditFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java 2014-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java 2014-05-30 13:29:49 UTC (rev 1823)
@@ -39,6 +39,7 @@
import fr.ifremer.tutti.persistence.entities.data.BenthosBatchFrequency;
import fr.ifremer.tutti.persistence.entities.data.BenthosBatchFrequencys;
import fr.ifremer.tutti.persistence.entities.data.BenthosBatchs;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.service.util.BatchPersistenceHelper;
@@ -52,6 +53,8 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.List;
@@ -74,6 +77,9 @@
@Resource(name = "referentialPersistenceService")
protected ReferentialPersistenceService referentialService;
+ @Resource(name = "fishingOperationPersistenceService")
+ protected FishingOperationPersistenceService fishingOperationPersistenceService;
+
@Resource(name = "batchPersistenceHelper")
protected BatchPersistenceHelper batchHelper;
@@ -95,6 +101,8 @@
boolean validateTree) {
Preconditions.checkNotNull(fishingOperationId);
+ DateFormat df = new SimpleDateFormat("dd/MM/yyy");
+
CatchBatch catchBatch = batchHelper.getRootCatchBatchByFishingOperationId(fishingOperationId, false);
// -- Vrac > Benthos > Alive Itemized
@@ -112,7 +120,9 @@
Preconditions.checkNotNull(referenceTaxon, "Can't have a rootBenthosBatch with a null taxon, but was for " + batch.getId());
Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxon.getId());
if (species == null) {
- throw new InvalidBatchModelException(t("tutti.persistence.batch.validation.unkonwn.taxon", source.getId(), referenceTaxon.getId()));
+ FishingOperation fishingOperation = fishingOperationPersistenceService.getFishingOperation(fishingOperationId);
+ String fishingOperationName = fishingOperation.getStationNumber() + " - " + fishingOperation.getFishingOperationNumber() + " - " + df.format(fishingOperation.getGearShootingStartDate());
+ throw new InvalidBatchModelException(t("tutti.persistence.benthosBatch.validation.unkonwn.taxon", fishingOperationName, source.getId(), referenceTaxon.getId()));
}
BenthosBatch target = BenthosBatchs.newBenthosBatch();
target.setSpecies(species);
@@ -135,7 +145,9 @@
Preconditions.checkNotNull(referenceTaxon, "Can't have a rootSpeciesBatch with a null taxon, but was for " + source.getId());
Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxon.getId());
if (species == null) {
- throw new InvalidBatchModelException(t("tutti.persistence.batch.validation.unkonwn.taxon", source.getId(), referenceTaxon.getId()));
+ FishingOperation fishingOperation = fishingOperationPersistenceService.getFishingOperation(fishingOperationId);
+ String fishingOperationName = fishingOperation.getStationNumber() + " - " + fishingOperation.getFishingOperationNumber() + " - " + df.format(fishingOperation.getGearShootingStartDate());
+ throw new InvalidBatchModelException(t("tutti.persistence.benthosBatch.validation.unkonwn.taxon", fishingOperationName, source.getId(), referenceTaxon.getId()));
}
BenthosBatch target = BenthosBatchs.newBenthosBatch();
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java 2014-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java 2014-05-30 13:29:49 UTC (rev 1823)
@@ -35,6 +35,7 @@
import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceTaxon;
import fr.ifremer.tutti.persistence.InvalidBatchModelException;
import fr.ifremer.tutti.persistence.entities.data.BatchContainer;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
@@ -52,6 +53,8 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.List;
@@ -74,6 +77,9 @@
@Resource(name = "referentialPersistenceService")
protected ReferentialPersistenceService referentialService;
+ @Resource(name = "fishingOperationPersistenceService")
+ protected FishingOperationPersistenceService fishingOperationPersistenceService;
+
@Resource(name = "batchPersistenceHelper")
protected BatchPersistenceHelper batchHelper;
@@ -95,6 +101,8 @@
boolean validateTree) throws InvalidBatchModelException {
Preconditions.checkNotNull(fishingOperationId);
+ DateFormat df = new SimpleDateFormat("dd/MM/yyy");
+
CatchBatch catchBatch = batchHelper.getRootCatchBatchByFishingOperationId(fishingOperationId, false);
// -- Vrac > Species > Alive Itemized
@@ -119,7 +127,9 @@
}
Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxon.getId());
if (species == null) {
- throw new InvalidBatchModelException(t("tutti.persistence.batch.validation.unkonwn.taxon", source.getId(), referenceTaxon.getId()));
+ FishingOperation fishingOperation = fishingOperationPersistenceService.getFishingOperation(fishingOperationId);
+ String fishingOperationName = fishingOperation.getStationNumber() + " - " + fishingOperation.getFishingOperationNumber() + " - " + df .format(fishingOperation.getGearShootingStartDate());
+ throw new InvalidBatchModelException(t("tutti.persistence.speciesBatch.validation.unkonwn.taxon", fishingOperationName, source.getId(), referenceTaxon.getId()));
}
SpeciesBatch target = SpeciesBatchs.newSpeciesBatch();
target.setSpecies(species);
@@ -146,7 +156,9 @@
}
Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxon.getId());
if (species == null) {
- throw new InvalidBatchModelException(t("tutti.persistence.batch.validation.unkonwn.taxon", source.getId(), referenceTaxon.getId()));
+ FishingOperation fishingOperation = fishingOperationPersistenceService.getFishingOperation(fishingOperationId);
+ String fishingOperationName = fishingOperation.getStationNumber() + " - " + fishingOperation.getFishingOperationNumber() + " - " + df.format(fishingOperation.getGearShootingStartDate());
+ throw new InvalidBatchModelException(t("tutti.persistence.speciesBatch.validation.unkonwn.taxon", fishingOperationName , source.getId(), referenceTaxon.getId()));
}
SpeciesBatch target = SpeciesBatchs.newSpeciesBatch();
target.setSpecies(species);
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-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2014-05-30 13:29:49 UTC (rev 1823)
@@ -137,6 +137,7 @@
tutti.persistence.batch.validation.vracSpeciesInertNotFound=
tutti.persistence.batch.validation.vracSpeciesLifeNotFound=
tutti.persistence.batch.validation.vracSpeciesNotFound=
+tutti.persistence.benthosBatch.validation.unkonwn.taxon=
tutti.persistence.config.generateEnumFile.error=
tutti.persistence.config.generateFile.error=
tutti.persistence.cruise.gearUsedInOperations.error=
@@ -150,3 +151,4 @@
tutti.persistence.loader.error=
tutti.persistence.protocol.delete.error=
tutti.persistence.protocol.fromFile.error=
+tutti.persistence.speciesBatch.validation.unkonwn.taxon=
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-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2014-05-30 13:29:49 UTC (rev 1823)
@@ -137,6 +137,7 @@
tutti.persistence.batch.validation.vracSpeciesInertNotFound=Lot 'Vrac > Espèces > Inerte' non trouvé, ou configuré avec d'autres critères de classement.
tutti.persistence.batch.validation.vracSpeciesLifeNotFound=Lot 'Vrac > Espèces > Vivant' non trouvé, ou configuré avec d'autres critères de classement.
tutti.persistence.batch.validation.vracSpeciesNotFound=Lot 'Vrac > Espèces' non trouvé, ou configuré avec d'autres critères de classement.
+tutti.persistence.benthosBatch.validation.unkonwn.taxon=Opération %s - e lot benthos (%s) utilise une espèce de code inconnu (%s).
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.
@@ -150,3 +151,4 @@
tutti.persistence.loader.error=Erreur de conversion du dossier %s en URL
tutti.persistence.protocol.delete.error=Erreur lors de la suppression du protocole %1s (fichier %2s)
tutti.persistence.protocol.fromFile.error=Erreur lors de l'import du protocole du fichier %s
+tutti.persistence.speciesBatch.validation.unkonwn.taxon=Opération %s - le lot espèce (%s) utilise une espèce de code inconnu (%s).
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/SumatraExportResult.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/SumatraExportResult.java 2014-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/sumatra/SumatraExportResult.java 2014-05-30 13:29:49 UTC (rev 1823)
@@ -56,8 +56,8 @@
this.badSpecies = badSpecies;
}
- public void setBadBenthos(Set<String> badSBenthos) {
- this.badBenthos = badSBenthos;
+ public void setBadBenthos(Set<String> badBenthos) {
+ this.badBenthos = badBenthos;
}
public boolean withBadSpecies() {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/CancelEditFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/CancelEditFishingOperationAction.java 2014-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/CancelEditFishingOperationAction.java 2014-05-30 13:29:49 UTC (rev 1823)
@@ -99,9 +99,9 @@
// }
}
- @Override
- public void postSuccessAction() {
- super.postSuccessAction();
- getEditAction().displayValidationErrors();
- }
+// @Override
+// public void postSuccessAction() {
+// super.postSuccessAction();
+// getEditAction().displayValidationErrors();
+// }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java 2014-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java 2014-05-30 13:29:49 UTC (rev 1823)
@@ -128,7 +128,7 @@
*
* @since 2.4
*/
- protected List<String> errorMessages = Lists.newArrayList();
+ protected final List<String> errorMessages = Lists.newArrayList();
/**
* Flag to know if this action is part of another action.
@@ -237,6 +237,8 @@
@Override
public boolean prepareAction() {
+ errorMessages.clear();
+
boolean canContinue = true;
if (checkPreviousEdit) {
FishingOperationsUI ui = getUI();
@@ -436,9 +438,9 @@
// );
getUI().repaint();
- if (!internalAction) {
- displayValidationErrors();
- }
+// if (!internalAction) {
+// displayValidationErrors();
+// }
}
public void displayValidationErrors() {
@@ -632,7 +634,6 @@
List<Attachment> attachments;
- boolean catchNotFound;
boolean catchEnabled;
String operationId = bean == null ? null : bean.getId();
@@ -644,6 +645,8 @@
}
progressionModel.adaptTotal(empty ? 1 : 6);
+ String validationErrorMessage = null;
+
if (empty) {
// create a new CatchBatch
@@ -657,7 +660,6 @@
attachments = Collections.emptyList();
catchEnabled = true;
- catchNotFound = false;
} else {
@@ -683,7 +685,6 @@
batch.setFishingOperation(bean);
Integer objectId = batch.getIdAsInt();
attachments = persistenceService.getAllAttachments(catchesUIModel.getObjectType(), objectId);
- catchNotFound = false;
catchEnabled = true;
} catch (InvalidBatchModelException e) {
@@ -695,8 +696,11 @@
batch = null;
attachments = Collections.emptyList();
+ validationErrorMessage = t("tutti.fishingOperations.warn.catchBatch.invalidSampleCategoryModel");
+
+ getModel().setValidationErrorMessage(validationErrorMessage);
+
catchEnabled = false;
- catchNotFound = false;
}
} else {
@@ -705,7 +709,8 @@
attachments = Collections.emptyList();
catchEnabled = false;
- catchNotFound = true;
+
+ validationErrorMessage = t("tutti.fishingOperations.warn.catchBatch.notFound");
}
}
@@ -713,9 +718,7 @@
catchesUIModel,
catchBatchMonitor,
batch,
- true,
- catchEnabled,
- catchNotFound);
+ catchEnabled);
// 4) Propagate new selected fishingoperation to others tabs
@@ -751,6 +754,18 @@
catchValid = false;
}
+ if (!errorMessages.isEmpty()) {
+
+ StringBuilder message = new StringBuilder();
+ for (String errorMessage : errorMessages) {
+ message.append("<li>").append(errorMessage).append("</li>");
+ }
+ validationErrorMessage = t("tutti.fishingOperations.warn.invalid.batch", message.toString());
+
+ }
+
+ getModel().setValidationErrorMessage(validationErrorMessage);
+
if (catchValid) {
// load other tabs
@@ -771,8 +786,6 @@
catchesUIModel,
catchBatchMonitor,
null,
- false,
- false,
false);
}
@@ -789,13 +802,11 @@
EditCatchesUIModel catchesUIModel,
TuttiBeanMonitor<EditCatchesUIModel> catchBatchMonitor,
CatchBatch batch,
- boolean sampleModelValid,
- boolean catchEnabled,
- boolean catchNotFound) {
+ boolean catchEnabled) {
getModel().setCatchEnabled(catchEnabled);
- getModel().setCatchNotFound(catchNotFound);
- getModel().setSampleCatchModelValid(sampleModelValid);
+// getModel().setCatchNotFound(catchNotFound);
+// getModel().setSampleCatchModelValid(sampleModelValid);
catchesUIModel.fromEntity(batch);
catchesUIModel.addAllAttachment(attachments);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css 2014-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css 2014-05-30 13:29:49 UTC (rev 1823)
@@ -62,7 +62,8 @@
#warningLabel {
actionIcon: warning;
border: {new javax.swing.border.EmptyBorder(5, 10, 5, 10)};
- text: {handler.getCatchWarningLabel(model.isCatchEnabled(), model.isCatchNotFound(), model.isSampleCatchModelValid())};
+ /*text: {handler.getCatchWarningLabel(model.isCatchEnabled(), model.isCatchNotFound(), model.isSampleCatchModelValid())};*/
+ text: {model.getValidationErrorMessage()};
}
#catchesTab {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2014-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2014-05-30 13:29:49 UTC (rev 1823)
@@ -23,7 +23,6 @@
*/
import com.google.common.collect.Lists;
-import org.nuiton.jaxx.application.swing.util.CloseableUI;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
@@ -37,6 +36,7 @@
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.jaxx.application.swing.util.CloseableUI;
import javax.swing.JComponent;
import javax.swing.JTabbedPane;
@@ -276,20 +276,6 @@
//-- Public methods --//
//------------------------------------------------------------------------//
- public String getCatchWarningLabel(boolean catchEnabled,
- boolean catchNotFound,
- boolean catchSampleModelValid) {
- String result = null;
- if (!catchSampleModelValid) {
- result = t("tutti.fishingOperations.warn.catchBatch.invalidSampleCategoryModel");
- } else if (catchNotFound) {
- result = t("tutti.fishingOperations.warn.catchBatch.notFound");
- } else if (!catchEnabled) {
- result = t("tutti.fishingOperations.warn.invalid.batch.model");
- }
- return result;
- }
-
public boolean isFishingOperationModified() {
return getModel().getEditFishingOperation() != null &&
getUI().getFishingOperationTabContent().getModel().isModify();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java 2014-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java 2014-05-30 13:29:49 UTC (rev 1823)
@@ -58,6 +58,8 @@
public static final String PROPERTY_SAMPLE_CATCH_MODEL_VALID = "sampleCatchModelValid";
+ public static final String PROPERTY_VALIDATION_ERROR_MESSAGE = "validationErrorMessage";
+
/**
* List of existing fishing operation for the selected cruise.
* <p/>
@@ -118,23 +120,12 @@
protected boolean catchEnabled = true;
/**
- * Flag to know if sample catch model is valid or not on the selected
- * fishing operation.
- * <p/>
- * <strong>Note:</strong> When value is {@code false}, then
- * {@link #catchEnabled} is always to {@code false} too.
+ * contains if any error message while loading the fishing operation catch batch.
*
- * @since 2.4
+ * @since 3.5
*/
- protected boolean sampleCatchModelValid = true;
+ protected String validationErrorMessage;
- /**
- * Flag setted to true when no catch found.
- *
- * @since 2.2
- */
- protected boolean catchNotFound;
-
public List<FishingOperation> getFishingOperation() {
return fishingOperation;
}
@@ -236,23 +227,13 @@
firePropertyChange(PROPERTY_CATCH_ENABLED, oldValue, catchEnabled);
}
- public boolean isCatchNotFound() {
- return catchNotFound;
+ public String getValidationErrorMessage() {
+ return validationErrorMessage;
}
- public void setCatchNotFound(boolean catchNotFound) {
- boolean oldValue = isCatchNotFound();
- this.catchNotFound = catchNotFound;
- firePropertyChange(PROPERTY_CATCH_NOT_FOUND, oldValue, catchNotFound);
+ public void setValidationErrorMessage(String validationErrorMessage) {
+ String oldValue = getValidationErrorMessage();
+ this.validationErrorMessage = validationErrorMessage;
+ firePropertyChange(PROPERTY_VALIDATION_ERROR_MESSAGE, oldValue, validationErrorMessage);
}
-
- public boolean isSampleCatchModelValid() {
- return sampleCatchModelValid;
- }
-
- public void setSampleCatchModelValid(boolean sampleCatchModelValid) {
- boolean oldValue = isSampleCatchModelValid();
- this.sampleCatchModelValid = sampleCatchModelValid;
- firePropertyChange(PROPERTY_SAMPLE_CATCH_MODEL_VALID, oldValue, sampleCatchModelValid);
- }
}
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-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-05-30 13:29:49 UTC (rev 1823)
@@ -1183,6 +1183,7 @@
tutti.fishingOperations.title.validate.operations=
tutti.fishingOperations.warn.catchBatch.invalidSampleCategoryModel=
tutti.fishingOperations.warn.catchBatch.notFound=
+tutti.fishingOperations.warn.invalid.batch=
tutti.fishingOperations.warn.invalid.batch.model=
tutti.flash.info.all.caractristic.exported=
tutti.flash.info.benthos.add.to.protocol=
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-05-30 11:13:50 UTC (rev 1822)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-05-30 13:29:49 UTC (rev 1823)
@@ -1116,7 +1116,7 @@
tutti.exportCruise.action.success=La campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>.
tutti.exportCruiseForSumatra.action.chooseFile=Choisir le fichier d'export
tutti.exportCruiseForSumatra.action.success=La campagne sélectionnée a été exportée dans le fichier <strong>%s</strong>
-tutti.exportCruiseForSumatra.message.missing.protocol=<html><body>Pas de protocole renseigné, La colonne <strong>espcecamapgne</strong> ne sera pas renseigné.</body></html>
+tutti.exportCruiseForSumatra.message.missing.protocol=<html><body>Pas de protocole renseigné, La colonne <strong>espececampagne</strong> ne sera pas renseigné.</body></html>
tutti.exportCruiseForSumatra.title.choose.exportFile=Exporter la campagne
tutti.exportCruiseForSumatra.title.missing.protocol=Pas de protocole renseigné
tutti.exportCruiseForSumatraV2.message.required.protocol=
@@ -1155,6 +1155,7 @@
tutti.fishingOperations.title.validate.operations=Validation des opérations de pêches (%s)
tutti.fishingOperations.warn.catchBatch.invalidSampleCategoryModel=L'arbre d’échantillonnage n'est pas compatible (utilisation de catégories non configurées ou dans un mauvais ordre). Les captures ne seront pas visibles.
tutti.fishingOperations.warn.catchBatch.notFound=Pas d'arbre d’échantillonnage associé à l'opération de pêche.
+tutti.fishingOperations.warn.invalid.batch=<html><body>Les erreurs suivantes ont été détectées, impossible d'afficher les captures \:<br/><ul>%s</ul></body></html>.
tutti.fishingOperations.warn.invalid.batch.model=L'arbre d’échantillonnage n'est pas compatible. Les captures ne seront pas visibles.
tutti.flash.info.all.caractristic.exported=Toutes les caractéristiques exportées dans le fichier <strong>%s</strong>.
tutti.flash.info.benthos.add.to.protocol=Le benthos <strong>%s</strong> a été ajoutée au protocole.
1
0
r1822 - in trunk: . tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content
by tchemit@users.forge.codelutin.com May 30, 2014
by tchemit@users.forge.codelutin.com May 30, 2014
May 30, 2014
Author: tchemit
Date: 2014-05-30 13:13:50 +0200 (Fri, 30 May 2014)
New Revision: 1822
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1822
Log:
fixes #5153: [TECH] Fichier d'ui corrompu
Modified:
trunk/pom.xml
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/MainUIHandler.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-05-30 08:03:46 UTC (rev 1821)
+++ trunk/pom.xml 2014-05-30 11:13:50 UTC (rev 1822)
@@ -143,7 +143,7 @@
<nuitonI18nVersion>3.0</nuitonI18nVersion>
<nuitonValidatorVersion>3.0-rc-1</nuitonValidatorVersion>
<eugenePluginVersion>2.10-SNAPSHOT</eugenePluginVersion>
- <jaxxVersion>2.8.5</jaxxVersion>
+ <jaxxVersion>2.8.6-SNAPSHOT</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<slf4jVersion>1.7.5</slf4jVersion>
<adagioVersion>3.5.5</adagioVersion>
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-05-30 08:03:46 UTC (rev 1821)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2014-05-30 11:13:50 UTC (rev 1822)
@@ -324,7 +324,7 @@
Map<Class, State> additionalStates = Maps.newHashMap();
additionalStates.put(BeanFilterableComboBox.class, new BeanFilterableComboBoxState());
additionalStates.put(BeanDoubleList.class, new BeanDoubleListState());
- this.swingSession = new SwingSession(getConfig().getUIConfigFile(), false, additionalStates);
+ this.swingSession = SwingSession.newSession(getConfig().getUIConfigFile(), false, additionalStates);
//FIXME Push this to ifremer-shared
this.errorHelper = new ApplicationErrorHelper(this) {
@@ -454,7 +454,7 @@
i18nLocale, i18nDirectory));
}
I18n.init(new UserI18nInitializer(
- i18nDirectory, new DefaultI18nInitializer("tutti-i18n")),
+ i18nDirectory, new DefaultI18nInitializer("tutti-i18n")),
i18nLocale);
@@ -865,6 +865,16 @@
return swingSession;
}
+ public void saveSwingSession() {
+
+ try {
+ getSwingSession().save();
+ } catch (IOException e) {
+ throw new ApplicationTechnicalException("Could not save ui config file: " + swingSession.getFile(), e);
+ }
+
+ }
+
public TuttiScreen getScreen() {
return screen;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2014-05-30 08:03:46 UTC (rev 1821)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2014-05-30 11:13:50 UTC (rev 1822)
@@ -196,7 +196,7 @@
// Init SwingSession
SwingSession swingSession = getContext().getSwingSession();
swingSession.add(ui);
- swingSession.save();
+ getContext().saveSwingSession();
//SwingUtil.getLayer(ui.getBody()).setUI(new BetaLayerUI());
@@ -358,7 +358,7 @@
TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
body.getHandler().onCloseUI();
- context.getSwingSession().save();
+ context.saveSwingSession();
ui.getBody().remove(currentBody);
1
0
Build failed in Jenkins: tutti-ci » Tutti :: UI #94
by admin+ci-codelutin.com@codelutin.com May 30, 2014
by admin+ci-codelutin.com@codelutin.com May 30, 2014
May 30, 2014
See <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
------------------------------------------
[...truncated 204 lines...]
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpasyncclie…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpco…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpco…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.3.…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/httpco…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore-nio/…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/struts…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/struts/xwork/xwork-core/2.3.…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/veloci…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/velocity/velocity/1.7/veloci…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/apa…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/apache/xmlbea…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/xmlbeans/xmlbeans/2.3.0/xmlb…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/… (2 KB at 1.0 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.bi…
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/eclipse/birt/runtime/org.eclipse.birt.runtime/4.3.1-1/org.eclipse.birt.runtime-4.3.1-1-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/eclipse/birt/runtime/org.eclipse.birt.runtime/4.3.1-1/org.eclipse.birt.runtime-4.3.1-1-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.co…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.da…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.da…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.da…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.da…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.em…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.em…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.em…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.eq…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.eq…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/org.eclipse.os…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ecl…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/eclipse/birt/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/eclipse/birt/runtime/3_7_1/org.mozi…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/fre…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/freemarker/fr…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/freemarker/freemarker/2.3.19/freema…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/hib…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/hibernate/hib…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/hibernate/hibernate-core/4.3.1.Fina…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/hib…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/hibernate/hib…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/hibernate/hibernate-ehcache/4.3.5.F…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/hib…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/hibernate/hib…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/hibernate/hibernate-spatial/4.3-201…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/hib…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/hibernate/com…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/hibernate/common/hibernate-commons-…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/hib…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/hibernate/jav…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/hibernate/javax/persistence/hiberna…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/jbo…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/jboss/jandex/…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/jboss/jandex/1.1.0.Final/jandex-1.1…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/jbo…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/jboss/logging…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/jboss/logging/jboss-logging/3.1.4.G…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/jbo…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/jboss/logging…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/jboss/logging/jboss-logging-annotat…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/jbo…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/jboss/spec/ja…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/jboss/spec/javax/transaction/jboss-…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/liq…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/liquibase/liq…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/liquibase/liquibase-core/3.2.0-1/li…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/liq…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/liquibase/ext…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/liquibase/ext/liquibase-hibernate4/…
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/nuiton-config/3.0-alpha-2/nuiton-config-3.0-alpha-2-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/nuiton-config/3.0-alpha-2/nuiton-config-3.0-alpha-2-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui… (884 B at 11.4 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton… (884 B at 13.3 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/nuiton/nuiton-csv/3.0-alpha-3/nuito…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/nuiton/nuiton-csv/3.0-alpha-3/nuito… (884 B at 2.1 KB/sec)
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/nuiton-csv/3.0-alpha-3/nuiton-csv-3.0-alpha-3-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/nuiton-csv/3.0-alpha-3/nuiton-csv-3.0-alpha-3-third-party.properties
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/nuiton-updater/3.0-alpha-2/nuiton-updater-3.0-alpha-2-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/nuiton-updater/3.0-alpha-2/nuiton-updater-3.0-alpha-2-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui… (855 B at 14.6 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton… (855 B at 15.5 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/nuiton/nuiton-utils/3.0-rc-2/nuiton…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/nuiton/nuiton-utils/3.0-rc-2/nuiton… (855 B at 2.8 KB/sec)
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/nuiton-utils/3.0-rc-2/nuiton-utils-3.0-rc-2-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/nuiton-utils/3.0-rc-2/nuiton-utils-3.0-rc-2-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui… (909 B at 20.6 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton… (909 B at 16.1 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/nuiton/nuiton-validator/3.0-rc-1/nu…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/nuiton/nuiton-validator/3.0-rc-1/nu… (909 B at 7.7 KB/sec)
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/nuiton-validator/3.0-rc-1/nuiton-validator-3.0-rc-1-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/nuiton-validator/3.0-rc-1/nuiton-validator-3.0-rc-1-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui… (925 B at 18.8 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (925 B at 2.8 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-application-api/2.…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-application-api/2.… (925 B at 7.9 KB/sec)
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-application-api/2.8.5/jaxx-application-api-2.8.5-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-application-api/2.8.5/jaxx-application-api-2.8.5-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui… (2 KB at 21.1 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (2 KB at 4.1 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-application-swing/…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-application-swing/… (2 KB at 9.5 KB/sec)
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-application-swing/2.8.5/jaxx-application-swing-2.8.5-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-application-swing/2.8.5/jaxx-application-swing-2.8.5-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui… (930 B at 31.3 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (930 B at 4.3 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-config/2.8.5/jaxx-…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-config/2.8.5/jaxx-… (930 B at 4.4 KB/sec)
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-config/2.8.5/jaxx-config-2.8.5-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-config/2.8.5/jaxx-config-2.8.5-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui… (930 B at 10.8 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (930 B at 4.5 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-runtime/2.8.5/jaxx…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-runtime/2.8.5/jaxx… (930 B at 33.6 KB/sec)
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-runtime/2.8.5/jaxx-runtime-2.8.5-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-runtime/2.8.5/jaxx-runtime-2.8.5-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui… (950 B at 15.2 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (950 B at 3.1 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-validator/2.8.5/ja…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-validator/2.8.5/ja… (950 B at 4.6 KB/sec)
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-validator/2.8.5/jaxx-validator-2.8.5-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-validator/2.8.5/jaxx-validator-2.8.5-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/nui… (930 B at 19.7 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/j… (930 B at 3.0 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-widgets/2.8.5/jaxx…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/org/nuiton/jaxx/jaxx-widgets/2.8.5/jaxx… (930 B at 0.4 KB/sec)
[INFO] Detects third party descriptor /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-widgets/2.8.5/jaxx-widgets-2.8.5-third-party.properties
[INFO] Load missing file /var/local/forge/data/codelutin.com/maven/repository/org/nuiton/jaxx/jaxx-widgets/2.8.5/jaxx-widgets-2.8.5-third-party.properties
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/ref…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/reflections/r…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/reflections/reflections/0.9.9-RC1/r…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/spr…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/springframewo…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring-aop/4.0.2.RE…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/spr…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/springframewo…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring-beans/4.0.1.…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/spr…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/springframewo…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring-context/4.0.…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/spr…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/springframewo…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring-context-supp…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/spr…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/springframewo…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring-core/4.0.1.R…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/spr…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/springframewo…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring-expression/4…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/spr…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/springframewo…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring-jdbc/4.0.1.R…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/spr…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/springframewo…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring-orm/4.0.2.RE…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/spr…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/springframewo…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring-tx/4.0.1.REL…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/swi…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/swinglabs/jxl…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/swinglabs/jxlayer/3.0.4/jxlayer-3.0…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/swi…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/swinglabs/swi…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/swinglabs/swingx/swingx-action/1.6.…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/swi…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/swinglabs/swi…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/swinglabs/swingx/swingx-autocomplet…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/swi…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/swinglabs/swi…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/swinglabs/swingx/swingx-common/1.6.…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/swi…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/swinglabs/swi…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/swinglabs/swingx/swingx-core/1.6.4/…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/swi…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/swinglabs/swi…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/swinglabs/swingx/swingx-painters/1.…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/swi…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/swinglabs/swi…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/swinglabs/swingx/swingx-plaf/1.6.4/…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/xht…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/xhtmlrenderer…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/xhtmlrenderer/flying-saucer-core/9.…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/xht…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/xhtmlrenderer…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/xhtmlrenderer/flying-saucer-pdf-ite…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/org/yam…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/yaml/snakeyam…
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.13/snakeyaml-1.13-…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/stax/st…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/stax/stax-api/1.0…
[INFO] Downloading: http://repo.maven.apache.org/maven2/stax/stax-api/1.0.1/stax-api-1.0.1-thir…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/xerces/…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/xerces/xercesImpl…
[INFO] Downloading: http://repo.maven.apache.org/maven2/xerces/xercesImpl/2.9.1/xercesImpl-2.9.…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/xml-api…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/xml-apis/xml-apis…
[INFO] Downloading: http://repo.maven.apache.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b…
[INFO] Missing file <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…> is up-to-date.
[WARNING] There is 1 dependencies with no license :
[WARNING] - com.vividsolutions--jts--1.13
[INFO] Writing third-party file to <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Writing bundled third-party file to <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO] Regenerate missing license file <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[JENKINS] Archiving disabled
1
2
May 30, 2014
See <http://ci.codelutin.com/jenkins/job/tutti-ci/93/changes>
Changes:
[Tony CHEMIT] refs #4959 implements it
------------------------------------------
Started by an SCM change
Building in workspace <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/>
Reverting <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk> to depth infinity with ignoreExternals: false
Updating https://svn.codelutin.com/tutti/trunk at revision '2014-05-28T17:48:18.032 +0200'
U tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
U tutti-ui-swing/src/license/THIRD-PARTY.properties
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ComputeBatchWeightsAction.java
U tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java
U tutti-ui-swing/src/main/filtered-resources/log4j.properties
U pom.xml
U tutti-persistence/src/main/resources/queries-failsafe.hbm.xml
U tutti-persistence/src/main/xmi/tutti-persistence.zargo
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/MeasurementPersistenceHelper.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchTreeHelper.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchPersistenceHelper.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MarineLitterBatchPersistenceServiceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
At revision 1818
Parsing POMs
Modules changed, recalculating dependency graph
[trunk] $ /opt/jdk7/bin/java -Dsettings.security=/var/local/forge/data/codelutin.com/maven/settings-security.xml -Djava.awt.headless=true -cp /var/local/forge/data/codelutin.com/jenkins/plugins/maven-plugin/WEB-INF/lib/maven31-agent-1.5.jar:/opt/maven3/boot/plexus-classworlds-2.5.1.jar:/opt/maven3/conf/logging jenkins.maven3.agent.Maven31Main /opt/maven3 /var/local/forge/exec/tomcat-codelutin.com/webapps/jenkins/WEB-INF/lib/remoting-2.39.jar /var/local/forge/data/codelutin.com/jenkins/plugins/maven-plugin/WEB-INF/lib/maven31-interceptor-1.5.jar /var/local/forge/data/codelutin.com/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.5.jar 34194
<===[JENKINS REMOTING CAPACITY]===> channel started
Executing Maven: -B -f <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/pom.xml> -s /var/local/forge/data/codelutin.com/maven/settings.xml -e -U clean verify
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] Tutti
[INFO] Tutti :: Persistence
[INFO] Tutti :: Ichtyometer API
[INFO] Tutti :: Service
[INFO] Tutti :: UI
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti ---
[INFO] Deleting <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/target>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti ---
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ tutti ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/target/surefire-workd…>
[INFO] Executed tasks
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ tutti ---
[JENKINS] Archiving disabled
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: Persistence 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug… (2 KB at 11.1 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene… (2 KB at 4.2 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug… (1017 B at 24.8 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene… (1017 B at 15.0 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[WARNING] The POM for fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT is missing, no dependency information available
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[WARNING] The POM for fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT is missing, no dependency information available
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/com/eso…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/com/esotericsoftw…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/com/esotericsoftw… (5 KB at 47.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/esotericsoftware/yamlbeans/yamlbean…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/esotericsoftware/yamlbeans/yamlbean… (5 KB at 5.0 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/com/eso…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/com/esotericsoftw…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/com/esotericsoftw… (142 KB at 968.8 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/esotericsoftware/yamlbeans/yamlbean…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/esotericsoftware/yamlbeans/yamlbean… (142 KB at 1664.0 KB/sec)
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [ 1.856 s]
[INFO] Tutti :: Persistence .............................. FAILURE [ 2.135 s]
[INFO] Tutti :: Ichtyometer API .......................... SKIPPED
[INFO] Tutti :: Service .................................. SKIPPED
[INFO] Tutti :: UI ....................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.255 s
[INFO] Finished at: 2014-05-28T17:48:29+01:00
[INFO] Final Memory: 21M/311M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project tutti-persistence: Could not resolve dependencies for project fr.ifremer.tutti:tutti-persistence:jar:3.5-SNAPSHOT: The following artifacts could not be resolved: fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project tutti-persistence: Could not resolve dependencies for project fr.ifremer.tutti:tutti-persistence:jar:3.5-SNAPSHOT: The following artifacts could not be resolved: fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:220)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:127)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:257)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:200)
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:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
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:745)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project fr.ifremer.tutti:tutti-persistence:jar:3.5-SNAPSHOT: The following artifacts could not be resolved: fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:198)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:195)
... 33 more
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: The following artifacts could not be resolved: fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:384)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:192)
... 34 more
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:459)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:262)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367)
... 35 more
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1012)
at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1004)
at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:725)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
... 3 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/DependencyResolutionExcept…
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :tutti-persistence
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com chemit+codelutin-ci(a)codelutin.com
channel stopped
1
3
r1821 - in trunk: tutti-persistence/src/license tutti-service/src/license
by tchemit@users.forge.codelutin.com May 30, 2014
by tchemit@users.forge.codelutin.com May 30, 2014
May 30, 2014
Author: tchemit
Date: 2014-05-30 10:03:46 +0200 (Fri, 30 May 2014)
New Revision: 1821
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1821
Log:
update third parties files
Modified:
trunk/tutti-persistence/src/license/THIRD-PARTY.properties
trunk/tutti-service/src/license/THIRD-PARTY.properties
Modified: trunk/tutti-persistence/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/tutti-persistence/src/license/THIRD-PARTY.properties 2014-05-30 07:51:16 UTC (rev 1820)
+++ trunk/tutti-persistence/src/license/THIRD-PARTY.properties 2014-05-30 08:03:46 UTC (rev 1821)
@@ -1,11 +1,18 @@
# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
#-------------------------------------------------------------------------------
# Already used licenses in project :
+# - AL 2.0
# - Affero General Public License (AGPL)
+# - Apache License 2.0
+# - Apache License Version 2.0
+# - Apache License, version 2.0
# - BSD License
# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+# - Common Development and Distribution License
# - Common Public License Version 1.0
-# - General Public License (GPL)
+# - Eclipse Distribution License (EDL), Version 1.0
+# - Eclipse Public License (EPL), Version 1.0
+# - GNU General Public License, Version 2 with the Classpath Exception
# - HSQLDB License
# - Indiana University Extreme! Lab Software License, vesion 1.1.1
# - Lesser General Public License (LGPL)
@@ -17,13 +24,11 @@
# - New BSD License
# - Public Domain
# - The Apache Software License, Version 2.0
-# - license.txt
+# - WTFPL
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Tue Dec 03 15:42:52 CET 2013
-antlr--antlr--2.7.6=BSD License
+#Fri May 30 09:52:42 CEST 2014
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
dom4j--dom4j--1.6.1=BSD License
-javax.transaction--jta--1.1=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
Modified: trunk/tutti-service/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/tutti-service/src/license/THIRD-PARTY.properties 2014-05-30 07:51:16 UTC (rev 1820)
+++ trunk/tutti-service/src/license/THIRD-PARTY.properties 2014-05-30 08:03:46 UTC (rev 1821)
@@ -1,13 +1,21 @@
# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
#-------------------------------------------------------------------------------
# Already used licenses in project :
+# - AL 2.0
# - Affero General Public License (AGPL)
+# - Apache License 2.0
+# - Apache License Version 2.0
+# - Apache License, version 2.0
# - BSD License
# - BSD-style license
# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+# - Common Development and Distribution License
# - Common Public License Version 1.0
+# - Eclipse Distribution License (EDL), Version 1.0
+# - Eclipse Public License (EPL), Version 1.0
# - Eclipse Public License - v 1.0
# - GNU Affero General Public License v3
+# - GNU General Public License, Version 2 with the Classpath Exception
# - GNU Lesser General Public License (LGPL), version 2.1
# - GNU Library or Lesser General Public License
# - General Public License (GPL)
@@ -26,13 +34,12 @@
# - Public Domain
# - The Apache Software License, Version 2.0
# - The MIT License
-# - license.txt
+# - WTFPL
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Fri Jan 31 11:50:47 CET 2014
-antlr--antlr--2.7.6=BSD License
+#Fri May 30 09:52:42 CEST 2014
batik--batik-awt-util--1.6=The Apache Software License, Version 2.0
batik--batik-bridge--1.6=The Apache Software License, Version 2.0
batik--batik-css--1.6=The Apache Software License, Version 2.0
@@ -48,4 +55,3 @@
batik--batik-xml--1.6=The Apache Software License, Version 2.0
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
dom4j--dom4j--1.6.1=BSD License
-javax.transaction--jta--1.1=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
1
0
Build failed in Jenkins: tutti-nightly » Tutti :: Persistence #44
by admin+ci-codelutin.com@codelutin.com May 30, 2014
by admin+ci-codelutin.com@codelutin.com May 30, 2014
May 30, 2014
See <http://ci.codelutin.com/jenkins/job/tutti-nightly/fr.ifremer.tutti$tutti-pe…>
Changes:
[Tony CHEMIT] refs #4959 implements it
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: Persistence 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug… (2 KB at 7.9 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene… (2 KB at 3.9 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug… (1017 B at 43.2 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene… (1017 B at 38.2 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[WARNING] The POM for fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT is missing, no dependency information available
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[WARNING] The POM for fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT is missing, no dependency information available
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[JENKINS] Archiving disabled
1
3
r1820 - in trunk: . tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service tutti-ui-swing/src/license
by tchemit@users.forge.codelutin.com May 30, 2014
by tchemit@users.forge.codelutin.com May 30, 2014
May 30, 2014
Author: tchemit
Date: 2014-05-30 09:51:16 +0200 (Fri, 30 May 2014)
New Revision: 1820
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1820
Log:
fix adagio dependencies and spring conf
Modified:
trunk/pom.xml
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiPersistenceServiceLocator.java
trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-05-29 05:13:18 UTC (rev 1819)
+++ trunk/pom.xml 2014-05-30 07:51:16 UTC (rev 1820)
@@ -142,7 +142,7 @@
<!-- libraries version -->
<nuitonI18nVersion>3.0</nuitonI18nVersion>
<nuitonValidatorVersion>3.0-rc-1</nuitonValidatorVersion>
- <eugenePluginVersion>2.9-SNAPSHOT</eugenePluginVersion>
+ <eugenePluginVersion>2.10-SNAPSHOT</eugenePluginVersion>
<jaxxVersion>2.8.5</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<slf4jVersion>1.7.5</slf4jVersion>
@@ -214,6 +214,16 @@
<groupId>fr.ifremer.adagio</groupId>
<artifactId>adagio-core-allegro</artifactId>
<version>${adagioVersion}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-spatial</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.vividsolutions</groupId>
+ <artifactId>jts</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- Nuiton -->
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiPersistenceServiceLocator.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiPersistenceServiceLocator.java 2014-05-29 05:13:18 UTC (rev 1819)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiPersistenceServiceLocator.java 2014-05-30 07:51:16 UTC (rev 1820)
@@ -117,7 +117,7 @@
//TODO Move this to adagio
public static ReferentialSynchroService getReferentialSynchroService() {
ReferentialSynchroService service = instance().getService(
- "referentialSynchroService", ReferentialSynchroService.class);
+ "deprecatedReferentialSynchroService", ReferentialSynchroService.class);
return service;
}
Modified: trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties 2014-05-29 05:13:18 UTC (rev 1819)
+++ trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties 2014-05-30 07:51:16 UTC (rev 1820)
@@ -39,7 +39,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Tue May 27 17:05:30 CEST 2014
+#Fri May 30 09:08:49 CEST 2014
batik--batik-awt-util--1.6=The Apache Software License, Version 2.0
batik--batik-bridge--1.6=The Apache Software License, Version 2.0
batik--batik-css--1.6=The Apache Software License, Version 2.0
@@ -55,4 +55,3 @@
batik--batik-xml--1.6=The Apache Software License, Version 2.0
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
dom4j--dom4j--1.6.1=BSD License
-org.hibernate--hibernate-spatial--4.3-20140213=Lesser General Public License (LGPL)
1
0
Build failed in Jenkins: tutti-ci » Tutti :: Persistence #93
by admin+ci-codelutin.com@codelutin.com May 29, 2014
by admin+ci-codelutin.com@codelutin.com May 29, 2014
May 29, 2014
See <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-persist…>
Changes:
[Tony CHEMIT] refs #4959 implements it
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: Persistence 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug… (2 KB at 11.1 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene… (2 KB at 4.2 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene…
[INFO] Downloaded: http://nexus.nuiton.org/nexus/content/repositories/snapshots/org/nuiton/eug… (1017 B at 24.8 KB/sec)
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/eugene… (1017 B at 15.0 KB/sec)
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[WARNING] The POM for fr.ifremer.adagio:adagio-core-shared:jar:3.5.5-SNAPSHOT is missing, no dependency information available
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[WARNING] The POM for fr.ifremer.adagio:adagio-core-allegro:jar:3.5.5-SNAPSHOT is missing, no dependency information available
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/com/eso…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/com/esotericsoftw…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/com/esotericsoftw… (5 KB at 47.6 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/esotericsoftware/yamlbeans/yamlbean…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/esotericsoftware/yamlbeans/yamlbean… (5 KB at 5.0 KB/sec)
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/central-releases/com/eso…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/com/esotericsoftw…
[INFO] Downloaded: https://nexus.nuiton.org/nexus/content/groups/tutti-group/com/esotericsoftw… (142 KB at 968.8 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/esotericsoftware/yamlbeans/yamlbean…
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/esotericsoftware/yamlbeans/yamlbean… (142 KB at 1664.0 KB/sec)
[JENKINS] Archiving disabled
1
1
Author: tchemit
Date: 2014-05-29 07:13:18 +0200 (Thu, 29 May 2014)
New Revision: 1819
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1819
Log:
use last adagio stable version
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-05-28 15:35:16 UTC (rev 1818)
+++ trunk/pom.xml 2014-05-29 05:13:18 UTC (rev 1819)
@@ -146,7 +146,7 @@
<jaxxVersion>2.8.5</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<slf4jVersion>1.7.5</slf4jVersion>
- <adagioVersion>3.5.5-SNAPSHOT</adagioVersion>
+ <adagioVersion>3.5.5</adagioVersion>
<bluecoveVersion>2.1.0</bluecoveVersion>
<hibernateVersion>4.3.1.Final</hibernateVersion>
<springVersion>4.0.1.RELEASE</springVersion>
1
0
May 28, 2014
Author: tchemit
Date: 2014-05-28 17:35:16 +0200 (Wed, 28 May 2014)
New Revision: 1818
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1818
Log:
refs #4959 implements it
Modified:
trunk/pom.xml
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/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MarineLitterBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchPersistenceHelper.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchTreeHelper.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/MeasurementPersistenceHelper.java
trunk/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml
trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties
trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ComputeBatchWeightsAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/pom.xml 2014-05-28 15:35:16 UTC (rev 1818)
@@ -146,7 +146,7 @@
<jaxxVersion>2.8.5</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<slf4jVersion>1.7.5</slf4jVersion>
- <adagioVersion>3.5.2</adagioVersion>
+ <adagioVersion>3.5.5-SNAPSHOT</adagioVersion>
<bluecoveVersion>2.1.0</bluecoveVersion>
<hibernateVersion>4.3.1.Final</hibernateVersion>
<springVersion>4.0.1.RELEASE</springVersion>
@@ -425,7 +425,7 @@
<dependency>
<groupId>com.esotericsoftware.yamlbeans</groupId>
<artifactId>yamlbeans</artifactId>
- <version>1.06</version>
+ <version>1.08</version>
</dependency>
<!-- flying-saucer -->
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-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -734,6 +734,11 @@
catchBatchService.deleteCatchBatch(fishingOperationId);
}
+ @Override
+ public void recomputeCatchBatchSampleRatios(String fishingOperationId) {
+ catchBatchService.recomputeCatchBatchSampleRatios(fishingOperationId);
+ }
+
//------------------------------------------------------------------------//
//-- Species Batch methods --//
//------------------------------------------------------------------------//
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-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -493,6 +493,11 @@
}
@Override
+ public void recomputeCatchBatchSampleRatios(String fishingOperationId) {
+ throw notImplemented();
+ }
+
+ @Override
public BatchContainer<SpeciesBatch> getRootSpeciesBatch(String fishingOperationId, boolean validateTree) throws InvalidBatchModelException {
throw notImplemented();
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -3,10 +3,8 @@
/*
* #%L
* Tutti :: Persistence
- * $Id$
- * $HeadURL$
* %%
- * Copyright (C) 2012 - 2013 Ifremer
+ * 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
@@ -28,18 +26,13 @@
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
import fr.ifremer.adagio.core.dao.data.batch.Batch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatch;
import fr.ifremer.adagio.core.dao.data.batch.SortingBatch;
-import fr.ifremer.adagio.core.dao.data.measure.QuantificationMeasurement;
import fr.ifremer.adagio.core.dao.data.measure.SortingMeasurement;
import fr.ifremer.adagio.core.dao.referential.QualityFlag;
import fr.ifremer.adagio.core.dao.referential.QualityFlagCode;
-import fr.ifremer.adagio.core.dao.referential.QualityFlagImpl;
-import fr.ifremer.adagio.core.dao.referential.pmfm.PmfmId2;
import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceTaxon;
-import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceTaxonImpl;
import fr.ifremer.tutti.persistence.InvalidBatchModelException;
import fr.ifremer.tutti.persistence.entities.data.BatchContainer;
import fr.ifremer.tutti.persistence.entities.data.BenthosBatch;
@@ -59,10 +52,8 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import java.util.Collection;
import java.util.Collections;
import java.util.List;
-import java.util.Set;
import static org.nuiton.i18n.I18n.t;
@@ -315,7 +306,7 @@
target = SortingBatch.Factory.newInstance();
// Fill the sorting batch from the source
- beanToEntity(source, target, parentBatch, rankOrder);
+ batchHelper.beanToEntity(source, target, parentBatch, rankOrder);
// Create the targeted batch, then update the source id
batchHelper.createSortingBatch(source, catchBatch, target);
@@ -326,7 +317,7 @@
target = batchHelper.getSortingBatchById(catchBatch, source.getIdAsInt());
// Fill the sorting batch from the source
- beanToEntity(source, target, parentBatch, rankOrder);
+ batchHelper.beanToEntity(source, target, parentBatch, rankOrder);
// Add the batch into a list (will be update later, using this list)
batchsToUpdate.add(target);
@@ -375,6 +366,14 @@
target.setSampleCategoryWeight(source.getWeightBeforeSampling());
}
+ if (CollectionUtils.isNotEmpty(source.getChildBatchs()) && target.getWeight() != null) {
+
+ // can't use this sample weight on a node
+ // the weight comes from sampleRatioText, but must NOT be used here
+ target.setWeight(null);
+
+ }
+
// Comments
target.setComment(source.getComments());
@@ -434,20 +433,6 @@
Preconditions.checkNotNull(source.getFishingOperation());
Preconditions.checkNotNull(source.getFishingOperation().getId());
- Collection<QuantificationMeasurement> quantificationMeasurements = target.getQuantificationMeasurements();
- Collection<SortingMeasurement> sortingMeasurements = target.getSortingMeasurements();
-
- // Create lists to store all updates, then remove not updated items
-
- Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
- if (quantificationMeasurements != null) {
- notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
- }
- Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
- if (sortingMeasurements != null) {
- notChangedSortingMeasurements.addAll(sortingMeasurements);
- }
-
// If parent and root need to be set
if (target.getId() == null
|| target.getRootBatch() == null
@@ -460,179 +445,75 @@
catchBatch);
}
- // RankOrder (initialize once, at creation)
- if (target.getRankOrder() == null) {
- // Start rank order at 1
- short rankOrder = (short) 1;
- if (source.getParentBatch() != null && source.getParentBatch().getChildBatchs() != null) {
- int maxRankOrder = 0;
- for (BenthosBatch batch : source.getParentBatch().getChildBatchs()) {
- Integer r = batch.getRankOrder();
- if (r != null && r > maxRankOrder) {
- maxRankOrder = r;
- }
- }
- rankOrder += (short) maxRankOrder;
-
- } else if (target.getParentBatch() != null && target.getParentBatch().getChildBatchs() != null) {
- short maxRankOrder = 0;
- for (Batch batch : target.getParentBatch().getChildBatchs()) {
- Short r = batch.getRankOrder();
- if (r != null && r > maxRankOrder) {
- maxRankOrder = r;
- }
- }
- rankOrder += maxRankOrder;
- }
- target.setRankOrder(rankOrder);
- }
-
- // Force subgroup count to '1', as Allegro
- target.setSubgroupCount(1f);
-
- // Weight or SampleCategoryWeight
- if (source.getWeight() == null && source.getSampleCategoryWeight() != null) {
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
- target,
- source.getSampleCategoryWeight());
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
- } else if (source.getWeight() != null && source.getSampleCategoryWeight() == null) {
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
- target,
- source.getWeight());
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
- }
-
- // Sampling Ratio
- if (source.getSampleCategoryWeight() == null || source.getWeight() == null) {
- target.setSamplingRatio(null);
- target.setSamplingRatioText(null);
- } else {
- String samplingRatioText = source.getWeight() + "/" + source.getSampleCategoryWeight();
- samplingRatioText = samplingRatioText.replaceAll(",", ".");
- target.setSamplingRatioText(samplingRatioText);
- target.setSamplingRatio(source.getWeight() / source.getSampleCategoryWeight());
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
- target,
- source.getWeight());
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
- }
-
- // Sorting measurement
- if (source.getSampleCategoryId() != null && source.getSampleCategoryValue() != null) {
- Integer pmfmId = source.getSampleCategoryId();
- // Do not store sorting measurement if pmfm = SORTED (already store in an ancestor batch)
- if (!pmfmId.equals(PmfmId2.SORTED_UNSORTED.getValue())) {
- SortingMeasurement sortingMeasurement = measurementPersistenceHelper.setSortingMeasurement(
- target,
- pmfmId,
- source.getSampleCategoryValue());
- notChangedSortingMeasurements.remove(sortingMeasurement);
- }
- }
-
- // Individual count
- target.setIndividualCount(source.getNumber());
-
- // Species
- ReferenceTaxon referenceTaxon;
- if (source.getSpecies() == null || parentBatchId != null) {
- referenceTaxon = null;
- } else {
- referenceTaxon = load(ReferenceTaxonImpl.class, source.getSpecies().getReferenceTaxonId());
- }
- target.setReferenceTaxon(referenceTaxon);
-
- // QualityFlag
- String qualityFlag;
- if (source.isSpeciesToConfirm()) {
- qualityFlag = QualityFlagCode.DOUBTFUL.getValue();
- } else {
- qualityFlag = QualityFlagCode.NOTQUALIFIED.getValue();
- }
- target.setQualityFlag(load(QualityFlagImpl.class, qualityFlag));
-
- // Comments
- target.setComments(source.getComment());
-
- // Exhaustive inventory (always true under a species batch)
- target.setExhaustiveInventory(true);
-
- // Removed not changed measurements (in sorting and quantification measurement lists)
- if (quantificationMeasurements != null) {
- quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
- }
- if (sortingMeasurements != null) {
- sortingMeasurements.removeAll(notChangedSortingMeasurements);
- }
+ batchHelper.beanToEntity(parentBatchId, source, target);
}
- protected void beanToEntity(BenthosBatchFrequency source,
- SortingBatch target,
- SortingBatch parentBatch,
- short rankOrder) {
- Preconditions.checkNotNull(source.getBatch());
- Preconditions.checkNotNull(source.getBatch().getId());
-
- Collection<QuantificationMeasurement> quantificationMeasurements = target.getQuantificationMeasurements();
- Collection<SortingMeasurement> sortingMeasurements = target.getSortingMeasurements();
-
- // Create lists to store all updates, then remove not updated items
- Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
- if (quantificationMeasurements != null) {
- notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
- }
- Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
- if (sortingMeasurements != null) {
- notChangedSortingMeasurements.addAll(sortingMeasurements);
- }
-
- // If parent and root need to be set
- if (target.getId() == null
- || target.getRootBatch() == null
- || (target.getParentBatch() != null && !target.getParentBatch().getId().equals(parentBatch.getId()))) {
-
- target.setParentBatch(parentBatch);
- target.setRootBatch(parentBatch.getRootBatch());
- }
-
- // RankOrder
- target.setRankOrder(rankOrder);
-
- // Weight or SampleCategoryWeight
- if (source.getWeight() != null) {
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
- target,
- source.getWeight());
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
- }
-
- // Sorting measurement
- if ((source.getLengthStepCaracteristic() != null && source.getLengthStep() != null)) {
- Integer pmfmId = source.getLengthStepCaracteristic().getIdAsInt();
- SortingMeasurement sortingMeasurement = measurementPersistenceHelper.setSortingMeasurement(target, pmfmId,
- source.getLengthStep());
- notChangedSortingMeasurements.remove(sortingMeasurement);
- }
-
- // Individual count
- target.setIndividualCount(source.getNumber());
-
- // Species
- target.setReferenceTaxon(null);
-
- // QualityFlag
- target.setQualityFlag(parentBatch.getQualityFlag());
-
- // Exhaustive inventory (always true under a species batch)
- target.setExhaustiveInventory(true);
-
- // Removed not changed measurements (in sorting and quantification measurement lists)
- if (quantificationMeasurements != null) {
- quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
- }
- if (sortingMeasurements != null) {
- sortingMeasurements.removeAll(notChangedSortingMeasurements);
- }
- }
+// protected void beanToEntity(BenthosBatchFrequency source,
+// SortingBatch target,
+// SortingBatch parentBatch,
+// short rankOrder) {
+// Preconditions.checkNotNull(source.getBatch());
+// Preconditions.checkNotNull(source.getBatch().getId());
+//
+// Collection<QuantificationMeasurement> quantificationMeasurements = target.getQuantificationMeasurements();
+// Collection<SortingMeasurement> sortingMeasurements = target.getSortingMeasurements();
+//
+// // Create lists to store all updates, then remove not updated items
+// Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
+// if (quantificationMeasurements != null) {
+// notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
+// }
+// Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
+// if (sortingMeasurements != null) {
+// notChangedSortingMeasurements.addAll(sortingMeasurements);
+// }
+//
+// // If parent and root need to be set
+// if (target.getId() == null
+// || target.getRootBatch() == null
+// || (target.getParentBatch() != null && !target.getParentBatch().getId().equals(parentBatch.getId()))) {
+//
+// target.setParentBatch(parentBatch);
+// target.setRootBatch(parentBatch.getRootBatch());
+// }
+//
+// // RankOrder
+// target.setRankOrder(rankOrder);
+//
+// // Weight or SampleCategoryWeight
+// if (source.getWeight() != null) {
+// QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
+// target,
+// source.getWeight());
+// notChangedQuantificationMeasurements.remove(quantificationMeasurement);
+// }
+//
+// // Sorting measurement
+// if ((source.getLengthStepCaracteristic() != null && source.getLengthStep() != null)) {
+// Integer pmfmId = source.getLengthStepCaracteristic().getIdAsInt();
+// SortingMeasurement sortingMeasurement = measurementPersistenceHelper.setSortingMeasurement(target, pmfmId,
+// source.getLengthStep());
+// notChangedSortingMeasurements.remove(sortingMeasurement);
+// }
+//
+// // Individual count
+// target.setIndividualCount(source.getNumber());
+//
+// // Species
+// target.setReferenceTaxon(null);
+//
+// // QualityFlag
+// target.setQualityFlag(parentBatch.getQualityFlag());
+//
+// // Exhaustive inventory (always true under a species batch)
+// target.setExhaustiveInventory(true);
+//
+// // Removed not changed measurements (in sorting and quantification measurement lists)
+// if (quantificationMeasurements != null) {
+// quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
+// }
+// if (sortingMeasurements != null) {
+// sortingMeasurements.removeAll(notChangedSortingMeasurements);
+// }
+// }
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -77,4 +77,13 @@
@Transactional(readOnly = false)
void deleteCatchBatch(String fishingOperationId);
+ /**
+ * Recompute all the sampleRatio and sampleRatioText for the catch batch
+ * and all his children batches for the given fishing operation id.
+ *
+ * @param fishingOperationId id of the fihsing operation
+ * @since 3.5
+ */
+ @Transactional(readOnly = false)
+ void recomputeCatchBatchSampleRatios(String fishingOperationId);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -24,19 +24,22 @@
import com.google.common.base.Preconditions;
-import com.google.common.collect.Sets;
+import fr.ifremer.adagio.core.dao.data.batch.Batch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatchImpl;
import fr.ifremer.adagio.core.dao.data.batch.SortingBatch;
import fr.ifremer.adagio.core.dao.data.measure.QuantificationMeasurement;
import fr.ifremer.adagio.core.dao.data.operation.FishingOperationImpl;
import fr.ifremer.adagio.core.dao.referential.QualityFlagCode;
import fr.ifremer.adagio.core.dao.referential.QualityFlagImpl;
+import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
import fr.ifremer.tutti.persistence.entities.data.CatchBatchBean;
import fr.ifremer.tutti.persistence.service.util.BatchPersistenceHelper;
import fr.ifremer.tutti.persistence.service.util.BatchTreeHelper;
import fr.ifremer.tutti.persistence.service.util.MeasurementPersistenceHelper;
import fr.ifremer.tutti.persistence.service.util.SynchronizationStatusHelper;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.FlushMode;
@@ -46,8 +49,12 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.math.BigDecimal;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Map;
import java.util.Set;
+import java.util.TreeMap;
@Service("batchPersistenceService")
public class CatchBatchPersistenceServiceImpl
@@ -170,6 +177,75 @@
batchHelper.deleteCatchBatch(fishingOperationId, catchBatchId);
}
+ @Override
+ public void recomputeCatchBatchSampleRatios(String fishingOperationId) {
+
+ Preconditions.checkNotNull(fishingOperationId);
+ Integer catchBatchId = batchHelper.getCatchBatchIdByFishingOperationId(Integer.valueOf(fishingOperationId));
+
+ if (catchBatchId == null) {
+ throw new DataRetrievalFailureException("Could not retrieve catch batch for fishingOperation id=" + fishingOperationId);
+ }
+
+ fr.ifremer.adagio.core.dao.data.batch.CatchBatch catchBatch = batchTreeHelper.loadCatchBatch(catchBatchId);
+
+ // To store computed indirect weights by batch
+ // If a batch has a weight before sampling then nothing is computed
+ Map<Integer, SortingBatch> indirectWeightByBatch = new TreeMap<>();
+
+ // To store quantification measurement ids which need to update to pass
+ // is_reference_quantification to false
+ // such measurements are only on batch nodes (leaf always keep the value to true)
+ Set<Integer> quantificationMeasurementIds = new HashSet<>();
+
+ Set<Integer> indirectWeightByBatchSkip = new HashSet<>();
+
+ for (Batch rootBatch : catchBatch.getChildBatchs()) {
+
+ computeIndirectWeight(rootBatch,
+ indirectWeightByBatch,
+ indirectWeightByBatchSkip,
+ quantificationMeasurementIds);
+
+ }
+
+ if (!indirectWeightByBatch.isEmpty()) {
+
+ // update batchs sample ratio
+ for (SortingBatch batch : indirectWeightByBatch.values()) {
+
+ Float weight = batch.getWeight();
+ Float indirectWeight = batch.getIndirectWeight();
+ batch.setIndirectWeight(null);
+
+ if (indirectWeight == null) {
+
+ // will reuse then the weight
+ indirectWeight = weight;
+ }
+
+ if (log.isInfoEnabled()) {
+ log.info(String.format("setWeightAndSampleRatio :: %d (%s // %s)", batch.getId(), weight, indirectWeight));
+ }
+
+ batchTreeHelper.setSortingSamplingRatio(batch, indirectWeight, weight);
+
+ }
+
+ }
+ if (!quantificationMeasurementIds.isEmpty()) {
+
+ // update measurements
+ if (log.isInfoEnabled()) {
+ log.info("updateQuantificationMeasurementsForBatchNodes :: " + quantificationMeasurementIds);
+ }
+ queryUpdate("updateQuantificationMeasurementsForBatchNodes",
+ "ids", IntegerType.INSTANCE, quantificationMeasurementIds);
+
+ }
+
+ }
+
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
@@ -264,39 +340,27 @@
Preconditions.checkNotNull(source.getFishingOperation());
Preconditions.checkNotNull(source.getFishingOperation().getId());
- // Retrieve recorder department
-
// First initialization (when created)
Integer fishingOperationId = source.getFishingOperation().getIdAsInt();
target.setFishingOperation(load(FishingOperationImpl.class, fishingOperationId));
+ // Quality flag
target.setQualityFlag(load(QualityFlagImpl.class, QualityFlagCode.NOTQUALIFIED.getValue()));
+
+ // Rank order
target.setRankOrder((short) 1);
// Synchronization status
synchronizationStatusHelper.setDirty(target);
- // Create lists to store all updates, then remove not updated items
- Collection<QuantificationMeasurement> quantificationMeasurements = target.getQuantificationMeasurements();
- Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
- if (quantificationMeasurements != null) {
- notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
- }
-
// Total Weight
if (source.getCatchTotalWeight() != null) {
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
+ measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
target,
source.getCatchTotalWeight());
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
}
- // Removed not changed measurements (in sorting and quantification measurement lists)
- if (quantificationMeasurements != null) {
- quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
- }
-
SortingBatch vracBatch = batchTreeHelper.getVracBatch(target);
SortingBatch horsVracBatch = batchTreeHelper.getHorsVracBatch(target);
@@ -486,4 +550,130 @@
}
}
+ protected void computeIndirectWeight(Batch batch,
+ Map<Integer, SortingBatch> indirectWeightByBatch,
+ Set<Integer> indirectWeightByBatchSkip,
+ Set<Integer> quantificationMeasurements) {
+
+ Integer batchId = batch.getId();
+
+ if (indirectWeightByBatch.containsKey(batchId) ||
+ indirectWeightByBatchSkip.contains(batchId)) {
+
+ // already computed
+ return;
+
+ }
+
+ Collection<Batch> childBatchs = batch.getChildBatchs();
+ boolean batchIsLeaf = CollectionUtils.isEmpty(childBatchs);
+
+ if (batchIsLeaf) {
+
+ // on a leaf, nothing else to do
+ if (log.isDebugEnabled()) {
+ log.debug("[BATCH :: " + batchId + "] - Do not compute on a leaf ");
+ }
+ return;
+
+ }
+
+ QuantificationMeasurement measurement = measurementPersistenceHelper.getWeightMeasurementQuantificationMeasurement(batch);
+ if (measurement != null &&
+ BooleanUtils.isTrue(measurement.getIsReferenceQuantification())) {
+
+ // need to pass this to false
+ quantificationMeasurements.add(measurement.getId());
+
+ if (log.isDebugEnabled()) {
+ log.debug("[BATCH :: " + batchId + "] - Need to update the quantification measurement (not a leaf) :: " + measurement.getId());
+ }
+
+ }
+
+ // compute indirect weights of childs before all
+
+ for (Batch childBatch : childBatchs) {
+
+ computeIndirectWeight(childBatch, indirectWeightByBatch, indirectWeightByBatchSkip, quantificationMeasurements);
+
+ }
+
+// if (batch.getWeight() == null) {
+//
+// // no need to compute indirect weight, mark batch
+// indirectWeightByBatchSkip.add(batchId);
+//
+// if (log.isDebugEnabled()) {
+// log.debug("[BATCH :: " + batchId + "] - No need of indirect weight (no weight on it) ");
+// }
+// return;
+//
+// }
+ if (batch.getWeightBeforeSampling() != null) {
+
+ // no need to compute indirect weight, mark batch
+ indirectWeightByBatchSkip.add(batchId);
+
+ if (log.isDebugEnabled()) {
+ log.debug("[BATCH :: " + batchId + "] - No need of indirect weight (there is a weight before sampling) ");
+ }
+ return;
+
+ }
+
+ // At last, compute the indirect weight
+ Float indirectWeight = computeIndirectWeight(batch);
+ batch.setIndirectWeight(indirectWeight);
+
+ if (batch.getWeight() != null) {
+
+ // Can only update the sample ratio if there is a weight on the batch
+ indirectWeightByBatch.put(batchId, (SortingBatch) batch);
+
+ }
+
+ if (log.isDebugEnabled()) {
+ log.debug("[BATCH :: " + batchId + "] - " + "Computed indirect weight " + indirectWeight);
+ }
+
+ }
+
+ protected Float computeIndirectWeight(Batch batch) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("[BATCH :: " + batch.getId() + "] compute indirect weight");
+ }
+
+ BigDecimal result = new BigDecimal(0);
+
+ for (Batch childBatch : batch.getChildBatchs()) {
+
+ Float weight = TuttiEntities.getValueOrComputedValue(childBatch.getWeightBeforeSampling(),
+ childBatch.getWeight());
+
+ if (weight == null) {
+
+ // at last use the indirectWeight
+ weight = childBatch.getIndirectWeight();
+
+ }
+
+ if (weight == null) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("[BATCH :: " + batch.getId() + "] Found a child batch " + childBatch.getId() + " has no weight, skip computing indirect weight for batch :: ...");
+ }
+
+ return null;
+
+ }
+ result = result.add(new BigDecimal(String.valueOf(weight)));
+
+ }
+
+ return TuttiEntities.roundKiloGram(result.floatValue());
+
+ }
+
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MarineLitterBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MarineLitterBatchPersistenceServiceImpl.java 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MarineLitterBatchPersistenceServiceImpl.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -27,7 +27,6 @@
import fr.ifremer.adagio.core.dao.data.batch.Batch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatch;
import fr.ifremer.adagio.core.dao.data.batch.SortingBatch;
-import fr.ifremer.adagio.core.dao.data.measure.QuantificationMeasurement;
import fr.ifremer.adagio.core.dao.data.measure.SortingMeasurement;
import fr.ifremer.adagio.core.dao.referential.QualityFlagCode;
import fr.ifremer.adagio.core.dao.referential.QualityFlagImpl;
@@ -206,20 +205,6 @@
Preconditions.checkNotNull(source.getFishingOperation());
Preconditions.checkNotNull(source.getFishingOperation().getId());
- Collection<QuantificationMeasurement> quantificationMeasurements = target.getQuantificationMeasurements();
- Collection<SortingMeasurement> sortingMeasurements = target.getSortingMeasurements();
-
- // Create lists to store all updates, then remove not updated items
-
- Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
- if (quantificationMeasurements != null) {
- notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
- }
- Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
- if (sortingMeasurements != null) {
- notChangedSortingMeasurements.addAll(sortingMeasurements);
- }
-
// If parent and root need to be set
if (target.getId() == null || target.getRootBatch() == null) {
batchHelper.setMarineLitterBatchParents(target, catchBatch);
@@ -245,40 +230,44 @@
// Force subgroup count to '1', as Allegro
target.setSubgroupCount(1f);
- // Weight
- if (source.getWeight() != null) {
+ // Sorting Measurements
+ {
+ Collection<SortingMeasurement> sortingMeasurements = target.getSortingMeasurements();
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
- target,
- source.getWeight());
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
- }
+ Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
+ if (sortingMeasurements != null) {
+ notChangedSortingMeasurements.addAll(sortingMeasurements);
+ }
- // MarineLitterCategory
- if (source.getMarineLitterCategory() != null) {
+ // MarineLitterCategory
+ if (source.getMarineLitterCategory() != null) {
- SortingMeasurement measurement = measurementPersistenceHelper.setSortingMeasurement(
- target,
- marineLitterCategory,
- source.getMarineLitterCategory().getIdAsInt()
- );
- notChangedSortingMeasurements.remove(measurement);
- }
+ SortingMeasurement measurement = measurementPersistenceHelper.setSortingMeasurement(
+ target,
+ marineLitterCategory,
+ source.getMarineLitterCategory().getIdAsInt()
+ );
+ notChangedSortingMeasurements.remove(measurement);
+ }
- // MarineLitterSizeCategory
- if (source.getMarineLitterSizeCategory() != null) {
+ // MarineLitterSizeCategory
+ if (source.getMarineLitterSizeCategory() != null) {
- SortingMeasurement measurement = measurementPersistenceHelper.setSortingMeasurement(
- target,
- marineLitterSizeCategory,
- source.getMarineLitterSizeCategory().getIdAsInt()
- );
- notChangedSortingMeasurements.remove(measurement);
+ SortingMeasurement measurement = measurementPersistenceHelper.setSortingMeasurement(
+ target,
+ marineLitterSizeCategory,
+ source.getMarineLitterSizeCategory().getIdAsInt()
+ );
+ notChangedSortingMeasurements.remove(measurement);
+ }
+
+ if (sortingMeasurements != null) {
+ sortingMeasurements.removeAll(notChangedSortingMeasurements);
+ }
}
- // Sampling Ratio
- target.setSamplingRatio(1.0f);
- target.setSamplingRatioText(null);
+ // Sampling Ratio + Weight
+ batchTreeHelper.setWeightAndSampleRatio(target, source.getWeight(), null);
// Individual count
target.setIndividualCount(source.getNumber());
@@ -293,12 +282,5 @@
// Exhaustive inventory (always true under a marine litter batch)
target.setExhaustiveInventory(true);
- // Removed not changed measurements (in sorting and quantification measurement lists)
- if (quantificationMeasurements != null) {
- quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
- }
- if (sortingMeasurements != null) {
- sortingMeasurements.removeAll(notChangedSortingMeasurements);
- }
}
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -3,10 +3,8 @@
/*
* #%L
* Tutti :: Persistence
- * $Id$
- * $HeadURL$
* %%
- * Copyright (C) 2012 - 2013 Ifremer
+ * 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
@@ -28,18 +26,13 @@
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
import fr.ifremer.adagio.core.dao.data.batch.Batch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatch;
import fr.ifremer.adagio.core.dao.data.batch.SortingBatch;
-import fr.ifremer.adagio.core.dao.data.measure.QuantificationMeasurement;
import fr.ifremer.adagio.core.dao.data.measure.SortingMeasurement;
import fr.ifremer.adagio.core.dao.referential.QualityFlag;
import fr.ifremer.adagio.core.dao.referential.QualityFlagCode;
-import fr.ifremer.adagio.core.dao.referential.QualityFlagImpl;
-import fr.ifremer.adagio.core.dao.referential.pmfm.PmfmId2;
import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceTaxon;
-import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceTaxonImpl;
import fr.ifremer.tutti.persistence.InvalidBatchModelException;
import fr.ifremer.tutti.persistence.entities.data.BatchContainer;
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel;
@@ -59,10 +52,8 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import java.util.Collection;
import java.util.Collections;
import java.util.List;
-import java.util.Set;
import static org.nuiton.i18n.I18n.t;
@@ -333,7 +324,7 @@
target = SortingBatch.Factory.newInstance();
// Fill the sorting batch from the source
- beanToEntity(source, target, parentBatch, rankOrder);
+ batchHelper.beanToEntity(source, target, parentBatch, rankOrder);
// Create the targeted batch, then update the source id
batchHelper.createSortingBatch(source, catchBatch, target);
@@ -350,7 +341,7 @@
target = batchHelper.loadSortingBatch(source.getIdAsInt(), catchBatch);
// Fill the sorting batch from the source
- beanToEntity(source, target, parentBatch, rankOrder);
+ batchHelper.beanToEntity(source, target, parentBatch, rankOrder);
// Add the batch into a list (will be update later, using this list)
batchsToUpdate.add(target);
@@ -389,7 +380,8 @@
//-- Internal methods --//
//------------------------------------------------------------------------//
- protected SpeciesBatch entityToBean(SampleCategoryModel sampleCategoryModel, SortingBatch source,
+ protected SpeciesBatch entityToBean(SampleCategoryModel sampleCategoryModel,
+ SortingBatch source,
SpeciesBatch target) {
Preconditions.checkNotNull(target.getSpecies());
@@ -410,6 +402,15 @@
target.setSampleCategoryWeight(source.getWeightBeforeSampling());
}
+ if (CollectionUtils.isNotEmpty(source.getChildBatchs()) && target.getWeight() != null) {
+
+ // can't use this sample weight on a node
+ // the weight comes from sampleRatioText, but must NOT be used here
+ target.setWeight(null);
+
+ }
+
+
// Comments
target.setComment(source.getComments());
@@ -470,20 +471,6 @@
Preconditions.checkNotNull(source.getFishingOperation());
Preconditions.checkNotNull(source.getFishingOperation().getId());
- Collection<QuantificationMeasurement> quantificationMeasurements = target.getQuantificationMeasurements();
- Collection<SortingMeasurement> sortingMeasurements = target.getSortingMeasurements();
-
- // Create lists to store all updates, then remove not updated items
-
- Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
- if (quantificationMeasurements != null) {
- notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
- }
- Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
- if (sortingMeasurements != null) {
- notChangedSortingMeasurements.addAll(sortingMeasurements);
- }
-
// If parent and root need to be set
if (target.getId() == null
|| target.getRootBatch() == null
@@ -498,181 +485,77 @@
);
}
- // RankOrder (initialize once, at creation)
- if (target.getRankOrder() == null) {
- // Start rank order at 1
- short rankOrder = (short) 1;
- if (source.getParentBatch() != null && source.getParentBatch().getChildBatchs() != null) {
- int maxRankOrder = 0;
- for (SpeciesBatch batch : source.getParentBatch().getChildBatchs()) {
- Integer r = batch.getRankOrder();
- if (r != null && r > maxRankOrder) {
- maxRankOrder = r;
- }
- }
- rankOrder += (short) maxRankOrder;
+ batchHelper.beanToEntity(parentBatchId, source, target);
- } else if (target.getParentBatch() != null && target.getParentBatch().getChildBatchs() != null) {
- short maxRankOrder = 0;
- for (Batch batch : target.getParentBatch().getChildBatchs()) {
- Short r = batch.getRankOrder();
- if (r != null && r > maxRankOrder) {
- maxRankOrder = r;
- }
- }
- rankOrder += maxRankOrder;
- }
-
- target.setRankOrder(rankOrder);
- }
-
- // Force subgroup count to '1', as Allegro
- target.setSubgroupCount(1f);
-
- // Weight or SampleCategoryWeight
- if (source.getSampleCategoryWeight() != null && source.getWeight() == null) {
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
- target,
- source.getSampleCategoryWeight());
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
- } else if (source.getWeight() != null && source.getSampleCategoryWeight() == null) {
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
- target,
- source.getWeight());
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
- }
-
- // Sampling Ratio
- if (source.getSampleCategoryWeight() == null || source.getWeight() == null) {
- target.setSamplingRatio(null);
- target.setSamplingRatioText(null);
- } else {
- String samplingRatioText = source.getWeight() + "/" + source.getSampleCategoryWeight();
- samplingRatioText = samplingRatioText.replaceAll(",", ".");
- target.setSamplingRatioText(samplingRatioText);
- target.setSamplingRatio(source.getWeight() / source.getSampleCategoryWeight());
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
- target,
- source.getWeight());
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
- }
-
- // Sorting measurement
- if (source.getSampleCategoryId() != null && source.getSampleCategoryValue() != null) {
- Integer pmfmId = source.getSampleCategoryId();
- // Do not store sorting measurement if pmfm = SORTED (already store in an ancestor batch)
- if (!pmfmId.equals(PmfmId2.SORTED_UNSORTED.getValue())) {
- SortingMeasurement sortingMeasurement = measurementPersistenceHelper.setSortingMeasurement(
- target,
- pmfmId,
- source.getSampleCategoryValue());
- notChangedSortingMeasurements.remove(sortingMeasurement);
- }
- }
-
- // Individual count
- target.setIndividualCount(source.getNumber());
-
- // Species
- ReferenceTaxon referenceTaxon;
- if (source.getSpecies() == null || parentBatchId != null) {
- referenceTaxon = null;
- } else {
- referenceTaxon = load(ReferenceTaxonImpl.class, source.getSpecies().getReferenceTaxonId());
- }
- target.setReferenceTaxon(referenceTaxon);
-
- // QualityFlag
- String qualityFlag;
- if (source.isSpeciesToConfirm()) {
- qualityFlag = QualityFlagCode.DOUBTFUL.getValue();
- } else {
- qualityFlag = QualityFlagCode.NOTQUALIFIED.getValue();
- }
- target.setQualityFlag(load(QualityFlagImpl.class, qualityFlag));
-
- // Comments
- target.setComments(source.getComment());
-
- // Exhaustive inventory (always true under a species batch)
- target.setExhaustiveInventory(true);
-
- // Removed not changed measurements (in sorting and quantification measurement lists)
- if (quantificationMeasurements != null) {
- quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
- }
- if (sortingMeasurements != null) {
- sortingMeasurements.removeAll(notChangedSortingMeasurements);
- }
}
- protected void beanToEntity(SpeciesBatchFrequency source,
- SortingBatch target,
- SortingBatch parentBatch,
- short rankOrder) {
- Preconditions.checkNotNull(source.getBatch());
- Preconditions.checkNotNull(source.getBatch().getId());
+// protected void beanToEntity(SpeciesBatchFrequency source,
+// SortingBatch target,
+// SortingBatch parentBatch,
+// short rankOrder) {
+// Preconditions.checkNotNull(source.getBatch());
+// Preconditions.checkNotNull(source.getBatch().getId());
+//
+// Collection<QuantificationMeasurement> quantificationMeasurements = target.getQuantificationMeasurements();
+// Collection<SortingMeasurement> sortingMeasurements = target.getSortingMeasurements();
+//
+// // Create lists to store all updates, then remove not updated items
+// Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
+// if (quantificationMeasurements != null) {
+// notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
+// }
+// Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
+// if (sortingMeasurements != null) {
+// notChangedSortingMeasurements.addAll(sortingMeasurements);
+// }
+//
+// // If parent and root need to be set
+// if (target.getId() == null
+// || target.getRootBatch() == null
+// || (target.getParentBatch() != null && !target.getParentBatch().getId().equals(parentBatch.getId()))) {
+//
+// target.setParentBatch(parentBatch);
+// target.setRootBatch(parentBatch.getRootBatch());
+// }
+//
+// // RankOrder
+// target.setRankOrder(rankOrder);
+//
+// // Weight or SampleCategoryWeight
+// if (source.getWeight() != null) {
+// QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
+// target,
+// source.getWeight());
+// notChangedQuantificationMeasurements.remove(quantificationMeasurement);
+// }
+//
+// // Sorting measurement
+// if ((source.getLengthStepCaracteristic() != null && source.getLengthStep() != null)) {
+// Integer pmfmId = source.getLengthStepCaracteristic().getIdAsInt();
+// SortingMeasurement sortingMeasurement = measurementPersistenceHelper.setSortingMeasurement(target, pmfmId,
+// source.getLengthStep());
+// notChangedSortingMeasurements.remove(sortingMeasurement);
+// }
+//
+// // Individual count
+// target.setIndividualCount(source.getNumber());
+//
+// // Species
+// target.setReferenceTaxon(null);
+//
+// // QualityFlag
+// target.setQualityFlag(parentBatch.getQualityFlag());
+//
+// // Exhaustive inventory (always true under a species batch)
+// target.setExhaustiveInventory(true);
+//
+// // Removed not changed measurements (in sorting and quantification measurement lists)
+// if (quantificationMeasurements != null) {
+// quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
+// }
+// if (sortingMeasurements != null) {
+// sortingMeasurements.removeAll(notChangedSortingMeasurements);
+// }
+// }
- Collection<QuantificationMeasurement> quantificationMeasurements = target.getQuantificationMeasurements();
- Collection<SortingMeasurement> sortingMeasurements = target.getSortingMeasurements();
-
- // Create lists to store all updates, then remove not updated items
- Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
- if (quantificationMeasurements != null) {
- notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
- }
- Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
- if (sortingMeasurements != null) {
- notChangedSortingMeasurements.addAll(sortingMeasurements);
- }
-
- // If parent and root need to be set
- if (target.getId() == null
- || target.getRootBatch() == null
- || (target.getParentBatch() != null && !target.getParentBatch().getId().equals(parentBatch.getId()))) {
-
- target.setParentBatch(parentBatch);
- target.setRootBatch(parentBatch.getRootBatch());
- }
-
- // RankOrder
- target.setRankOrder(rankOrder);
-
- // Weight or SampleCategoryWeight
- if (source.getWeight() != null) {
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
- target,
- source.getWeight());
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
- }
-
- // Sorting measurement
- if ((source.getLengthStepCaracteristic() != null && source.getLengthStep() != null)) {
- Integer pmfmId = source.getLengthStepCaracteristic().getIdAsInt();
- SortingMeasurement sortingMeasurement = measurementPersistenceHelper.setSortingMeasurement(target, pmfmId,
- source.getLengthStep());
- notChangedSortingMeasurements.remove(sortingMeasurement);
- }
-
- // Individual count
- target.setIndividualCount(source.getNumber());
-
- // Species
- target.setReferenceTaxon(null);
-
- // QualityFlag
- target.setQualityFlag(parentBatch.getQualityFlag());
-
- // Exhaustive inventory (always true under a species batch)
- target.setExhaustiveInventory(true);
-
- // Removed not changed measurements (in sorting and quantification measurement lists)
- if (quantificationMeasurements != null) {
- quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
- }
- if (sortingMeasurements != null) {
- sortingMeasurements.removeAll(notChangedSortingMeasurements);
- }
- }
-
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchPersistenceHelper.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchPersistenceHelper.java 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchPersistenceHelper.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -3,10 +3,8 @@
/*
* #%L
* Tutti :: Persistence
- * $Id$
- * $HeadURL$
* %%
- * Copyright (C) 2012 - 2013 Ifremer
+ * 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
@@ -27,7 +25,7 @@
import com.google.common.base.Joiner;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
-import fr.ifremer.adagio.core.dao.administration.user.DepartmentId;
+import com.google.common.collect.Sets;
import fr.ifremer.adagio.core.dao.data.batch.Batch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatchExtendDao;
@@ -38,10 +36,14 @@
import fr.ifremer.adagio.core.dao.data.measure.SortingMeasurement;
import fr.ifremer.adagio.core.dao.data.operation.FishingOperation;
import fr.ifremer.adagio.core.dao.data.operation.FishingOperationDao;
+import fr.ifremer.adagio.core.dao.referential.QualityFlagCode;
+import fr.ifremer.adagio.core.dao.referential.QualityFlagImpl;
import fr.ifremer.adagio.core.dao.referential.pmfm.ObjectTypeCode2;
import fr.ifremer.adagio.core.dao.referential.pmfm.Pmfm;
import fr.ifremer.adagio.core.dao.referential.pmfm.PmfmId2;
import fr.ifremer.adagio.core.dao.referential.pmfm.QualitativeValueId;
+import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceTaxon;
+import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceTaxonImpl;
import fr.ifremer.tutti.persistence.InvalidBatchModelException;
import fr.ifremer.tutti.persistence.entities.TuttiEntity;
import fr.ifremer.tutti.persistence.entities.data.BatchContainer;
@@ -71,6 +73,7 @@
import java.text.MessageFormat;
import java.util.Collection;
import java.util.List;
+import java.util.Set;
import static org.nuiton.i18n.I18n.t;
@@ -108,6 +111,9 @@
@Resource(name = "scientificCruiseCatchBatchValidator")
protected TuttiCatchBatchValidator catchBatchValidator;
+ @Resource(name = "measurementPersistenceHelper")
+ protected MeasurementPersistenceHelper measurementPersistenceHelper;
+
@Resource(name = "batchTreeHelper")
protected BatchTreeHelper batchTreeHelper;
@@ -276,13 +282,13 @@
if (validate) {
try {
- result = catchBatchDao.loadFullTree(catchBatchId, true, false);
+ result = catchBatchDao.loadFullTree(catchBatchId, PmfmId2.WEIGHT_MEASURED.getValue(), true, false);
} catch (CatchBatchValidationException e) {
throw new InvalidBatchModelException(
"L'arbre d'échantillonage n'est pas compatible avec celui de Tutti.", e);
}
} else {
- result = catchBatchDao.loadFullTree(catchBatchId);
+ result = catchBatchDao.loadFullTree(catchBatchId, PmfmId2.WEIGHT_MEASURED.getValue());
}
Preconditions.checkNotNull(result);
return result;
@@ -305,7 +311,7 @@
// whenever want to repair anything from Tutti
fr.ifremer.adagio.core.dao.data.batch.CatchBatch result;
- result = catchBatchDao.loadFullTree(catchBatchId);
+ result = catchBatchDao.loadFullTree(catchBatchId, PmfmId2.WEIGHT_MEASURED.getValue());
Preconditions.checkNotNull(result);
return result;
@@ -488,6 +494,201 @@
target.setRootBatch(catchBatch);
}
+ public void beanToEntity(String parentBatchId,
+ SpeciesAbleBatch source,
+ SortingBatch target) {
+
+ // --- RankOrder (initialize once, at creation) --- //
+ {
+ if (target.getRankOrder() == null) {
+ // Start rank order at 1
+ short rankOrder = (short) 1;
+ if (source.getParentBatch() != null && source.getParentBatch().getChildBatchs() != null) {
+ int maxRankOrder = 0;
+ for (SpeciesAbleBatch batch : source.getParentBatch().getChildBatchs()) {
+ Integer r = batch.getRankOrder();
+ if (r != null && r > maxRankOrder) {
+ maxRankOrder = r;
+ }
+ }
+ rankOrder += (short) maxRankOrder;
+
+ } else if (target.getParentBatch() != null && target.getParentBatch().getChildBatchs() != null) {
+ short maxRankOrder = 0;
+ for (Batch batch : target.getParentBatch().getChildBatchs()) {
+ Short r = batch.getRankOrder();
+ if (r != null && r > maxRankOrder) {
+ maxRankOrder = r;
+ }
+ }
+ rankOrder += maxRankOrder;
+ }
+
+ target.setRankOrder(rankOrder);
+ }
+ }
+
+ // --- Force subgroup count to '1', as Allegro --- //
+ target.setSubgroupCount(1f);
+
+ // --- Individual count --- //
+ target.setIndividualCount(source.getNumber());
+
+ // --- Comments --- //
+ target.setComments(source.getComment());
+
+ // --- Exhaustive inventory (always true under a species batch) --- //
+ target.setExhaustiveInventory(true);
+
+ // --- Species --- //
+ {
+ ReferenceTaxon referenceTaxon;
+ if (source.getSpecies() == null || parentBatchId != null) {
+ referenceTaxon = null;
+ } else {
+ referenceTaxon = load(ReferenceTaxonImpl.class, source.getSpecies().getReferenceTaxonId());
+ }
+ target.setReferenceTaxon(referenceTaxon);
+ }
+
+ // --- QualityFlag --- //
+ {
+ String qualityFlag;
+ if (source.isSpeciesToConfirm()) {
+ qualityFlag = QualityFlagCode.DOUBTFUL.getValue();
+ } else {
+ qualityFlag = QualityFlagCode.NOTQUALIFIED.getValue();
+ }
+ target.setQualityFlag(load(QualityFlagImpl.class, qualityFlag));
+ }
+
+ Float weight = source.getWeight();
+ Float sampleCategoryWeight = source.getSampleCategoryWeight();
+
+ // --- Sampling Ratio + QuantificationMeasurement --- //
+ batchTreeHelper.setWeightAndSampleRatio(target, weight, sampleCategoryWeight);
+
+// // --- QuantificationMeasurement --- //
+// {
+// Float weightMeasurement = sampleCategoryWeight;
+//
+// if (weight != null) {
+//
+// // on converse toujours les poids le plus fin
+// weightMeasurement = weight;
+// }
+//
+//// Float weightMeasurement = null;
+//// if (weight == null && sampleCategoryWeight != null) {
+//// weightMeasurement = sampleCategoryWeight;
+////
+//// } else if (weight != null && sampleCategoryWeight == null) {
+//// weightMeasurement = weight;
+//// }
+////
+//// if (sampleCategoryWeight != null && weight != null) {
+//// weightMeasurement = weight;
+//// }
+//
+// Collection<QuantificationMeasurement> quantificationMeasurements = target.getQuantificationMeasurements();
+// Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
+// if (quantificationMeasurements != null) {
+// notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
+// }
+//
+// if (weightMeasurement != null) {
+// QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
+// target,
+// weightMeasurement);
+// notChangedQuantificationMeasurements.remove(quantificationMeasurement);
+// }
+//
+// if (quantificationMeasurements != null) {
+// quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
+// }
+// }
+
+ // --- Sorting measurement --- //
+ {
+ Collection<SortingMeasurement> sortingMeasurements = target.getSortingMeasurements();
+ Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
+ if (sortingMeasurements != null) {
+ notChangedSortingMeasurements.addAll(sortingMeasurements);
+ }
+
+ if (source.getSampleCategoryId() != null && source.getSampleCategoryValue() != null) {
+ Integer pmfmId = source.getSampleCategoryId();
+ // Do not store sorting measurement if pmfm = SORTED (already store in an ancestor batch)
+ if (!pmfmId.equals(PmfmId2.SORTED_UNSORTED.getValue())) {
+ SortingMeasurement sortingMeasurement = measurementPersistenceHelper.setSortingMeasurement(
+ target,
+ pmfmId,
+ source.getSampleCategoryValue());
+ notChangedSortingMeasurements.remove(sortingMeasurement);
+ }
+ }
+ if (sortingMeasurements != null) {
+ sortingMeasurements.removeAll(notChangedSortingMeasurements);
+ }
+ }
+
+ }
+
+
+ public void beanToEntity(SpeciesAbleBatchFrequency source,
+ SortingBatch target,
+ SortingBatch parentBatch,
+ short rankOrder) {
+ Preconditions.checkNotNull(source.getBatch());
+ Preconditions.checkNotNull(source.getBatch().getId());
+
+ // If parent and root need to be set
+ if (target.getId() == null
+ || target.getRootBatch() == null
+ || (target.getParentBatch() != null && !target.getParentBatch().getId().equals(parentBatch.getId()))) {
+
+ target.setParentBatch(parentBatch);
+ target.setRootBatch(parentBatch.getRootBatch());
+ }
+
+ // --- RankOrder --- //
+ target.setRankOrder(rankOrder);
+
+ // --- Individual count --- //
+ target.setIndividualCount(source.getNumber());
+
+ // --- Species --- //
+ target.setReferenceTaxon(null);
+
+ // --- QualityFlag --- //
+ target.setQualityFlag(parentBatch.getQualityFlag());
+
+ // --- Exhaustive inventory (always true under a species batch) --- //
+ target.setExhaustiveInventory(true);
+
+ // --- Sampling Ratio + QuantificationMeasurement --- //
+ batchTreeHelper.setWeightAndSampleRatio(target, source.getWeight(), null);
+
+ // --- Sorting measurement --- //
+ {
+ Collection<SortingMeasurement> sortingMeasurements = target.getSortingMeasurements();
+ Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
+ if (sortingMeasurements != null) {
+ notChangedSortingMeasurements.addAll(sortingMeasurements);
+ }
+ if ((source.getLengthStepCaracteristic() != null && source.getLengthStep() != null)) {
+ Integer pmfmId = source.getLengthStepCaracteristic().getIdAsInt();
+ SortingMeasurement sortingMeasurement = measurementPersistenceHelper.setSortingMeasurement(target, pmfmId,
+ source.getLengthStep());
+ notChangedSortingMeasurements.remove(sortingMeasurement);
+ }
+ if (sortingMeasurements != null) {
+ sortingMeasurements.removeAll(notChangedSortingMeasurements);
+ }
+ }
+
+ }
+
public Integer convertSampleCategoryValueIntoQualitativeId(Serializable value) {
if (value == null) {
return null;
@@ -632,11 +833,6 @@
//-- Internal methods --//
//------------------------------------------------------------------------//
- protected Integer getRecorderDepartmentId() {
- // TODO BL : voir si on peut récupérer le departement (du 1er saisisseur ?)
- return DepartmentId.UNKOWN_RECODER_DEPARTMENT.getValue();
- }
-
/**
* Check if the given {@code sortingBatch} is a frequency one.
* <p/>
@@ -665,124 +861,4 @@
return result;
}
-// protected SortingBatch getOrCreate(fr.ifremer.adagio.core.dao.data.batch.CatchBatch target,
-// Batch batch,
-// Integer pmfmId,
-// Integer pmfmValue,
-// Float totalWeight,
-// short rankOrder) {
-// return getOrCreate(
-// target,
-// batch,
-// pmfmId,
-// pmfmValue,
-// totalWeight,
-// null,
-// rankOrder
-// );
-// }
-
-// protected SortingBatch getOrCreate(fr.ifremer.adagio.core.dao.data.batch.CatchBatch rootBatch,
-// Batch parentBatch,
-// Integer sortingPmfmId,
-// Integer sortingQualitativeValueId,
-// Float weight,
-// Float weightBeforeSampling,
-// short rankOrder) {
-// SortingBatch result = batchTreeHelper.get(
-// parentBatch,
-// sortingPmfmId,
-// sortingQualitativeValueId);
-//
-// if (result == null) {
-//
-// result = SortingBatch.Factory.newInstance();
-// if (parentBatch.getChildBatchs() == null) {
-// parentBatch.setChildBatchs(Sets.<Batch>newHashSet());
-// }
-// parentBatch.getChildBatchs().add(result);
-//
-// Collection<SortingMeasurement> sortingMeasurements = result.getSortingMeasurements();
-//
-// // Create lists to store all updates, then remove not updated items
-// Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
-// if (sortingMeasurements != null) {
-// notChangedSortingMeasurements.addAll(sortingMeasurements);
-// }
-//
-// // Some mandatory properties :
-// QualityFlagImpl qualityFlag = load(QualityFlagImpl.class, enumeration.QUALITY_FLAG_CODE_NOT_QUALIFIED);
-// result.setQualityFlag(qualityFlag);
-// result.setRootBatch(rootBatch);
-// result.setParentBatch(parentBatch);
-// result.setExhaustiveInventory(true);
-//
-// // No taxon or taxon group
-// result.setReferenceTaxon(null);
-// result.setTaxonGroup(null);
-//
-// result.setRankOrder(rankOrder);
-//
-// // Sorting measurement
-// if (sortingPmfmId != null && sortingQualitativeValueId != null) {
-// SortingMeasurement sm = setSortingMeasurement(
-// result,
-// sortingPmfmId,
-// sortingQualitativeValueId);
-// notChangedSortingMeasurements.remove(sm);
-// }
-// // Removed not changed sorting measurements
-// if (sortingMeasurements != null) {
-// sortingMeasurements.removeAll(notChangedSortingMeasurements);
-// }
-//
-// catchBatchDao.createSortingBatch(result, rootBatch);
-// }
-//
-// Collection<QuantificationMeasurement> quantificationMeasurements = result.getQuantificationMeasurements();
-// Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
-// if (quantificationMeasurements != null) {
-// notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
-// }
-//
-// // Sampling Ratio
-// if (weightBeforeSampling == null || weight == null) {
-// result.setSamplingRatio(null);
-// result.setSamplingRatioText(null);
-// } else {
-// String samplingRatioText = weight + "/" + weightBeforeSampling;
-// samplingRatioText = samplingRatioText.replaceAll(",", ".");
-// result.setSamplingRatioText(samplingRatioText);
-// result.setSamplingRatio(weight / weightBeforeSampling);
-// }
-//
-// // Weight
-// if (weightBeforeSampling != null || weight != null) {
-// Float batchReferenceWeight = weight;
-// if (batchReferenceWeight == null) {
-// batchReferenceWeight = weightBeforeSampling;
-// }
-// QuantificationMeasurement quantificationMeasurement = setWeightMeasurementQuantificationMeasurement(
-// result,
-// batchReferenceWeight);
-// notChangedQuantificationMeasurements.remove(quantificationMeasurement);
-// }
-// // Removed not changed quantification measurements
-// if (quantificationMeasurements != null) {
-// quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
-// }
-//
-// return result;
-// }
-
-// protected SortingBatch get(Batch parentBatch,
-// Integer sortingPmfmId,
-// Integer sortingQualitativeValueId) {
-// SortingBatch result = getSortingBatch(
-// parentBatch,
-// null,
-// sortingPmfmId,
-// sortingQualitativeValueId);
-// return result;
-// }
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchTreeHelper.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchTreeHelper.java 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchTreeHelper.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -1,5 +1,27 @@
package fr.ifremer.tutti.persistence.service.util;
+/*
+ * #%L
+ * Tutti :: Persistence
+ * %%
+ * 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.Joiner;
import com.google.common.collect.Sets;
import fr.ifremer.adagio.core.dao.data.batch.Batch;
@@ -310,7 +332,6 @@
"Vrac > Benthos > Alive Itemized",
SORTING_TYPE2_ID,
QualitativeValueId.SORTING_TYPE2_ALIVE_ITEMIZED.getValue(),
- null,
(short) 3
);
}
@@ -365,7 +386,6 @@
"Vrac > Benthos > Alive Itemized",
SORTING_TYPE2_ID,
QualitativeValueId.SORTING_TYPE2_ALIVE_ITEMIZED.getValue(),
- null,
(short) 3
);
}
@@ -377,7 +397,6 @@
"Hors Vrac",
PmfmId2.SORTED_UNSORTED.getValue(),
QualitativeValueId.SORTED_HORS_VRAC.getValue(),
- null,
(short) 2
);
}
@@ -390,7 +409,6 @@
"Hors Vrac > Species",
SORTING_TYPE_ID,
QualitativeValueId.SORTING_TYPE_SPECIES.getValue(),
- null,
(short) 1
);
}
@@ -403,7 +421,6 @@
"Hors Vrac > Benthos",
SORTING_TYPE_ID,
QualitativeValueId.SORTING_TYPE_BENTHOS.getValue(),
- null,
(short) 2
);
}
@@ -436,6 +453,24 @@
);
}
+ public void setWeightAndSampleRatio(SortingBatch target, Float weight, Float weightBeforeSampling) {
+
+ catchBatchDao.setSortingBatchWeights(target,
+ weight,
+ weightBeforeSampling,
+ PmfmId2.WEIGHT_MEASURED.getValue(),
+ measurementPersistenceHelper.getRecorderDepartmentId());
+
+ }
+
+ public void setSortingSamplingRatio(SortingBatch target, Float weight, Float weightBeforeSampling) {
+
+ catchBatchDao.setSortingSamplingRatio(target,
+ weight,
+ weightBeforeSampling);
+
+ }
+
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
@@ -484,6 +519,24 @@
String debugMessage,
Integer sortingPmfmId,
Integer sortingQualitativeValueId,
+ short rankOrder) {
+ return getOrCreate(
+ rootBatch,
+ batch,
+ debugMessage,
+ sortingPmfmId,
+ sortingQualitativeValueId,
+ null,
+ null,
+ rankOrder
+ );
+ }
+
+ protected SortingBatch getOrCreate(fr.ifremer.adagio.core.dao.data.batch.CatchBatch rootBatch,
+ Batch batch,
+ String debugMessage,
+ Integer sortingPmfmId,
+ Integer sortingQualitativeValueId,
Float totalWeight,
short rankOrder) {
return getOrCreate(
@@ -506,6 +559,7 @@
Float weight,
Float weightBeforeSampling,
short rankOrder) {
+
SortingBatch result = getSortingBatch(
batch,
debugMessage,
@@ -520,28 +574,27 @@
}
batch.getChildBatchs().add(result);
- Collection<SortingMeasurement> sortingMeasurements = result.getSortingMeasurements();
+ // --- Some mandatory properties --- //
- // Create lists to store all updates, then remove not updated items
- Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
- if (sortingMeasurements != null) {
- notChangedSortingMeasurements.addAll(sortingMeasurements);
- }
-
- // Some mandatory properties :
QualityFlagImpl qualityFlag = load(QualityFlagImpl.class, QualityFlagCode.NOTQUALIFIED.getValue());
result.setQualityFlag(qualityFlag);
result.setRootBatch(rootBatch);
result.setParentBatch(batch);
result.setExhaustiveInventory(true);
+ result.setRankOrder(rankOrder);
// No taxon or taxon group
result.setReferenceTaxon(null);
result.setTaxonGroup(null);
- result.setRankOrder(rankOrder);
+ // --- Sorting measurement --- //
- // Sorting measurement
+ Collection<SortingMeasurement> sortingMeasurements = result.getSortingMeasurements();
+ Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
+ if (sortingMeasurements != null) {
+ notChangedSortingMeasurements.addAll(sortingMeasurements);
+ }
+
if (sortingPmfmId != null && sortingQualitativeValueId != null) {
SortingMeasurement sm = measurementPersistenceHelper.setSortingMeasurement(
result,
@@ -549,7 +602,6 @@
sortingQualitativeValueId);
notChangedSortingMeasurements.remove(sm);
}
- // Removed not changed sorting measurements
if (sortingMeasurements != null) {
sortingMeasurements.removeAll(notChangedSortingMeasurements);
}
@@ -557,38 +609,43 @@
catchBatchDao.createSortingBatch(result, rootBatch);
}
- Collection<QuantificationMeasurement> quantificationMeasurements = result.getQuantificationMeasurements();
- Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
- if (quantificationMeasurements != null) {
- notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
- }
+ // --- Sampling Ratio + QuantificationMeasurement --- //
- // Sampling Ratio
- if (weightBeforeSampling == null || weight == null) {
- result.setSamplingRatio(null);
- result.setSamplingRatioText(null);
- } else {
- String samplingRatioText = weight + "/" + weightBeforeSampling;
- samplingRatioText = samplingRatioText.replaceAll(",", ".");
- result.setSamplingRatioText(samplingRatioText);
- result.setSamplingRatio(weight / weightBeforeSampling);
- }
+ setWeightAndSampleRatio(result, weight, weightBeforeSampling);
- // Weight
- if (weightBeforeSampling != null || weight != null) {
- Float batchReferenceWeight = weight;
- if (batchReferenceWeight == null) {
- batchReferenceWeight = weightBeforeSampling;
- }
- QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
- result,
- batchReferenceWeight);
- notChangedQuantificationMeasurements.remove(quantificationMeasurement);
- }
- // Removed not changed quantification measurements
- if (quantificationMeasurements != null) {
- quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
- }
+// // --- QuantificationMeasurement --- //
+//
+// Collection<QuantificationMeasurement> quantificationMeasurements = result.getQuantificationMeasurements();
+// Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
+// if (quantificationMeasurements != null) {
+// notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
+// }
+//
+// Float batchReferenceWeight = weightBeforeSampling;
+// if (weight != null) {
+// batchReferenceWeight = weight;
+// }
+//
+// if (batchReferenceWeight != null) {
+// QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
+// result,
+// batchReferenceWeight);
+// notChangedQuantificationMeasurements.remove(quantificationMeasurement);
+// }
+//
+//// if (weightBeforeSampling != null || weight != null) {
+//// Float batchReferenceWeight = weight;
+//// if (batchReferenceWeight == null) {
+//// batchReferenceWeight = weightBeforeSampling;
+//// }
+//// QuantificationMeasurement quantificationMeasurement = measurementPersistenceHelper.setWeightMeasurementQuantificationMeasurement(
+//// result,
+//// batchReferenceWeight);
+//// notChangedQuantificationMeasurements.remove(quantificationMeasurement);
+//// }
+// if (quantificationMeasurements != null) {
+// quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
+// }
return result;
}
@@ -675,7 +732,11 @@
}
}
+ public CatchBatch loadCatchBatch(Integer catchBatchId) {
+ return catchBatchDao.loadFullTreeWithCache(catchBatchId, PmfmId2.WEIGHT_MEASURED.getValue(), true, true);
+ }
+
static final class BatchTreeToStringStyle extends ToStringStyle {
private static final long serialVersionUID = 1L;
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/MeasurementPersistenceHelper.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/MeasurementPersistenceHelper.java 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/MeasurementPersistenceHelper.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -53,6 +53,8 @@
import javax.annotation.Resource;
import java.io.Serializable;
+import java.util.Collection;
+import java.util.Set;
/**
* Helper around {@link Measurement}.
@@ -117,11 +119,25 @@
}
public QuantificationMeasurement setWeightMeasurementQuantificationMeasurement(Batch batch, Float weightValue) {
- return catchBatchDao.setQuantificationMeasurement(batch, PmfmId2.WEIGHT_MEASURED.getValue(), getRecorderDepartmentId(), weightValue, true);
+
+ Collection<QuantificationMeasurement> quantificationMeasurements = batch.getQuantificationMeasurements();
+ Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
+ if (quantificationMeasurements != null) {
+ notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
+ }
+
+ QuantificationMeasurement quantificationMeasurement = catchBatchDao.setQuantificationMeasurement(batch, PmfmId2.WEIGHT_MEASURED.getValue(), getRecorderDepartmentId(), weightValue, true);
+
+ // Removed not changed measurements (in sorting and quantification measurement lists)
+ if (quantificationMeasurements != null) {
+ quantificationMeasurements.removeAll(notChangedQuantificationMeasurements);
+ }
+
+ return quantificationMeasurement;
}
public QuantificationMeasurement getWeightMeasurementQuantificationMeasurement(Batch batch) {
- QuantificationMeasurement quantificationMeasurement = catchBatchDao.getQuantificationMeasurement(batch, PmfmId2.WEIGHT_MEASURED.getValue(), getRecorderDepartmentId(), false);
+ QuantificationMeasurement quantificationMeasurement = catchBatchDao.getQuantificationMeasurement(batch, PmfmId2.WEIGHT_MEASURED.getValue());
return quantificationMeasurement;
}
@@ -283,7 +299,7 @@
} else if (measurement.getAlphanumericalValue() != null) {
value = measurement.getAlphanumericalValue();
}
- return pmfm.getParameter().getName() + " (" + pmfm.getId() + ") / " + value;
+ return "[id:" + measurement.getId() + "] - " + pmfm.getParameter().getName() + " (" + pmfm.getId() + ") / " + value;
}
//------------------------------------------------------------------------//
@@ -368,7 +384,7 @@
return result;
}
- protected Integer getRecorderDepartmentId() {
+ public Integer getRecorderDepartmentId() {
// TODO BL : voir si on peut récupérer le departement (du 1er saisisseur ?)
return DepartmentId.UNKOWN_RECODER_DEPARTMENT.getValue();
}
Modified: trunk/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml
===================================================================
--- trunk/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml 2014-05-28 15:35:16 UTC (rev 1818)
@@ -432,6 +432,16 @@
<query-param name="catchBatchId" type="java.lang.Integer"/>
</query>
+ <query cacheable="true" name="updateQuantificationMeasurementsForBatchNodes">
+ <![CDATA[
+ UPDATE QuantificationMeasurementImpl qm
+ SET isReferenceQuantification = false
+ WHERE qm.id IN (:ids)
+ ]]>
+ <query-param name="ids" type="java.lang.List"/>
+ </query>
+
+
<query cacheable="true" name="allFishingOperationSamplesWithoutBatch">
<![CDATA[
SELECT
@@ -484,7 +494,7 @@
<query-param name="sampleId" type="java.lang.Integer"/>
</query>
- <query cacheable="true" name="catchBatch">
+ <!--query cacheable="true" name="catchBatch">
<![CDATA[
SELECT
cb.id AS catchBatchId,
@@ -513,7 +523,7 @@
<query-param name="fishingOperationId" type="java.lang.Integer"/>
<query-param name="pmfmIdSorted" type="java.lang.Integer"/>
<query-param name="pmfmIdSortingType" type="java.lang.Integer"/>
- </query>
+ </query-->
<query cacheable="true" name="allSpeciesBatchFrequency">
<![CDATA[
Modified: trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
===================================================================
(Binary files differ)
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-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -1202,6 +1202,11 @@
driver.deleteCatchBatch(fishingOperationId);
}
+ @Override
+ public void recomputeCatchBatchSampleRatios(String fishingOperationId) {
+ driver.recomputeCatchBatchSampleRatios(fishingOperationId);
+ }
+
//------------------------------------------------------------------------//
//-- Species Batch methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties 2014-05-28 15:35:16 UTC (rev 1818)
@@ -39,7 +39,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Thu Apr 24 15:55:59 CEST 2014
+#Tue May 27 17:05:30 CEST 2014
batik--batik-awt-util--1.6=The Apache Software License, Version 2.0
batik--batik-bridge--1.6=The Apache Software License, Version 2.0
batik--batik-css--1.6=The Apache Software License, Version 2.0
@@ -55,3 +55,4 @@
batik--batik-xml--1.6=The Apache Software License, Version 2.0
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
dom4j--dom4j--1.6.1=BSD License
+org.hibernate--hibernate-spatial--4.3-20140213=Lesser General Public License (LGPL)
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties 2014-05-28 15:35:16 UTC (rev 1818)
@@ -36,6 +36,7 @@
#See https://forum.hibernate.org/viewtopic.php?p=2404391
log4j.logger.org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog=ERROR
log4j.logger.fr.ifremer.adagio.core.service.technical.synchro=DEBUG
+log4j.logger.fr.ifremer.tutti.persistence.service.CatchBatchPersistenceServiceImpl=DEBUG
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.file=${tutti.log.file}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ComputeBatchWeightsAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ComputeBatchWeightsAction.java 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ComputeBatchWeightsAction.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -243,6 +243,8 @@
}
}
+// persistenceService.recomputeCatchBatchSampleRatios(operationId);
+
boolean modified = model.isModify();
CatchBatch catchBatch = model.toEntity();
weightComputingService.computeCatchBatchWeights(catchBatch,
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java 2014-05-23 07:57:44 UTC (rev 1817)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java 2014-05-28 15:35:16 UTC (rev 1818)
@@ -23,6 +23,7 @@
*/
import com.google.common.base.Preconditions;
+import fr.ifremer.tutti.persistence.ProgressionModel;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI;
import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIHandler;
@@ -31,6 +32,7 @@
import org.apache.commons.logging.LogFactory;
import javax.swing.JOptionPane;
+import java.util.List;
import static org.nuiton.i18n.I18n.t;
@@ -60,6 +62,11 @@
JOptionPane.YES_NO_OPTION);
doAction = answer == JOptionPane.YES_OPTION;
}
+
+ PersistenceService persistenceService = getContext().getPersistenceService();
+ int fishingOperationCount = persistenceService.getFishingOperationCount(getModel().getCruise().getId());
+ createProgressionModelIfRequired(fishingOperationCount + 1);
+
return doAction;
}
@@ -70,12 +77,31 @@
Preconditions.checkState(getContext().isCruiseFilled());
PersistenceService persistenceService = getContext().getPersistenceService();
+
+ ProgressionModel progressionModel = getProgressionModel();
+
+ List<String> allFishingOperation = persistenceService.getAllFishingOperationIds(getModel().getCruise().getId());
+
+ for (String fishingOperationId : allFishingOperation) {
+
+ if (log.isInfoEnabled()) {
+ log.info("Recompute sample ratios for operation " + fishingOperationId);
+ }
+ persistenceService.recomputeCatchBatchSampleRatios(fishingOperationId);
+
+ progressionModel.increments("Recalcul des poids référents pour l'opération " + fishingOperationId);
+ }
+
Integer cruiseId = getModel().getCruise().getIdAsInt();
if (log.isInfoEnabled()) {
log.info("Pass synchronizationStatus to *ready to synch* for cruise: " + cruiseId);
}
+
+ progressionModel.increments("Mise en place des données synchronisables");
+
persistenceService.setCruiseReadyToSynch(cruiseId);
+
}
@Override
@@ -84,7 +110,7 @@
// reload cruise in data context
getDataContext().reloadCruise();
-
+
// reload it in our model
getModel().setCruise(getDataContext().getCruise());
}
1
0
The Tutti team is pleased to announce the tutti-3.4.5 release!
Outil de saisie de données d'opérations et de captures au
cours des campagnes halieutiques.
Documentation of the project can be found here:
https://doc.codelutin.com/projects/tutti
Changes
-------
Changes in this version include:
New features:
o [IMPORT PSION] ajout catégorisation gros petit Issue: 5132. Thanks to Vincent BADTS. Resolved by tchemit.
Fixed Bugs:
o [CAPTURE] mauvais affichage des // en Hors Vrac Issue: 5082. Thanks to Vincent BADTS. Resolved by tchemit.
Changes:
o [TECH] Update to java 1.7u55 Issue: 5133. Thanks to Tony Chemit. Resolved by tchemit.
Downloads
---------
For a manual installation, you can download files here:
http://forge.codelutin.com/projects/tutti/files
* tutti-3.4.5-full-linux-i586.zip - http://forge.codelutin.com/attachments/download/1872
* tutti-3.4.5-full-windows-i586.zip - http://forge.codelutin.com/attachments/download/1873
* tutti-ichtyometer-3.4.5-tools.zip - http://forge.codelutin.com/attachments/download/1874
Maven artifacts
---------------
Artifacts are deployed in nuiton maven repository
http://maven.nuiton.org/other-releases/
Have fun!
-Tutti team
1
0
r1817 - in branches/tutti-3.4.x: . tutti-ichtyometer tutti-persistence tutti-service tutti-ui-swing
by maven-release@users.forge.codelutin.com May 23, 2014
by maven-release@users.forge.codelutin.com May 23, 2014
May 23, 2014
Author: maven-release
Date: 2014-05-23 09:57:44 +0200 (Fri, 23 May 2014)
New Revision: 1817
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1817
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
branches/tutti-3.4.x/pom.xml
branches/tutti-3.4.x/tutti-ichtyometer/pom.xml
branches/tutti-3.4.x/tutti-persistence/pom.xml
branches/tutti-3.4.x/tutti-service/pom.xml
branches/tutti-3.4.x/tutti-ui-swing/pom.xml
Modified: branches/tutti-3.4.x/pom.xml
===================================================================
--- branches/tutti-3.4.x/pom.xml 2014-05-23 07:57:38 UTC (rev 1816)
+++ branches/tutti-3.4.x/pom.xml 2014-05-23 07:57:44 UTC (rev 1817)
@@ -32,7 +32,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4.5</version>
+ <version>3.4.6-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Tutti</name>
@@ -99,13 +99,13 @@
<scm>
<url>
- https://forge.codelutin.com/projects/tutti/repository/tags/tutti-3.4.5
+ https://forge.codelutin.com/projects/tutti/repository/branches/tutti-3.4.x
</url>
<connection>
- scm:svn:http://svn.codelutin.com/tutti/tags/tutti-3.4.5
+ scm:svn:http://svn.codelutin.com/tutti/branches/tutti-3.4.x
</connection>
<developerConnection>
- scm:svn:https://svn.codelutin.com/tutti/tags/tutti-3.4.5
+ scm:svn:https://svn.codelutin.com/tutti/branches/tutti-3.4.x
</developerConnection>
</scm>
<distributionManagement>
Modified: branches/tutti-3.4.x/tutti-ichtyometer/pom.xml
===================================================================
--- branches/tutti-3.4.x/tutti-ichtyometer/pom.xml 2014-05-23 07:57:38 UTC (rev 1816)
+++ branches/tutti-3.4.x/tutti-ichtyometer/pom.xml 2014-05-23 07:57:44 UTC (rev 1817)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4.5</version>
+ <version>3.4.6-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: branches/tutti-3.4.x/tutti-persistence/pom.xml
===================================================================
--- branches/tutti-3.4.x/tutti-persistence/pom.xml 2014-05-23 07:57:38 UTC (rev 1816)
+++ branches/tutti-3.4.x/tutti-persistence/pom.xml 2014-05-23 07:57:44 UTC (rev 1817)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4.5</version>
+ <version>3.4.6-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: branches/tutti-3.4.x/tutti-service/pom.xml
===================================================================
--- branches/tutti-3.4.x/tutti-service/pom.xml 2014-05-23 07:57:38 UTC (rev 1816)
+++ branches/tutti-3.4.x/tutti-service/pom.xml 2014-05-23 07:57:44 UTC (rev 1817)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4.5</version>
+ <version>3.4.6-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: branches/tutti-3.4.x/tutti-ui-swing/pom.xml
===================================================================
--- branches/tutti-3.4.x/tutti-ui-swing/pom.xml 2014-05-23 07:57:38 UTC (rev 1816)
+++ branches/tutti-3.4.x/tutti-ui-swing/pom.xml 2014-05-23 07:57:44 UTC (rev 1817)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4.5</version>
+ <version>3.4.6-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
1
0
Author: maven-release
Date: 2014-05-23 09:57:38 +0200 (Fri, 23 May 2014)
New Revision: 1816
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1816
Log:
[maven-release-plugin] copy for tag tutti-3.4.5
Added:
tags/tutti-3.4.5/
1
0
r1815 - in branches/tutti-3.4.x: . tutti-ichtyometer tutti-persistence tutti-service tutti-ui-swing
by maven-release@users.forge.codelutin.com May 23, 2014
by maven-release@users.forge.codelutin.com May 23, 2014
May 23, 2014
Author: maven-release
Date: 2014-05-23 09:57:32 +0200 (Fri, 23 May 2014)
New Revision: 1815
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1815
Log:
[maven-release-plugin] prepare release tutti-3.4.5
Modified:
branches/tutti-3.4.x/pom.xml
branches/tutti-3.4.x/tutti-ichtyometer/pom.xml
branches/tutti-3.4.x/tutti-persistence/pom.xml
branches/tutti-3.4.x/tutti-service/pom.xml
branches/tutti-3.4.x/tutti-ui-swing/pom.xml
Modified: branches/tutti-3.4.x/pom.xml
===================================================================
--- branches/tutti-3.4.x/pom.xml 2014-05-23 07:55:19 UTC (rev 1814)
+++ branches/tutti-3.4.x/pom.xml 2014-05-23 07:57:32 UTC (rev 1815)
@@ -32,7 +32,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4.5-SNAPSHOT</version>
+ <version>3.4.5</version>
<packaging>pom</packaging>
<name>Tutti</name>
@@ -99,13 +99,13 @@
<scm>
<url>
- https://forge.codelutin.com/projects/tutti/repository/branches/tutti-3.4.x
+ https://forge.codelutin.com/projects/tutti/repository/tags/tutti-3.4.5
</url>
<connection>
- scm:svn:http://svn.codelutin.com/tutti/branches/tutti-3.4.x
+ scm:svn:http://svn.codelutin.com/tutti/tags/tutti-3.4.5
</connection>
<developerConnection>
- scm:svn:https://svn.codelutin.com/tutti/branches/tutti-3.4.x
+ scm:svn:https://svn.codelutin.com/tutti/tags/tutti-3.4.5
</developerConnection>
</scm>
<distributionManagement>
Modified: branches/tutti-3.4.x/tutti-ichtyometer/pom.xml
===================================================================
--- branches/tutti-3.4.x/tutti-ichtyometer/pom.xml 2014-05-23 07:55:19 UTC (rev 1814)
+++ branches/tutti-3.4.x/tutti-ichtyometer/pom.xml 2014-05-23 07:57:32 UTC (rev 1815)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4.5-SNAPSHOT</version>
+ <version>3.4.5</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: branches/tutti-3.4.x/tutti-persistence/pom.xml
===================================================================
--- branches/tutti-3.4.x/tutti-persistence/pom.xml 2014-05-23 07:55:19 UTC (rev 1814)
+++ branches/tutti-3.4.x/tutti-persistence/pom.xml 2014-05-23 07:57:32 UTC (rev 1815)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4.5-SNAPSHOT</version>
+ <version>3.4.5</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: branches/tutti-3.4.x/tutti-service/pom.xml
===================================================================
--- branches/tutti-3.4.x/tutti-service/pom.xml 2014-05-23 07:55:19 UTC (rev 1814)
+++ branches/tutti-3.4.x/tutti-service/pom.xml 2014-05-23 07:57:32 UTC (rev 1815)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4.5-SNAPSHOT</version>
+ <version>3.4.5</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: branches/tutti-3.4.x/tutti-ui-swing/pom.xml
===================================================================
--- branches/tutti-3.4.x/tutti-ui-swing/pom.xml 2014-05-23 07:55:19 UTC (rev 1814)
+++ branches/tutti-3.4.x/tutti-ui-swing/pom.xml 2014-05-23 07:57:32 UTC (rev 1815)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4.5-SNAPSHOT</version>
+ <version>3.4.5</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
1
0
Author: tchemit
Date: 2014-05-23 09:55:19 +0200 (Fri, 23 May 2014)
New Revision: 1814
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1814
Log:
fixes #5133
Modified:
branches/tutti-3.4.x/pom.xml
Modified: branches/tutti-3.4.x/pom.xml
===================================================================
--- branches/tutti-3.4.x/pom.xml 2014-05-23 07:50:40 UTC (rev 1813)
+++ branches/tutti-3.4.x/pom.xml 2014-05-23 07:55:19 UTC (rev 1814)
@@ -166,7 +166,7 @@
<relativizeDecorationLinks>false</relativizeDecorationLinks>
<!-- Last JRE version to use -->
- <jreVersion>1.7.51</jreVersion>
+ <jreVersion>1.7.55</jreVersion>
</properties>
1
0
r1813 - branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport
by tchemit@users.forge.codelutin.com May 23, 2014
by tchemit@users.forge.codelutin.com May 23, 2014
May 23, 2014
Author: tchemit
Date: 2014-05-23 09:50:40 +0200 (Fri, 23 May 2014)
New Revision: 1813
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1813
Log:
fixes #5132 [IMPORT PSION] ajout cat?\195?\169gorisation gros petit
Modified:
branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java
Modified: branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java
===================================================================
--- branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java 2014-05-23 07:50:04 UTC (rev 1812)
+++ branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java 2014-05-23 07:50:40 UTC (rev 1813)
@@ -151,11 +151,11 @@
List<CaracteristicQualitativeValue> qualitativeValues = caracteristic.getQualitativeValue();
- Map<Integer, CaracteristicQualitativeValue> sexById = TuttiEntities.splitByIdAsInt(qualitativeValues);
- CaracteristicQualitativeValue smallCaracteristic = sexById.get(enumerationFile.QUALITATIVE_SIZE_SMALL_ID);
+ Map<Integer, CaracteristicQualitativeValue> sizeById = TuttiEntities.splitByIdAsInt(qualitativeValues);
+ CaracteristicQualitativeValue smallCaracteristic = sizeById.get(enumerationFile.QUALITATIVE_SIZE_SMALL_ID);
sizeCaracteristicValues.put("P", smallCaracteristic);
sizeCaracteristicValues.put("p", smallCaracteristic);
- CaracteristicQualitativeValue bigCaracteristic = sexById.get(enumerationFile.QUALITATIVE_SIZE_BIG_ID);
+ CaracteristicQualitativeValue bigCaracteristic = sizeById.get(enumerationFile.QUALITATIVE_SIZE_BIG_ID);
sizeCaracteristicValues.put("G", bigCaracteristic);
sizeCaracteristicValues.put("g", bigCaracteristic);
}
1
0
r1812 - in trunk/tutti-service/src: main/java/fr/ifremer/tutti/service/psionimport test/resources/psion
by tchemit@users.forge.codelutin.com May 23, 2014
by tchemit@users.forge.codelutin.com May 23, 2014
May 23, 2014
Author: tchemit
Date: 2014-05-23 09:50:04 +0200 (Fri, 23 May 2014)
New Revision: 1812
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1812
Log:
refs #5132 (report from version 3.3.5)
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/PsionImportService.java
trunk/tutti-service/src/test/resources/psion/evo-5077.IWA
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-05-23 07:42:55 UTC (rev 1811)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java 2014-05-23 07:50:04 UTC (rev 1812)
@@ -245,33 +245,6 @@
void checkSortedBatches() throws IOException {
-// for (Species species : sortedBatchsBySpecies.keySet()) {
-//
-// Collection<PsionImportBatchModel> sortedBatches = sortedBatchsBySpecies.get(species);
-//
-// Map<String, Float> weightByCategory = new HashMap<>();
-//
-// for (PsionImportBatchModel sortedBatch : sortedBatches) {
-// Float weight = sortedBatch.getWeight();
-// if (TuttiEntities.isGreaterWeight(weight, 0)) {
-//
-// Float rootweight = weightByCategory.get(sortedBatch.getCategoryCode());
-//
-// if (rootweight == null) {
-//
-// // first time
-// weightByCategory.put(sortedBatch.getCategoryCode(), weight);
-// } else if (!TuttiEntities.isEqualWeight(rootweight, weight)) {
-//
-// // can't have 2 batches with different vrac batch weight
-// throw new IOException(
-// t("tutti.service.psionimport.error.inconsistentVracWeight.message", species.getSurveyCode()));
-// }
-//
-// }
-// }
-// }
-
for (Species species : sortedBatchsBySpecies.keySet()) {
Collection<PsionImportBatchModel> speciesBatchesWithDoubleWeight = new ArrayList<>();
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-05-23 07:42:55 UTC (rev 1811)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java 2014-05-23 07:50:04 UTC (rev 1812)
@@ -89,10 +89,14 @@
private static final Log log = LogFactory.getLog(PsionImportService.class);
- protected static final Set<String> SEX_VALUES = Sets.newHashSet("I", "i", "F", "f", "M", "m");
+ protected static final Set<String> NO_CATEGORY_VALUES = Sets.newHashSet("N", "n");
- protected static final Set<String> MATURITY_VALUES = Sets.newHashSet("1", "2", "3", "4", "5");
+ protected static final Set<String> SIZE_CATEGORY_VALUES = Sets.newHashSet("G", "g", "P", "p");
+ protected static final Set<String> SEX_CATEGORY_VALUES = Sets.newHashSet("I", "i", "F", "f", "M", "m");
+
+ protected static final Set<String> MATURITY_CATEGORY_VALUES = Sets.newHashSet("1", "2", "3", "4", "5");
+
/**
* All usables keywords in a psion import.
* <p/>
@@ -116,6 +120,8 @@
protected CaracteristicQualitativeValue unsortedCaracteristic;
+ protected Map<String, CaracteristicQualitativeValue> sizeCaracteristicValues;
+
protected Map<String, CaracteristicQualitativeValue> sexCaracteristicValues;
protected Map<String, CaracteristicQualitativeValue> maturityCaracteristicValues;
@@ -135,6 +141,23 @@
unsortedCaracteristic = TuttiEntities.getQualitativeValue(caracteristic, QualitativeValueId.SORTED_HORS_VRAC.getValue());
}
+ { // size caracteristic
+
+ sizeCaracteristicValues = Maps.newTreeMap();
+
+ Caracteristic caracteristic = persistenceService.getSizeCategoryCaracteristic();
+
+ List<CaracteristicQualitativeValue> qualitativeValues = caracteristic.getQualitativeValue();
+
+ Map<Integer, CaracteristicQualitativeValue> sizeById = TuttiEntities.splitByIdAsInt(qualitativeValues);
+ CaracteristicQualitativeValue smallCaracteristic = sizeById.get(QualitativeValueId.SIZE_SMALL.getValue());
+ sizeCaracteristicValues.put("P", smallCaracteristic);
+ sizeCaracteristicValues.put("p", smallCaracteristic);
+ CaracteristicQualitativeValue bigCaracteristic = sizeById.get(QualitativeValueId.SIZE_BIG.getValue());
+ sizeCaracteristicValues.put("G", bigCaracteristic);
+ sizeCaracteristicValues.put("g", bigCaracteristic);
+ }
+
{ // sex caracteristic
sexCaracteristicValues = Maps.newTreeMap();
@@ -432,7 +455,7 @@
continue;
}
- if ("n".equals(value) || "N".equals(value)) {
+ if (NO_CATEGORY_VALUES.contains(value)) {
// special case, no category
@@ -452,9 +475,7 @@
if (log.isWarnEnabled()) {
log.warn(error);
}
- importModel.addError(
- error
- );
+ importModel.addError(error);
break;
}
@@ -720,15 +741,23 @@
Integer caracteristicId;
CaracteristicQualitativeValue caracteristicQualitativeValue;
- if (SEX_VALUES.contains(categoryCode)) {
+ if (SIZE_CATEGORY_VALUES.contains(categoryCode)) {
+ // size caracteristic
+ caracteristicId = PmfmId2.SIZE_CATEGORY.getValue();
+ caracteristicQualitativeValue = sizeCaracteristicValues.get(categoryCode);
+
+ result = new PsionImportBatchModel.SampleCategory(caracteristicId, caracteristicQualitativeValue);
+
+ } else if (SEX_CATEGORY_VALUES.contains(categoryCode)) {
+
// sex caracteristic
caracteristicId = PmfmId2.SEX.getValue();
caracteristicQualitativeValue = sexCaracteristicValues.get(categoryCode);
result = new PsionImportBatchModel.SampleCategory(caracteristicId, caracteristicQualitativeValue);
- } else if (MATURITY_VALUES.contains(categoryCode)) {
+ } else if (MATURITY_CATEGORY_VALUES.contains(categoryCode)) {
// maturity caracteristic
caracteristicId = PmfmId2.MATURITY.getValue();
Modified: trunk/tutti-service/src/test/resources/psion/evo-5077.IWA
===================================================================
--- trunk/tutti-service/src/test/resources/psion/evo-5077.IWA 2014-05-23 07:42:55 UTC (rev 1811)
+++ trunk/tutti-service/src/test/resources/psion/evo-5077.IWA 2014-05-23 07:50:04 UTC (rev 1812)
@@ -22,10 +22,10 @@
ESPE : PAGEERY
POID : 100
TAIL : 50
-CATE : M
+CATE : GM2
LONG : 16.5
ESPE : PAGEERY
POID : 150
TAIL : 80
-CATE : F
+CATE : PF1
LONG : 16.5
1
0