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
November 2013
- 5 participants
- 100 discussions
r1351 - in trunk: . tutti-persistence tutti-service tutti-ui-swing
by maven-release@users.forge.codelutin.com 12 Nov '13
by maven-release@users.forge.codelutin.com 12 Nov '13
12 Nov '13
Author: maven-release
Date: 2013-11-12 10:33:26 +0100 (Tue, 12 Nov 2013)
New Revision: 1351
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1351
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pom.xml
trunk/tutti-persistence/pom.xml
trunk/tutti-service/pom.xml
trunk/tutti-ui-swing/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-11-12 09:33:13 UTC (rev 1350)
+++ trunk/pom.xml 2013-11-12 09:33:26 UTC (rev 1351)
@@ -32,7 +32,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.9</version>
+ <version>2.10-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Tutti</name>
@@ -86,12 +86,12 @@
</modules>
<scm>
- <url>http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.9</url>
+ <url>http://svn.forge.codelutin.com/svn/tutti/trunk</url>
<connection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.9
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
</connection>
<developerConnection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.9
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
</developerConnection>
</scm>
<distributionManagement>
Modified: trunk/tutti-persistence/pom.xml
===================================================================
--- trunk/tutti-persistence/pom.xml 2013-11-12 09:33:13 UTC (rev 1350)
+++ trunk/tutti-persistence/pom.xml 2013-11-12 09:33:26 UTC (rev 1351)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.9</version>
+ <version>2.10-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-service/pom.xml
===================================================================
--- trunk/tutti-service/pom.xml 2013-11-12 09:33:13 UTC (rev 1350)
+++ trunk/tutti-service/pom.xml 2013-11-12 09:33:26 UTC (rev 1351)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.9</version>
+ <version>2.10-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2013-11-12 09:33:13 UTC (rev 1350)
+++ trunk/tutti-ui-swing/pom.xml 2013-11-12 09:33:26 UTC (rev 1351)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.9</version>
+ <version>2.10-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
1
0
Author: maven-release
Date: 2013-11-12 10:33:13 +0100 (Tue, 12 Nov 2013)
New Revision: 1350
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1350
Log:
[maven-release-plugin] copy for tag tutti-2.9
Added:
tags/tutti-2.9/
1
0
r1349 - in trunk: . tutti-persistence tutti-service tutti-ui-swing
by maven-release@users.forge.codelutin.com 12 Nov '13
by maven-release@users.forge.codelutin.com 12 Nov '13
12 Nov '13
Author: maven-release
Date: 2013-11-12 10:33:03 +0100 (Tue, 12 Nov 2013)
New Revision: 1349
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1349
Log:
[maven-release-plugin] prepare release tutti-2.9
Modified:
trunk/pom.xml
trunk/tutti-persistence/pom.xml
trunk/tutti-service/pom.xml
trunk/tutti-ui-swing/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-11-12 09:31:38 UTC (rev 1348)
+++ trunk/pom.xml 2013-11-12 09:33:03 UTC (rev 1349)
@@ -32,7 +32,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.9</version>
<packaging>pom</packaging>
<name>Tutti</name>
@@ -86,12 +86,12 @@
</modules>
<scm>
- <url>http://svn.forge.codelutin.com/svn/tutti/trunk</url>
+ <url>http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.9</url>
<connection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.9
</connection>
<developerConnection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.9
</developerConnection>
</scm>
<distributionManagement>
Modified: trunk/tutti-persistence/pom.xml
===================================================================
--- trunk/tutti-persistence/pom.xml 2013-11-12 09:31:38 UTC (rev 1348)
+++ trunk/tutti-persistence/pom.xml 2013-11-12 09:33:03 UTC (rev 1349)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.9</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-service/pom.xml
===================================================================
--- trunk/tutti-service/pom.xml 2013-11-12 09:31:38 UTC (rev 1348)
+++ trunk/tutti-service/pom.xml 2013-11-12 09:33:03 UTC (rev 1349)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.9</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2013-11-12 09:31:38 UTC (rev 1348)
+++ trunk/tutti-ui-swing/pom.xml 2013-11-12 09:33:03 UTC (rev 1349)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.9</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
1
0
Author: tchemit
Date: 2013-11-12 10:31:38 +0100 (Tue, 12 Nov 2013)
New Revision: 1348
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1348
Log:
fixes #3765: [TECH] Updates mavenpom to 4.3
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-11-12 09:30:19 UTC (rev 1347)
+++ trunk/pom.xml 2013-11-12 09:31:38 UTC (rev 1348)
@@ -27,7 +27,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>4.1</version>
+ <version>4.3</version>
</parent>
<groupId>fr.ifremer</groupId>
1
0
Author: tchemit
Date: 2013-11-12 10:30:19 +0100 (Tue, 12 Nov 2013)
New Revision: 1347
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1347
Log:
fixes #3763: [TECH] Updates jaxx to 2.5.30
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-11-12 09:26:53 UTC (rev 1346)
+++ trunk/pom.xml 2013-11-12 09:30:19 UTC (rev 1347)
@@ -131,7 +131,7 @@
<eugenePluginVersion>2.7.2</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
- <jaxxVersion>2.5.29</jaxxVersion>
+ <jaxxVersion>2.5.30</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.15.1</xworkVersion>
1
0
Author: maven-release
Date: 2013-11-12 10:26:53 +0100 (Tue, 12 Nov 2013)
New Revision: 1346
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1346
Log:
[maven-release-plugin] rollback the release of tutti-2.9
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-11-12 09:16:35 UTC (rev 1345)
+++ trunk/pom.xml 2013-11-12 09:26:53 UTC (rev 1346)
@@ -27,7 +27,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>4.3</version>
+ <version>4.1</version>
</parent>
<groupId>fr.ifremer</groupId>
@@ -131,7 +131,7 @@
<eugenePluginVersion>2.7.2</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
- <jaxxVersion>2.5.30</jaxxVersion>
+ <jaxxVersion>2.5.29</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.15.1</xworkVersion>
1
0
Author: tchemit
Date: 2013-11-12 10:16:35 +0100 (Tue, 12 Nov 2013)
New Revision: 1345
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1345
Log:
fixes #3763: [TECH] Updates jaxx to 2.5.30
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-11-12 09:10:29 UTC (rev 1344)
+++ trunk/pom.xml 2013-11-12 09:16:35 UTC (rev 1345)
@@ -131,7 +131,7 @@
<eugenePluginVersion>2.7.2</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
- <jaxxVersion>2.5.30-SNAPSHOT</jaxxVersion>
+ <jaxxVersion>2.5.30</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.15.1</xworkVersion>
1
0
r1344 - in trunk: src/conception/specifications src/conception/specifications/Concepts-metiers tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report tutti-ui-swing/src/main/resources/icons
by tchemit@users.forge.codelutin.com 12 Nov '13
by tchemit@users.forge.codelutin.com 12 Nov '13
12 Nov '13
Author: tchemit
Date: 2013-11-12 10:10:29 +0100 (Tue, 12 Nov 2013)
New Revision: 1344
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1344
Log:
add missing svn properties + license headers
Modified:
trunk/src/conception/specifications/AllegroCampagne-Specifications.odt
trunk/src/conception/specifications/AllegroCampagne-Specifications.pdf
trunk/src/conception/specifications/Concepts-metiers/Engin.txt
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowReportAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/GenerateReportAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel.java
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel-error-validation.xml
trunk/tutti-ui-swing/src/main/resources/icons/action-report.png
trunk/tutti-ui-swing/src/main/resources/icons/action-update-report.png
Property changes on: trunk/src/conception/specifications/AllegroCampagne-Specifications.odt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/conception/specifications/AllegroCampagne-Specifications.pdf
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/conception/specifications/Concepts-metiers/Engin.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowReportAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowReportAction.java 2013-11-12 09:08:02 UTC (rev 1343)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowReportAction.java 2013-11-12 09:10:29 UTC (rev 1344)
@@ -1,5 +1,29 @@
package fr.ifremer.tutti.ui.swing.content;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowReportAction.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/GenerateReportAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/GenerateReportAction.java 2013-11-12 09:08:02 UTC (rev 1343)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/GenerateReportAction.java 2013-11-12 09:10:29 UTC (rev 1344)
@@ -1,5 +1,29 @@
package fr.ifremer.tutti.ui.swing.content.report;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.service.report.ReportModel;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/GenerateReportAction.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css 2013-11-12 09:08:02 UTC (rev 1343)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css 2013-11-12 09:10:29 UTC (rev 1344)
@@ -1,3 +1,26 @@
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
BeanFilterableComboBox {
showReset: true;
bean: {model};
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.jaxx 2013-11-12 09:08:02 UTC (rev 1343)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.jaxx 2013-11-12 09:10:29 UTC (rev 1344)
@@ -1,3 +1,26 @@
+<!--
+ #%L
+ Tutti :: UI
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2012 - 2013 Ifremer
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
+ #L%
+ -->
<JPanel id='reportTopPanel' layout='{new BorderLayout()}' decorator='help'
implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<ReportUIModel, ReportUIHandler>'>
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.jaxx
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIHandler.java 2013-11-12 09:08:02 UTC (rev 1343)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIHandler.java 2013-11-12 09:10:29 UTC (rev 1344)
@@ -1,5 +1,29 @@
package fr.ifremer.tutti.ui.swing.content.report;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import fr.ifremer.tutti.service.report.ReportService;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIHandler.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel.java 2013-11-12 09:08:02 UTC (rev 1343)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel.java 2013-11-12 09:10:29 UTC (rev 1344)
@@ -1,5 +1,29 @@
package fr.ifremer.tutti.ui.swing.content.report;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import fr.ifremer.tutti.service.report.ReportModel;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import org.nuiton.util.beans.Binder;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel-error-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel-error-validation.xml 2013-11-12 09:08:02 UTC (rev 1343)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel-error-validation.xml 2013-11-12 09:10:29 UTC (rev 1344)
@@ -1,3 +1,26 @@
+<!--
+ #%L
+ Tutti :: UI
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2012 - 2013 Ifremer
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
+ #L%
+ -->
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
Property changes on: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel-error-validation.xml
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Property changes on: trunk/tutti-ui-swing/src/main/resources/icons/action-report.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/tutti-ui-swing/src/main/resources/icons/action-update-report.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
1
0
12 Nov '13
Author: tchemit
Date: 2013-11-12 10:08:02 +0100 (Tue, 12 Nov 2013)
New Revision: 1343
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1343
Log:
refs #3624: [Rapport] Int?\195?\169gration de rapports g?\195?\169n?\195?\169r?\195?\169s par Birt (mise en place ui + service)
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowReportAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/GenerateReportAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel.java
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel-error-validation.xml
trunk/tutti-ui-swing/src/main/resources/icons/action-report.png
trunk/tutti-ui-swing/src/main/resources/icons/action-update-report.png
Modified:
trunk/pom.xml
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/report/ReportModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/report/ReportService.java
trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
trunk/tutti-service/src/main/resources/validators.xml
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.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
trunk/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/BeanValidatorDetectorTest.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/pom.xml 2013-11-12 09:08:02 UTC (rev 1343)
@@ -27,7 +27,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>4.1</version>
+ <version>4.3</version>
</parent>
<groupId>fr.ifremer</groupId>
@@ -131,7 +131,7 @@
<eugenePluginVersion>2.7.2</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
- <jaxxVersion>2.5.29</jaxxVersion>
+ <jaxxVersion>2.5.30-SNAPSHOT</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.15.1</xworkVersion>
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -69,7 +69,7 @@
"tutti.persistence.db.backup.directory",
n_("tutti.config.option.persistence.db.backup.directory.description"),
"${tutti.data.directory}/dbbackup",
- File.class),
+ File.class, false, false),
DB_CONFIGURATION_PATH(
"tutti.persistence.db.configurationPath",
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -43,6 +43,8 @@
import org.nuiton.decorator.Decorator;
import org.nuiton.decorator.DecoratorProvider;
+import java.io.File;
+
import static org.nuiton.i18n.I18n._;
import static org.nuiton.i18n.I18n.n_;
@@ -115,6 +117,7 @@
registerTuttiDecorator(SpeciesProtocol.class, "${speciesReferenceTaxonId}", SEPARATOR, " - ");
registerTuttiDecorator(Attachment.class, "${name}$s", SEPARATOR, " - ");
registerTuttiDecorator(LabelAware.class, "${label}$s", SEPARATOR, " - ");
+ registerTuttiDecorator(File.class, "${absolutePath}$s", SEPARATOR, " - ");
registerDecorator(new Decorator<Float>(Float.class) {
private static final long serialVersionUID = 1L;
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -106,6 +106,12 @@
return result;
}
+ /** @return {@link TuttiServiceConfigOption#REPORT_BACKUP_DIRECTORY} value */
+ public File getReportBackupDirectory() {
+ File result = applicationConfig.getOptionAsFile(TuttiServiceConfigOption.REPORT_DIRECTORY.getKey());
+ return result;
+ }
+
public File getTmpDirectory() {
File result = applicationConfig.getOptionAsFile(TuttiServiceConfigOption.TMP_DIRECTORY.getKey());
return result;
@@ -167,6 +173,10 @@
TuttiIOUtil.forceMkdir(
tmpDirectory,
_("tutti.service.mkDir.error", tmpDirectory));
+
+ TuttiIOUtil.forceMkdir(
+ getReportBackupDirectory(),
+ _("tutti.service.mkDir.error", getReportBackupDirectory()));
}
public void setCsvSeparator(char c) {
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -25,8 +25,8 @@
*/
import fr.ifremer.tutti.service.WeightUnit;
+import org.nuiton.config.ConfigOptionDef;
import org.nuiton.util.Version;
-import org.nuiton.config.ConfigOptionDef;
import java.io.File;
import java.net.URL;
@@ -41,6 +41,35 @@
*/
public enum TuttiServiceConfigOption implements ConfigOptionDef {
+ // TRANSIENT CONFIG
+ VERSION(
+ "tutti.version",
+ n_("tutti.config.option.version.description"),
+ "",
+ Version.class,
+ true,
+ true),
+ SITE_URL(
+ "tutti.site.url",
+ n_("tutti.config.option.site.url.description"),
+ "http://maven-site.forge.codelutin.com/tutti",
+ URL.class,
+ true,
+ true),
+ ORGANIZATION_NAME(
+ "tutti.organizationName",
+ n_("tutti.config.option.organizationName.description"),
+ "",
+ String.class,
+ true,
+ true),
+ INCEPTION_YEAR(
+ "tutti.inceptionYear",
+ n_("tutti.config.option.inceptionYear.description"),
+ "2012",
+ Integer.class,
+ true,
+ true),
BASEDIR(
"tutti.basedir",
n_("tutti.config.option.basedir.description"),
@@ -66,10 +95,18 @@
REPORT_DIRECTORY(
"tutti.report.directory",
n_("tutti.config.option.report.directory.description"),
- "${tutti.data.basedir}/report",
+ "${tutti.basedir}/report",
File.class,
true,
true),
+
+ // NOT TRANSIENT CONFIG
+
+ REPORT_BACKUP_DIRECTORY(
+ "tutti.report.backup.directory",
+ n_("tutti.config.option.report.backup.directory.description"),
+ "${tutti.data.directory}/reportbackup",
+ File.class),
CSV_SEPARATOR(
"tutti.csv.separator",
n_("tutti.config.option.csv.separator.description"),
@@ -87,35 +124,6 @@
Integer[].class
),
- // TRANSIENT CONFIG
- VERSION(
- "tutti.version",
- n_("tutti.config.option.version.description"),
- "",
- Version.class,
- true,
- true),
- SITE_URL(
- "tutti.site.url",
- n_("tutti.config.option.site.url.description"),
- "http://maven-site.forge.codelutin.com/tutti",
- URL.class,
- true,
- true),
- ORGANIZATION_NAME(
- "tutti.organizationName",
- n_("tutti.config.option.organizationName.description"),
- "",
- String.class,
- true,
- true),
- INCEPTION_YEAR(
- "tutti.inceptionYear",
- n_("tutti.config.option.inceptionYear.description"),
- "2012",
- Integer.class,
- true,
- true),
WEIGHT_UNIT_SPECIES(
"tutti.weight.unit.species",
n_("tutti.config.option.weight.unit.species.description"),
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/report/ReportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/report/ReportModel.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/report/ReportModel.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -41,7 +41,7 @@
protected File report;
/** Input data file. */
- protected File dataFile;
+ protected File inputFile;
/** Where to generate the report. */
protected File outputFile;
@@ -54,12 +54,12 @@
this.report = report;
}
- public File getDataFile() {
- return dataFile;
+ public File getInputFile() {
+ return inputFile;
}
- public void setDataFile(File dataFile) {
- this.dataFile = dataFile;
+ public void setInputFile(File inputFile) {
+ this.inputFile = inputFile;
}
public File getOutputFile() {
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/report/ReportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/report/ReportService.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/report/ReportService.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -24,10 +24,18 @@
* #L%
*/
+import com.google.common.collect.Lists;
import fr.ifremer.tutti.service.AbstractTuttiService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import java.io.File;
+import java.io.FileFilter;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.List;
+
/**
* To generate some reports.
*
@@ -39,13 +47,39 @@
private static final Log log =
LogFactory.getLog(ReportService.class);
+ public static final FileFilter REPORT_FILTER = new FileFilter() {
+ @Override
+ public boolean accept(File pathname) {
+ return pathname.isFile() &&
+ pathname.getName().endsWith(".rptdesign");
+ }
+ };
+ public static final String REPORT_FILENAME_PATTERN = "tutti-report-%s.pdf";
+
+ public static final DateFormat df = new SimpleDateFormat("yyy-MM-dd_HH-mm");
+
public void generateReport(ReportModel model) {
- // TODO
if (log.isInfoEnabled()) {
- log.info("Will generate report using ");
+ log.info("Will generate report using report " + model.getReport());
}
+ // TODO
}
+ public List<File> getAvailableReports() {
+ List<File> result = Lists.newArrayList();
+ File reportDirectory = context.getConfig().getReportDirectory();
+ File[] files = reportDirectory.listFiles(REPORT_FILTER);
+ if (files != null) {
+ result.addAll(Arrays.asList(files));
+ }
+ return result;
+ }
+
+ public File getDefaultOutputFile() {
+ String filename = String.format(REPORT_FILENAME_PATTERN, df.format(context.currentDate()));
+ File result = new File(context.getConfig().getReportBackupDirectory(), filename);
+ return result;
+ }
}
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-11-12 09:08:02 UTC (rev 1343)
@@ -9,6 +9,7 @@
tutti.config.option.export.countryId.description=
tutti.config.option.inceptionYear.description=
tutti.config.option.organizationName.description=
+tutti.config.option.report.backup.directory.description=
tutti.config.option.report.directory.description=
tutti.config.option.samplingCategoryOrderIds.description=
tutti.config.option.site.url.description=
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-11-12 09:08:02 UTC (rev 1343)
@@ -9,7 +9,8 @@
tutti.config.option.export.countryId.description=L'id du pays à utiliser pour les exports (il s'agit de la valeur LOCATION.ID).
tutti.config.option.inceptionYear.description=Année de démarrage du projet
tutti.config.option.organizationName.description=Nom de l'organisation dans la licence
-tutti.config.option.report.directory.description=
+tutti.config.option.report.backup.directory.description=Répertoire contenant les rapports générés
+tutti.config.option.report.directory.description=Répertoire contenant les modèles de rapports
tutti.config.option.samplingCategoryOrderIds.description=Ordre des catégories d'échantillonnage
tutti.config.option.site.url.description=Url du site internet de l'application
tutti.config.option.tmp.directory.description=Répertoire temporaire utilisée par l'application (est nettoyé à chaque démarrage de l'application).
Modified: trunk/tutti-service/src/main/resources/validators.xml
===================================================================
--- trunk/tutti-service/src/main/resources/validators.xml 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-service/src/main/resources/validators.xml 2013-11-12 09:08:02 UTC (rev 1343)
@@ -46,5 +46,6 @@
<validator name="collectionUniqueKey" class="org.nuiton.validator.xwork2.field.CollectionUniqueKeyValidator"/>
<validator name="fieldexpressionwithparams" class="org.nuiton.validator.xwork2.field.FieldExpressionWithParamsValidator"/>
<validator name="skipablefieldexpression" class="org.nuiton.validator.xwork2.field.NuitonFieldExpressionValidator"/>
+ <validator name="existingFile" class="org.nuiton.validator.xwork2.field.ExistingFileFieldValidator"/>
</validators>
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-11-12 09:08:02 UTC (rev 1343)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Sun Nov 10 14:15:34 CET 2013
+#Mon Nov 11 09:59:58 CET 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -302,6 +302,7 @@
tutti.main.menu.action.exit.help=menu.html\#menu_fichier
tutti.main.menu.action.importTemporaryReferential.help=menu.html\#menu_administration
tutti.main.menu.action.manageDb.help=menu.html\#menu_fichier
+tutti.main.menu.action.report.help=
tutti.main.menu.action.selectCruise.help=menu.html\#menu_action
tutti.main.menu.action.showHelp.help=menu.html\#menu_aide
tutti.main.menu.action.site.help=menu.html\#menu_aide
@@ -317,6 +318,15 @@
tutti.manageTemporaryReferential.action.importTemporarySpecies.help=menu.html\#menu_administration_referentiel
tutti.manageTemporaryReferential.action.importTemporaryVessel.help=menu.html\#menu_administration_referentiel
tutti.manageTemporaryReferential.help=menu.html\#menu_administration_referentiel
+tutti.report.action.cancel.help=
+tutti.report.action.chooseInputFile.help=
+tutti.report.action.chooseOutputFile.help=
+tutti.report.action.generate.help=
+tutti.report.action.showOutputFile.help=
+tutti.report.field.inputFile.help=
+tutti.report.field.outputFile.help=
+tutti.report.field.report.help=
+tutti.report.help=
tutti.selectCruise.action.cloneProtocol.help=selectCruise.html\#actions
tutti.selectCruise.action.deleteProtocol.help=selectCruise.html\#actions
tutti.selectCruise.action.editCatches.help=selectCruise.html\#actions
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 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-11-12 09:08:02 UTC (rev 1343)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Sun Nov 10 14:15:34 CET 2013
+#Mon Nov 11 09:59:58 CET 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -302,6 +302,7 @@
tutti.main.menu.action.exit.help=menu.html\#menu_fichier
tutti.main.menu.action.importTemporaryReferential.help=menu.html\#menu_administration
tutti.main.menu.action.manageDb.help=menu.html\#menu_fichier
+tutti.main.menu.action.report.help=
tutti.main.menu.action.selectCruise.help=menu.html\#menu_action
tutti.main.menu.action.showHelp.help=menu.html\#menu_aide
tutti.main.menu.action.site.help=menu.html\#menu_aide
@@ -317,6 +318,15 @@
tutti.manageTemporaryReferential.action.importTemporarySpecies.help=menu.html\#menu_administration_referentiel
tutti.manageTemporaryReferential.action.importTemporaryVessel.help=menu.html\#menu_administration_referentiel
tutti.manageTemporaryReferential.help=menu.html\#menu_administration_referentiel
+tutti.report.action.cancel.help=
+tutti.report.action.chooseInputFile.help=
+tutti.report.action.chooseOutputFile.help=
+tutti.report.action.generate.help=
+tutti.report.action.showOutputFile.help=
+tutti.report.field.inputFile.help=
+tutti.report.field.outputFile.help=
+tutti.report.field.report.help=
+tutti.report.help=
tutti.selectCruise.action.cloneProtocol.help=selectCruise.html\#actions
tutti.selectCruise.action.deleteProtocol.help=selectCruise.html\#actions
tutti.selectCruise.action.editCatches.help=selectCruise.html\#actions
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiScreen.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -99,5 +99,11 @@
*
* @since 1.4
*/
- VALIDATE_CRUISE
+ VALIDATE_CRUISE,
+ /**
+ * To run reports.
+ *
+ * @since 2.9
+ */
+ REPORT
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -49,6 +49,7 @@
import fr.ifremer.tutti.service.pupitri.PupitriImportExportService;
import fr.ifremer.tutti.service.referential.ReferentialImportExportService;
import fr.ifremer.tutti.service.referential.TuttiReferentialSynchronizeService;
+import fr.ifremer.tutti.service.report.ReportService;
import fr.ifremer.tutti.service.sumatra.CatchesSumatraExportService;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import fr.ifremer.tutti.ui.swing.content.MainUI;
@@ -582,6 +583,10 @@
return serviceContext.getService(MultiPostExportService.class);
}
+ public ReportService getReportService() {
+ return serviceContext.getService(ReportService.class);
+ }
+
public boolean useRealPersistenceService() {
return isDbExist() && isDbLoaded();
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2013-11-12 09:08:02 UTC (rev 1343)
@@ -37,6 +37,7 @@
#menuFile {
text: "tutti.main.menu.file";
toolTipText: "tutti.main.menu.file.tip";
+ toolTipText: "tutti.main.menu.file.tip";
i18nMnemonic: "tutti.main.menu.file.mnemonic";
}
@@ -60,6 +61,16 @@
_help: {"tutti.main.menu.action.editSampleCategoryModel.help"};
}
+#menuFileReport {
+ actionIcon: report;
+ text: "tutti.main.action.report";
+ toolTipText: "tutti.main.action.report.tip";
+ i18nMnemonic: "tutti.main.action.report.mnemonic";
+ enabled: {model.getScreen() != TuttiScreen.REPORT};
+ _tuttiAction: {ShowReportAction.class};
+ _help: {"tutti.main.menu.action.report.help"};
+}
+
#menuFileExit {
actionIcon: exit;
text: "tutti.main.action.exit";
@@ -69,7 +80,7 @@
_help: {"tutti.main.menu.action.exit.help"};
}
-#menuActionUpdateApplication {
+#menuFileUpdateApplication {
actionIcon: update-application;
text: "tutti.main.action.updateApplication";
toolTipText: "tutti.main.action.updateApplication.tip";
@@ -78,8 +89,8 @@
_help: {"tutti.main.menu.action.updateApplication.help"};
}
-#menuActionUpdateReport {
- actionIcon: update-application;
+#menuFileUpdateReport {
+ actionIcon: update-report;
text: "tutti.main.action.updateReport";
toolTipText: "tutti.main.action.updateReport.tip";
i18nMnemonic: "tutti.main.action.updateReport.mnemonic";
@@ -87,7 +98,7 @@
_help: {"tutti.main.menu.action.updateReport.help"};
}
-#menuActionManageDb {
+#menuFileManageDb {
actionIcon: manage-db;
text: "tutti.main.action.manageDb";
toolTipText: "tutti.main.action.manageDb.tip";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-11-12 09:08:02 UTC (rev 1343)
@@ -66,11 +66,13 @@
<JMenuBar id='menu'>
<JMenu id='menuFile'>
<JMenuItem id='menuFileConfiguration'/>
- <JMenuItem id='menuActionUpdateApplication'/>
- <JMenuItem id='menuActionUpdateReport'/>
+ <JMenuItem id='menuFileUpdateApplication'/>
+ <JMenuItem id='menuFileUpdateReport'/>
<JSeparator/>
- <JMenuItem id='menuActionManageDb'/>
+ <JMenuItem id='menuFileManageDb'/>
<JSeparator/>
+ <JMenuItem id='menuFileReport'/>
+ <JSeparator/>
<JMenuItem id='menuFileExit'/>
</JMenu>
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 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -48,6 +48,7 @@
import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI;
import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIHandler;
import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUI;
+import fr.ifremer.tutti.ui.swing.content.report.ReportUI;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.util.CloseableUI;
import fr.ifremer.tutti.ui.swing.util.RemoveablePropertyChangeListener;
@@ -446,7 +447,7 @@
screenUI = new DbManagerUI(ui);
screenTitle = _("tutti.dbMabager.title");
- icon = ui.getMenuActionManageDb().getIcon();
+ icon = ui.getMenuFileManageDb().getIcon();
break;
case SELECT_CRUISE:
@@ -486,7 +487,6 @@
case EDIT_FISHING_OPERATION:
- // edit operations
screenTitle = _("tutti.fishingOperations.title.edit.operations", getSelectedCruiseTitle());
icon = ui.getMenuActionEditCatches().getIcon();
screenUI = new FishingOperationsUI(ui);
@@ -494,16 +494,25 @@
break;
case IMPORT_TEMPORARY_REFERENTIAL:
+
screenTitle = _("tutti.manageTemporaryReferential.title");
screenUI = new ManageTemporaryReferentialUI(ui);
icon = ui.getMenuImportTemporaryReferential().getIcon();
break;
case VALIDATE_CRUISE:
+
screenUI = new ValidateCruiseUI(ui);
screenTitle = _("tutti.fishingOperations.title.validate.operations", getSelectedCruiseTitle());
icon = ui.getMenuActionValidateCatches().getIcon();
break;
+
+ case REPORT:
+
+ screenUI = new ReportUI(ui);
+ screenTitle = _("tutti.report.title");
+ icon = ui.getMenuFileReport().getIcon();
+ break;
}
JButton showHelp = ui.getShowHelp();
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowReportAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowReportAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowReportAction.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -0,0 +1,29 @@
+package fr.ifremer.tutti.ui.swing.content;
+
+import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * To show report screen.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.9
+ */
+public class ShowReportAction extends AbstractChangeScreenAction {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(ShowReportAction.class);
+
+ public ShowReportAction(MainUIHandler handler) {
+ super(handler, true, TuttiScreen.REPORT);
+ }
+
+ @Override
+ public void doAction() throws Exception {
+ if (log.isDebugEnabled()) {
+ log.debug("Show report screen");
+ }
+ super.doAction();
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowReportAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUI.jaxx 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUI.jaxx 2013-11-12 09:08:02 UTC (rev 1343)
@@ -28,9 +28,6 @@
fr.ifremer.tutti.ui.swing.TuttiHelpBroker
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.util.TuttiUI
- fr.ifremer.tutti.ui.swing.util.ActionListCellRenderer
-
- static org.nuiton.i18n.I18n._
</import>
<script><![CDATA[
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -229,6 +229,9 @@
.addOption(TuttiApplicationConfigOption.TUTTI_HELP_DIRECTORY)
.setOptionShortLabel(_("tutti.config.option.help.directory.shortLabel"))
+ .addOption(TuttiServiceConfigOption.REPORT_DIRECTORY)
+ .setOptionShortLabel(_("tutti.config.option.service.report.directory.shortLabel"))
+
.addOption(TuttiPersistenceConfigOption.DB_DIRECTORY)
.setOptionShortLabel(_("tutti.config.option.persistence.db.directory.shortLabel"))
@@ -241,9 +244,6 @@
.addOption(TuttiPersistenceConfigOption.DB_CACHE_DIRECTORY)
.setOptionShortLabel(_("tutti.config.option.persistence.db.cache.directory.shortLabel"))
- .addOption(TuttiPersistenceConfigOption.DB_BACKUP_DIRECTORY)
- .setOptionShortLabel(_("tutti.config.option.persistence.db.backup.directory.shortLabel"))
-
.addOption(TuttiPersistenceConfigOption.DB_CONFIGURATION_PATH)
.setOptionShortLabel(_("tutti.config.option.persistence.db.configurationPath.shortLabel"))
@@ -256,6 +256,12 @@
.addOption(TuttiServiceConfigOption.SITE_URL)
.setOptionShortLabel(_("tutti.config.option.site.url.shortLabel"))
+ .addOption(TuttiPersistenceConfigOption.DB_BACKUP_DIRECTORY)
+ .setOptionShortLabel(_("tutti.config.option.persistence.db.backup.directory.shortLabel"))
+
+ .addOption(TuttiServiceConfigOption.REPORT_BACKUP_DIRECTORY)
+ .setOptionShortLabel(_("tutti.config.option.service.report.backup.directory.shortLabel"))
+
.addOption(TuttiApplicationConfigOption.TUTTI_UPDATE_APPLICATION_URL)
.setOptionShortLabel(_("tutti.config.option.update.application.url.shortLabel"))
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUIHandler.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUIHandler.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -65,8 +65,7 @@
}
protected void resetFields() {
- ui.getTrunkFile().setSelectedFile((String) null);
- ui.getCarrouselFile().setSelectedFile((String) null);
+ ui.getTrunkFile().setSelectedFilePath( null);
}
public void open() {
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/GenerateReportAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/GenerateReportAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/GenerateReportAction.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -0,0 +1,49 @@
+package fr.ifremer.tutti.ui.swing.content.report;
+
+import com.google.common.base.Preconditions;
+import fr.ifremer.tutti.service.report.ReportModel;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * To generate the selected report.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.9
+ */
+public class GenerateReportAction extends AbstractTuttiAction<ReportUIModel, ReportUI, ReportUIHandler> {
+
+ public GenerateReportAction(ReportUIHandler handler) {
+ super(handler, true);
+ }
+
+ @Override
+ public boolean prepareAction() throws Exception {
+ boolean doAction = super.prepareAction();
+
+ if (doAction) {
+
+ // ask user to confirm overwrite if required
+ doAction = askOverwriteFile(getModel().getOutputFile());
+ }
+ return doAction;
+ }
+
+ @Override
+ public void doAction() throws Exception {
+ Preconditions.checkState(getModel().isValid());
+
+ ReportModel reportModel = getModel().toBean();
+ getContext().getReportService().generateReport(reportModel);
+ }
+
+ @Override
+ public void postSuccessAction() {
+ super.postSuccessAction();
+
+ sendMessage(_("tutti.report.generated", getModel().getOutputFile()));
+
+ getModel().reloadOuputFile();
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/GenerateReportAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css 2013-11-12 09:08:02 UTC (rev 1343)
@@ -0,0 +1,85 @@
+BeanFilterableComboBox {
+ showReset: true;
+ bean: {model};
+}
+
+JTextField {
+ _selectOnFocus: {true};
+}
+
+FileEditor {
+ showReset: true;
+}
+
+#outputFileActionToolbar {
+ borderPainted: false;
+ floatable: false;
+}
+
+#reportTopPanel {
+ _help: {"tutti.report.help"};
+}
+
+#reportLabel {
+ text: "tutti.report.field.report";
+ labelFor: {reportComboBox};
+ toolTipText: "tutti.report.field.report.tip";
+ _help: {"tutti.report.field.report.help"};
+}
+
+#reportComboBox {
+ property: report;
+ selectedItem: {model.getReport()};
+ _validatorLabel: {_("tutti.report.field.report")};
+}
+
+#inputFileLabel {
+ text: "tutti.report.field.inputFile";
+ labelFor: {inputFileField};
+ toolTipText: "tutti.report.field.inputFile.tip";
+ _help: {"tutti.report.field.inputFile.help"};
+}
+
+#inputFileField {
+ selectedFile: {model.getInputFile()};
+ _validatorLabel: {_("tutti.report.field.inputFile")};
+}
+
+#outputFileLabel {
+ text: "tutti.report.field.outputFile";
+ labelFor: {outputFileField};
+ toolTipText: "tutti.report.field.outputFile.tip";
+ _help: {"tutti.report.field.outputFile.help"};
+}
+
+#outputFileField {
+ selectedFile: {model.getOutputFile()};
+ _validatorLabel: {_("tutti.report.field.outputFile")};
+}
+
+#showOutputFileButton {
+ actionIcon: open-file;
+ toolTipText: "tutti.report.action.showOutputFile.tip";
+ i18nMnemonic: "tutti.report.action.showOutputFile.mnemonic";
+ _help: {"tutti.report.action.showOutputFile.help"};
+ enabled: {model.isOutputFileExists()};
+}
+
+#closeButton {
+ actionIcon: cancel;
+ text: "tutti.report.action.cancel";
+ toolTipText: "tutti.report.action.cancel.tip";
+ i18nMnemonic: "tutti.report.action.cancel.mnemonic";
+ _tuttiAction: {GoToPreviousScreenAction.class};
+ _help: {"tutti.report.action.cancel.help"};
+}
+
+#generateButton {
+ actionIcon: generate;
+ text: "tutti.report.action.generate";
+ toolTipText: "tutti.report.action.generate.tip";
+ i18nMnemonic: "tutti.report.action.generate.mnemonic";
+ _tuttiAction: {GenerateReportAction.class};
+ enabled: {model.isValid()};
+ _help: {"tutti.report.action.generate.help"};
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.jaxx (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.jaxx 2013-11-12 09:08:02 UTC (rev 1343)
@@ -0,0 +1,100 @@
+<JPanel id='reportTopPanel' layout='{new BorderLayout()}' decorator='help'
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<ReportUIModel, ReportUIHandler>'>
+
+ <import>
+ fr.ifremer.tutti.ui.swing.TuttiHelpBroker
+ fr.ifremer.tutti.ui.swing.content.GoToPreviousScreenAction
+ fr.ifremer.tutti.ui.swing.util.TuttiUI
+
+ jaxx.runtime.swing.editor.FileEditor
+ jaxx.runtime.swing.editor.bean.BeanFilterableComboBox
+
+ java.io.File
+
+ static org.nuiton.i18n.I18n._
+ static jaxx.runtime.SwingUtil.getStringValue
+ </import>
+
+ <script><![CDATA[
+
+ public ReportUI(TuttiUI parentUI) {
+ JAXXUtil.initContext(this, parentUI);
+ ReportUIHandler handler = new ReportUIHandler(parentUI, this);
+ setContextValue(handler);
+ handler.beforeInitUI();
+ }
+
+ protected void $afterCompleteSetup() {
+ handler.afterInitUI();
+ }
+ ]]></script>
+
+ <ReportUIHandler id='handler'
+ initializer='getContextValue(ReportUIHandler.class)'/>
+
+ <ReportUIModel id='model'
+ initializer='getContextValue(ReportUIModel.class)'/>
+
+ <TuttiHelpBroker id='broker' constructorParams='"tutti.report.help"'/>
+
+ <BeanValidator id='validator' bean='model'
+ uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'>
+ <field name='report' component='reportComboBox'/>
+ <field name='inputFile' component='inputFileField'/>
+ <field name='outputFile' component='outputFileField'/>
+ </BeanValidator>
+
+ <Table id='form' fill='both'>
+
+ <!-- report name -->
+ <row>
+ <cell anchor='west'>
+ <JLabel id='reportLabel'/>
+ </cell>
+ <cell weightx='1.0'>
+ <BeanFilterableComboBox id='reportComboBox' constructorParams='this'
+ genericType='File'/>
+ </cell>
+ </row>
+
+ <!-- input file -->
+ <row>
+ <cell>
+ <JLabel id='inputFileLabel'/>
+ </cell>
+ <cell>
+ <FileEditor id='inputFileField'
+ onActionPerformed='handler.setFile(event, "inputFile")'/>
+ </cell>
+ </row>
+
+ <!-- output file -->
+ <row>
+ <cell>
+ <JLabel id='outputFileLabel'/>
+ </cell>
+ <cell>
+ <JPanel id='outputFilePanel' layout='{new BorderLayout()}'>
+ <FileEditor id='outputFileField' constraints='BorderLayout.CENTER'
+ onActionPerformed='handler.setFile(event, "outputFile")'/>
+ <JToolBar id='outputFileActionToolbar' constraints='BorderLayout.EAST'
+ layout='{new GridLayout()}'>
+ <JButton id='showOutputFileButton'
+ onActionPerformed='handler.showReport()'/>
+ </JToolBar>
+ </JPanel>
+ </cell>
+ </row>
+
+ <!-- actions -->
+ <row anchor='south'>
+ <cell columns='2'>
+ <JPanel layout='{new GridLayout(1, 0)}'>
+ <JButton id='closeButton'/>
+ <JButton id='generateButton'/>
+ </JPanel>
+ </cell>
+ </row>
+ </Table>
+
+</JPanel>
\ No newline at end of file
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIHandler.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIHandler.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -0,0 +1,134 @@
+package fr.ifremer.tutti.ui.swing.content.report;
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import fr.ifremer.tutti.service.report.ReportService;
+import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
+import fr.ifremer.tutti.ui.swing.util.CloseableUI;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
+import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import jaxx.runtime.swing.editor.FileEditor;
+import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.swing.JComponent;
+import java.awt.Desktop;
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Handler of {@link ReportUI}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.9
+ */
+public class ReportUIHandler extends AbstractTuttiUIHandler<ReportUIModel, ReportUI> implements CloseableUI {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(ReportUIHandler.class);
+
+ /**
+ * Persistence service.
+ *
+ * @since 0.1
+ */
+ private final ReportService reportService;
+
+ public ReportUIHandler(TuttiUI parentUi, ReportUI ui) {
+ super(parentUi.getHandler().getContext(), ui);
+ this.reportService = context.getReportService();
+ }
+
+ @Override
+ public void beforeInitUI() {
+
+ getDataContext().resetValidationDataContext();
+
+ ReportUIModel model = new ReportUIModel();
+
+ // get all report availables
+ List<File> reports = reportService.getAvailableReports();
+ model.setReports(reports);
+
+ // get default output file name
+ File outputFile = reportService.getDefaultOutputFile();
+ model.setOutputFile(outputFile);
+
+ listModelIsModify(model);
+
+ ui.setContextValue(model);
+ }
+
+ @Override
+ public void afterInitUI() {
+
+ initUI(ui);
+
+ ReportUIModel model = getModel();
+
+ initBeanFilterableComboBox(ui.getReportComboBox(),
+ Lists.newArrayList(model.getReports()),
+ model.getReport());
+
+ FileEditor inputFileField = ui.getInputFileField();
+ inputFileField.setDirectoryEnabled(false);
+ inputFileField.setFileEnabled(true);
+ inputFileField.setExts(".csv");
+ inputFileField.setExtsDescription("Fichier csv");
+
+ FileEditor outputFileField = ui.getOutputFileField();
+ outputFileField.setDirectoryEnabled(false);
+ outputFileField.setFileEnabled(true);
+ outputFileField.setExts(".pdf");
+ outputFileField.setExtsDescription("Fichier pdf");
+
+ SwingValidator validator = ui.getValidator();
+ listenValidatorValid(validator, model);
+
+ registerValidators(validator);
+ }
+
+ @Override
+ protected JComponent getComponentToFocus() {
+ return getUI().getReportComboBox();
+ }
+
+ @Override
+ public void onCloseUI() {
+ if (log.isDebugEnabled()) {
+ log.debug("closing: " + ui);
+ }
+ clearValidators();
+ }
+
+ @Override
+ public boolean quitUI() {
+ return true;
+ }
+
+ @Override
+ public SwingValidator<ReportUIModel> getValidator() {
+ return ui.getValidator();
+ }
+
+ public void showReport() {
+
+ File file = getModel().getOutputFile();
+
+ Preconditions.checkState(file.exists());
+
+ Desktop desktop = TuttiUIUtil.getDesktopForBrowse();
+ try {
+ desktop.browse(file.toURI());
+
+ } catch (IOException e) {
+ TuttiUIContext.getErrorHelper().showErrorDialog(_("swing.error.cannot.open.file"));
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIHandler.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -0,0 +1,95 @@
+package fr.ifremer.tutti.ui.swing.content.report;
+
+import fr.ifremer.tutti.service.report.ReportModel;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
+import org.nuiton.util.beans.Binder;
+import org.nuiton.util.beans.BinderFactory;
+
+import java.io.File;
+import java.util.List;
+
+/**
+ * Model of {@link ReportUI} screen.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.9
+ */
+public class ReportUIModel extends AbstractTuttiBeanUIModel<ReportModel, ReportUIModel> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static final String PROPERTY_REPORTS = "reports";
+
+ public static final String PROPERTY_REPORT = "report";
+
+ public static final String PROPERTY_INPUT_FILE = "inputFile";
+
+ public static final String PROPERTY_OUTPUT_FILE = "outputFile";
+ public static final String PROPERTY_OUTPUT_FILE_EXISTS = "outputFileExists";
+
+ protected static Binder<ReportUIModel, ReportModel> toBeanBinder =
+ BinderFactory.newBinder(ReportUIModel.class,
+ ReportModel.class);
+
+ protected List<File> reports;
+
+ protected final ReportModel editObject = new ReportModel();
+
+ public ReportUIModel() {
+ super(ReportModel.class, null, toBeanBinder);
+ }
+
+ public List<File> getReports() {
+ return reports;
+ }
+
+ public void setReports(List<File> reports) {
+ Object oldValue = getReports();
+ this.reports = reports;
+ firePropertyChange(PROPERTY_REPORTS, oldValue, reports);
+ }
+
+ public File getReport() {
+ return editObject.getReport();
+ }
+
+ public void setReport(File report) {
+ Object oldValue = getReport();
+ editObject.setReport(report);
+ firePropertyChange(PROPERTY_REPORT, oldValue, report);
+ }
+
+ public File getInputFile() {
+ return editObject.getInputFile();
+ }
+
+ public void setInputFile(File inputFile) {
+ Object oldValue = getInputFile();
+ editObject.setInputFile(inputFile);
+ firePropertyChange(PROPERTY_INPUT_FILE, oldValue, inputFile);
+ }
+
+ public File getOutputFile() {
+ return editObject.getOutputFile();
+ }
+
+ public void setOutputFile(File outputFile) {
+ Object oldValue = getOutputFile();
+ editObject.setOutputFile(outputFile);
+ firePropertyChange(PROPERTY_OUTPUT_FILE, oldValue, outputFile);
+ reloadOuputFile();
+ }
+
+ public void reloadOuputFile() {
+
+ firePropertyChange(PROPERTY_OUTPUT_FILE_EXISTS, null, isOutputFileExists());
+ }
+ public boolean isOutputFileExists() {
+ return getOutputFile() != null && getOutputFile().exists();
+ }
+
+ @Override
+ protected ReportModel newEntity() {
+ return new ReportModel();
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel.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/util/AbstractTuttiUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -51,6 +51,7 @@
import jaxx.runtime.JAXXUtil;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.swing.JAXXWidgetUtil;
+import jaxx.runtime.swing.editor.FileEditor;
import jaxx.runtime.swing.editor.NumberEditor;
import jaxx.runtime.swing.editor.bean.BeanDoubleList;
import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox;
@@ -129,6 +130,7 @@
import java.awt.event.WindowEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.io.File;
import java.io.Serializable;
import java.text.ParseException;
import java.util.Date;
@@ -216,6 +218,12 @@
TuttiUIUtil.setProperty(getModel(), property, value);
}
+ public void setFile(ActionEvent event, String property) {
+ FileEditor field = (FileEditor) event.getSource();
+ File value = field.getSelectedFile();
+ TuttiUIUtil.setProperty(getModel(), property, value);
+ }
+
public void setBoolean(ItemEvent event, String property) {
boolean value = event.getStateChange() == ItemEvent.SELECTED;
TuttiUIUtil.setProperty(getModel(), property, value);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -290,7 +290,7 @@
return file;
}
- private boolean askOverwriteFile(File file) {
+ protected boolean askOverwriteFile(File file) {
boolean result;
if (file.exists()) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -249,8 +249,7 @@
}
protected void resetFields() {
- ui.getFile().setSelectedFile((File) null);
- ui.getFile().setSelectedFile((String) null);
+ ui.getFile().setSelectedFilePath(null);
ui.getFileName().setText("");
ui.getFileComment().setText("");
}
Added: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel-error-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel-error-validation.xml (rev 0)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel-error-validation.xml 2013-11-12 09:08:02 UTC (rev 1343)
@@ -0,0 +1,27 @@
+<!DOCTYPE validators PUBLIC
+ "-//Apache Struts//XWork Validator 1.0.3//EN"
+ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
+<validators>
+
+ <field name="report">
+ <field-validator type="required" short-circuit="true">
+ <message>tutti.validator.error.report.report.required</message>
+ </field-validator>
+ </field>
+
+ <field name="inputFile">
+ <field-validator type="required" short-circuit="true">
+ <message>tutti.validator.error.report.inputFile.required</message>
+ </field-validator>
+ <field-validator type="existingFile" short-circuit="true">
+ <message>tutti.validator.error.report.inputFile.notExists</message>
+ </field-validator>
+ </field>
+
+ <field name="outputFile">
+ <field-validator type="required" short-circuit="true">
+ <message>tutti.validator.error.report.outputFile.required</message>
+ </field-validator>
+ </field>
+
+</validators>
\ No newline at end of file
Property changes on: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/report/ReportUIModel-error-validation.xml
___________________________________________________________________
Added: svn:mime-type
+ text/xml
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
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 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-11-12 09:08:02 UTC (rev 1343)
@@ -130,6 +130,8 @@
tutti.config.option.persistence.jdbc.url.shortLabel=
tutti.config.option.programId.description=
tutti.config.option.protocolId.description=
+tutti.config.option.service.report.backup.directory.shortLabel=
+tutti.config.option.service.report.directory.shortLabel=
tutti.config.option.site.url.shortLabel=
tutti.config.option.startActionFile.description=
tutti.config.option.tmp.directory.shortLabel=
@@ -1274,6 +1276,9 @@
tutti.main.action.manageDb.mnemonic=
tutti.main.action.manageDb.tip=
tutti.main.action.reloadTutti=
+tutti.main.action.report=
+tutti.main.action.report.mnemonic=
+tutti.main.action.report.tip=
tutti.main.action.selectCruise=
tutti.main.action.selectCruise.mnemonic=
tutti.main.action.selectCruise.tip=
@@ -1404,6 +1409,29 @@
tutti.reinstallDb.step.backupDb=
tutti.reinstallDb.step.closeDb=
tutti.reinstallDb.step.reloadApplication=
+tutti.report.action.cancel=
+tutti.report.action.cancel.mnemonic=
+tutti.report.action.cancel.tip=
+tutti.report.action.chooseInputFile=
+tutti.report.action.chooseInputFile.mnemonic=
+tutti.report.action.chooseInputFile.tip=
+tutti.report.action.chooseOutputFile=
+tutti.report.action.chooseOutputFile.mnemonic=
+tutti.report.action.chooseOutputFile.tip=
+tutti.report.action.generate=
+tutti.report.action.generate.mnemonic=
+tutti.report.action.generate.tip=
+tutti.report.action.showOutputFile=
+tutti.report.action.showOutputFile.mnemonic=
+tutti.report.action.showOutputFile.tip=
+tutti.report.field.inputFile=
+tutti.report.field.inputFile.tip=
+tutti.report.field.outputFile=
+tutti.report.field.outputFile.tip=
+tutti.report.field.report=
+tutti.report.field.report.tip=
+tutti.report.generated=
+tutti.report.title=
tutti.selectBenthos.title=
tutti.selectCruise.action.chooseCruiseExportFile=
tutti.selectCruise.action.chooseProgramExportFile=
@@ -1563,6 +1591,10 @@
tutti.validator.error.longitude.second.outOfBounds=
tutti.validator.error.longitude.start.required=
tutti.validator.error.program.zone.required=
+tutti.validator.error.report.inputFile.notExists=
+tutti.validator.error.report.inputFile.required=
+tutti.validator.error.report.outputFile.required=
+tutti.validator.error.report.report.required=
tutti.validator.error.speciesFrequency.lengthStepCaracteristic.required=
tutti.validator.error.speciesFrequency.oneRowRequired=
tutti.validator.error.speciesFrequency.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 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-11-12 09:08:02 UTC (rev 1343)
@@ -118,15 +118,17 @@
tutti.config.option.i18n.locale.description=Langue utilisée dans l'application
tutti.config.option.launch.mode.description=Mode de démarrage de l'application
tutti.config.option.persistence.db.attachment.directory.shortLabel=Répertoire des pieèces-jointes
-tutti.config.option.persistence.db.backup.directory.shortLabel=Répertoire des sauvegardes
+tutti.config.option.persistence.db.backup.directory.shortLabel=Répertoire des sauvegardes de base
tutti.config.option.persistence.db.cache.directory.shortLabel=Répertoire du cache de base
-tutti.config.option.persistence.db.configurationPath.shortLabel=Chemin vers la configuration
+tutti.config.option.persistence.db.configurationPath.shortLabel=Chemin vers la configuration adagio
tutti.config.option.persistence.db.directory.shortLabel=Répertoire de la base de données
-tutti.config.option.persistence.db.enumerationPath.shortLabel=Chemin vers le fichier constantes
+tutti.config.option.persistence.db.enumerationPath.shortLabel=Chemin vers le fichier constantes adagio
tutti.config.option.persistence.db.protocol.directory.shortLabel=Répertoire des protocoles
tutti.config.option.persistence.jdbc.url.shortLabel=Url jdbc de connexion
tutti.config.option.programId.description=Identifiant de la dernière série de campagne utilisée
tutti.config.option.protocolId.description=Identifiant du dernier protocole utilisé
+tutti.config.option.service.report.backup.directory.shortLabel=Répertoire des sauvegardes de rapport
+tutti.config.option.service.report.directory.shortLabel=Répertoire des modèles de rapport
tutti.config.option.site.url.shortLabel=URL du site technique
tutti.config.option.startActionFile.description=Fichier
tutti.config.option.tmp.directory.shortLabel=Répertoire temporaire
@@ -1270,6 +1272,9 @@
tutti.main.action.manageDb.mnemonic=G
tutti.main.action.manageDb.tip=Gérer la base de données utilisée par l'application
tutti.main.action.reloadTutti=Redémarrer l'application
+tutti.main.action.report=Rapport
+tutti.main.action.report.mnemonic=R
+tutti.main.action.report.tip=Générer des rapports
tutti.main.action.selectCruise=Sélectionner une campagne
tutti.main.action.selectCruise.mnemonic=S
tutti.main.action.selectCruise.tip=Sélectionner la campagne à utiliser
@@ -1400,6 +1405,23 @@
tutti.reinstallDb.step.backupDb=Sauvegarde de la base dans l'archive %s
tutti.reinstallDb.step.closeDb=Fermeture de la base <strong>%s</strong>
tutti.reinstallDb.step.reloadApplication=Redémarrage de l'application...
+tutti.report.action.cancel=Quitter
+tutti.report.action.cancel.mnemonic=Q
+tutti.report.action.cancel.tip=Quitter l'écran
+tutti.report.action.generate=Générer
+tutti.report.action.generate.mnemonic=G
+tutti.report.action.generate.tip=Générer le rapport
+tutti.report.action.showOutputFile=Voir
+tutti.report.action.showOutputFile.mnemonic=V
+tutti.report.action.showOutputFile.tip=Voir le rapport
+tutti.report.field.inputFile=Fichier de données
+tutti.report.field.inputFile.tip=Chemin vers le fichier de données
+tutti.report.field.outputFile=Rapport
+tutti.report.field.outputFile.tip=Chemin où générer le rapport
+tutti.report.field.report=Modèle
+tutti.report.field.report.tip=Modèle de rapport à générer
+tutti.report.generated=Le rapport a été généré dans le fichier <strong>%s</strong>
+tutti.report.title=Rapports
tutti.selectBenthos.title=Choisissez une espèce du benthos
tutti.selectCruise.action.chooseCruiseExportFile=Exporter
tutti.selectCruise.action.chooseProgramExportFile=Exporter
@@ -1560,6 +1582,10 @@
tutti.validator.error.longitude.second.outOfBounds=La seconde de la longitude doit être comprise entre 0 et 59
tutti.validator.error.longitude.start.required=La longitude de début de traîne est obligatoire
tutti.validator.error.program.zone.required=La zone de la série est obligatoire
+tutti.validator.error.report.inputFile.notExists=Le fichier d'entrée n'eixste pas
+tutti.validator.error.report.inputFile.required=Le fichier d'entrée est obligatoire
+tutti.validator.error.report.outputFile.required=Le fichier de sortie est obligatoire
+tutti.validator.error.report.report.required=Un modèle de rapport doit être sélectionné
tutti.validator.error.speciesFrequency.lengthStepCaracteristic.required=La classe de taille est obligatoire
tutti.validator.error.speciesFrequency.oneRowRequired=Au moins une classe de taille doit être observée
tutti.validator.error.speciesFrequency.step.positiveValue=Le pas de la classe de taille doit être strictement positif
Added: trunk/tutti-ui-swing/src/main/resources/icons/action-report.png
===================================================================
(Binary files differ)
Property changes on: trunk/tutti-ui-swing/src/main/resources/icons/action-report.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: trunk/tutti-ui-swing/src/main/resources/icons/action-update-report.png
===================================================================
(Binary files differ)
Property changes on: trunk/tutti-ui-swing/src/main/resources/icons/action-update-report.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Modified: trunk/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/BeanValidatorDetectorTest.java
===================================================================
--- trunk/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/BeanValidatorDetectorTest.java 2013-11-10 14:11:26 UTC (rev 1342)
+++ trunk/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/BeanValidatorDetectorTest.java 2013-11-12 09:08:02 UTC (rev 1343)
@@ -32,6 +32,7 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.split.SplitSpeciesBatchUIModel;
+import fr.ifremer.tutti.ui.swing.content.report.ReportUIModel;
import org.junit.BeforeClass;
import org.junit.Test;
import org.nuiton.validator.AbstractValidatorDetectorTest;
@@ -74,6 +75,7 @@
SplitSpeciesBatchUIModel.class,
BenthosFrequencyUIModel.class,
SpeciesFrequencyUIModel.class,
+ ReportUIModel.class,
};
}
@@ -88,7 +90,7 @@
SortedSet<NuitonValidator<?>> validators = detectValidators(ALL_TYPES);
assertFalse(validators.isEmpty());
- assertEquals(9, validators.size());
+ assertEquals(10, validators.size());
}
@Test
@@ -103,6 +105,7 @@
CreateBenthosBatchUIModel.class,
CreateSpeciesBatchUIModel.class,
EditCruiseUIModel.class,
+ ReportUIModel.class,
SpeciesFrequencyUIModel.class,
SplitBenthosBatchUIModel.class,
SplitSpeciesBatchUIModel.class
1
0
10 Nov '13
Author: tchemit
Date: 2013-11-10 15:11:26 +0100 (Sun, 10 Nov 2013)
New Revision: 1342
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1342
Log:
fixes #3755: Mise en place d'un module de rapports birt
Added:
trunk/src/update/tutti-data.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiReportUpdaterCallBack.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReportAction.java
Removed:
trunk/src/update/tutti-db.properties
Modified:
trunk/pom.xml
trunk/src/update/update-tutti.properties
trunk/tutti-ui-swing/src/main/assembly/min/update.bat
trunk/tutti-ui-swing/src/main/assembly/min/update.sh
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDbUpdaterCallBack.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowAboutAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ReinstallDbAction.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 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/pom.xml 2013-11-10 14:11:26 UTC (rev 1342)
@@ -170,6 +170,9 @@
<!-- Last tutti db version -->
<dbVersion>2013.08.22</dbVersion>
+ <!-- Last tutti report version -->
+ <reportVersion>2013.11.02</reportVersion>
+
</properties>
<repositories>
@@ -622,6 +625,10 @@
<property>dbVersion</property>
<message>You must set a dbVersion property!</message>
</requireProperty>
+ <requireProperty>
+ <property>reportVersion</property>
+ <message>You must set a reportVersion property!</message>
+ </requireProperty>
</rules>
<ignoreCache>true</ignoreCache>
<failFast>true</failFast>
@@ -701,6 +708,7 @@
<filter value="${project.version}" token="projectVersion" />
<filter value="${jreVersion}" token="jreVersion" />
<filter value="${dbVersion}" token="dbVersion" />
+ <filter value="${reportVersion}" token="reportVersion" />
</filterset>
<fileset dir="${basedir}/src/update/">
<include name="update-tutti.properties" />
@@ -816,7 +824,7 @@
</profile>
<profile>
- <id>deploy-tutti-db-update</id>
+ <id>deploy-tutti-data-update</id>
<activation>
<property>
<name>performRelease</name>
@@ -831,7 +839,7 @@
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
- <id>copy tutti-db.properties to site</id>
+ <id>copy tutti-data.properties to site</id>
<phase>package</phase>
<inherited>false</inherited>
<configuration>
@@ -840,9 +848,10 @@
<copy verbose="true" failonerror="false" overwrite="true" filtering="true" todir="${project.build.directory}/update">
<filterset>
<filter value="${dbVersion}" token="dbVersion" />
+ <filter value="${reportVersion}" token="reportVersion" />
</filterset>
<fileset dir="${basedir}/src/update/">
- <include name="tutti-db.properties" />
+ <include name="tutti-data.properties" />
</fileset>
</copy>
</tasks>
@@ -869,7 +878,7 @@
<configuration>
<serverId>forge.codelutin.com</serverId>
<fromFile>
- ${project.build.directory}/update/tutti-db.properties
+ ${project.build.directory}/update/tutti-data.properties
</fromFile>
<url>
scpexe://forge.codelutin.com/var/www/ApplicationUpdate/http/tutti
Copied: trunk/src/update/tutti-data.properties (from rev 1335, trunk/src/update/tutti-db.properties)
===================================================================
--- trunk/src/update/tutti-data.properties (rev 0)
+++ trunk/src/update/tutti-data.properties 2013-11-10 14:11:26 UTC (rev 1342)
@@ -0,0 +1,39 @@
+###
+# #%L
+# Tutti
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2012 - 2013 Ifremer
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/gpl-3.0.html>.
+# #L%
+###
+
+################################################################################
+### DB Updates #################################################################
+################################################################################
+
+db.version=@dbVersion@
+db.url=zip:http://appup.nuiton.org/tutti/auth/tutti-db-@dbVersion@.zip
+db.auth=true
+
+################################################################################
+### Report Updates #############################################################
+################################################################################
+
+report.version=@reportVersion@
+report.url=zip:http://appup.nuiton.org/tutti/auth/tutti-report-@reportVersion@.zip
+report.auth=true
\ No newline at end of file
Deleted: trunk/src/update/tutti-db.properties
===================================================================
--- trunk/src/update/tutti-db.properties 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/src/update/tutti-db.properties 2013-11-10 14:11:26 UTC (rev 1342)
@@ -1,31 +0,0 @@
-###
-# #%L
-# Tutti
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2012 - 2013 Ifremer
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/gpl-3.0.html>.
-# #L%
-###
-
-################################################################################
-### DB Updates #################################################################
-################################################################################
-
-db.version=@dbVersion@
-db.url=zip:http://appup.nuiton.org/tutti/auth/tutti-db-@dbVersion@.zip
-db.auth=true
\ No newline at end of file
Modified: trunk/src/update/update-tutti.properties
===================================================================
--- trunk/src/update/update-tutti.properties 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/src/update/update-tutti.properties 2013-11-10 14:11:26 UTC (rev 1342)
@@ -67,4 +67,12 @@
db.version=@dbVersion@
db.url=zip:http://appup.nuiton.org/tutti/auth/tutti-db-@dbVersion@.zip
-db.auth=true
\ No newline at end of file
+db.auth=true
+
+################################################################################
+### Report Updates #############################################################
+################################################################################
+
+report.version=@reportVersion@
+report.url=zip:http://appup.nuiton.org/tutti/auth/tutti-report-@reportVersion@.zip
+report.auth=true
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/assembly/min/update.bat
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/min/update.bat 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/assembly/min/update.bat 2013-11-10 14:11:26 UTC (rev 1342)
@@ -42,7 +42,7 @@
:help
-if not exist "NEW\help" goto end
+if not exist "NEW\help" goto report
rem deplacement de l'ancien help
set /p oldVersion=<help\version.appup
@@ -53,6 +53,19 @@
move help "%backupdir%"
move NEW\help help
+:report
+
+if not exist "NEW\report" goto end
+
+rem deplacement de l'ancien report
+set /p oldVersion=<report\version.appup
+set /p newVersion=<NEW\report\version.appup
+set backupdir=OLD\report-%oldVersion: =%-%BACKUP_DATE: =%
+echo Update report version %oldVersion: =% to %newVersion: =% old report keep in "%backupdir%"
+if not exist "OLD" mkdir OLD
+move report "%backupdir%"
+move NEW\report report
+
:end
if exist "NEW" rmdir /Q NEW
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/assembly/min/update.sh
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/min/update.sh 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/assembly/min/update.sh 2013-11-10 14:11:26 UTC (rev 1342)
@@ -49,5 +49,15 @@
mv NEW/help .
fi
+if [ -d NEW/report ]; then
+ oldVersion=`cat report/version.appup`
+ newVersion=`cat NEW/report/version.appup`
+ echo "Update report version $oldVersion to $newVersion"
+ mkdir -p OLD
+ backupdir=OLD/report-$oldVersion-$BACKUP_DATE
+ echo "Backup report old version to $backupdir"
+ mv report $backupdir
+ mv NEW/report .
+fi
rm -rf NEW
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-11-10 14:11:26 UTC (rev 1342)
@@ -1,28 +1,5 @@
-###
-# #%L
-# Tutti :: UI
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2012 - 2013 Ifremer
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/gpl-3.0.html>.
-# #L%
-###
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Tue Oct 08 15:36:15 CEST 2013
+#Sun Nov 10 14:15:34 CET 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -329,6 +306,7 @@
tutti.main.menu.action.showHelp.help=menu.html\#menu_aide
tutti.main.menu.action.site.help=menu.html\#menu_aide
tutti.main.menu.action.updateApplication.help=menu.html\#menu_fichier
+tutti.main.menu.action.updateReport.help=
tutti.main.menu.action.validateCatches.help=menu.html\#menu_action
tutti.manageTemporaryReferential.action.exportTemporaryGearExample.help=menu.html\#menu_administration_referentiel
tutti.manageTemporaryReferential.action.exportTemporaryPersonExample.help=menu.html\#menu_administration_referentiel
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 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-11-10 14:11:26 UTC (rev 1342)
@@ -1,28 +1,5 @@
-###
-# #%L
-# Tutti :: UI
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2012 - 2013 Ifremer
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/gpl-3.0.html>.
-# #L%
-###
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Tue Oct 08 15:36:15 CEST 2013
+#Sun Nov 10 14:15:34 CET 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -329,6 +306,7 @@
tutti.main.menu.action.showHelp.help=menu.html\#menu_aide
tutti.main.menu.action.site.help=menu.html\#menu_aide
tutti.main.menu.action.updateApplication.help=menu.html\#menu_fichier
+tutti.main.menu.action.updateReport.help=
tutti.main.menu.action.validateCatches.help=menu.html\#menu_action
tutti.manageTemporaryReferential.action.exportTemporaryGearExample.help=menu.html\#menu_administration_referentiel
tutti.manageTemporaryReferential.action.exportTemporaryPersonExample.help=menu.html\#menu_administration_referentiel
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -29,6 +29,7 @@
import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import fr.ifremer.tutti.ui.swing.content.StartAction;
import fr.ifremer.tutti.ui.swing.content.UpdateApplicationAction;
+import fr.ifremer.tutti.ui.swing.content.UpdateReportAction;
import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler;
import fr.ifremer.tutti.ui.swing.util.action.TuttiActionHelper;
import jaxx.runtime.SwingUtil;
@@ -85,7 +86,7 @@
} catch (Exception e) {
// could not find nimbus look-and-feel
if (log.isWarnEnabled()) {
- log.warn("Failed to init nimbus look and feel");
+ log.warn("Failed to init nimbus look and feel", e);
}
}
@@ -98,9 +99,9 @@
}
// check application url is reachable
- boolean canUpdate = context.checkUpdateApplicationReachable();
+ boolean canUpdateApplication = context.checkUpdateApplicationReachable();
- if (canUpdate) {
+ if (canUpdateApplication) {
// try to update jre - i18n - application - help and exit if so
UpdateApplicationAction logicAction = TuttiActionHelper.createLogicAction(new MainUIHandler(context),
UpdateApplicationAction.class);
@@ -108,6 +109,18 @@
reload = logicAction.isReload();
}
+
+ // check data url is reachable
+ boolean canUpdateData = context.checkUpdateDataReachable();
+
+ if (canUpdateData) {
+ // try to update report and exit if so
+ UpdateReportAction logicAction = TuttiActionHelper.createLogicAction(new MainUIHandler(context),
+ UpdateReportAction.class);
+ TuttiActionHelper.runActionAndWait(logicAction);
+
+ reload |= logicAction.isReload();
+ }
}
if (!reload) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDbUpdaterCallBack.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDbUpdaterCallBack.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDbUpdaterCallBack.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -137,20 +137,6 @@
public void updateDone(Map<String, ApplicationInfo> appToUpdate,
Map<String, Exception> appUpdateError) {
- updateDoneDb(appToUpdate, appUpdateError);
- }
-
- @Override
- public void aborted(String propertiesURL, Exception eee) {
- if (log.isErrorEnabled()) {
- log.error("Could not update from " + propertiesURL, eee);
- }
- throw TuttiActionException.propagateError(action, eee);
- }
-
-
- protected void updateDoneDb(Map<String, ApplicationInfo> appToUpdate,
- Map<String, Exception> appUpdateError) {
Exception error = appUpdateError.get(DB_UPDATE_NAME);
if (error != null) {
@@ -189,6 +175,14 @@
}
}
+ @Override
+ public void aborted(String propertiesURL, Exception eee) {
+ if (log.isErrorEnabled()) {
+ log.error("Could not update from " + propertiesURL, eee);
+ }
+ throw TuttiActionException.propagateError(action, eee);
+ }
+
protected TuttiPersistenceConfig regenerateDbConf() {
TuttiPersistenceConfig persistenceConfig =
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiReportUpdaterCallBack.java (from rev 1335, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDbUpdaterCallBack.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiReportUpdaterCallBack.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiReportUpdaterCallBack.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -0,0 +1,156 @@
+package fr.ifremer.tutti.ui.swing;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import com.google.common.collect.Maps;
+import fr.ifremer.tutti.persistence.ProgressionModel;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.TuttiActionException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.updater.ApplicationInfo;
+import org.nuiton.updater.ApplicationUpdaterCallback;
+
+import java.util.Map;
+
+import static org.nuiton.i18n.I18n._;
+import static org.nuiton.i18n.I18n.n_;
+
+/**
+ * CallBack to update db.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.6
+ */
+public class TuttiReportUpdaterCallBack implements ApplicationUpdaterCallback {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(TuttiReportUpdaterCallBack.class);
+
+ public static final String REPORT_UPDATE_NAME = "report";
+
+ static {
+ n_("tutti.update.report");
+ }
+
+ protected final TuttiUIContext context;
+
+ protected ProgressionModel progressionModel;
+
+ protected boolean reportUpdated;
+
+ protected final AbstractTuttiAction action;
+
+ public TuttiReportUpdaterCallBack(AbstractTuttiAction action,
+ ProgressionModel progressionModel) {
+ this.action = action;
+ this.context = action.getContext();
+ this.progressionModel = progressionModel;
+ }
+
+ public boolean isReportUpdated() {
+ return reportUpdated;
+ }
+
+ @Override
+ public Map<String, ApplicationInfo> updateToDo(Map<String, ApplicationInfo> appToUpdate) {
+ Map<String, ApplicationInfo> result = Maps.newHashMap();
+
+ ApplicationInfo info = appToUpdate.get(REPORT_UPDATE_NAME);
+ if (info != null) {
+ result.put(info.name, info);
+
+ // add auth
+ info.setAuthentication(
+ "t" + "u" + "t" + "t" + "i" + "d" + "b",
+ new char[]{'3', 'R', 'A', 'C', 'e', 'v', '2', 'N', 'w', '8', 'u', 'E', 'D', 'E', 'v', 's', 'y', '0', 'v', 'J'}
+ );
+ }
+
+ return result;
+ }
+
+ @Override
+ public void startUpdate(ApplicationInfo info) {
+
+ progressionModel.setMessage(_("tutti.applicationUpdater.startUpdate.report", info.newVersion));
+ }
+
+ @Override
+ public void updateDone(Map<String, ApplicationInfo> appToUpdate,
+ Map<String, Exception> appUpdateError) {
+
+ boolean doRestart = updateDoneReport(appToUpdate, appUpdateError);
+
+ if (doRestart) {
+
+ reportUpdated = true;
+ }
+ }
+
+ @Override
+ public void aborted(String propertiesURL, Exception eee) {
+ if (log.isErrorEnabled()) {
+ log.error("Could not update from " + propertiesURL, eee);
+ }
+ throw TuttiActionException.propagateError(action, eee);
+ }
+
+ protected boolean updateDoneReport(Map<String, ApplicationInfo> appToUpdate,
+ Map<String, Exception> appUpdateError) {
+ boolean doRestart = false;
+ Exception error = getError(REPORT_UPDATE_NAME, appUpdateError);
+ if (error != null) {
+
+ // something bad while updating jre
+ if (log.isErrorEnabled()) {
+ log.error("Could not update report", error);
+ }
+ } else {
+ ApplicationInfo info = getInfo(REPORT_UPDATE_NAME, appToUpdate);
+ if (info != null) {
+
+ if (log.isInfoEnabled()) {
+ log.info(String.format(
+ "A report update was downloaded (oldVersion: %s, newVersion: %s), will restart application to use it",
+ info.oldVersion, info.newVersion));
+ }
+ doRestart = true;
+ }
+ }
+ return doRestart;
+ }
+
+ protected Exception getError(String type,
+ Map<String, Exception> appUpdateError) {
+ return appUpdateError.get(type.toLowerCase());
+ }
+
+ protected ApplicationInfo getInfo(String type,
+ Map<String, ApplicationInfo> appToUpdate) {
+ return appToUpdate.get(type.toLowerCase());
+ }
+}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -286,12 +286,12 @@
@Override
public void showInformationMessage(String message) {
if (StringUtils.isNotBlank(message)) {
- message = message.replaceAll("\\<strong\\>","");
- message = message.replaceAll("\\<.strong\\>","");
- message = message.replaceAll("\\<li\\>","");
- message = message.replaceAll("\\<.li\\>","");
- message = message.replaceAll("\\<ul\\>","");
- message = message.replaceAll("\\<.ul\\>","");
+ message = message.replaceAll("\\<strong\\>", "");
+ message = message.replaceAll("\\<.strong\\>", "");
+ message = message.replaceAll("\\<li\\>", "");
+ message = message.replaceAll("\\<.li\\>", "");
+ message = message.replaceAll("\\<ul\\>", "");
+ message = message.replaceAll("\\<.ul\\>", "");
if (log.isInfoEnabled()) {
log.info(message);
}
@@ -895,11 +895,11 @@
return result;
}
- public boolean checkUpdateDbReachable() {
+ public boolean checkUpdateDataReachable() {
boolean result = true;
TuttiApplicationConfig config = getConfig();
- String url = config.getUpdateDbUrl();
+ String url = config.getUpdateDataUrl();
try {
TuttiUIUtil.tryToConnectToUpdateUrl(
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -384,8 +384,8 @@
return applicationConfig.getOption(TuttiApplicationConfigOption.TUTTI_UPDATE_APPLICATION_URL.getKey());
}
- public String getUpdateDbUrl() {
- return applicationConfig.getOption(TuttiApplicationConfigOption.TUTTI_UPDATE_DB_URL.getKey());
+ public String getUpdateDataUrl() {
+ return applicationConfig.getOption(TuttiApplicationConfigOption.TUTTI_UPDATE_DATA_URL.getKey());
}
public String getAdminPassword() {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -90,10 +90,10 @@
"http://appup.forge.codelutin.com/tutti/tutti-application.properties",
String.class
),
- TUTTI_UPDATE_DB_URL(
- "tutti.update.db.url",
- n_("tutti.config.option.update.db.url.description"),
- "http://appup.forge.codelutin.com/tutti/tutti-db.properties",
+ TUTTI_UPDATE_DATA_URL(
+ "tutti.update.data.url",
+ n_("tutti.config.option.update.data.url.description"),
+ "http://appup.forge.codelutin.com/tutti/tutti-data.properties",
String.class
),
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2013-11-10 14:11:26 UTC (rev 1342)
@@ -69,7 +69,7 @@
_help: {"tutti.main.menu.action.exit.help"};
}
-#menuActionUpdate {
+#menuActionUpdateApplication {
actionIcon: update-application;
text: "tutti.main.action.updateApplication";
toolTipText: "tutti.main.action.updateApplication.tip";
@@ -78,6 +78,15 @@
_help: {"tutti.main.menu.action.updateApplication.help"};
}
+#menuActionUpdateReport {
+ actionIcon: update-application;
+ text: "tutti.main.action.updateReport";
+ toolTipText: "tutti.main.action.updateReport.tip";
+ i18nMnemonic: "tutti.main.action.updateReport.mnemonic";
+ _tuttiAction: {UpdateReportAction.class};
+ _help: {"tutti.main.menu.action.updateReport.help"};
+}
+
#menuActionManageDb {
actionIcon: manage-db;
text: "tutti.main.action.manageDb";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-11-10 14:11:26 UTC (rev 1342)
@@ -66,7 +66,8 @@
<JMenuBar id='menu'>
<JMenu id='menuFile'>
<JMenuItem id='menuFileConfiguration'/>
- <JMenuItem id='menuActionUpdate'/>
+ <JMenuItem id='menuActionUpdateApplication'/>
+ <JMenuItem id='menuActionUpdateReport'/>
<JSeparator/>
<JMenuItem id='menuActionManageDb'/>
<JSeparator/>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowAboutAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowAboutAction.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowAboutAction.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -29,6 +29,7 @@
import com.google.common.collect.Maps;
import fr.ifremer.tutti.ui.swing.TuttiApplicationUpdaterCallBack;
import fr.ifremer.tutti.ui.swing.TuttiDbUpdaterCallBack;
+import fr.ifremer.tutti.ui.swing.TuttiReportUpdaterCallBack;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -69,8 +70,10 @@
super(handler, false);
}
- protected boolean canUpdate;
+ protected boolean canUpdateApplication;
+ protected boolean canUpdateData;
+
@Override
public boolean prepareAction() throws Exception {
boolean doAction = super.prepareAction();
@@ -78,8 +81,11 @@
if (doAction) {
// check db url is reachable
TuttiUIContext context = getContext();
- canUpdate = context.checkUpdateApplicationReachable();
+ canUpdateApplication = context.checkUpdateApplicationReachable();
+ canUpdateData = context.checkUpdateDataReachable();
+
}
+
// TuttiApplicationConfig config = context.getConfig();
// String url = config.getUpdateApplicationUrl();
//
@@ -171,7 +177,7 @@
about.getTabs().add(_("tutti.about.translate.title"), translatePane);
- if (canUpdate) {
+ if (canUpdateApplication || canUpdateData) {
//
// update tab
@@ -193,26 +199,34 @@
protected void addUpdateTab(TuttiApplicationConfig config) {
File current = config.getTuttiBasedir();
String urlApplication = config.getUpdateApplicationUrl();
- String urlDb = config.getUpdateDbUrl();
+ String urlData = config.getUpdateDataUrl();
ApplicationUpdater up = new ApplicationUpdater();
- // get application updates
- Map<String, ApplicationInfo> applicationVersions = up.getVersions(urlApplication, current);
+ // create final update map
+ final Map<String, ApplicationInfo> versions = Maps.newLinkedHashMap();
- // get db updates
- Map<String, ApplicationInfo> dbVersions = up.getVersions(urlDb, config.getDataDirectory());
+ if (canUpdateApplication) {
- // create final update map
- final Map<String, ApplicationInfo> versions = Maps.newTreeMap();
+ // get application updates
+ Map<String, ApplicationInfo> applicationVersions = up.getVersions(urlApplication, current);
- addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.JRE.name());
- addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.TUTTI.name());
- addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.I18N.name());
- addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.HELP.name());
+ addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.JRE.name());
+ addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.TUTTI.name());
+ addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.I18N.name());
+ addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.HELP.name());
+ }
- addUpdate(dbVersions, versions, TuttiDbUpdaterCallBack.DB_UPDATE_NAME);
+ if (canUpdateData) {
+ // get report updates
+ Map<String, ApplicationInfo> reportVersions = up.getVersions(urlData, current);
+ addUpdate(reportVersions, versions, TuttiReportUpdaterCallBack.REPORT_UPDATE_NAME);
+
+ // get db updates
+ Map<String, ApplicationInfo> dbVersions = up.getVersions(urlData, config.getDataDirectory());
+ addUpdate(dbVersions, versions, TuttiDbUpdaterCallBack.DB_UPDATE_NAME);
+ }
JScrollPane updatePane = new JScrollPane();
JEditorPane updateArea = new JEditorPane();
updateArea.setContentType("text/html");
@@ -246,7 +260,7 @@
}
}
- String updateText = _("tutti.about.update.content", urlApplication, urlDb, Joiner.on("\n").join(params));
+ String updateText = _("tutti.about.update.content", urlApplication, urlData, Joiner.on("\n").join(params));
updateArea.setText(updateText);
updatePane.getViewport().add(updateArea);
updateArea.addHyperlinkListener(new HyperlinkListener() {
@@ -274,6 +288,9 @@
action.setActionDescription(
_("tutti.dbManager.action.installDb.tip"));
}
+ } else if (TuttiReportUpdaterCallBack.REPORT_UPDATE_NAME.equals(appType)) {
+ UpdateReportAction logicAction = TuttiActionHelper.createLogicAction(getHandler(), UpdateReportAction.class);
+ action = logicAction;
} else {
TuttiApplicationUpdaterCallBack.UpdateType updateType =
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -66,7 +66,7 @@
if (doAction) {
// check db url is reachable
- doAction = getContext().checkUpdateDbReachable();
+ doAction = getContext().checkUpdateDataReachable();
}
if (doAction) {
@@ -76,12 +76,14 @@
// get db updates
Map<String, ApplicationInfo> dbVersions =
- up.getVersions(getConfig().getUpdateDbUrl(),
+ up.getVersions(getConfig().getUpdateDataUrl(),
getConfig().getDataDirectory());
updateDbVersion =
dbVersions.get(TuttiDbUpdaterCallBack.DB_UPDATE_NAME);
- if (updateDbVersion != null && updateDbVersion.newVersion != null) {
+ if (getContext().isDbExist() &&
+ updateDbVersion != null &&
+ updateDbVersion.newVersion != null) {
// ask user if it wants to do the update
String htmlMessage = String.format(
@@ -107,7 +109,7 @@
TuttiApplicationConfig config = context.getConfig();
File current = config.getDataDirectory();
- String url = config.getUpdateDbUrl();
+ String url = config.getUpdateDataUrl();
if (log.isInfoEnabled()) {
log.info(String.format("Try to install / update db (current data location: %s), using update url: %s", current, url));
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReportAction.java (from rev 1335, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReportAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReportAction.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -0,0 +1,152 @@
+package fr.ifremer.tutti.ui.swing.content;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.ProgressionModel;
+import fr.ifremer.tutti.ui.swing.RunTutti;
+import fr.ifremer.tutti.ui.swing.TuttiReportUpdaterCallBack;
+import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.TuttiActionHelper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.updater.ApplicationUpdater;
+
+import java.io.File;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * To update reports using the {@link ApplicationUpdater} mecanism.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class UpdateReportAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(UpdateReportAction.class);
+
+ public UpdateReportAction(MainUIHandler handler) {
+ super(handler, true);
+ setActionDescription(_("tutti.main.action.updateReport.tip"));
+ }
+
+ protected boolean reload;
+
+ @Override
+ public boolean prepareAction() throws Exception {
+ boolean doAction = super.prepareAction();
+
+ if (doAction) {
+ // check data url is reachable
+ TuttiUIContext context = getContext();
+ doAction = context.checkUpdateDataReachable();
+ }
+ return doAction;
+ }
+
+ @Override
+ public void doAction() throws Exception {
+
+ reload = false;
+
+ TuttiUIContext context = getContext();
+ TuttiApplicationConfig config = context.getConfig();
+
+ File current = config.getTuttiBasedir();
+ if (current == null || !current.exists()) {
+
+ // can not update application
+ if (log.isWarnEnabled()) {
+ log.warn("No application base directory defined, skip updates.");
+ }
+ } else {
+
+ String url = config.getUpdateDataUrl();
+ File dest = new File(config.getTuttiBasedir(), "NEW");
+
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Try to update repport (current application location: %s), using update url: %s", current, url));
+ }
+
+ ProgressionModel progressionModel = new ProgressionModel();
+ context.getActionUI().getModel().setProgressionModel(progressionModel);
+ progressionModel.setMessage(_("tutti.updateApplication.checkUpdates"));
+
+ TuttiReportUpdaterCallBack callback =
+ new TuttiReportUpdaterCallBack(this, progressionModel);
+
+ ApplicationUpdater up = new ApplicationUpdater();
+ up.update(url,
+ current,
+ dest,
+ false,
+ callback,
+ progressionModel);
+
+ if (callback.isReportUpdated()) {
+
+ reload = true;
+
+ } else {
+
+ sendMessage(_("tutti.updateReport.noUpdate"));
+ }
+ }
+ }
+
+ @Override
+ public void postSuccessAction() {
+ super.postSuccessAction();
+
+ if (reload) {
+ // wait 1 second to be sure action ui is up
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ if (log.isWarnEnabled()) {
+ log.warn("Could not wait 1 second...", e);
+ }
+ }
+
+ // tell user restart will be done
+
+ getHandler().showSuccessMessage(_("tutti.updateReport.title.success"),
+ _("tutti.updateReport.message.success"));
+
+ CloseApplicationAction action = TuttiActionHelper.createLogicAction(
+ getHandler(), CloseApplicationAction.class);
+ action.setExitCode(RunTutti.UPATE_EXIT_CODE);
+ TuttiActionHelper.runAction(action);
+ }
+ }
+
+ public boolean isReload() {
+ return reload;
+ }
+}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -259,8 +259,8 @@
.addOption(TuttiApplicationConfigOption.TUTTI_UPDATE_APPLICATION_URL)
.setOptionShortLabel(_("tutti.config.option.update.application.url.shortLabel"))
- .addOption(TuttiApplicationConfigOption.TUTTI_UPDATE_DB_URL)
- .setOptionShortLabel(_("tutti.config.option.update.db.url.shortLabel"));
+ .addOption(TuttiApplicationConfigOption.TUTTI_UPDATE_DATA_URL)
+ .setOptionShortLabel(_("tutti.config.option.update.data.url.shortLabel"));
helper.setFinalizer(new MainCallBackFinalizer(CALLBACK_APPLICATION));
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -105,8 +105,8 @@
// get referential version
- if (getContext().checkUpdateDbReachable()) {
- String urlDb = config.getUpdateDbUrl();
+ if (getContext().checkUpdateDataReachable()) {
+ String urlDb = config.getUpdateDataUrl();
ApplicationUpdater up = new ApplicationUpdater();
Map<String, ApplicationInfo> dbVersions = up.getVersions(urlDb, config.getDataDirectory());
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -70,7 +70,7 @@
if (doAction) {
// check db url is reachable
- doAction = getContext().checkUpdateDbReachable();
+ doAction = getContext().checkUpdateDataReachable();
}
if (doAction) {
@@ -95,7 +95,7 @@
TuttiApplicationConfig config = context.getConfig();
File current = config.getDataDirectory();
- String url = config.getUpdateDbUrl();
+ String url = config.getUpdateDataUrl();
if (log.isInfoEnabled()) {
log.info(String.format("Try to install / update db (current data location: %s), using update url: %s", current, url));
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -96,7 +96,7 @@
closeDb = updateSchema = false;
updateDbVersion = null;
- updateReferentiel &= getContext().checkUpdateDbReachable();
+ updateReferentiel &= getContext().checkUpdateDataReachable();
if (updateReferentiel) {
@@ -105,7 +105,7 @@
// get db updates
Map<String, ApplicationInfo> dbVersions =
- up.getVersions(getConfig().getUpdateDbUrl(),
+ up.getVersions(getConfig().getUpdateDataUrl(),
getConfig().getDataDirectory());
updateDbVersion =
dbVersions.get(TuttiDbUpdaterCallBack.DB_UPDATE_NAME);
@@ -306,7 +306,7 @@
progressionModel.increments(_("tutti.openDb.step.updateReferential"));
File current = config.getDataDirectory();
- String url = config.getUpdateDbUrl();
+ String url = config.getUpdateDataUrl();
File dest = new File(config.getTuttiBasedir(), "NEW");
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ReinstallDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ReinstallDbAction.java 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ReinstallDbAction.java 2013-11-10 14:11:26 UTC (rev 1342)
@@ -71,7 +71,7 @@
// check db url is reachable
TuttiUIContext context = getContext();
- doAction = context.checkUpdateDbReachable();
+ doAction = context.checkUpdateDataReachable();
// TuttiApplicationConfig config = context.getConfig();
// String url = config.getUpdateApplicationUrl();
//
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 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-11-10 14:11:26 UTC (rev 1342)
@@ -29,6 +29,7 @@
tutti.applicationUpdater.startUpdate.help=
tutti.applicationUpdater.startUpdate.i18n=
tutti.applicationUpdater.startUpdate.jre=
+tutti.applicationUpdater.startUpdate.report=
tutti.applicationUpdater.startUpdate.tutti=
tutti.applicationUpdater.synchroDB.prepare.error=
tutti.applicationUpdater.synchroDB.synchro.error=
@@ -164,6 +165,8 @@
tutti.config.option.ui.showNumberEditorButton.description=
tutti.config.option.update.application.url.description=
tutti.config.option.update.application.url.shortLabel=
+tutti.config.option.update.data.url.description=
+tutti.config.option.update.data.url.shortLabel=
tutti.config.option.update.db.url.description=
tutti.config.option.update.db.url.shortLabel=
tutti.config.option.weight.unit.accidentalCatch.shortLabel=
@@ -1283,6 +1286,9 @@
tutti.main.action.updateApplication=
tutti.main.action.updateApplication.mnemonic=
tutti.main.action.updateApplication.tip=
+tutti.main.action.updateReport=
+tutti.main.action.updateReport.mnemonic=
+tutti.main.action.updateReport.tip=
tutti.main.action.updateSpecificApplication.tip=
tutti.main.action.validateCatches=
tutti.main.action.validateCatches.mnemonic=
@@ -1504,11 +1510,15 @@
tutti.update.help=
tutti.update.i18n=
tutti.update.jre=
+tutti.update.report=
tutti.update.tutti=
tutti.updateApplication.checkUpdates=
tutti.updateApplication.message.success=
tutti.updateApplication.noUpdate=
tutti.updateApplication.title.success=
+tutti.updateReport.message.success=
+tutti.updateReport.noUpdate=
+tutti.updateReport.title.success=
tutti.validateCruise.action.export.all.chooseFile.label=
tutti.validateCruise.action.export.all.chooseFile.title=
tutti.validateCruise.action.export.all.success=
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 2013-11-10 12:25:46 UTC (rev 1341)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-11-10 14:11:26 UTC (rev 1342)
@@ -16,7 +16,7 @@
tutti.about.translate.title=Traduire Tutti
tutti.about.update.app.noup.detail=<tr><td>%1$s</td><td>%2$s</td><td>%2$s<td><td></td></tr>
tutti.about.update.app.up.detail=<tr><td>%1$s</td><td>%2$s</td><td><strong>%3$s</strong></td><td><a href\="%4$s">Mettre à jour</a><td></tr>
-tutti.about.update.content=<h2>Mise à jour de Tutti</h2><p>Fichier des mises à jour \: <ul><li>Applicatif \: <a href\="%1$s">%1$s</a></li><li>Base de données \: <a href\="%2$s">%2$s</a></li></ul></p><br/><hr/><br/><table><CAPTION><EM>Mises à jour des modules</EM></CAPTION><tr><th>Module</th><th>Version installée</th><th>Dernière version</th><th></th></tr>%3$s</table>
+tutti.about.update.content=<h2>Mise à jour de Tutti</h2><p>Fichier des mises à jour \: <ul><li>Applicatif \: <a href\="%1$s">%1$s</a></li><li>Données \: <a href\="%2$s">%2$s</a></li></ul></p><br/><hr/><br/><table><CAPTION><EM>Mises à jour des modules</EM></CAPTION><tr><th>Module</th><th>Version installée</th><th>Dernière version</th><th></th></tr>%3$s</table>
tutti.about.update.title=Mise à jour Tutti
tutti.action.create.error=Erreur à l'instanciation de l'action %s
tutti.addSampleCategoryBenthosBatch.title=Catégorisation du lot (ajout)
@@ -28,6 +28,7 @@
tutti.applicationUpdater.startUpdate.help=Téléchargement et installation d'une nouvelle version de l'aide (version %s)
tutti.applicationUpdater.startUpdate.i18n=Téléchargement et installation d'une nouvelle version des traductions (version %s)
tutti.applicationUpdater.startUpdate.jre=Téléchargement et installation d'une nouvelle JRE (version %s)
+tutti.applicationUpdater.startUpdate.report=Téléchargement et installation d'une nouvelle version des rapport (version %s)
tutti.applicationUpdater.startUpdate.tutti=Téléchargement et installation d'une nouvelle version de l'application (version %s)
tutti.applicationUpdater.synchroDB.prepare.error=Erreur lors de la préparation de la synchronisation de la base
tutti.applicationUpdater.synchroDB.synchro.error=Erreur lors de la synchronisation de la base
@@ -161,8 +162,8 @@
tutti.config.option.ui.showNumberEditorButton.description=Afficher le pavé numérique de saisie
tutti.config.option.update.application.url.description=URL de mise à jour des applicatifs
tutti.config.option.update.application.url.shortLabel=URL de mise à jour des applicatifs
-tutti.config.option.update.db.url.description=URL de mise à jour de la base de données
-tutti.config.option.update.db.url.shortLabel=URL de mise à jour de la base de données
+tutti.config.option.update.data.url.description=URL de mise à jour des données (base + report)
+tutti.config.option.update.data.url.shortLabel=URL de mise à jour des données
tutti.config.option.weight.unit.accidentalCatch.shortLabel=Unité capture accidentelle
tutti.config.option.weight.unit.benthos.shortLabel=Unité Benthos
tutti.config.option.weight.unit.individualObservation.shortLabel=Unité données individuelles
@@ -1278,9 +1279,12 @@
tutti.main.action.site=Site
tutti.main.action.site.mnemonic=S
tutti.main.action.site.tip=Accéder au site du projet Tutti (développement de l'application)
-tutti.main.action.updateApplication=Vérifier les mises à jour
+tutti.main.action.updateApplication=Vérifier les mises à jour logiciels
tutti.main.action.updateApplication.mnemonic=V
tutti.main.action.updateApplication.tip=Vérifier les mises à jour logicielles
+tutti.main.action.updateReport=Vérifier les mises à jour des rapports
+tutti.main.action.updateReport.mnemonic=R
+tutti.main.action.updateReport.tip=Vérifier les mises à jour des rapports
tutti.main.action.updateSpecificApplication.tip=Mettre à jour le module <strong>%s</strong>
tutti.main.action.validateCatches=Valider les captures
tutti.main.action.validateCatches.mnemonic=V
@@ -1502,11 +1506,15 @@
tutti.update.help=Aide en ligne
tutti.update.i18n=Traductions
tutti.update.jre=Java
+tutti.update.report=Rapports
tutti.update.tutti=Tutti
tutti.updateApplication.checkUpdates=Recherche de mises à jour
-tutti.updateApplication.message.success=La mise à jour nécessite le redémarrage du l'application
-tutti.updateApplication.noUpdate=Aucune mise à jour de l'application détectée.
+tutti.updateApplication.message.success=La mise à jour du logiciel nécessite le redémarrage de l'application
+tutti.updateApplication.noUpdate=<strong>Aucune mise à jour de l'application détectée.</strong>
tutti.updateApplication.title.success=Redémarrage de l'application nécessaire...
+tutti.updateReport.message.success=La mise à jour des rapports nécessite le redémarrage de l'application
+tutti.updateReport.noUpdate=<strong>Aucune mise à jour de rapports détectée.</strong>
+tutti.updateReport.title.success=Redémarrage de l'application nécessaire...
tutti.validateCruise.action.export.all.chooseFile.label=Choisir le fichier d'export
tutti.validateCruise.action.export.all.chooseFile.title=Exporter les messages de validation de la campagne
tutti.validateCruise.action.export.all.success=Les messages de validation des captures ont correctement été exporté dans le fichier %s
1
0