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
April 2014
- 5 participants
- 75 discussions
See <http://ci.codelutin.com/jenkins/job/tutti-ci/63/changes>
Changes:
[Tony CHEMIT] refs #4958
------------------------------------------
[...truncated 337 lines...]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ tutti-service ---
[INFO] Compiling 96 source files to <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/target/…>
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/mai…>: Some input files use unchecked or unsafe operations.
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/mai…>: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ tutti-service ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/target/…>
[INFO] Executed tasks
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ tutti-service ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 30 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ tutti-service ---
[INFO] Compiling 19 source files to <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/target/…>
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/tes…>: Some input files use unchecked or unsafe operations.
[WARNING] <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/tes…>: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- maven-surefire-plugin:2.17:test (default-test) @ tutti-service ---
[INFO] Surefire report directory: <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/target/…>
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running fr.ifremer.tutti.service.BeanValidatorDetectorTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.881 sec - in fr.ifremer.tutti.service.BeanValidatorDetectorTest
Running fr.ifremer.tutti.service.catches.WeightComputingServiceTest
2014-04-25 10:19:03,177 0 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.catches.WeightComputingServiceTest
2014-04-25 10:19:03,431 254 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/tes…,> test [class fr.ifremer.tutti.service.catches.WeightComputingServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.265 sec - in fr.ifremer.tutti.service.catches.WeightComputingServiceTest
Running fr.ifremer.tutti.service.catches.multipost.MultiPostExportServiceTest
2014-04-25 10:19:03,436 259 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.catches.multipost.MultiPostExportServiceTest
2014-04-25 10:19:03,443 266 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/tes…,> test [class fr.ifremer.tutti.service.catches.multipost.MultiPostExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.009 sec - in fr.ifremer.tutti.service.catches.multipost.MultiPostExportServiceTest
Running fr.ifremer.tutti.service.UpdateSchemaTest
2014-04-25 10:19:03,444 267 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.UpdateSchemaTest
2014-04-25 10:19:03,448 271 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbCGFS_old.properties
2014-04-25 10:19:03,450 273 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbCGFS_old, test [class fr.ifremer.tutti.service.UpdateSchemaTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.007 sec - in fr.ifremer.tutti.service.UpdateSchemaTest
Running fr.ifremer.tutti.service.pupitri.PupitriImportServiceTest
2014-04-25 10:19:03,452 275 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.pupitri.PupitriImportServiceTest
2014-04-25 10:19:03,456 279 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbExport.properties
2014-04-25 10:19:03,458 281 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbExport, test [class fr.ifremer.tutti.service.pupitri.PupitriImportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.015 sec - in fr.ifremer.tutti.service.pupitri.PupitriImportServiceTest
Running fr.ifremer.tutti.service.pupitri.PupitriImportExportServiceTest
2014-04-25 10:19:03,459 282 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.pupitri.PupitriImportExportServiceTest
2014-04-25 10:19:03,462 285 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbExport.properties
2014-04-25 10:19:03,465 288 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbExport, test [class fr.ifremer.tutti.service.pupitri.PupitriImportExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.001 sec - in fr.ifremer.tutti.service.pupitri.PupitriImportExportServiceTest
Running fr.ifremer.tutti.service.ValidationServiceTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec - in fr.ifremer.tutti.service.ValidationServiceTest
Running fr.ifremer.tutti.service.DecoratorServiceTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.495 sec - in fr.ifremer.tutti.service.DecoratorServiceTest
Running fr.ifremer.tutti.service.psionimport.PsionImportServiceTest
2014-04-25 10:19:03,967 790 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.psionimport.PsionImportServiceTest
2014-04-25 10:19:03,968 791 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbExport.properties
2014-04-25 10:19:03,971 794 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbExport, test [class fr.ifremer.tutti.service.psionimport.PsionImportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.006 sec - in fr.ifremer.tutti.service.psionimport.PsionImportServiceTest
Running fr.ifremer.tutti.service.report.ReportServiceTest
2014-04-25 10:19:03,972 795 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.report.ReportServiceTest
2014-04-25 10:19:03,976 799 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/tes…,> test [class fr.ifremer.tutti.service.report.ReportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.004 sec - in fr.ifremer.tutti.service.report.ReportServiceTest
Running fr.ifremer.tutti.service.protocol.ProtocolImportExportServiceTest
2014-04-25 10:19:03,979 802 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.protocol.ProtocolImportExportServiceTest
2014-04-25 10:19:03,981 804 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbCGFS.properties
2014-04-25 10:19:03,983 806 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbCGFS, test [class fr.ifremer.tutti.service.protocol.ProtocolImportExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.006 sec - in fr.ifremer.tutti.service.protocol.ProtocolImportExportServiceTest
Running fr.ifremer.tutti.service.referential.ReferentialImportExportServiceTest
2014-04-25 10:19:03,985 808 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.referential.ReferentialImportExportServiceTest
2014-04-25 10:19:03,987 810 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbCGFS.properties
2014-04-25 10:19:03,989 812 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbCGFS, test [class fr.ifremer.tutti.service.referential.ReferentialImportExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.005 sec - in fr.ifremer.tutti.service.referential.ReferentialImportExportServiceTest
Running fr.ifremer.tutti.service.export.generic.TuttiExportServiceTest
2014-04-25 10:19:03,992 815 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.generic.TuttiExportServiceTest
2014-04-25 10:19:03,996 819 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/tes…,> test [class fr.ifremer.tutti.service.export.generic.TuttiExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.006 sec - in fr.ifremer.tutti.service.export.generic.TuttiExportServiceTest
Running fr.ifremer.tutti.service.export.generic.TuttiExportService2Test
2014-04-25 10:19:03,997 820 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.generic.TuttiExportService2Test
2014-04-25 10:19:04,001 824 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/tes…,> test [class fr.ifremer.tutti.service.export.generic.TuttiExportService2Test] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.004 sec - in fr.ifremer.tutti.service.export.generic.TuttiExportService2Test
Running fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceTest
2014-04-25 10:19:04,002 825 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceTest
2014-04-25 10:19:04,007 830 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/tes…,> test [class fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.006 sec - in fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceTest
Running fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceV2Test
2014-04-25 10:19:04,009 832 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceV2Test
2014-04-25 10:19:04,012 835 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/tes…,> test [class fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceV2Test] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.004 sec - in fr.ifremer.tutti.service.export.sumatra.CatchesSumatraExportServiceV2Test
Running fr.ifremer.tutti.service.export.pdf.CatchesPdfExportServiceTest
2014-04-25 10:19:04,013 836 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.pdf.CatchesPdfExportServiceTest
2014-04-25 10:19:04,017 840 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/src/tes…,> test [class fr.ifremer.tutti.service.export.pdf.CatchesPdfExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.004 sec - in fr.ifremer.tutti.service.export.pdf.CatchesPdfExportServiceTest
Results :
Tests run: 23, Failures: 0, Errors: 0, Skipped: 15
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ tutti-service ---
[INFO] Building jar: <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-service/target/…>
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ tutti-service ---
[JENKINS] Archiving disabled
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/target>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti-ui-swing ---
[INFO]
[INFO] --- jaxx-maven-plugin:2.8.4:generate (default) @ tutti-ui-swing ---
[INFO] use project compile scope class-path
[INFO] Detects 41 modified jaxx file(s).
ERROR [pool-1-thread-1 for channel] (JAXXEngine.java:366) run - jaxx.compiler.CompilerException: Error parsing Java source code <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>: Unable to parse Java code near token: >
java.lang.RuntimeException: jaxx.compiler.CompilerException: Error parsing Java source code <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>: Unable to parse Java code near token: >
at jaxx.compiler.reflect.resolvers.ClassDescriptorResolverFromJavaFile.resolvDescriptor(ClassDescriptorResolverFromJavaFile.java:93)
at jaxx.compiler.reflect.ClassDescriptorHelper.getClassDescriptor0(ClassDescriptorHelper.java:276)
at jaxx.compiler.reflect.ClassDescriptorHelper.getClassDescriptor(ClassDescriptorHelper.java:218)
at jaxx.compiler.tags.TagManager.getTagHandler(TagManager.java:474)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:635)
at jaxx.compiler.tags.DefaultObjectHandler.compileChildTagSecondPass(DefaultObjectHandler.java:1335)
at jaxx.compiler.tags.DefaultObjectHandler.compileChildrenSecondPass(DefaultObjectHandler.java:1300)
at jaxx.compiler.tags.DefaultObjectHandler.compileSecondPass(DefaultObjectHandler.java:500)
at jaxx.compiler.tags.DefaultComponentHandler.compileSecondPass(DefaultComponentHandler.java:153)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:647)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:754)
at jaxx.compiler.tasks.CompileSecondPassTask.perform(CompileSecondPassTask.java:81)
at jaxx.compiler.JAXXEngine.run(JAXXEngine.java:352)
at org.nuiton.jaxx.plugin.GenerateMojo.doAction(GenerateMojo.java:522)
at org.nuiton.plugin.AbstractPlugin.execute(AbstractPlugin.java:132)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
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: jaxx.compiler.CompilerException: Error parsing Java source code <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>: Unable to parse Java code near token: >
at jaxx.compiler.reflect.resolvers.ClassDescriptorResolverFromJavaFile$JavaFileParser.doParse(ClassDescriptorResolverFromJavaFile.java:284)
at jaxx.compiler.reflect.resolvers.ClassDescriptorResolverFromJavaFile.resolvDescriptor(ClassDescriptorResolverFromJavaFile.java:90)
... 46 more
[WARNING] JAXX detects 1 warning :
<http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>
Found a handler fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditorHandler which does not implements jaxx.runtime.spi.UIHandler
[ERROR] JAXX detects 1 error :
<http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>:1
: jaxx.compiler.CompilerException: Error parsing Java source code <http://ci.codelutin.com/jenkins/job/tutti-ci/ws/trunk/tutti-ui-swing/src/ma…>: Unable to parse Java code near token: >
[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 [ 3.104 s]
[INFO] Tutti :: Persistence .............................. SUCCESS [ 15.883 s]
[INFO] Tutti :: Ichtyometer API .......................... SUCCESS [ 1.319 s]
[INFO] Tutti :: Service .................................. SUCCESS [ 6.557 s]
[INFO] Tutti :: UI ....................................... FAILURE [ 8.088 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 37.253 s
[INFO] Finished at: 2014-04-25T10:19:13+01:00
[INFO] Final Memory: 105M/1158M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.nuiton.jaxx:jaxx-maven-plugin:2.8.4:generate (default) on project tutti-ui-swing: Aborting due to errors reported by jaxxc -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.nuiton.jaxx:jaxx-maven-plugin:2.8.4:generate (default) on project tutti-ui-swing: Aborting due to errors reported by jaxxc
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.jvnet.hudson.maven3.launcher.Maven31Launcher.main(Maven31Launcher.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
at jenkins.maven3.agent.Maven31Main.launch(Maven31Main.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:134)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:69)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:328)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.maven.plugin.MojoExecutionException: Aborting due to errors reported by jaxxc
at org.nuiton.jaxx.plugin.GenerateMojo.doAction(GenerateMojo.java:528)
at org.nuiton.plugin.AbstractPlugin.execute(AbstractPlugin.java:132)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 30 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :tutti-ui-swing
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com chemit+codelutin-ci(a)codelutin.com
channel stopped
1
2
Build failed in Jenkins: tutti-ci » Tutti :: UI #63
by admin+ci-codelutin.com@codelutin.com 25 Apr '14
by admin+ci-codelutin.com@codelutin.com 25 Apr '14
25 Apr '14
See <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
Changes:
[Tony CHEMIT] refs #4958
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti-ui-swing ---
[INFO]
[INFO] --- jaxx-maven-plugin:2.8.4:generate (default) @ tutti-ui-swing ---
[INFO] use project compile scope class-path
[INFO] Detects 41 modified jaxx file(s).
ERROR [pool-1-thread-1 for channel] (JAXXEngine.java:366) run - jaxx.compiler.CompilerException: Error parsing Java source code <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>: Unable to parse Java code near token: >
java.lang.RuntimeException: jaxx.compiler.CompilerException: Error parsing Java source code <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>: Unable to parse Java code near token: >
at jaxx.compiler.reflect.resolvers.ClassDescriptorResolverFromJavaFile.resolvDescriptor(ClassDescriptorResolverFromJavaFile.java:93)
at jaxx.compiler.reflect.ClassDescriptorHelper.getClassDescriptor0(ClassDescriptorHelper.java:276)
at jaxx.compiler.reflect.ClassDescriptorHelper.getClassDescriptor(ClassDescriptorHelper.java:218)
at jaxx.compiler.tags.TagManager.getTagHandler(TagManager.java:474)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:635)
at jaxx.compiler.tags.DefaultObjectHandler.compileChildTagSecondPass(DefaultObjectHandler.java:1335)
at jaxx.compiler.tags.DefaultObjectHandler.compileChildrenSecondPass(DefaultObjectHandler.java:1300)
at jaxx.compiler.tags.DefaultObjectHandler.compileSecondPass(DefaultObjectHandler.java:500)
at jaxx.compiler.tags.DefaultComponentHandler.compileSecondPass(DefaultComponentHandler.java:153)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:647)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:754)
at jaxx.compiler.tasks.CompileSecondPassTask.perform(CompileSecondPassTask.java:81)
at jaxx.compiler.JAXXEngine.run(JAXXEngine.java:352)
at org.nuiton.jaxx.plugin.GenerateMojo.doAction(GenerateMojo.java:522)
at org.nuiton.plugin.AbstractPlugin.execute(AbstractPlugin.java:132)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
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: jaxx.compiler.CompilerException: Error parsing Java source code <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>: Unable to parse Java code near token: >
at jaxx.compiler.reflect.resolvers.ClassDescriptorResolverFromJavaFile$JavaFileParser.doParse(ClassDescriptorResolverFromJavaFile.java:284)
at jaxx.compiler.reflect.resolvers.ClassDescriptorResolverFromJavaFile.resolvDescriptor(ClassDescriptorResolverFromJavaFile.java:90)
... 46 more
[WARNING] JAXX detects 1 warning :
<http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>
Found a handler fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditorHandler which does not implements jaxx.runtime.spi.UIHandler
[ERROR] JAXX detects 1 error :
<http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>:1
: jaxx.compiler.CompilerException: Error parsing Java source code <http://ci.codelutin.com/jenkins/job/tutti-ci/fr.ifremer.tutti$tutti-ui-swin…>: Unable to parse Java code near token: >
[JENKINS] Archiving disabled
1
2
r1734 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise
by tchemit@users.forge.codelutin.com 25 Apr '14
by tchemit@users.forge.codelutin.com 25 Apr '14
25 Apr '14
Author: tchemit
Date: 2014-04-25 10:56:17 +0200 (Fri, 25 Apr 2014)
New Revision: 1734
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1734
Log:
fix build (jaxx can't support jdk 7)
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java 2014-04-25 08:37:12 UTC (rev 1733)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java 2014-04-25 08:56:17 UTC (rev 1734)
@@ -50,13 +50,11 @@
public static final String PROPERTY_SELECTED_FISHING_OPERATION = "selectedFishingOperation";
-// public static final String PROPERTY_VALIDATOR = "validator";
-
public static final String PROPERTY_READY_TO_SYNCH = "readyToSynch";
protected FishingOperation selectedFishingOperation;
- protected final Map<FishingOperation, NuitonValidatorResult> validator = new HashMap<>();
+ protected final Map<FishingOperation, NuitonValidatorResult> validator = new HashMap<FishingOperation, NuitonValidatorResult>();
protected boolean readyToSynch;
@@ -73,7 +71,7 @@
}
public Map<FishingOperation, NuitonValidatorResult> getValidator() {
- return new HashMap<>(validator);
+ return new HashMap<FishingOperation, NuitonValidatorResult>(validator);
}
public Set<FishingOperation> getFishingOperations() {
@@ -88,13 +86,11 @@
for (Map.Entry<FishingOperation, NuitonValidatorResult> entry : validator.entrySet()) {
this.validator.put(entry.getKey(), entry.getValue());
}
-// firePropertyChange(PROPERTY_VALIDATOR, null, validator);
computeReadyToSynch();
}
public void addValidatorResult(FishingOperation fishingOperation, NuitonValidatorResult validatorResult) {
validator.put(fishingOperation, validatorResult);
-// firePropertyChange(PROPERTY_VALIDATOR, null, validator);
computeReadyToSynch();
}
1
0
r1733 - trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com 25 Apr '14
by tchemit@users.forge.codelutin.com 25 Apr '14
25 Apr '14
Author: tchemit
Date: 2014-04-25 10:37:12 +0200 (Fri, 25 Apr 2014)
New Revision: 1733
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1733
Log:
refs #4995 (add TU)
Added:
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceAno4995Test.java
Added: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceAno4995Test.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceAno4995Test.java (rev 0)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceAno4995Test.java 2014-04-25 08:37:12 UTC (rev 1733)
@@ -0,0 +1,54 @@
+package fr.ifremer.tutti.persistence.service;
+
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.test.DatabaseResource;
+import org.hibernate.NonUniqueObjectException;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotNull;
+
+/**
+ * To fix http://forge.codelutin.com/issues/4995.
+ * <p/>
+ * Created on 4/25/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.5
+ */
+public class FishingOperationPersistenceServiceAno4995Test {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = DatabaseResource.writeDb("dbCGFS_ANO4995");
+
+ protected FishingOperationPersistenceService service;
+
+ protected FishingOperation fishingOperation;
+
+ @Before
+ public void setUp() throws Exception {
+ service = TuttiPersistenceServiceLocator.getFishingOperationPersistenceService();
+
+ // get fishing operation
+ Cruise cruise = TuttiPersistenceServiceLocator.getCruisePersistenceService().getCruise("0");
+ fishingOperation = service.getFishingOperation("0");
+ fishingOperation.setCruise(cruise);
+ }
+
+ @Test(expected = NonUniqueObjectException.class)
+ public void saveFishingOperation() {
+
+ assertNotNull(fishingOperation);
+ assertNotNull(fishingOperation.getCruise());
+ assertNotNull(fishingOperation.getStrata());
+ assertNotNull(fishingOperation.getLocation());
+
+ // modifiy it
+ fishingOperation.setStrata(null);
+
+ // save it
+ service.saveFishingOperation(fishingOperation);
+ }
+}
Property changes on: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceAno4995Test.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
1
0
25 Apr '14
Author: tchemit
Date: 2014-04-25 09:53:52 +0200 (Fri, 25 Apr 2014)
New Revision: 1732
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1732
Log:
refs #4958
Modified:
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/CruisePersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
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/content/cruise/ValidateCruiseUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-04-25 07:53:52 UTC (rev 1732)
@@ -544,7 +544,7 @@
}
@Override
- public void setCruiseReadyToSynch(String cruiseId) {
+ public void setCruiseReadyToSynch(Integer cruiseId) {
cruiseService.setCruiseReadyToSynch(cruiseId);
}
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-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2014-04-25 07:53:52 UTC (rev 1732)
@@ -365,7 +365,7 @@
}
@Override
- public void setCruiseReadyToSynch(String cruiseId) {
+ public void setCruiseReadyToSynch(Integer cruiseId) {
throw notImplemented();
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java 2014-04-25 07:53:52 UTC (rev 1732)
@@ -53,7 +53,7 @@
Cruise saveCruise(Cruise bean, boolean updateVessel, boolean updateGear);
@Transactional(readOnly = false)
- void setCruiseReadyToSynch(String cruiseId) ;
+ void setCruiseReadyToSynch(Integer cruiseId) ;
CaracteristicMap getGearCaracteristics(String cruiseId, String gearId, short rankOrder);
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2014-04-25 07:53:52 UTC (rev 1732)
@@ -381,7 +381,7 @@
}
@Override
- public void setCruiseReadyToSynch(String cruiseId) {
+ public void setCruiseReadyToSynch(Integer cruiseId) {
synchronizationStatusHelper.setCruiseReadyToSynch(cruiseId);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java 2014-04-25 07:53:52 UTC (rev 1732)
@@ -7,8 +7,11 @@
import fr.ifremer.adagio.core.dao.data.survey.scientificCruise.ScientificCruise;
import fr.ifremer.adagio.core.dao.technical.synchronization.SynchronizationStatus;
import fr.ifremer.tutti.persistence.service.AbstractPersistenceService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.hibernate.type.IntegerType;
import org.hibernate.type.StringType;
+import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.stereotype.Component;
/**
@@ -22,6 +25,9 @@
@Component("synchronizationStatusHelper")
public class SynchronizationStatusHelper extends AbstractPersistenceService {
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(SynchronizationStatusHelper.class);
+
public void setDirty(ScientificCruise scientificCruise) {
String synchronizationStatus = getDirtyValue();
scientificCruise.setSynchronizationStatus(synchronizationStatus);
@@ -50,34 +56,49 @@
}
}
- public void setCruiseReadyToSynch(String cruiseId) {
+ public void setCruiseReadyToSynch(Integer cruiseId) {
String oldStatus = getDirtyValue();
String newStatus = SynchronizationStatus.READY_TO_SYNCHRONIZE.getValue();
// update scientificCruise
- queryUpdate("updateScientificCruiseSynchronizationStatus",
- "cruiseId", IntegerType.INSTANCE, cruiseId,
- "oldStatus", StringType.INSTANCE, oldStatus,
- "newStatus", StringType.INSTANCE, newStatus);
+ int scientificCruiseQueryUpdate = queryUpdate("updateScientificCruiseSynchronizationStatus",
+ "cruiseId", IntegerType.INSTANCE, cruiseId,
+ "oldStatus", StringType.INSTANCE, oldStatus,
+ "newStatus", StringType.INSTANCE, newStatus);
+ if (scientificCruiseQueryUpdate == 0) {
+ throw new DataIntegrityViolationException("Could not attach update scientific cruise, was not found.");
+ }
+
// update fishingTrip
- queryUpdate("updateFishingTripSynchronizationStatus",
- "cruiseId", IntegerType.INSTANCE, cruiseId,
- "oldStatus", StringType.INSTANCE, oldStatus,
- "newStatus", StringType.INSTANCE, newStatus);
+ int fishingTripQueryUpdate = queryUpdate("updateFishingTripSynchronizationStatus",
+ "cruiseId", IntegerType.INSTANCE, cruiseId,
+ "oldStatus", StringType.INSTANCE, oldStatus,
+ "newStatus", StringType.INSTANCE, newStatus);
+ if (log.isInfoEnabled()) {
+ log.info("Nb fishingTrip updated: " + fishingTripQueryUpdate);
+ }
+
// update catchBatch
- queryUpdate("updateCatchBatchSynchronizationStatus",
- "cruiseId", IntegerType.INSTANCE, cruiseId,
- "oldStatus", StringType.INSTANCE, oldStatus,
- "newStatus", StringType.INSTANCE, newStatus);
+ int catchBatchQueryUpdate = queryUpdate("updateCatchBatchSynchronizationStatus",
+ "cruiseId", IntegerType.INSTANCE, cruiseId,
+ "oldStatus", StringType.INSTANCE, oldStatus,
+ "newStatus", StringType.INSTANCE, newStatus);
+ if (log.isInfoEnabled()) {
+ log.info("Nb catchBatch updated: " + catchBatchQueryUpdate);
+ }
// update sample
- queryUpdate("updateSampleSynchronizationStatus",
- "cruiseId", IntegerType.INSTANCE, cruiseId,
- "oldStatus", StringType.INSTANCE, oldStatus,
- "newStatus", StringType.INSTANCE, newStatus);
+ int sampleQueryUpdate = queryUpdate("updateSampleSynchronizationStatus",
+ "cruiseId", IntegerType.INSTANCE, cruiseId,
+ "oldStatus", StringType.INSTANCE, oldStatus,
+ "newStatus", StringType.INSTANCE, newStatus);
+
+ if (log.isInfoEnabled()) {
+ log.info("Nb sample updated: " + sampleQueryUpdate);
+ }
}
protected String getDirtyValue() {
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-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2014-04-25 07:53:52 UTC (rev 1732)
@@ -1018,7 +1018,7 @@
}
@Override
- public void setCruiseReadyToSynch(String cruiseId) {
+ public void setCruiseReadyToSynch(Integer cruiseId) {
driver.setCruiseReadyToSynch(cruiseId);
}
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-04-25 07:53:52 UTC (rev 1732)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Sat Apr 19 15:02:16 CEST 2014
+#Thu Apr 24 18:16:32 CEST 2014
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -388,4 +388,5 @@
tutti.validateCruise.navigation.action.export.all.help=validateCruise.html\#actions
tutti.validateCruise.navigation.action.export.help=validateCruise.html\#actions
tutti.validateCruise.navigation.action.export.operation.help=validateCruise.html\#actions
+tutti.validateCruise.navigation.action.readyToSynch.help=validateCruise.html\#actions
tutti.validateCruise.navigation.action.refresh.all.help=validateCruise.html\#actions
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-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java 2014-04-25 07:53:52 UTC (rev 1732)
@@ -23,21 +23,15 @@
/** Logger. */
private static final Log log = LogFactory.getLog(SaveCruiseToReadyToSynchAction.class);
- protected boolean askUserToConfirm;
-
public SaveCruiseToReadyToSynchAction(ValidateCruiseUIHandler handler) {
super(handler, false);
setActionDescription(t("tutti.validationCruise.action.saveCruiseToReadyToSynch.tip"));
}
- public void setAskUserToConfirm(boolean askUserToConfirm) {
- this.askUserToConfirm = askUserToConfirm;
- }
-
@Override
public boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
- if (doAction && askUserToConfirm) {
+ if (doAction) {
int answer = JOptionPane.showConfirmDialog(getContext().getActionUI(),
t("tutti.validationCruise.action.saveCruiseToReadyToSynch.message"),
t("tutti.validationCruise.action.saveCruiseToReadyToSynch.title"),
@@ -54,11 +48,18 @@
Preconditions.checkState(getContext().isCruiseFilled());
PersistenceService persistenceService = getContext().getPersistenceService();
- String cruiseId = getModel().getCruise().getId();
+ Integer cruiseId = getModel().getCruise().getIdAsInt();
if (log.isInfoEnabled()) {
log.info("Pass synchronizationStatus to *ready to synch* for cruise: " + cruiseId);
}
persistenceService.setCruiseReadyToSynch(cruiseId);
}
+
+ @Override
+ public void postSuccessAction() {
+ super.postSuccessAction();
+ // can't synch anylonger
+ getModel().setReadyToSynch(false);
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.css 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.css 2014-04-25 07:53:52 UTC (rev 1732)
@@ -41,6 +41,16 @@
_help: {"tutti.validateCruise.navigation.action.export.all.help"};
}
+#readyToSynchButton {
+ actionIcon: time;
+ text: "tutti.validateCruise.navigation.action.readyToSynch";
+ toolTipText: "tutti.validateCruise.navigation.action.readyToSynch.tip";
+ i18nMnemonic: "tutti.validateCruise.navigation.action.readyToSynch.mnemonic";
+ enabled: {model.isReadyToSynch()};
+ _applicationAction: {fr.ifremer.tutti.ui.swing.action.SaveCruiseToReadyToSynchAction.class};
+ _help: {"tutti.validateCruise.navigation.action.readyToSynch.help"};
+}
+
#menuPopup {
label: "tutti.editAccidentalBatch.title.batchActions";
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUI.jaxx 2014-04-25 07:53:52 UTC (rev 1732)
@@ -57,12 +57,16 @@
<JMenuItem id='exportOperationMessagesItem'/>
</JPopupMenu>
- <JScrollPane id='navigationPanel'>
- <JTree id='navigation'
- onMouseClicked='handler.autoSelectNode(event, menuPopup)'
- onKeyPressed='handler.openNodeMenu(event, menuPopup)'/>
- </JScrollPane>
+ <JPanel layout='{new BorderLayout()}'>
+ <JScrollPane id='navigationPanel' constraints='BorderLayout.CENTER'>
+ <JTree id='navigation'
+ onMouseClicked='handler.autoSelectNode(event, menuPopup)'
+ onKeyPressed='handler.openNodeMenu(event, menuPopup)'/>
+ </JScrollPane>
+ <JButton constraints='BorderLayout.SOUTH' id='readyToSynchButton'/>
+ </JPanel>
+
</JXTitledPanel>
<FishingOperationsUI id='operationPanel' constructorParams='this'>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java 2014-04-25 07:53:52 UTC (rev 1732)
@@ -28,11 +28,8 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import fr.ifremer.tutti.persistence.ProgressionModel;
-import fr.ifremer.tutti.persistence.entities.data.Cruise;
-import fr.ifremer.tutti.persistence.entities.data.Cruises;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.ui.swing.action.EditCruiseFishingOperationAction;
-import fr.ifremer.tutti.ui.swing.action.SaveCruiseToReadyToSynchAction;
import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.util.RemoveablePropertyChangeListener;
@@ -62,7 +59,6 @@
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -79,8 +75,6 @@
protected EditCruiseFishingOperationAction editFishingOperationAction;
- protected SaveCruiseToReadyToSynchAction saveCruiseToReadyToSynchAction;
-
@Override
public void beforeInit(ValidateCruiseUI ui) {
@@ -93,7 +87,7 @@
actionUIModel.setProgressionModel(progressionModel);
Map<FishingOperation, NuitonValidatorResult> validator = getValidateCruiseOperationsService().validateCruiseOperations(progressionModel);
- model.setValidator(validator);
+ model.addValidatorResults(validator);
actionUIModel.setProgressionModel(null);
model.addPropertyChangeListener(ValidateCruiseUIModel.PROPERTY_SELECTED_FISHING_OPERATION,
@@ -106,13 +100,6 @@
}
}
);
-
- model.addPropertyChangeListener(ValidateCruiseUIModel.PROPERTY_READY_TO_SYNCH, new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- saveReadyToSynch();
- }
- });
this.ui.setContextValue(model);
}
@@ -121,8 +108,6 @@
initUI(ui);
editFishingOperationAction = getContext().getActionFactory().createLogicAction(this, EditCruiseFishingOperationAction.class);
- saveCruiseToReadyToSynchAction = getContext().getActionFactory().createLogicAction(this, SaveCruiseToReadyToSynchAction.class);
- saveCruiseToReadyToSynchAction.setAskUserToConfirm(true);
ui.getOperationPanel().getModel().setSelectedFishingOperation(null);
DefaultMutableTreeNode root = new DefaultMutableTreeNode();
@@ -146,7 +131,8 @@
FishingOperationsUI operationPanel = ui.getOperationPanel();
operationPanel.getTopPanel().setVisible(false);
- saveReadyToSynch();
+ // This binding need to be replayed (was not fired, since model is computed in beforeInit method).
+ SwingUtil.applyDataBinding(getUI(), ValidateCruiseUI.BINDING_READY_TO_SYNCH_BUTTON_ENABLED);
}
@Override
@@ -241,16 +227,6 @@
navigation.setSelectionPath(selectionPath);
}
- protected void saveReadyToSynch() {
- ValidateCruiseUIModel model = getModel();
- Cruise cruise = model.getCruise();
- if (model.isReadyToSynch() && Cruises.isDirty(cruise) && saveCruiseToReadyToSynchAction != null) {
-
- // ask user to synch ?
- getContext().getActionEngine().runAction(saveCruiseToReadyToSynchAction);
- }
- }
-
protected static class ValidationTreeCellRenderer extends DefaultTreeCellRenderer {
private static final long serialVersionUID = 1L;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java 2014-04-25 07:53:52 UTC (rev 1732)
@@ -26,12 +26,14 @@
import com.google.common.collect.ImmutableSet;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
+import fr.ifremer.tutti.persistence.entities.data.Cruises;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.beans.AbstractSerializableBean;
import org.nuiton.validator.NuitonValidatorResult;
+import java.util.HashMap;
import java.util.Map;
import java.util.Set;
@@ -48,13 +50,13 @@
public static final String PROPERTY_SELECTED_FISHING_OPERATION = "selectedFishingOperation";
- public static final String PROPERTY_VALIDATOR = "validator";
+// public static final String PROPERTY_VALIDATOR = "validator";
public static final String PROPERTY_READY_TO_SYNCH = "readyToSynch";
protected FishingOperation selectedFishingOperation;
- protected Map<FishingOperation, NuitonValidatorResult> validator;
+ protected final Map<FishingOperation, NuitonValidatorResult> validator = new HashMap<>();
protected boolean readyToSynch;
@@ -71,7 +73,7 @@
}
public Map<FishingOperation, NuitonValidatorResult> getValidator() {
- return validator;
+ return new HashMap<>(validator);
}
public Set<FishingOperation> getFishingOperations() {
@@ -82,24 +84,28 @@
return validator.get(fishingOperation);
}
- public void setValidator(Map<FishingOperation, NuitonValidatorResult> validator) {
- Object oldValue = getValidator();
- this.validator = validator;
- firePropertyChange(PROPERTY_VALIDATOR, oldValue, validator);
+ public void addValidatorResults(Map<FishingOperation, NuitonValidatorResult> validator) {
+ for (Map.Entry<FishingOperation, NuitonValidatorResult> entry : validator.entrySet()) {
+ this.validator.put(entry.getKey(), entry.getValue());
+ }
+// firePropertyChange(PROPERTY_VALIDATOR, null, validator);
+ computeReadyToSynch();
}
public void addValidatorResult(FishingOperation fishingOperation, NuitonValidatorResult validatorResult) {
validator.put(fishingOperation, validatorResult);
- firePropertyChange(PROPERTY_VALIDATOR, null, validator);
+// firePropertyChange(PROPERTY_VALIDATOR, null, validator);
computeReadyToSynch();
}
protected void computeReadyToSynch() {
- boolean result = true;
- for (NuitonValidatorResult nuitonValidatorResult : validator.values()) {
- if (nuitonValidatorResult.hasErrorMessagess() || nuitonValidatorResult.hasFatalMessages()) {
- result = false;
- break;
+ boolean result = Cruises.isDirty(cruise);
+ if (result) {
+ for (NuitonValidatorResult nuitonValidatorResult : validator.values()) {
+ if (nuitonValidatorResult.hasErrorMessagess() || nuitonValidatorResult.hasFatalMessages()) {
+ result = false;
+ break;
+ }
}
}
if (log.isInfoEnabled()) {
@@ -113,13 +119,13 @@
}
public void setReadyToSynch(boolean readyToSynch) {
- Object oldValue = isReadyToSynch();
this.readyToSynch = readyToSynch;
- firePropertyChange(PROPERTY_READY_TO_SYNCH, oldValue, readyToSynch);
+ firePropertyChange(PROPERTY_READY_TO_SYNCH, null /*force to fire the changes*/, readyToSynch);
}
public void setCruise(Cruise cruise) {
this.cruise = cruise;
+ computeReadyToSynch();
}
public Cruise getCruise() {
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-04-25 07:53:52 UTC (rev 1732)
@@ -1579,6 +1579,9 @@
tutti.validateCruise.navigation.action.export.operation=
tutti.validateCruise.navigation.action.export.operation.mnemonic=
tutti.validateCruise.navigation.action.export.operation.tip=
+tutti.validateCruise.navigation.action.readyToSynch=
+tutti.validateCruise.navigation.action.readyToSynch.mnemonic=
+tutti.validateCruise.navigation.action.readyToSynch.tip=
tutti.validateCruise.navigation.title=
tutti.validationCruise.action.saveCruiseToReadyToSynch.message=
tutti.validationCruise.action.saveCruiseToReadyToSynch.tip=
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-04-24 15:27:22 UTC (rev 1731)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-04-25 07:53:52 UTC (rev 1732)
@@ -1563,6 +1563,9 @@
tutti.validateCruise.navigation.action.export.operation=Exporter
tutti.validateCruise.navigation.action.export.operation.mnemonic=x
tutti.validateCruise.navigation.action.export.operation.tip=Exporter les messages de validation de l'opération
+tutti.validateCruise.navigation.action.readyToSynch=Rendre les données synchronisables
+tutti.validateCruise.navigation.action.readyToSynch.mnemonic=S
+tutti.validateCruise.navigation.action.readyToSynch.tip=Rendre les données synchronisables vers Harmonie
tutti.validateCruise.navigation.title=Traits
tutti.validationCruise.action.saveCruiseToReadyToSynch.message=<html>Voulez vous rendre vos données synchronisables vers Harmonie ?</html>
tutti.validationCruise.action.saveCruiseToReadyToSynch.tip=Rendre les données synchronisables vers Harmonie
1
0
24 Apr '14
See <http://ci.codelutin.com/jenkins/job/tutti-nightly/27/changes>
Changes:
[Tony CHEMIT] refs-60 #4979
[Tony CHEMIT] refs #4959 : refactor batch model + improve tuttipersistence design
[Tony CHEMIT] fixes #4978
------------------------------------------
[...truncated 52 lines...]
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TechnicalPersistenceService.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SamplePersistenceHelper.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AbstractPersistenceService.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/MeasurementPersistenceHelper.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
AU tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/referential/CaracteristicQualitativeValues.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntities.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
U tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java
D tutti-persistence/src/main/resources/queries-override.hbm.xml
U tutti-persistence/src/main/resources/ehcache.xml
U tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
U tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
AU tutti-persistence/src/main/resources/applicationContext-conf-tutti.xml
U tutti-persistence/src/main/resources/tuttiBeanRefFactory.xml
AU tutti-persistence/src/main/resources/queries-failsafe.hbm.xml
AU tutti-persistence/src/main/resources/tutti-conf.xml
U tutti-persistence/src/main/resources/applicationContext-service-tutti.xml
U tutti-persistence/src/main/resources/tutti-db-enumerations.properties
U tutti-persistence/src/main/xmi/tutti-persistence.zargo
At revision 1718
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.36.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 45542
<===[JENKINS REMOTING CAPACITY]===> channel started
log4j:WARN No appenders could be found for logger (org.apache.commons.beanutils.converters.BooleanConverter).
log4j:WARN Please initialize the log4j system properly.
Executing Maven: -B -f <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/pom.xml> -s /var/local/forge/data/codelutin.com/maven/settings.xml -e -U clean install -DperformRelease -Dredmine.skipGenerateChanges
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] Tutti
[INFO] Tutti :: Persistence
[INFO] Tutti :: Ichtyometer API
[INFO] Tutti :: Service
[INFO] Tutti :: UI
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti ---
[INFO] Deleting <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (ensure-no-container-api) @ tutti ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-release-properties) @ tutti ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-redmine-login) @ tutti ---
[INFO] Exporting server [redmine-forge.codelutin.com] privateKey in ${redmine.apiKey}
[INFO]
[INFO] --- license-maven-plugin:1.6:update-project-license (attach-licenses) @ tutti ---
[INFO] Will create or update license file [gpl_v3] to <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/LICENSE.txt>
[INFO]
[INFO] --- license-maven-plugin:1.6:add-third-party (attach-licenses) @ tutti ---
[WARNING] The goal is skip due to packaging 'pom'
[INFO]
[INFO] --- license-maven-plugin:1.6:update-file-header (update-file-header-on-pom) @ tutti ---
[INFO] Will search files to update from root <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk>
[INFO] Scan 1 file header done in 31.927ms.
[INFO] All files are up-to-date.
[INFO]
[INFO] --- license-maven-plugin:1.6:update-file-header (update-file-header) @ tutti ---
[INFO] Will search files to update from root <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/src>
[INFO] Scan 9 files header done in 56.85ms.
[INFO] All files are up-to-date.
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.10:check (default) @ tutti ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java17:1.0
[INFO]
[INFO] --- jredmine-maven-plugin:1.8.1:generate-changes (jredmine-generate-changes) @ tutti ---
[INFO] Skipping goal (skipGenerateChanges flag is on).
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ tutti ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/surefire-…>
[INFO] Executed tasks
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (copy tutti-application.properties to site) @ tutti ---
[WARNING] Parameter tasks is deprecated, use target instead
[INFO] Executing tasks
main:
[echo] copy tutti-application.properties to site
[copy] Copying 1 file to <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/update>
[copy] Copying <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/src/update/tutti…> to <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/update/tu…>
[INFO] Executed tasks
[INFO]
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) @ tutti >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (ensure-no-container-api) @ tutti ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-release-properties) @ tutti ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-redmine-login) @ tutti ---
[INFO] Skipping goal (runOnce flag is on and goal was already executed).
[WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo
[INFO]
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) @ tutti <<<
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ tutti ---
[INFO]
[INFO] --- maven-javadoc-plugin:2.9.1:jar (attach-javadocs) @ tutti ---
[INFO] Not executing Javadoc as the project is not a Java classpath-capable package
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ tutti ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-pgp-passphrase) @ tutti ---
[INFO] Exporting server [gpg-signer] username in ${gpg.keyname}
[INFO] Exporting server [gpg-signer] password in ${gpg.passphrase}
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-artifacts) @ tutti ---
[INFO] Copying pom.xml to <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/collect/f…>
[INFO] Copying tutti-3.5-SNAPSHOT-site_fr.xml to <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/collect/f…>
[INFO]
[INFO] --- helper-maven-plugin:2.1:collect-files (collect-build-attachements) @ tutti ---
[WARNING] Skipping goal (No file to collect).
[INFO]
[INFO] --- maven-gpg-plugin:1.5:sign (sign-artifacts) @ tutti ---
[INFO]
[INFO] --- maven-dependency-plugin:2.8:analyze-only (analyze) @ tutti ---
[INFO] Skipping pom project
[INFO]
[INFO] --- maven-install-plugin:2.5.1:install (default-install) @ tutti ---
[INFO] Installing <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/pom.xml> to /var/local/forge/data/codelutin.com/maven/repository/fr/ifremer/tutti/3.5-SNAPSHOT/tutti-3.5-SNAPSHOT.pom
[INFO] Installing <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/tutti-3.5…> to /var/local/forge/data/codelutin.com/maven/repository/fr/ifremer/tutti/3.5-SNAPSHOT/tutti-3.5-SNAPSHOT-site_fr.xml
[INFO] Installing <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/tutti-3.5…> to /var/local/forge/data/codelutin.com/maven/repository/fr/ifremer/tutti/3.5-SNAPSHOT/tutti-3.5-SNAPSHOT.pom.asc
[INFO] Installing <http://ci.codelutin.com/jenkins/job/tutti-nightly/ws/trunk/target/tutti-3.5…> to /var/local/forge/data/codelutin.com/maven/repository/fr/ifremer/tutti/3.5-SNAPSHOT/tutti-3.5-SNAPSHOT-site_fr.xml.asc
[JENKINS] Archiving disabled
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: Persistence 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/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.2-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.2-SNAPSHOT is missing, no dependency information available
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: http://nexus.nuiton.org/nexus/content/repositories/snapshots/fr/ifremer/ada…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[INFO] Downloading: https://nexus.nuiton.org/nexus/content/groups/tutti-group/fr/ifremer/adagio…
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [ 10.098 s]
[INFO] Tutti :: Persistence .............................. FAILURE [ 0.981 s]
[INFO] Tutti :: Ichtyometer API .......................... SKIPPED
[INFO] Tutti :: Service .................................. SKIPPED
[INFO] Tutti :: UI ....................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.844 s
[INFO] Finished at: 2014-04-22T00:50:58+01:00
[INFO] Final Memory: 40M/384M
[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.2-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.2-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.2-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.2-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.2-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.2-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.2-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.2-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.2-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.2-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.2-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.2-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.2-SNAPSHOT, fr.ifremer.adagio:adagio-core-allegro:jar:3.5.2-SNAPSHOT: Could not find artifact fr.ifremer.adagio:adagio-core-shared:jar:3.5.2-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.2-SNAPSHOT in snapshots (http://nexus.nuiton.org/nexus/content/repositories/snapshots)
at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1012)
at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1004)
at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:725)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
... 3 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionExcept…
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :tutti-persistence
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com chemit+codelutin-ci(a)codelutin.com
channel stopped
Skipping sonar analysis due to bad build status FAILURE
1
3
Build failed in Jenkins: tutti-nightly » Tutti :: Persistence #27
by admin+ci-codelutin.com@codelutin.com 24 Apr '14
by admin+ci-codelutin.com@codelutin.com 24 Apr '14
24 Apr '14
See <http://ci.codelutin.com/jenkins/job/tutti-nightly/fr.ifremer.tutti$tutti-pe…>
Changes:
[Tony CHEMIT] refs-60 #4979
[Tony CHEMIT] refs #4959 : refactor batch model + improve tuttipersistence design
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: Persistence 3.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[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.2-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.2-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
24 Apr '14
Author: tchemit
Date: 2014-04-24 17:27:22 +0200 (Thu, 24 Apr 2014)
New Revision: 1731
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1731
Log:
refs #4958
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java
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/CruisePersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java
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/java/fr/ifremer/tutti/ui/swing/action/EditCruiseFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportOperationValidationMessagesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateSelectedCruiseCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/pom.xml 2014-04-24 15:27:22 UTC (rev 1731)
@@ -289,6 +289,12 @@
<groupId>org.apache.struts.xwork</groupId>
<artifactId>xwork-core</artifactId>
<version>2.3.16</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javassist</groupId>
+ <artifactId>javassist</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- JAXX -->
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-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -544,6 +544,11 @@
}
@Override
+ public void setCruiseReadyToSynch(String cruiseId) {
+ cruiseService.setCruiseReadyToSynch(cruiseId);
+ }
+
+ @Override
public CaracteristicMap getGearCaracteristics(String cruiseId, String gearId, short rankOrder) {
return cruiseService.getGearCaracteristics(cruiseId, gearId, rankOrder);
}
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-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -365,6 +365,11 @@
}
@Override
+ public void setCruiseReadyToSynch(String cruiseId) {
+ throw notImplemented();
+ }
+
+ @Override
public CaracteristicMap getGearCaracteristics(String cruiseId, String gearId, short rankOrder) {
throw notImplemented();
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceService.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -52,6 +52,9 @@
@Transactional(readOnly = false)
Cruise saveCruise(Cruise bean, boolean updateVessel, boolean updateGear);
+ @Transactional(readOnly = false)
+ void setCruiseReadyToSynch(String cruiseId) ;
+
CaracteristicMap getGearCaracteristics(String cruiseId, String gearId, short rankOrder);
@Transactional(readOnly = false)
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -381,6 +381,11 @@
}
@Override
+ public void setCruiseReadyToSynch(String cruiseId) {
+ synchronizationStatusHelper.setCruiseReadyToSynch(cruiseId);
+ }
+
+ @Override
public CaracteristicMap getGearCaracteristics(String cruiseId,
String gearId,
short rankOrder) {
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -50,7 +50,7 @@
}
}
- public void setReadyToSynch(String cruiseId) {
+ public void setCruiseReadyToSynch(String cruiseId) {
String oldStatus = getDirtyValue();
String newStatus = SynchronizationStatus.READY_TO_SYNCHRONIZE.getValue();
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-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -1018,6 +1018,11 @@
}
@Override
+ public void setCruiseReadyToSynch(String cruiseId) {
+ driver.setCruiseReadyToSynch(cruiseId);
+ }
+
+ @Override
public CaracteristicMap getGearCaracteristics(String cruiseId, String gearId, short rankOrder) {
return driver.getGearCaracteristics(cruiseId, gearId, rankOrder);
}
Modified: trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties 2014-04-24 15:27:22 UTC (rev 1731)
@@ -39,7 +39,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Mon Apr 21 10:43:33 CEST 2014
+#Thu Apr 24 15:55:59 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
-javassist--javassist--3.11.0.GA=The Apache Software License, Version 2.0
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditCruiseFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditCruiseFishingOperationAction.java 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditCruiseFishingOperationAction.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -85,7 +85,7 @@
NuitonValidatorResult validationResult = validationService.validateCruiseOperation(operation);
ValidateCruiseUIModel uiModel = getModel();
- uiModel.getValidator().put(uiModel.getSelectedFishingOperation(), validationResult);
+ uiModel.addValidatorResult(uiModel.getSelectedFishingOperation(), validationResult);
getHandler().updateCurrentOperationNode(validationResult);
@@ -128,7 +128,7 @@
NuitonValidatorResult validationResult = validationService.validateCruiseOperation(catchBatch);
ValidateCruiseUIModel uiModel = getModel();
- uiModel.getValidator().put(uiModel.getSelectedFishingOperation(), validationResult);
+ uiModel.addValidatorResult(uiModel.getSelectedFishingOperation(), validationResult);
getHandler().updateCurrentOperationNode(validationResult);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportOperationValidationMessagesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportOperationValidationMessagesAction.java 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportOperationValidationMessagesAction.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -30,6 +30,7 @@
import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI;
import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIHandler;
import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIModel;
+import org.nuiton.validator.NuitonValidatorResult;
import java.io.File;
@@ -74,7 +75,8 @@
public void doAction() throws Exception {
ValidateCruiseUIModel uiModel = getModel();
FishingOperation operation = getModel().getSelectedFishingOperation();
- validationService.exportValidationResult(file, operation, uiModel.getValidator().get(operation));
+ NuitonValidatorResult validatorResult = uiModel.getValidatorResult(operation);
+ validationService.exportValidationResult(file, operation, validatorResult);
}
@Override
Added: 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 (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -0,0 +1,64 @@
+package fr.ifremer.tutti.ui.swing.action;
+
+import com.google.common.base.Preconditions;
+import fr.ifremer.tutti.service.PersistenceService;
+import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI;
+import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIHandler;
+import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIModel;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.swing.JOptionPane;
+
+import static org.nuiton.i18n.I18n.t;
+
+/**
+ * Created on 4/24/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.5
+ */
+public class SaveCruiseToReadyToSynchAction extends AbstractTuttiAction<ValidateCruiseUIModel, ValidateCruiseUI, ValidateCruiseUIHandler> {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(SaveCruiseToReadyToSynchAction.class);
+
+ protected boolean askUserToConfirm;
+
+ public SaveCruiseToReadyToSynchAction(ValidateCruiseUIHandler handler) {
+ super(handler, false);
+ setActionDescription(t("tutti.validationCruise.action.saveCruiseToReadyToSynch.tip"));
+ }
+
+ public void setAskUserToConfirm(boolean askUserToConfirm) {
+ this.askUserToConfirm = askUserToConfirm;
+ }
+
+ @Override
+ public boolean prepareAction() throws Exception {
+ boolean doAction = super.prepareAction();
+ if (doAction && askUserToConfirm) {
+ int answer = JOptionPane.showConfirmDialog(getContext().getActionUI(),
+ t("tutti.validationCruise.action.saveCruiseToReadyToSynch.message"),
+ t("tutti.validationCruise.action.saveCruiseToReadyToSynch.title"),
+ JOptionPane.YES_NO_OPTION);
+ doAction = answer == JOptionPane.YES_OPTION;
+ }
+ return doAction;
+ }
+
+ @Override
+ public void doAction() throws Exception {
+
+ Preconditions.checkState(getContext().isProgramFilled());
+ Preconditions.checkState(getContext().isCruiseFilled());
+
+ PersistenceService persistenceService = getContext().getPersistenceService();
+ String cruiseId = getModel().getCruise().getId();
+
+ if (log.isInfoEnabled()) {
+ log.info("Pass synchronizationStatus to *ready to synch* for cruise: " + cruiseId);
+ }
+ persistenceService.setCruiseReadyToSynch(cruiseId);
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveCruiseToReadyToSynchAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateCatchesAction.java 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateCatchesAction.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -28,6 +28,8 @@
import fr.ifremer.tutti.service.ValidationService;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
+import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUI;
+import fr.ifremer.tutti.ui.swing.content.cruise.ValidateCruiseUIModel;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -57,4 +59,13 @@
}
super.doAction();
}
+
+ @Override
+ public void postSuccessAction() {
+ super.postSuccessAction();
+
+ ValidateCruiseUI currentBody = (ValidateCruiseUI) handler.getCurrentBody();
+ ValidateCruiseUIModel model = currentBody.getModel();
+
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateSelectedCruiseCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateSelectedCruiseCatchesAction.java 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ValidateSelectedCruiseCatchesAction.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -49,6 +49,7 @@
@Override
public void doAction() throws Exception {
+ Preconditions.checkState(getContext().isProgramFilled());
Preconditions.checkState(getContext().isCruiseFilled());
getContext().setValidationContext(ValidationService.VALIDATION_CONTEXT_VALIDATE);
if (log.isInfoEnabled()) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -561,4 +561,8 @@
public void setBodyTitle(String title) {
ui.getBody().setTitle(title);
}
+
+ public JComponent getCurrentBody() {
+ return currentBody;
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIHandler.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -27,11 +27,12 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-import org.nuiton.jaxx.application.swing.action.ApplicationActionUIModel;
-import org.nuiton.jaxx.application.swing.util.CloseableUI;
import fr.ifremer.tutti.persistence.ProgressionModel;
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
+import fr.ifremer.tutti.persistence.entities.data.Cruises;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.ui.swing.action.EditCruiseFishingOperationAction;
+import fr.ifremer.tutti.ui.swing.action.SaveCruiseToReadyToSynchAction;
import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.util.RemoveablePropertyChangeListener;
@@ -39,6 +40,9 @@
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.decorator.Decorator;
+import org.nuiton.jaxx.application.swing.action.ApplicationActionUIModel;
+import org.nuiton.jaxx.application.swing.util.CloseableUI;
import org.nuiton.validator.NuitonValidatorResult;
import org.nuiton.validator.NuitonValidatorScope;
@@ -58,6 +62,7 @@
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -74,17 +79,21 @@
protected EditCruiseFishingOperationAction editFishingOperationAction;
+ protected SaveCruiseToReadyToSynchAction saveCruiseToReadyToSynchAction;
+
@Override
public void beforeInit(ValidateCruiseUI ui) {
super.beforeInit(ui);
ValidateCruiseUIModel model = new ValidateCruiseUIModel();
-
+ model.setCruise(getDataContext().getCruise());
ProgressionModel progressionModel = new ProgressionModel();
ApplicationActionUIModel actionUIModel = getContext().getActionUI().getModel();
actionUIModel.setProgressionModel(progressionModel);
- model.setValidator(getValidateCruiseOperationsService().validateCruiseOperations(progressionModel));
+ Map<FishingOperation, NuitonValidatorResult> validator = getValidateCruiseOperationsService().validateCruiseOperations(progressionModel);
+
+ model.setValidator(validator);
actionUIModel.setProgressionModel(null);
model.addPropertyChangeListener(ValidateCruiseUIModel.PROPERTY_SELECTED_FISHING_OPERATION,
@@ -95,37 +104,49 @@
editFishingOperationAction.setFishingOperation(operation);
getContext().getActionEngine().runAction(editFishingOperationAction);
}
- });
+ }
+ );
+ model.addPropertyChangeListener(ValidateCruiseUIModel.PROPERTY_READY_TO_SYNCH, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ saveReadyToSynch();
+ }
+ });
this.ui.setContextValue(model);
}
@Override
public void afterInit(ValidateCruiseUI ui) {
- initUI(this.ui);
+ initUI(ui);
editFishingOperationAction = getContext().getActionFactory().createLogicAction(this, EditCruiseFishingOperationAction.class);
+ saveCruiseToReadyToSynchAction = getContext().getActionFactory().createLogicAction(this, SaveCruiseToReadyToSynchAction.class);
+ saveCruiseToReadyToSynchAction.setAskUserToConfirm(true);
+ ui.getOperationPanel().getModel().setSelectedFishingOperation(null);
- this.ui.getOperationPanel().getModel().setSelectedFishingOperation(null);
-
DefaultMutableTreeNode root = new DefaultMutableTreeNode();
- Map<FishingOperation, NuitonValidatorResult> validator = getModel().getValidator();
- for (FishingOperation operation : validator.keySet()) {
- NuitonValidatorResult result = validator.get(operation);
+ ValidateCruiseUIModel uiModel = getModel();
+ for (FishingOperation operation : uiModel.getFishingOperations()) {
+ NuitonValidatorResult result = uiModel.getValidatorResult(operation);
OperationTreeNode node = new OperationTreeNode(operation, result);
root.add(node);
}
TreeModel model = new DefaultTreeModel(root);
- JTree navigation = this.ui.getNavigation();
+ JTree navigation = ui.getNavigation();
navigation.setModel(model);
- navigation.setCellRenderer(new ValidationTreeCellRenderer());
+
+ Decorator<FishingOperation> fishingOperationDecorator = getDecorator(FishingOperation.class, null);
+ navigation.setCellRenderer(new ValidationTreeCellRenderer(fishingOperationDecorator));
SwingUtil.expandTree(navigation);
SwingUtil.addExpandOnClickListener(navigation);
- FishingOperationsUI operationPanel = this.ui.getOperationPanel();
+ FishingOperationsUI operationPanel = ui.getOperationPanel();
operationPanel.getTopPanel().setVisible(false);
+
+ saveReadyToSynch();
}
@Override
@@ -220,10 +241,26 @@
navigation.setSelectionPath(selectionPath);
}
- protected class ValidationTreeCellRenderer extends DefaultTreeCellRenderer {
+ protected void saveReadyToSynch() {
+ ValidateCruiseUIModel model = getModel();
+ Cruise cruise = model.getCruise();
+ if (model.isReadyToSynch() && Cruises.isDirty(cruise) && saveCruiseToReadyToSynchAction != null) {
+ // ask user to synch ?
+ getContext().getActionEngine().runAction(saveCruiseToReadyToSynchAction);
+ }
+ }
+
+ protected static class ValidationTreeCellRenderer extends DefaultTreeCellRenderer {
+
private static final long serialVersionUID = 1L;
+ private final Decorator<FishingOperation> fishingOperationDecorator;
+
+ public ValidationTreeCellRenderer(Decorator<FishingOperation> fishingOperationDecorator) {
+ this.fishingOperationDecorator = fishingOperationDecorator;
+ }
+
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
JLabel label = (JLabel) super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
@@ -231,7 +268,7 @@
if (value != null) {
if (value instanceof OperationTreeNode) {
OperationTreeNode node = (OperationTreeNode) value;
- String text = getDecorator(FishingOperation.class, null).toString(node.getUserObject());
+ String text = fishingOperationDecorator.toString(node.getUserObject());
label.setText(text);
label.setToolTipText(text);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ValidateCruiseUIModel.java 2014-04-24 15:27:22 UTC (rev 1731)
@@ -24,6 +24,8 @@
* #L%
*/
+import com.google.common.collect.ImmutableSet;
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -31,6 +33,7 @@
import org.nuiton.validator.NuitonValidatorResult;
import java.util.Map;
+import java.util.Set;
/**
* @author kmorin <kmorin(a)codelutin.com>
@@ -41,21 +44,22 @@
private static final long serialVersionUID = 1L;
/** Logger. */
- private static final Log log =
- LogFactory.getLog(ValidateCruiseUIModel.class);
+ private static final Log log = LogFactory.getLog(ValidateCruiseUIModel.class);
public static final String PROPERTY_SELECTED_FISHING_OPERATION = "selectedFishingOperation";
public static final String PROPERTY_VALIDATOR = "validator";
- public static final String PROPERTY_CAN_SYNCH = "canSynch";
+ public static final String PROPERTY_READY_TO_SYNCH = "readyToSynch";
protected FishingOperation selectedFishingOperation;
protected Map<FishingOperation, NuitonValidatorResult> validator;
- protected boolean canSynch;
+ protected boolean readyToSynch;
+ protected Cruise cruise;
+
public FishingOperation getSelectedFishingOperation() {
return selectedFishingOperation;
}
@@ -70,19 +74,55 @@
return validator;
}
+ public Set<FishingOperation> getFishingOperations() {
+ return ImmutableSet.<FishingOperation>builder().addAll(validator.keySet()).build();
+ }
+
+ public NuitonValidatorResult getValidatorResult(FishingOperation fishingOperation) {
+ return validator.get(fishingOperation);
+ }
+
public void setValidator(Map<FishingOperation, NuitonValidatorResult> validator) {
Object oldValue = getValidator();
this.validator = validator;
firePropertyChange(PROPERTY_VALIDATOR, oldValue, validator);
}
- public boolean isCanSynch() {
- return canSynch;
+ public void addValidatorResult(FishingOperation fishingOperation, NuitonValidatorResult validatorResult) {
+ validator.put(fishingOperation, validatorResult);
+ firePropertyChange(PROPERTY_VALIDATOR, null, validator);
+ computeReadyToSynch();
}
- public void setCanSynch(boolean canSynch) {
- Object oldValue = isCanSynch();
- this.canSynch = canSynch;
- firePropertyChange(PROPERTY_CAN_SYNCH, oldValue, canSynch);
+ protected void computeReadyToSynch() {
+ boolean result = true;
+ for (NuitonValidatorResult nuitonValidatorResult : validator.values()) {
+ if (nuitonValidatorResult.hasErrorMessagess() || nuitonValidatorResult.hasFatalMessages()) {
+ result = false;
+ break;
+ }
+ }
+ if (log.isInfoEnabled()) {
+ log.info("New readyToSynch value: " + result);
+ }
+ setReadyToSynch(result);
}
+
+ public boolean isReadyToSynch() {
+ return readyToSynch;
+ }
+
+ public void setReadyToSynch(boolean readyToSynch) {
+ Object oldValue = isReadyToSynch();
+ this.readyToSynch = readyToSynch;
+ firePropertyChange(PROPERTY_READY_TO_SYNCH, oldValue, readyToSynch);
+ }
+
+ public void setCruise(Cruise cruise) {
+ this.cruise = cruise;
+ }
+
+ public Cruise getCruise() {
+ return cruise;
+ }
}
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-04-24 15:27:22 UTC (rev 1731)
@@ -1580,6 +1580,9 @@
tutti.validateCruise.navigation.action.export.operation.mnemonic=
tutti.validateCruise.navigation.action.export.operation.tip=
tutti.validateCruise.navigation.title=
+tutti.validationCruise.action.saveCruiseToReadyToSynch.message=
+tutti.validationCruise.action.saveCruiseToReadyToSynch.tip=
+tutti.validationCruise.action.saveCruiseToReadyToSynch.title=
tutti.validator.error.benthosFrequency.lengthStepCaracteristic.required=
tutti.validator.error.benthosFrequency.oneRowRequired=
tutti.validator.error.benthosFrequency.step.positiveValue=
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-04-24 11:01:46 UTC (rev 1730)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-04-24 15:27:22 UTC (rev 1731)
@@ -1564,6 +1564,9 @@
tutti.validateCruise.navigation.action.export.operation.mnemonic=x
tutti.validateCruise.navigation.action.export.operation.tip=Exporter les messages de validation de l'opération
tutti.validateCruise.navigation.title=Traits
+tutti.validationCruise.action.saveCruiseToReadyToSynch.message=<html>Voulez vous rendre vos données synchronisables vers Harmonie ?</html>
+tutti.validationCruise.action.saveCruiseToReadyToSynch.tip=Rendre les données synchronisables vers Harmonie
+tutti.validationCruise.action.saveCruiseToReadyToSynch.title=Rendre synchronisable les données vers Harmonie
tutti.validator.error.benthosFrequency.lengthStepCaracteristic.required=La classe de taille est obligatoire
tutti.validator.error.benthosFrequency.oneRowRequired=Au moins une classe de taille doit être observée
tutti.validator.error.benthosFrequency.step.positiveValue=Le pas de la classe de taille doit être strictement positif
1
0
The Tutti team is pleased to announce the tutti-3.4 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
-------
No changes defined in this version.
Downloads
---------
For a manual installation, you can download files here:
http://forge.codelutin.com/projects/tutti/files
* tutti-3.4-full-linux-i586.zip - http://forge.codelutin.com/attachments/download/1769
* tutti-3.4-full-windows-i586.zip - http://forge.codelutin.com/attachments/download/1770
* tutti-ichtyometer-3.4-tools.zip - http://forge.codelutin.com/attachments/download/1771
Maven artifacts
---------------
Artifacts are deployed in nuiton maven repository
http://maven.nuiton.org/other-releases/
Have fun!
-Tutti team
1
0
r1730 - in branches/tutti-3.4: . tutti-ichtyometer tutti-persistence tutti-service tutti-ui-swing
by maven-release@users.forge.codelutin.com 24 Apr '14
by maven-release@users.forge.codelutin.com 24 Apr '14
24 Apr '14
Author: maven-release
Date: 2014-04-24 13:01:46 +0200 (Thu, 24 Apr 2014)
New Revision: 1730
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1730
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
branches/tutti-3.4/pom.xml
branches/tutti-3.4/tutti-ichtyometer/pom.xml
branches/tutti-3.4/tutti-persistence/pom.xml
branches/tutti-3.4/tutti-service/pom.xml
branches/tutti-3.4/tutti-ui-swing/pom.xml
Modified: branches/tutti-3.4/pom.xml
===================================================================
--- branches/tutti-3.4/pom.xml 2014-04-24 11:01:40 UTC (rev 1729)
+++ branches/tutti-3.4/pom.xml 2014-04-24 11:01:46 UTC (rev 1730)
@@ -32,7 +32,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4</version>
+ <version>3.4.1-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
+ https://forge.codelutin.com/projects/tutti/repository/branches/tutti-3.4
</url>
<connection>
- scm:svn:http://svn.codelutin.com/tutti/tags/tutti-3.4
+ scm:svn:http://svn.codelutin.com/tutti/branches/tutti-3.4
</connection>
<developerConnection>
- scm:svn:https://svn.codelutin.com/tutti/tags/tutti-3.4
+ scm:svn:https://svn.codelutin.com/tutti/branches/tutti-3.4
</developerConnection>
</scm>
<distributionManagement>
Modified: branches/tutti-3.4/tutti-ichtyometer/pom.xml
===================================================================
--- branches/tutti-3.4/tutti-ichtyometer/pom.xml 2014-04-24 11:01:40 UTC (rev 1729)
+++ branches/tutti-3.4/tutti-ichtyometer/pom.xml 2014-04-24 11:01:46 UTC (rev 1730)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4</version>
+ <version>3.4.1-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: branches/tutti-3.4/tutti-persistence/pom.xml
===================================================================
--- branches/tutti-3.4/tutti-persistence/pom.xml 2014-04-24 11:01:40 UTC (rev 1729)
+++ branches/tutti-3.4/tutti-persistence/pom.xml 2014-04-24 11:01:46 UTC (rev 1730)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4</version>
+ <version>3.4.1-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: branches/tutti-3.4/tutti-service/pom.xml
===================================================================
--- branches/tutti-3.4/tutti-service/pom.xml 2014-04-24 11:01:40 UTC (rev 1729)
+++ branches/tutti-3.4/tutti-service/pom.xml 2014-04-24 11:01:46 UTC (rev 1730)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4</version>
+ <version>3.4.1-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: branches/tutti-3.4/tutti-ui-swing/pom.xml
===================================================================
--- branches/tutti-3.4/tutti-ui-swing/pom.xml 2014-04-24 11:01:40 UTC (rev 1729)
+++ branches/tutti-3.4/tutti-ui-swing/pom.xml 2014-04-24 11:01:46 UTC (rev 1730)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>3.4</version>
+ <version>3.4.1-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
1
0