Tutti-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
May 2014
- 5 participants
- 105 discussions
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
Build failed in Jenkins: tutti-ci » Tutti :: UI #94
by admin+ci-codelutin.com@codelutin.com 30 May '14
by admin+ci-codelutin.com@codelutin.com 30 May '14
30 May '14
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
r1821 - in trunk: tutti-persistence/src/license tutti-service/src/license
by tchemit@users.forge.codelutin.com 30 May '14
by tchemit@users.forge.codelutin.com 30 May '14
30 May '14
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 30 May '14
by admin+ci-codelutin.com@codelutin.com 30 May '14
30 May '14
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 30 May '14
by tchemit@users.forge.codelutin.com 30 May '14
30 May '14
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 29 May '14
by admin+ci-codelutin.com@codelutin.com 29 May '14
29 May '14
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
28 May '14
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 23 May '14
by maven-release@users.forge.codelutin.com 23 May '14
23 May '14
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