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
March 2013
- 5 participants
- 242 discussions
03 Mar '13
03 Mar '13
Author: tchemit
Date: 2013-03-03 16:52:58 +0100 (Sun, 03 Mar 2013)
New Revision: 519
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/519
Log:
use new Applicationconfig and Applicationupdater API
Added:
trunk/tutti-persistence/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider
trunk/tutti-service/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider
trunk/tutti-ui-swing/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider
Removed:
trunk/tutti-persistence/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider
trunk/tutti-service/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider
trunk/tutti-ui-swing/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider
Modified:
trunk/pom.xml
trunk/tutti-persistence/pom.xml
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigProvider.java
trunk/tutti-service/pom.xml
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/config/TuttiServiceConfigProvider.java
trunk/tutti-ui-swing/pom.xml
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.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/config/TuttiApplicationConfigProvider.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.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/util/TuttiExceptionHandler.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/pom.xml 2013-03-03 15:52:58 UTC (rev 519)
@@ -183,6 +183,19 @@
<dependency>
<groupId>org.nuiton</groupId>
+ <artifactId>nuiton-config</artifactId>
+ <version>${nuitonUtilsVersion}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-updater</artifactId>
+ <version>${nuitonUtilsVersion}</version>
+ </dependency>
+
+
+ <dependency>
+ <groupId>org.nuiton</groupId>
<artifactId>nuiton-csv</artifactId>
<version>${nuitonUtilsVersion}</version>
</dependency>
@@ -233,6 +246,12 @@
<dependency>
<groupId>org.nuiton.jaxx</groupId>
+ <artifactId>jaxx-config</artifactId>
+ <version>${jaxxVersion}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.nuiton.jaxx</groupId>
<artifactId>jaxx-runtime</artifactId>
<version>${jaxxVersion}</version>
<scope>test</scope>
@@ -679,7 +698,7 @@
<reportSets>
<reportSet>
<reports>
- <report>aggregate-application-config-report</report>
+ <report>aggregate-config-report</report>
</reports>
</reportSet>
</reportSets>
Modified: trunk/tutti-persistence/pom.xml
===================================================================
--- trunk/tutti-persistence/pom.xml 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-persistence/pom.xml 2013-03-03 15:52:58 UTC (rev 519)
@@ -52,6 +52,11 @@
</dependency>
<dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-config</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.nuiton.i18n</groupId>
<artifactId>nuiton-i18n</artifactId>
</dependency>
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -33,7 +33,7 @@
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.config.ApplicationConfig;
import java.io.BufferedReader;
import java.io.BufferedWriter;
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-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -26,7 +26,7 @@
import org.hibernate.dialect.HSQLDialect;
import org.hsqldb.jdbcDriver;
-import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.config.ConfigOptionDef;
import java.io.File;
@@ -38,7 +38,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.2
*/
-public enum TuttiPersistenceConfigOption implements ApplicationConfig.OptionDef {
+public enum TuttiPersistenceConfigOption implements ConfigOptionDef {
DB_DIRECTORY(
"tutti.persistence.db.directory",
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigProvider.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigProvider.java 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigProvider.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -24,8 +24,9 @@
* #L%
*/
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.ApplicationConfigProvider;
+import org.nuiton.util.config.ConfigActionDef;
+import org.nuiton.util.config.ApplicationConfigProvider;
+import org.nuiton.util.config.ConfigOptionDef;
import java.util.Locale;
@@ -50,12 +51,12 @@
}
@Override
- public ApplicationConfig.OptionDef[] getOptions() {
+ public ConfigOptionDef[] getOptions() {
return TuttiPersistenceConfigOption.values();
}
@Override
- public ApplicationConfig.ActionDef[] getActions() {
- return new ApplicationConfig.ActionDef[0];
+ public ConfigActionDef[] getActions() {
+ return new ConfigActionDef[0];
}
}
Deleted: trunk/tutti-persistence/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider
===================================================================
--- trunk/tutti-persistence/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-persistence/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider 2013-03-03 15:52:58 UTC (rev 519)
@@ -1 +0,0 @@
-fr.ifremer.tutti.persistence.config.TuttiPersistenceConfigProvider
\ No newline at end of file
Copied: trunk/tutti-persistence/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider (from rev 514, trunk/tutti-persistence/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider)
===================================================================
--- trunk/tutti-persistence/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider (rev 0)
+++ trunk/tutti-persistence/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider 2013-03-03 15:52:58 UTC (rev 519)
@@ -0,0 +1 @@
+fr.ifremer.tutti.persistence.config.TuttiPersistenceConfigProvider
\ No newline at end of file
Modified: trunk/tutti-service/pom.xml
===================================================================
--- trunk/tutti-service/pom.xml 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-service/pom.xml 2013-03-03 15:52:58 UTC (rev 519)
@@ -54,6 +54,11 @@
</dependency>
<dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-config</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.nuiton.i18n</groupId>
<artifactId>nuiton-i18n</artifactId>
</dependency>
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-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -26,10 +26,8 @@
import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationConfig;
import org.nuiton.util.Version;
+import org.nuiton.util.config.ApplicationConfig;
import java.io.File;
import java.io.IOException;
@@ -43,9 +41,6 @@
*/
public class TuttiServiceConfig {
- /** Logger. */
- private static final Log log = LogFactory.getLog(TuttiServiceConfig.class);
-
/** Delegate application config object containing configuration. */
protected final ApplicationConfig applicationConfig;
@@ -119,6 +114,5 @@
FileUtils.deleteDirectory(tmpDirectory);
}
FileUtils.forceMkdir(tmpDirectory);
-
}
}
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-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -24,8 +24,8 @@
* #L%
*/
-import org.nuiton.util.ApplicationConfig;
import org.nuiton.util.Version;
+import org.nuiton.util.config.ConfigOptionDef;
import java.io.File;
import java.net.URL;
@@ -38,7 +38,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.1
*/
-public enum TuttiServiceConfigOption implements ApplicationConfig.OptionDef {
+public enum TuttiServiceConfigOption implements ConfigOptionDef {
BASEDIR(
"tutti.basedir",
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigProvider.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigProvider.java 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigProvider.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -24,8 +24,9 @@
* #L%
*/
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.ApplicationConfigProvider;
+import org.nuiton.util.config.ConfigActionDef;
+import org.nuiton.util.config.ApplicationConfigProvider;
+import org.nuiton.util.config.ConfigOptionDef;
import java.util.Locale;
@@ -50,12 +51,12 @@
}
@Override
- public ApplicationConfig.OptionDef[] getOptions() {
+ public ConfigOptionDef[] getOptions() {
return TuttiServiceConfigOption.values();
}
@Override
- public ApplicationConfig.ActionDef[] getActions() {
- return new ApplicationConfig.ActionDef[0];
+ public ConfigActionDef[] getActions() {
+ return new ConfigActionDef[0];
}
}
\ No newline at end of file
Deleted: trunk/tutti-service/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider
===================================================================
--- trunk/tutti-service/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-service/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider 2013-03-03 15:52:58 UTC (rev 519)
@@ -1 +0,0 @@
-fr.ifremer.tutti.service.config.TuttiServiceConfigProvider
\ No newline at end of file
Copied: trunk/tutti-service/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider (from rev 514, trunk/tutti-service/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider)
===================================================================
--- trunk/tutti-service/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider (rev 0)
+++ trunk/tutti-service/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider 2013-03-03 15:52:58 UTC (rev 519)
@@ -0,0 +1 @@
+fr.ifremer.tutti.service.config.TuttiServiceConfigProvider
\ No newline at end of file
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/pom.xml 2013-03-03 15:52:58 UTC (rev 519)
@@ -234,6 +234,16 @@
</dependency>
<dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-config</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-updater</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.nuiton.i18n</groupId>
<artifactId>nuiton-i18n</artifactId>
</dependency>
@@ -295,6 +305,11 @@
<dependency>
<groupId>org.nuiton.jaxx</groupId>
+ <artifactId>jaxx-config</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.nuiton.jaxx</groupId>
<artifactId>jaxx-validator</artifactId>
</dependency>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -37,8 +37,10 @@
import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationUpdater;
import org.nuiton.util.Version;
+import org.nuiton.util.updater.ApplicationInfo;
+import org.nuiton.util.updater.ApplicationUpdater;
+import org.nuiton.util.updater.ApplicationUpdaterCallback;
import java.io.File;
import java.io.IOException;
@@ -51,7 +53,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class TuttiApplicationUpdaterCallBack implements ApplicationUpdater.ApplicationUpdaterCallback {
+public class TuttiApplicationUpdaterCallBack implements ApplicationUpdaterCallback {
/** Logger. */
private static final Log log =
@@ -93,11 +95,11 @@
}
@Override
- public Map<String, ApplicationUpdater.ApplicationInfo> updateToDo(Map<String, ApplicationUpdater.ApplicationInfo> appToUpdate) {
- Map<String, ApplicationUpdater.ApplicationInfo> result = Maps.newHashMap();
+ public Map<String, ApplicationInfo> updateToDo(Map<String, ApplicationInfo> appToUpdate) {
+ Map<String, ApplicationInfo> result = Maps.newHashMap();
for (UpdateType type : types) {
- ApplicationUpdater.ApplicationInfo info = getInfo(type, appToUpdate);
+ ApplicationInfo info = getInfo(type, appToUpdate);
if (info != null) {
result.put(info.name, info);
if (UpdateType.DB.equals(type)) {
@@ -111,13 +113,13 @@
}
if (types.contains(UpdateType.DB)) {
- ApplicationUpdater.ApplicationInfo info = getInfo(UpdateType.DB, result);
+ ApplicationInfo info = getInfo(UpdateType.DB, result);
dbUpdated = info != null;
}
return result;
}
- public void startUpdate(ApplicationUpdater.ApplicationInfo info) {
+ public void startUpdate(ApplicationInfo info) {
if (UpdateType.DB.name().toLowerCase().equals(info.name)) {
if (Version.VZERO.toString().equals(info.oldVersion)) {
@@ -141,7 +143,7 @@
}
@Override
- public void updateDone(Map<String, ApplicationUpdater.ApplicationInfo> appToUpdate,
+ public void updateDone(Map<String, ApplicationInfo> appToUpdate,
Map<String, Exception> appUpdateError) {
boolean doRestart = updateDoneJre(appToUpdate, appUpdateError);
@@ -187,7 +189,7 @@
}
}
- protected boolean updateDoneJre(Map<String, ApplicationUpdater.ApplicationInfo> appToUpdate,
+ protected boolean updateDoneJre(Map<String, ApplicationInfo> appToUpdate,
Map<String, Exception> appUpdateError) {
boolean doRestart = false;
Exception error = getError(UpdateType.JRE, appUpdateError);
@@ -198,7 +200,7 @@
log.error("Could not update jre", error);
}
} else {
- ApplicationUpdater.ApplicationInfo info = getInfo(UpdateType.JRE, appToUpdate);
+ ApplicationInfo info = getInfo(UpdateType.JRE, appToUpdate);
if (info != null) {
if (log.isInfoEnabled()) {
@@ -212,7 +214,7 @@
return doRestart;
}
- protected boolean updateDoneTutti(Map<String, ApplicationUpdater.ApplicationInfo> appToUpdate,
+ protected boolean updateDoneTutti(Map<String, ApplicationInfo> appToUpdate,
Map<String, Exception> appUpdateError) {
boolean doRestart = false;
Exception error = getError(UpdateType.TUTTI, appUpdateError);
@@ -223,7 +225,7 @@
log.error("Could not update tutti", error);
}
} else {
- ApplicationUpdater.ApplicationInfo info = getInfo(UpdateType.TUTTI, appToUpdate);
+ ApplicationInfo info = getInfo(UpdateType.TUTTI, appToUpdate);
if (info != null) {
if (log.isInfoEnabled()) {
@@ -237,7 +239,7 @@
return doRestart;
}
- protected boolean updateDoneI18n(Map<String, ApplicationUpdater.ApplicationInfo> appToUpdate,
+ protected boolean updateDoneI18n(Map<String, ApplicationInfo> appToUpdate,
Map<String, Exception> appUpdateError) {
boolean doRestart = false;
Exception error = getError(UpdateType.I18N, appUpdateError);
@@ -248,7 +250,7 @@
log.error("Could not update i18n", error);
}
} else {
- ApplicationUpdater.ApplicationInfo info = getInfo(UpdateType.I18N, appToUpdate);
+ ApplicationInfo info = getInfo(UpdateType.I18N, appToUpdate);
if (info != null) {
if (log.isInfoEnabled()) {
@@ -262,7 +264,7 @@
return doRestart;
}
- protected void updateDoneDb(Map<String, ApplicationUpdater.ApplicationInfo> appToUpdate,
+ protected void updateDoneDb(Map<String, ApplicationInfo> appToUpdate,
Map<String, Exception> appUpdateError) {
Exception error = getError(UpdateType.DB, appUpdateError);
if (error != null) {
@@ -272,7 +274,7 @@
log.error("Could not update db", error);
}
} else {
- ApplicationUpdater.ApplicationInfo info = getInfo(UpdateType.DB, appToUpdate);
+ ApplicationInfo info = getInfo(UpdateType.DB, appToUpdate);
if (info != null) {
if (log.isInfoEnabled()) {
@@ -294,8 +296,8 @@
}
}
- protected ApplicationUpdater.ApplicationInfo getInfo(UpdateType type,
- Map<String, ApplicationUpdater.ApplicationInfo> appToUpdate) {
+ protected ApplicationInfo getInfo(UpdateType type,
+ Map<String, ApplicationInfo> appToUpdate) {
return appToUpdate.get(type.name().toLowerCase());
}
@@ -304,7 +306,7 @@
return appUpdateError.get(type.name().toLowerCase());
}
- protected File getDbDirectory(ApplicationUpdater.ApplicationInfo info) {
+ protected File getDbDirectory(ApplicationInfo info) {
File[] sources = info.destDir.listFiles();
Preconditions.checkState(
sources != null && sources.length == 1,
@@ -313,7 +315,7 @@
return result;
}
- protected void prepareFirstDatabase(ApplicationUpdater.ApplicationInfo info) {
+ protected void prepareFirstDatabase(ApplicationInfo info) {
if (log.isInfoEnabled()) {
log.info("First time database was downloaded at version: " + info.newVersion);
}
@@ -334,7 +336,7 @@
}
}
- protected void synchronizetDatabase(ApplicationUpdater.ApplicationInfo info) {
+ protected void synchronizetDatabase(ApplicationInfo info) {
if (log.isInfoEnabled()) {
log.info(String.format("A database update was downloaded (oldVersion: %s, newVersion: %s), will launch a referential synchronize operation ", info.oldVersion, info.newVersion));
}
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-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -33,10 +33,10 @@
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.ApplicationConfigHelper;
-import org.nuiton.util.ApplicationConfigProvider;
-import org.nuiton.util.ArgumentsParserException;
+import org.nuiton.util.config.ApplicationConfig;
+import org.nuiton.util.config.ApplicationConfigHelper;
+import org.nuiton.util.config.ApplicationConfigProvider;
+import org.nuiton.util.config.ArgumentsParserException;
import org.nuiton.util.Version;
import javax.swing.KeyStroke;
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-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -25,7 +25,7 @@
*/
import fr.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType;
-import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.config.ConfigOptionDef;
import javax.swing.KeyStroke;
import java.awt.Color;
@@ -40,7 +40,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.1
*/
-public enum TuttiApplicationConfigOption implements ApplicationConfig.OptionDef {
+public enum TuttiApplicationConfigOption implements ConfigOptionDef {
TUTTI_LAUNCH_MODE(
"tutti.launch.mode",
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigProvider.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigProvider.java 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigProvider.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -24,8 +24,9 @@
* #L%
*/
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.ApplicationConfigProvider;
+import org.nuiton.util.config.ApplicationConfigProvider;
+import org.nuiton.util.config.ConfigActionDef;
+import org.nuiton.util.config.ConfigOptionDef;
import java.util.Locale;
@@ -50,12 +51,12 @@
}
@Override
- public ApplicationConfig.OptionDef[] getOptions() {
+ public ConfigOptionDef[] getOptions() {
return TuttiApplicationConfigOption.values();
}
@Override
- public ApplicationConfig.ActionDef[] getActions() {
- return new ApplicationConfig.ActionDef[0];
+ public ConfigActionDef[] getActions() {
+ return new ConfigActionDef[0];
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -27,9 +27,9 @@
import fr.ifremer.tutti.service.config.TuttiServiceConfigOption;
import fr.ifremer.tutti.ui.swing.content.MainUI;
import jaxx.runtime.SwingUtil;
-import jaxx.runtime.swing.editor.config.ConfigUI;
-import jaxx.runtime.swing.editor.config.ConfigUIHelper;
-import jaxx.runtime.swing.editor.config.model.MainCallBackFinalizer;
+import jaxx.runtime.swing.config.ConfigUI;
+import jaxx.runtime.swing.config.ConfigUIHelper;
+import jaxx.runtime.swing.config.model.MainCallBackFinalizer;
import static org.nuiton.i18n.I18n.n_;
@@ -124,7 +124,7 @@
ConfigUI configUI = helper.buildUI(
mainUI,
- "tutti.config.category.applications");
+ n_("tutti.config.category.applications"));
helper.displayUI(mainUI, false);
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-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -49,7 +49,7 @@
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.config.ApplicationConfig;
import org.nuiton.widget.SwingSession;
import javax.swing.Icon;
Modified: 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/UpdateApplicationAction.java 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -32,7 +32,7 @@
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationUpdater;
+import org.nuiton.util.updater.ApplicationUpdater;
import java.io.File;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -30,7 +30,7 @@
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationUpdater;
+import org.nuiton.util.updater.ApplicationUpdater;
import java.io.File;
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-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -32,7 +32,7 @@
import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationUpdater;
+import org.nuiton.util.updater.ApplicationUpdater;
import java.io.File;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-03 15:52:58 UTC (rev 519)
@@ -82,28 +82,28 @@
Throwable cause = ex;
- if (cause instanceof NullPointerException) {
-
- // See http://forge.codelutin.com/issues/2055
- if (ex.getStackTrace().length > 0 &&
- ex.getStackTrace()[0].getClassName().contains("swing.")) {
- if (log.isWarnEnabled()) {
- log.warn("AWT bad error (See http://forge.codelutin.com/issues/2055)", ex);
- }
- return;
- }
- }
-
- if (cause instanceof IndexOutOfBoundsException) {
- // See http://forge.codelutin.com/issues/2055
- if (ex.getStackTrace().length > 0 &&
- "convertRowIndexToModel".equals(ex.getStackTrace()[0].getMethodName())) {
- if (log.isWarnEnabled()) {
- log.warn("AWT bad error (See http://forge.codelutin.com/issues/2055)", ex);
- }
- return;
- }
- }
+// if (cause instanceof NullPointerException) {
+//
+// // See http://forge.codelutin.com/issues/2055
+// if (ex.getStackTrace().length > 0 &&
+// ex.getStackTrace()[0].getClassName().contains("swing.")) {
+// if (log.isWarnEnabled()) {
+// log.warn("AWT bad error (See http://forge.codelutin.com/issues/2055)", ex);
+// }
+// return;
+// }
+// }
+//
+// if (cause instanceof IndexOutOfBoundsException) {
+// // See http://forge.codelutin.com/issues/2055
+// if (ex.getStackTrace().length > 0 &&
+// "convertRowIndexToModel".equals(ex.getStackTrace()[0].getMethodName())) {
+// if (log.isWarnEnabled()) {
+// log.warn("AWT bad error (See http://forge.codelutin.com/issues/2055)", ex);
+// }
+// return;
+// }
+// }
if (cause instanceof TuttiTechnicalException) {
cause = cause.getCause();
}
Deleted: trunk/tutti-ui-swing/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider 2013-03-03 07:20:40 UTC (rev 518)
+++ trunk/tutti-ui-swing/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider 2013-03-03 15:52:58 UTC (rev 519)
@@ -1 +0,0 @@
-fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfigProvider
\ No newline at end of file
Copied: trunk/tutti-ui-swing/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider (from rev 514, trunk/tutti-ui-swing/src/main/resources/META-INF/services/org.nuiton.util.ApplicationConfigProvider)
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider (rev 0)
+++ trunk/tutti-ui-swing/src/main/resources/META-INF/services/org.nuiton.util.config.ApplicationConfigProvider 2013-03-03 15:52:58 UTC (rev 519)
@@ -0,0 +1 @@
+fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfigProvider
\ No newline at end of file
1
0
r518 - in trunk/tutti-persistence/src: main/java/fr/ifremer/tutti/persistence/service main/resources test/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com 03 Mar '13
by tchemit@users.forge.codelutin.com 03 Mar '13
03 Mar '13
Author: tchemit
Date: 2013-03-03 08:20:40 +0100 (Sun, 03 Mar 2013)
New Revision: 518
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/518
Log:
- clean program service
- clean cruise service
- ignore some tests (until refs #2036 works)
-add soem nice methods for date (what a mess!)
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AbstractPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceWriteTest.java
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceWriteTest.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AbstractPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AbstractPersistenceService.java 2013-03-02 16:44:34 UTC (rev 517)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AbstractPersistenceService.java 2013-03-03 07:20:40 UTC (rev 518)
@@ -37,6 +37,9 @@
import org.springframework.dao.DataIntegrityViolationException;
import java.io.Serializable;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.List;
@@ -183,4 +186,43 @@
return result;
}
+ protected Date newCreateDate() {
+ calendar.setTime(new Date());
+ calendar.set(Calendar.HOUR_OF_DAY, 0);
+ calendar.set(Calendar.MINUTE, 0);
+ calendar.set(Calendar.SECOND, 0);
+ calendar.set(Calendar.MILLISECOND, 0);
+ return calendar.getTime();
+ }
+
+ protected Date dateWithNoSecondAndMiliSecond(Date date) {
+ calendar.setTime(date);
+ calendar.set(Calendar.SECOND, 0);
+ calendar.set(Calendar.MILLISECOND, 0);
+ return calendar.getTime();
+ }
+
+ protected Date dateWithOneMiliSecond(Date date) {
+ calendar.setTime(date);
+ calendar.add(Calendar.MILLISECOND, 1);
+ return calendar.getTime();
+ }
+
+ protected Date dateOfYearWithOneMiliSecond(int year) {
+ calendar.setTimeInMillis(0);
+ calendar.set(Calendar.YEAR, year);
+ calendar.set(Calendar.MILLISECOND, 1);
+ return calendar.getTime();
+ }
+
+ protected long dateOfYearWithOneMiliSecondInMili(int year) {
+ calendar.setTimeInMillis(0);
+ calendar.set(Calendar.YEAR, year);
+ calendar.set(Calendar.MILLISECOND, 1);
+ return calendar.getTimeInMillis();
+ }
+
+ private Calendar calendar = new GregorianCalendar();
+
+
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-03-02 16:44:34 UTC (rev 517)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-03-03 07:20:40 UTC (rev 518)
@@ -68,9 +68,7 @@
import java.sql.Timestamp;
import java.text.MessageFormat;
import java.util.ArrayList;
-import java.util.Calendar;
import java.util.Date;
-import java.util.GregorianCalendar;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -129,8 +127,6 @@
@Resource(name = "gearPhysicalFeaturesDao")
protected GearPhysicalFeaturesExtendDao gearPhysicalFeaturesDao;
- protected Calendar calendar = new GregorianCalendar();
-
@Override
public List<Cruise> getAllCruise(String programId) {
Iterator<Object[]> list = queryList(
@@ -158,9 +154,7 @@
"pmfmIdSurveyPart", IntegerType.INSTANCE, enumeration.PMFM_ID_SURVEY_PART);
if (source == null) {
- return null;
- // TODo TC : manage exception in the UI ?
- //throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + id);
+ throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + id);
}
Cruise result = new Cruise();
result.setId(id);
@@ -183,11 +177,9 @@
Timestamp beginDate = (Timestamp) source[6];
if (beginDate != null && result.getYear() != null) {
- calendar.setTimeInMillis(0);
- calendar.set(Calendar.YEAR, result.getYear());
- calendar.add(Calendar.MILLISECOND, 1);
+ long mili = dateOfYearWithOneMiliSecondInMili(result.getYear());
// Comparison with getTime() is need, to keep millisecond precision
- if (beginDate.getTime() == calendar.getTimeInMillis()) {
+ if (beginDate.getTime() == mili) {
// if BeginDate is fake : set to null (see createCruise for details)
result.setBeginDate(null);
} else {
@@ -298,7 +290,7 @@
Preconditions.checkArgument(bean.getId() == null, "Cruise 'id' must be null to call createCruise().");
ScientificCruise scientificCruise = ScientificCruise.Factory.newInstance();
- cruiseToEntity(bean, scientificCruise, true);
+ cruiseToEntity(bean, scientificCruise);
scientificCruiseDao.create(scientificCruise);
bean.setId(String.valueOf(scientificCruise.getId()));
@@ -315,13 +307,14 @@
throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + bean.getId());
}
- cruiseToEntity(bean, scientificCruise, true);
+ cruiseToEntity(bean, scientificCruise);
scientificCruiseDao.update(scientificCruise);
return bean;
}
- protected void cruiseToEntity(Cruise source, ScientificCruise target, boolean copyIfNull) {
+ protected void cruiseToEntity(Cruise source, ScientificCruise target) {
+
StringBuilder miscDataBuffer = new StringBuilder();
QualityFlag qualityFlagNotQualified = load(
QualityFlagImpl.class, enumeration.QUALITY_FLAG_CODE_NOT_QUALIFIED);
@@ -342,21 +335,21 @@
}
// Name
- if (copyIfNull && source.getName() == null) {
+ if (source.getName() == null) {
target.setName(null);
} else if (source.getName() != null) {
target.setName(source.getName());
}
// Program
- if (copyIfNull && (source.getProgram() == null || source.getProgram().getId() == null)) {
+ if (source.getProgram() == null || source.getProgram().getId() == null) {
target.setProgram(null);
} else if (source.getName() != null && source.getProgram().getId() != null) {
target.setProgram(programDao.load(source.getProgram().getId()));
}
// Sort Room Managers
- if (copyIfNull && (source.getHeadOfSortRoom() == null || source.getHeadOfSortRoom().size() == 0)) {
+ if (source.getHeadOfSortRoom() == null || source.getHeadOfSortRoom().size() == 0) {
target.setManagerPerson(null);
} else if (source.getHeadOfSortRoom() != null && source.getHeadOfSortRoom().size() > 0) {
List<Person> persons = source.getHeadOfSortRoom();
@@ -368,7 +361,7 @@
}
// Managers
- if (copyIfNull && (source.getHeadOfMission() == null || source.getHeadOfMission().size() == 0)) {
+ if (source.getHeadOfMission() == null || source.getHeadOfMission().size() == 0) {
target.setManagerPerson(null);
} else if (source.getHeadOfMission() != null && source.getHeadOfMission().size() > 0) {
List<Person> persons = source.getHeadOfMission();
@@ -385,7 +378,7 @@
}
// Vessel
- if (copyIfNull && (source.getVessel() == null || source.getVessel().size() == 0)) {
+ if (source.getVessel() == null || source.getVessel().size() == 0) {
target.setProgram(null);
} else if (source.getVessel() != null && source.getVessel().size() > 0) {
List<Vessel> vessels = source.getVessel();
@@ -402,46 +395,37 @@
}
// Year
- if (copyIfNull && source.getYear() == null && source.getBeginDate() == null) {
+ if (source.getYear() == null && source.getBeginDate() == null) {
target.setDepartureDateTime(null);
} else if (source.getYear() != null && source.getBeginDate() == null) {
// Set year into departure date time only if no departure date time has been set
- calendar.setTimeInMillis(0);
- calendar.set(Calendar.YEAR, source.getYear());
// Add one millisecond to retrieve a 'year saved but no departure date'
- calendar.set(Calendar.MILLISECOND, 1);
- target.setDepartureDateTime(calendar.getTime());
+ target.setDepartureDateTime(dateOfYearWithOneMiliSecond(source.getYear()));
}
// BeginDate
- if (copyIfNull && source.getYear() == null && source.getBeginDate() == null) {
+ if (source.getYear() == null && source.getBeginDate() == null) {
target.setDepartureDateTime(null);
} else if (source.getBeginDate() != null) {
- calendar.setTime(source.getBeginDate());
- calendar.set(Calendar.SECOND, 0);
- calendar.set(Calendar.MILLISECOND, 0);
- target.setDepartureDateTime(calendar.getTime());
+ target.setDepartureDateTime(dateWithNoSecondAndMiliSecond(source.getBeginDate()));
}
// EndDate
- if (copyIfNull && source.getEndDate() == null) {
+ if (source.getEndDate() == null) {
target.setReturnDateTime(null);
} else if (source.getEndDate() != null) {
- calendar.setTime(source.getEndDate());
- calendar.set(Calendar.SECOND, 0);
- calendar.set(Calendar.MILLISECOND, 0);
- target.setReturnDateTime(calendar.getTime());
+ target.setReturnDateTime(dateWithNoSecondAndMiliSecond(source.getEndDate()));
}
// Comment
- if (copyIfNull && source.getComment() == null) {
+ if (source.getComment() == null) {
target.setComments(null);
} else if (source.getComment() != null) {
target.setComments(source.getComment());
}
// Manager
- if (copyIfNull && (source.getHeadOfMission() == null || source.getHeadOfMission().size() == 0)) {
+ if (source.getHeadOfMission() == null || source.getHeadOfMission().size() == 0) {
target.setComments(null);
} else if (source.getHeadOfMission() != null && source.getHeadOfMission().size() > 0) {
if (source.getHeadOfMission().size() > 0) {
@@ -461,12 +445,7 @@
// Default values :
target.setSynchronizationStatus(SynchronizationStatus.DIRTY.getValue());
if (target.getCreationDate() == null) {
- calendar.setTime(new Date());
- calendar.set(Calendar.HOUR_OF_DAY, 0);
- calendar.set(Calendar.MINUTE, 0);
- calendar.set(Calendar.SECOND, 0);
- calendar.set(Calendar.MILLISECOND, 0);
- target.setCreationDate(calendar.getTime());
+ target.setCreationDate(newCreateDate());
}
if (target.getManagerPerson() != null) {
target.setRecorderPerson(target.getManagerPerson());
@@ -485,13 +464,12 @@
fishingTrip.setQualityFlag(qualityFlagNotQualified);
if (fishingTrip.getReturnDateTime() == null && fishingTrip.getDepartureDateTime() != null) {
- calendar.setTime(fishingTrip.getDepartureDateTime());
- calendar.add(Calendar.MILLISECOND, 1); // = departureDateTime + 1ms
- fishingTrip.setReturnDateTime(calendar.getTime());
+ // = departureDateTime + 1ms
+ fishingTrip.setReturnDateTime(dateWithOneMiliSecond(fishingTrip.getDepartureDateTime()));
}
// Country
- if (copyIfNull && source.getCountry() == null || source.getCountry().getId() == null) {
+ if (source.getCountry() == null || source.getCountry().getId() == null) {
fishingTrip.setDepartureLocation(null);
fishingTrip.setReturnLocation(null);
} else if (source.getCountry() != null && source.getCountry().getId() != null) {
@@ -500,14 +478,11 @@
fishingTrip.setReturnLocation(locationCountry);
}
- //TODO Serie partiel (ajouter SurveyMeasurement dans fishingtrip)
-
- //TODO Creer un psfm serie partielle (voir avec vincent + benoit) (PmfmId.SURVEY_PART)
-
+ //FIXME Creer un psfm serie partielle (voir avec vincent + benoit) (PmfmId.SURVEY_PART)
setSurveyMeasurement(fishingTrip, enumeration.PMFM_ID_SURVEY_PART, null, source.getSurveyPart(), null);
// Gear
- if (copyIfNull && source.isGearEmpty() && fishingTrip.getGearPhysicalFeatures() != null) {
+ if (source.isGearEmpty() && fishingTrip.getGearPhysicalFeatures() != null) {
fishingTrip.getGearPhysicalFeatures().clear();
} else if (!source.isGearEmpty()) {
// Create a list to trace not updated items, to be able to remove them later
@@ -517,8 +492,7 @@
}
// Create or update a geaPhysicalFeatures for each gears in the cruise
- for (int i = 0; i < source.getGear().size(); i++) {
- Gear gear = source.getGear().get(i);
+ for (Gear gear : source.getGear()) {
GearPhysicalFeatures guf = gearPhysicalFeaturesDao.getGearPhysicalfeatures(fishingTrip, Integer.valueOf(gear.getId()), true);
notChangedGearPhysicalFeatures.remove(guf);
@@ -531,7 +505,7 @@
guf.setRankOrder((short) 1);
// Trawl net (store in Gear Physical features)
- if (copyIfNull && source.getMultirigNumber() == null) {
+ if (source.getMultirigNumber() == null) {
gearPhysicalFeaturesDao.removeGearPhysicalMeasurement(guf, enumeration.PMFM_ID_MULTIRIG_NUMBER);
} else {
gearPhysicalFeaturesDao.setGearPhysicalMeasurement(target, guf, enumeration.PMFM_ID_MULTIRIG_NUMBER, Float.valueOf(source.getMultirigNumber()), null, null);
@@ -553,24 +527,6 @@
fishingTrip.setComments(miscDataBuffer.toString());
}
- protected List<Person> getCruisePersonsByRole(String cruiseId, Integer vesselPersonRole) {
- Iterator<Object[]> list = queryList(
- "allCruiseManagers",
- "cruiseId", IntegerType.INSTANCE, Integer.valueOf(cruiseId),
- "vesselPersonRoleId", IntegerType.INSTANCE, vesselPersonRole);
-
- List<Person> persons = Lists.newArrayList();
- int maxTrawlNetFound = 0;
- while (list.hasNext()) {
- Object[] source = list.next();
- Person target = new Person();
-
- persons.add(target);
- }
-
- return persons;
- }
-
// adapt to surveyMeasurement
protected SurveyMeasurement getSurveyMeasurement(FishingTrip scientificCruise,
Integer pmfmId,
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java 2013-03-02 16:44:34 UTC (rev 517)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceImpl.java 2013-03-03 07:20:40 UTC (rev 518)
@@ -42,8 +42,6 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import java.util.Calendar;
-import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.List;
@@ -126,7 +124,7 @@
log.debug("Create program with name: " + bean.getName());
}
fr.ifremer.adagio.core.dao.administration.programStrategy.Program program = fr.ifremer.adagio.core.dao.administration.programStrategy.Program.Factory.newInstance();
- beanToEntity(bean, program, true);
+ programToEntity(bean, program);
program = programDao.create(program);
bean.setId(String.valueOf(program.getCode()));
@@ -140,7 +138,6 @@
Preconditions.checkNotNull(bean.getId());
Preconditions.checkNotNull(bean.getComment());
-
if (log.isDebugEnabled()) {
log.debug("Create program with name: " + bean.getName());
}
@@ -149,7 +146,7 @@
throw new DataRetrievalFailureException("Could not retrieve program with code=" + bean.getId());
}
- beanToEntity(bean, program, true);
+ programToEntity(bean, program);
programDao.update(program);
return bean;
@@ -172,9 +169,8 @@
}
}
- protected void beanToEntity(Program source,
- fr.ifremer.adagio.core.dao.administration.programStrategy.Program target,
- boolean copyIfNull) {
+ protected void programToEntity(Program source,
+ fr.ifremer.adagio.core.dao.administration.programStrategy.Program target) {
// Code : compute with : <prefixe><name>
if (target.getCode() == null && source.getName() != null) {
// Compute a program code (remove spaces, and capitalize the name)
@@ -197,26 +193,17 @@
target.setTaxonGroupType(load(TaxonGroupTypeImpl.class, enumeration.TAXON_GROUP_TYPE_ID_COMMERCIAL_SPECIES));
// Creation date
- Calendar calendar = new GregorianCalendar();
- calendar.set(Calendar.HOUR_OF_DAY, 0);
- calendar.set(Calendar.MINUTE, 0);
- calendar.set(Calendar.SECOND, 0);
- calendar.set(Calendar.MILLISECOND, 0);
- target.setCreationDate(calendar.getTime());
+ target.setCreationDate(newCreateDate());
}
- // Name
- if (copyIfNull && source.getName() == null) {
- target.setName(null);
- } else if (source.getName() != null) {
- target.setName(source.getName());
- }
+ // Name (mandatory in database)
+ target.setName(source.getName());
// Description (mandatory in database)
target.setDescription(source.getComment());
// Zone
- if (copyIfNull && source.getZone() == null) {
+ if (source.getZone() == null) {
// Remove program location classifications :
if (target.getLocationClassifications() != null) {
target.getLocationClassifications().clear();
Modified: trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties 2013-03-02 16:44:34 UTC (rev 517)
+++ trunk/tutti-persistence/src/main/resources/tutti-db-enumerations.properties 2013-03-03 07:20:40 UTC (rev 518)
@@ -329,7 +329,8 @@
PmfmId.MARINE_LITTER_SIZE_CATEGORY=1422
# TODO Alphanumeric = true A creer (dans les enumerations Allegro)
-PmfmId.SURVEY_PART=-192
+# TODO Change this number
+PmfmId.SURVEY_PART=1310
# TODO A creer (dans les enumerations Allegro)
PmfmId.STATION_NUMBER=1243
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceWriteTest.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceWriteTest.java 2013-03-02 16:44:34 UTC (rev 517)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceWriteTest.java 2013-03-03 07:20:40 UTC (rev 518)
@@ -35,6 +35,7 @@
import org.apache.commons.logging.LogFactory;
import org.junit.Before;
import org.junit.ClassRule;
+import org.junit.Ignore;
import org.junit.Test;
import java.util.Calendar;
@@ -51,6 +52,8 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
+//FIXME-TC solve the surveyPart stuff (http://forge.codelutin.com/issues/2036)
+@Ignore
public class CruisePersistenceServiceWriteTest {
/** Logger. */
@@ -110,6 +113,7 @@
cruise.setGear(gears);
cruise.setComment("My comments on cruise");
+ cruise.setSurveyPart("SurveyPart");
Person managerPerson = referentialService.getAllPerson().get(0);
cruise.setHeadOfMission(Lists.newArrayList(managerPerson));
@@ -129,6 +133,7 @@
assertNotNull(createdCruise);
assertNotNull(createdCruise.getId());
assertEquals(cruise.getName(), createdCruise.getName());
+ assertEquals(cruise.getSurveyPart(), createdCruise.getSurveyPart());
if (log.isInfoEnabled()) {
log.info("Created cruise: " + createdCruise.getId());
@@ -158,6 +163,9 @@
// Save cruise
createdCruise = service.createCruise(cruise);
+ if (log.isInfoEnabled()) {
+ log.info("Created cruise: " + createdCruise.getId());
+ }
assertNotNull(createdCruise);
assertNotNull(createdCruise.getId());
assertEquals(cruise.getName(), createdCruise.getName());
@@ -168,8 +176,8 @@
assertEquals(createdCruise.getBeginDate(), reloadedCruise.getBeginDate());
assertEquals(createdCruise.getEndDate(), reloadedCruise.getEndDate());
assertEquals(createdCruise.getComment(), reloadedCruise.getComment());
+ assertEquals(createdCruise.getSurveyPart(), reloadedCruise.getSurveyPart());
// assertEquals(createdCruise.getMultirigNumber(), reloadedCruise.getMultirigNumber());
- //TODO-tc, are we forced to do such things ?
assertEquals(1, reloadedCruise.getMultirigNumber(), 0);
assertNull(reloadedCruise.getHeadOfMission());
assertNotNull(reloadedCruise.getVessel());
@@ -205,6 +213,7 @@
// Name :
cruise.setName("Unit-test-" + System.currentTimeMillis());
+ cruise.setSurveyPart("SurveryPart" + cruise.getName());
// Remove gear, then add another gear
Gear previousGear = cruise.getGear(0);
@@ -226,6 +235,7 @@
assertEquals(cruise.getId(), reloadedCruise.getId());
assertEquals(cruise.getName(), reloadedCruise.getName());
assertEquals(cruise.getComment(), reloadedCruise.getComment());
+ assertEquals(cruise.getSurveyPart(), reloadedCruise.getSurveyPart());
assertNotNull(reloadedCruise.getGear());
assertEquals(cruise.getGear().size(), reloadedCruise.getGear().size());
assertEquals(cruise.getGear(0).getId(), reloadedCruise.getGear(0).getId());
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceWriteTest.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceWriteTest.java 2013-03-02 16:44:34 UTC (rev 517)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/ProgramPersistenceServiceWriteTest.java 2013-03-03 07:20:40 UTC (rev 518)
@@ -35,7 +35,6 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
/**
@@ -72,6 +71,7 @@
name = name.substring(0, 39);
}
program.setName(name);
+ program.setComment("Comment-" + name);
program.setZone(zones.get(0));
@@ -79,14 +79,16 @@
Program createdProgram = service.createProgram(program);
assertNotNull(createdProgram);
assertNotNull(createdProgram.getId());
- assertNull(createdProgram.getComment());
+ assertNotNull(createdProgram.getComment());
+ assertEquals(program.getName(), createdProgram.getName());
+ assertEquals(program.getComment(), createdProgram.getComment());
// Reload program and compare
Program reloadedProgram = service.getProgram(createdProgram.getId());
assertNotNull(reloadedProgram);
assertEquals(createdProgram.getId(), reloadedProgram.getId());
assertEquals(program.getName(), reloadedProgram.getName());
- assertNull(reloadedProgram.getComment());
+ assertEquals(program.getComment(), reloadedProgram.getComment());
assertNotNull(program.getZone());
assertEquals(program.getZone().getId(), reloadedProgram.getZone().getId());
1
0
See <http://ci.nuiton.org/jenkins/job/tutti/421/changes>
Changes:
[Tony Chemit] move MainUI to content pckage
------------------------------------------
[...truncated 326 lines...]
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserJava (scan-sources) @ tutti-service ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-service:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(get)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:get (get) @ tutti-service ---
[INFO] Copying tutti-service.properties to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/genera…>
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(get)
forkedProjectSucceeded fr.ifremer.tutti:tutti-service:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:gen (scan-sources) @ tutti-service ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-service ---
[INFO] Copying 2 resources
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ tutti-service ---
[INFO] Compiling 26 source files to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/classes>
[WARNING] bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[27,22] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[28,22] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[40,51] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[53,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[58,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[59,19] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[32,34] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[51,20] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[55,30] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[62,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[27,34] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/main/java…>:[35,10] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
mojoSucceeded org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)
mojoStarted org.apache.maven.plugins:maven-antrun-plugin:1.7(generate-surefire-workdir)
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-surefire-workdir) @ tutti-service ---
[INFO] Executing tasks
main:
[mkdir] Created dir: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
[INFO] Executed tasks
mojoSucceeded org.apache.maven.plugins:maven-antrun-plugin:1.7(generate-surefire-workdir)
mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.6(default-testResources)
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ tutti-service ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-testResources)
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-testCompile)
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ tutti-service ---
[INFO] Compiling 2 source files to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/test-c…>
mojoSucceeded org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-testCompile)[WARNING] bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/java…>:[46,22] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/java…>:[256,8] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/java…>:[257,20] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
mojoStarted org.apache.maven.plugins:maven-surefire-plugin:2.13(default-test)
[INFO]
[INFO] --- maven-surefire-plugin:2.13:test (default-test) @ tutti-service ---
[INFO] Surefire report directory: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportServiceTest
2013-03-02 07:33:42,735 0 [main] INFO fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService - Will export species to file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-02 07:33:42,762 27 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol - fr.ifremer.tutti.service.protocol.SpeciesRow > [null] , will create a new default one.
2013-03-02 07:33:43,050 315 [main] INFO fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService - Will export all caracteristics to file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-02 07:33:43,065 330 [main] INFO fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService - Will import protocol [null] species from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-02 07:33:43,076 341 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.service.protocol.SpeciesRow - fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol > [null] , will create a new default one.
2013-03-02 07:33:43,139 404 [main] INFO fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService - Will export all caracteristics to file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-02 07:33:43,143 408 [main] INFO fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService - Will import protocol caracteristic from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.755 sec
Running fr.ifremer.tutti.service.referential.TuttiReferentialImportExportServiceTest
2013-03-02 07:33:43,205 470 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@5f664de3
2013-03-02 07:33:43,207 472 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@18ba689b
2013-03-02 07:33:43,209 474 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@5e92db2
2013-03-02 07:33:43,212 477 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@591e356b
2013-03-02 07:33:43,332 597 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-02 07:33:43,337 602 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-02 07:33:43,349 614 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-02 07:33:43,352 617 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-02 07:33:43,353 618 [main] INFO fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService - Will import persons from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-02 07:33:43,354 619 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.persistence.entities.referential.Person - fr.ifremer.tutti.persistence.entities.referential.Person > [null] , will create a new default one.
2013-03-02 07:33:43,361 626 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-02 07:33:43,365 630 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-02 07:33:43,365 630 [main] INFO fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService - Will import vessels from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-02 07:33:43,390 655 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.persistence.entities.referential.Vessel - fr.ifremer.tutti.persistence.entities.referential.Vessel > [null] , will create a new default one.
2013-03-02 07:33:43,396 661 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-02 07:33:43,399 664 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-02 07:33:43,407 672 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-02 07:33:43,410 675 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-02 07:33:43,418 683 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-02 07:33:43,422 687 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-02 07:33:43,431 696 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-02 07:33:43,434 699 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-02 07:33:43,434 699 [main] INFO fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService - Will import species from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-02 07:33:43,436 701 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.persistence.entities.referential.Species - fr.ifremer.tutti.persistence.entities.referential.Species > [null] , will create a new default one.
2013-03-02 07:33:43,443 708 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-02 07:33:43,446 711 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-02 07:33:43,447 712 [main] INFO fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService - Will import gears from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-02 07:33:43,453 718 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.persistence.entities.referential.Gear - fr.ifremer.tutti.persistence.entities.referential.Gear > [null] , will create a new default one.
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.284 sec
Results :
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0
mojoSucceeded org.apache.maven.plugins:maven-surefire-plugin:2.13(default-test)
[JENKINS] Recording test results
mojoStarted org.apache.maven.plugins:maven-jar-plugin:2.4(default-jar)
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ tutti-service ---
[INFO] Building jar: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…>
mojoSucceeded org.apache.maven.plugins:maven-jar-plugin:2.4(default-jar)
mojoStarted org.apache.maven.plugins:maven-site-plugin:3.2(attach-descriptor)
[INFO]
[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ tutti-service ---
mojoSucceeded org.apache.maven.plugins:maven-site-plugin:3.2(attach-descriptor)
mojoStarted org.apache.maven.plugins:maven-install-plugin:2.4(default-install)
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…> to /var/local/maven/data/repository/fr/ifremer/tutti/tutti-service/1.0.2-SNAPSHOT/tutti-service-1.0.2-SNAPSHOT.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ tutti-service ---
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml> to /var/local/maven/data/repository/fr/ifremer/tutti/tutti-service/1.0.2-SNAPSHOT/tutti-service-1.0.2-SNAPSHOT.pom
mojoSucceeded org.apache.maven.plugins:maven-install-plugin:2.4(default-install)
projectSucceeded fr.ifremer.tutti:tutti-service:1.0.2-SNAPSHOT
projectStarted fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 1.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 48.5 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma… (2 KB at 35.2 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.11-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.… (808 B at 16.1 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.11-… (808 B at 15.5 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-valid…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-valid… (2 KB at 50.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-… (2 KB at 49.3 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 46.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru… (2 KB at 26.5 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 27.8 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va… (2 KB at 23.7 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 39.0 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi… (2 KB at 31.9 KB/sec)
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target>
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.nuiton.jaxx:jaxx-maven-plugin:2.5.11-SNAPSHOT(default)
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.11-SNAPSHOT:generate (default) @ tutti-ui-swing ---
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 52.0 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 39.0 KB/sec)
[INFO] use project compile scope class-path
[INFO] Detects 28 modified jaxx file(s).
[ERROR] JAXX detects 1 error :
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:133
: Invalid XML: The markup in the document following the root element must be well-formed.
mojoFailed org.nuiton.jaxx:jaxx-maven-plugin:2.5.11-SNAPSHOT(default)
projectFailed fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
sessionEnded
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [26.547s]
[INFO] Tutti :: Persistence .............................. SUCCESS [36.484s]
[INFO] Tutti :: Service .................................. SUCCESS [4.400s]
[INFO] Tutti :: UI ....................................... FAILURE [18.803s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:30.825s
[INFO] Finished at: Sat Mar 02 07:34:02 CET 2013
[INFO] Final Memory: 41M/140M
[INFO] ------------------------------------------------------------------------
Projects to build: [MavenProject: fr.ifremer:tutti:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-service:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/pom.xml]>
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-03-02_07-32-20/archive/fr.ifremer.tutti/tutti-service/1.0.2-SNAPSHOT/tutti-service-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-03-02_07-32-20/archive/fr.ifremer.tutti/tutti-service/1.0.2-SNAPSHOT/tutti-service-1.0.2-SNAPSHOT.jar
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-ui-swing/builds/2013-03-02_07-32-20/archive/fr.ifremer.tutti/tutti-ui-swing/1.0.2-SNAPSHOT/tutti-ui-swing-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-03-02_07-32-20/archive/fr.ifremer/tutti/1.0.2-SNAPSHOT/tutti-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/target/tutti-1.0.2-SNAPSHOT…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-03-02_07-32-20/archive/fr.ifremer/tutti/1.0.2-SNAPSHOT/tutti-1.0.2-SNAPSHOT-site_fr.xml
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-03-02_07-32-20/archive/fr.ifremer.tutti/tutti-persistence/1.0.2-SNAPSHOT/tutti-persistence-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/tu…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-03-02_07-32-20/archive/fr.ifremer.tutti/tutti-persistence/1.0.2-SNAPSHOT/tutti-persistence-1.0.2-SNAPSHOT.jar
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal org.nuiton.jaxx:jaxx-maven-plugin:2.5.11-SNAPSHOT:generate (default) on project tutti-ui-swing: Aborting due to errors reported by jaxxc
cause : Aborting due to errors reported by jaxxc
Stack trace :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.nuiton.jaxx:jaxx-maven-plugin:2.5.11-SNAPSHOT:generate (default) on project tutti-ui-swing: Aborting due to errors reported by jaxxc
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.maven.plugin.MojoExecutionException: Aborting due to errors reported by jaxxc
at org.nuiton.jaxx.plugin.GenerateMojo.doAction(GenerateMojo.java:517)
at org.nuiton.plugin.AbstractPlugin.execute(AbstractPlugin.java:132)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 27 more
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com chemit(a)codelutin.com
channel stopped
1
4
02 Mar '13
See <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/421/…>
Changes:
[Tony Chemit] move MainUI to content pckage
------------------------------------------
projectStarted fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 1.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 48.5 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma… (2 KB at 35.2 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.11-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.… (808 B at 16.1 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.11-… (808 B at 15.5 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-valid…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-valid… (2 KB at 50.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-… (2 KB at 49.3 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 46.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru… (2 KB at 26.5 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 27.8 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va… (2 KB at 23.7 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 39.0 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi… (2 KB at 31.9 KB/sec)
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.nuiton.jaxx:jaxx-maven-plugin:2.5.11-SNAPSHOT(default)
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.11-SNAPSHOT:generate (default) @ tutti-ui-swing ---
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 52.0 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 39.0 KB/sec)
[INFO] use project compile scope class-path
[INFO] Detects 28 modified jaxx file(s).
[ERROR] JAXX detects 1 error :
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:133
: Invalid XML: The markup in the document following the root element must be well-formed.
mojoFailed org.nuiton.jaxx:jaxx-maven-plugin:2.5.11-SNAPSHOT(default)
projectFailed fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
1
2
r517 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing: . content content/db util
by tchemit@users.forge.codelutin.com 02 Mar '13
by tchemit@users.forge.codelutin.com 02 Mar '13
02 Mar '13
Author: tchemit
Date: 2013-03-02 17:44:34 +0100 (Sat, 02 Mar 2013)
New Revision: 517
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/517
Log:
refs #2056: [TECH] Am?\195?\169liorer le processus de mise ?\195?\160 jour de l'application
am?\195?\169liorations messages des mises ?\195?\160 jour
reformat
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
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/UpdateReferentialAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-02 16:30:00 UTC (rev 516)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-02 16:44:34 UTC (rev 517)
@@ -27,11 +27,11 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
+import fr.ifremer.tutti.TuttiTechnicalException;
import fr.ifremer.tutti.persistence.ProgressionModel;
import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig;
import fr.ifremer.tutti.persistence.service.synchro.ReferentialSynchronizeResult;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.TuttiTechnicalException;
import fr.ifremer.tutti.service.referential.TuttiReferentialSynchronizeService;
import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
import org.apache.commons.io.FileUtils;
@@ -57,11 +57,12 @@
private static final Log log =
LogFactory.getLog(TuttiApplicationUpdaterCallBack.class);
+
public enum UpdateType {
JRE,
TUTTI,
I18N,
- DB
+ DB;
}
protected final TuttiUIContext context;
@@ -70,6 +71,8 @@
protected ProgressionModel progressionModel;
+ protected boolean applicationUpdated;
+
protected boolean dbUpdated;
public TuttiApplicationUpdaterCallBack(TuttiUIContext context, ProgressionModel progressionModel) {
@@ -81,6 +84,10 @@
this.types = Lists.newArrayList(types);
}
+ public boolean isApplicationUpdated() {
+ return applicationUpdated;
+ }
+
public boolean isDbUpdated() {
return dbUpdated;
}
@@ -148,6 +155,8 @@
if (doRestart) {
+ applicationUpdated = true;
+
if (updateTutti) {
TuttiPersistenceConfig persistenceConfig = context.getConfig().getServiceConfig().getPersistenceConfig();
@@ -163,12 +172,14 @@
throw new TuttiTechnicalException(
"could not delete i18n directory " + i18nDirectory, e);
}
-
}
- System.exit(RunTutti.UPATE_EXIT_CODE);
}
}
+ public void restart() {
+ System.exit(RunTutti.UPATE_EXIT_CODE);
+ }
+
@Override
public void aborted(String propertiesURL, Exception eee) {
if (log.isErrorEnabled()) {
Modified: 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/UpdateApplicationAction.java 2013-03-02 16:30:00 UTC (rev 516)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-03-02 16:44:34 UTC (rev 517)
@@ -28,6 +28,7 @@
import fr.ifremer.tutti.ui.swing.TuttiApplicationUpdaterCallBack;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -60,7 +61,8 @@
@Override
protected void doAction() {
- TuttiApplicationConfig config = getContext().getConfig();
+ TuttiUIContext context = getContext();
+ TuttiApplicationConfig config = context.getConfig();
File current = config.getTuttiBasedir();
if (current == null || !current.exists()) {
@@ -80,11 +82,11 @@
ApplicationUpdater up = new ApplicationUpdater();
ProgressionModel progressionModel = new ProgressionModel();
- getContext().getActionUI().getModel().setProgressionModel(progressionModel);
+ context.getActionUI().getModel().setProgressionModel(progressionModel);
progressionModel.setMessage("Recherche de mises à jour de JRE / Tutti / I18N");
TuttiApplicationUpdaterCallBack callback =
- new TuttiApplicationUpdaterCallBack(getContext(), progressionModel);
+ new TuttiApplicationUpdaterCallBack(context, progressionModel);
callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.JRE,
TuttiApplicationUpdaterCallBack.UpdateType.I18N,
@@ -94,6 +96,23 @@
dest,
false,
callback);
+
+ if (callback.isApplicationUpdated()) {
+
+ // tell user restart will be done
+
+ TuttiUIUtil.showSuccessMessage(
+ getUI(),
+ "Redémarrage de Tutti nécessaire...",
+ "La mise à jour nécessite le rédémarrage du Tutti.\nL'application va se fermer puis se réouvrir automatiquement."
+ );
+
+ callback.restart();
+
+ } else {
+
+ sendMessage("Aucune mise à jour de l'application détectée.");
+ }
// getContext().getActionUI().getModel().clear();
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java 2013-03-02 16:30:00 UTC (rev 516)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java 2013-03-02 16:44:34 UTC (rev 517)
@@ -26,6 +26,7 @@
import fr.ifremer.tutti.persistence.ProgressionModel;
import fr.ifremer.tutti.ui.swing.TuttiApplicationUpdaterCallBack;
+import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -57,7 +58,8 @@
@Override
protected void doAction() {
- TuttiApplicationConfig config = getContext().getConfig();
+ TuttiUIContext context = getContext();
+ TuttiApplicationConfig config = context.getConfig();
File current = config.getDataDirectory();
String url = config.getUpdateUrl();
@@ -69,9 +71,9 @@
File dest = new File(config.getTuttiBasedir(), "NEW");
ProgressionModel progressionModel = new ProgressionModel();
- getContext().getActionUI().getModel().setProgressionModel(progressionModel);
+ context.getActionUI().getModel().setProgressionModel(progressionModel);
progressionModel.setMessage("Recherche de mises à jour de base");
- TuttiApplicationUpdaterCallBack callback = new TuttiApplicationUpdaterCallBack(getContext(), progressionModel);
+ TuttiApplicationUpdaterCallBack callback = new TuttiApplicationUpdaterCallBack(context, progressionModel);
callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.DB);
up.update(url,
current,
@@ -83,8 +85,8 @@
progressionModel.setMessage("Rechargement de la base de données");
- getContext().setDbLoaded(true);
- getContext().reloadPersistenceService();
+ context.setDbLoaded(true);
+ context.reloadPersistenceService();
} else {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-02 16:30:00 UTC (rev 516)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-02 16:44:34 UTC (rev 517)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.google.common.base.Preconditions;
import fr.ifremer.tutti.service.TuttiIOUtil;
import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction;
import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
@@ -82,8 +83,8 @@
file = TuttiIOUtil.addExtensionIfMissing(file, ".zip");
- // ask user to confirm overwrite.
- doAction = TuttiUIUtil.askOverwriteFile(getUI(), file);
+ // ask user to confirm overwrite.
+ doAction = TuttiUIUtil.askOverwriteFile(getUI(), file);
}
}
return doAction;
@@ -97,7 +98,7 @@
@Override
protected void doAction() {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will export db to " + file);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-02 16:30:00 UTC (rev 516)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-02 16:44:34 UTC (rev 517)
@@ -132,11 +132,11 @@
return file == null ? incoming : new File(file);
}
- public static void showSuccessMessage(Component ui, String message) {
+ public static void showSuccessMessage(Component ui,String title, String message) {
JOptionPane.showMessageDialog(
ui,
message,
- "Success",
+ title,
JOptionPane.INFORMATION_MESSAGE,
UIManager.getIcon("info")
);
1
0
02 Mar '13
Author: tchemit
Date: 2013-03-02 17:30:00 +0100 (Sat, 02 Mar 2013)
New Revision: 516
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/516
Log:
fixes #1872: [IMP/EXP] - Import Allegro (ne pas ajouter les fichiers de configuration de tutti)
fixes #2071: [IMP/EXP] Demander une confirmation avant d'?\195?\169craser un fichier
fixes #2072: [IMP/EXP] Ajouter de mani?\195?\168re automatique l'extension au fichier lors des exports
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.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/TuttiUIUtil.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -94,8 +94,10 @@
driver.clearAllCaches();
}
- DateFormat exportDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ public static final DateFormat EXPORT_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
+ public static final String EXPORT_DIRECTORY_FORMAT = "tutti-%s-%s";
+
/**
* Export db as an zip archive (including the attachments).
*
@@ -116,11 +118,14 @@
TuttiServiceConfig config = context.getConfig();
- File structureDirectory = new File(
- config.newTempFile("exportdb"),
- "tutti-" + config.getVersion() +
- exportDateFormat.format(context.currentDate()));
+ String directoryName = String.format(
+ EXPORT_DIRECTORY_FORMAT,
+ config.getVersion(),
+ EXPORT_DATE_FORMAT.format(context.currentDate()));
+ File structureDirectory = new File(config.newTempFile("exportdb"),
+ directoryName);
+
TuttiIOUtil.forceMkdir(structureDirectory,
"Could not create directory");
@@ -137,14 +142,6 @@
new File(structureDirectory, "meas_files"),
"Could not copy db attachment directory");
- TuttiIOUtil.copyFile(pConfig.getDbConfigurationPath(),
- structureDirectory,
- "Could not copy db configuration file");
-
- TuttiIOUtil.copyFile(pConfig.getDbEnumerationPath(),
- structureDirectory,
- "Could not copy db enumeration file");
-
//create zip
TuttiIOUtil.zip(structureDirectory, file,
"Could not create archive at " + file);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -72,19 +72,27 @@
null,
"^.*\\.zip", _("tutti.file.zip")
);
- doAction = file != null;
- }
+ if (file == null) {
- if (doAction) {
- file = TuttiIOUtil.addExtensionIfMissing(file, ".zip");
+ // user cancel
+ doAction = false;
+ } else {
+
+ // add extension if missing
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".zip");
+
+
+ // ask user to confirm overwrite.
+ doAction = TuttiUIUtil.askOverwriteFile(getUI(), file);
+ }
}
return doAction;
}
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -288,16 +288,10 @@
message = _("tutti.dialog.askCancelEditBeforeLeaving.cancelEditFishingOperation");
}
- int answer = getHandler().askCancelEditBeforeLeaving(message);
+ // ok will revert any modification by
+ // editing new fishing operation (if user says yes)
+ canContinue = handler.askCancelEditBeforeLeaving(message);
- switch (answer) {
- case JOptionPane.YES_OPTION:
-
- // ok will revert any modification by
- // editing new fishing operation
- canContinue = true;
- break;
- }
}
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -409,20 +409,13 @@
// model is not valid, ask user to continue or not
- int answer = askCancelEditBeforeLeaving(
+ result = askCancelEditBeforeLeaving(
_("tutti.dialog.askCancelEditBeforeLeaving.cancelEditFishingOperation"));
- switch (answer) {
- case JOptionPane.YES_OPTION:
- // ok will revert any modification
- ActionEvent event = new ActionEvent(this, newIndex, null);
- doAction(ui.getCancelButton(), event);
- result = true;
- break;
- default:
-
- // other case, use cancel action
- result = false;
+ if (result) {
+ // ok will revert any modification
+ ActionEvent event = new ActionEvent(this, newIndex, null);
+ doAction(ui.getCancelButton(), event);
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -196,20 +196,14 @@
} else {
// model is not valid, ask user to loose modification or cancel
- int answer = askCancelEditBeforeLeaving(
+ result = askCancelEditBeforeLeaving(
_("tutti.dialog.askCancelEditBeforeLeaving.cancelEditCatchBatch"));
- switch (answer) {
- case JOptionPane.YES_OPTION:
- // ok will revert any modification
- ActionEvent event = new ActionEvent(this, newIndex, null);
- doAction(ui.getCancelButton(), event);
- result = true;
- break;
- default:
+ if (result) {
- // other case, use cancel action
- result = false;
+ // ok will revert any modification
+ ActionEvent event = new ActionEvent(this, newIndex, null);
+ doAction(ui.getCancelButton(), event);
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -74,9 +74,13 @@
null,
"^.*\\.csv", _("tutti.file.csv")
);
- doAction = file != null;
+ if (file == null) {
- if (doAction) {
+ // user cancel
+ doAction = false;
+ } else {
+
+ // add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
}
}
@@ -85,8 +89,8 @@
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -75,8 +75,13 @@
null,
"^.*\\.csv", _("tutti.file.csv")
);
- doAction = file != null;
- if (doAction) {
+ if (file == null) {
+
+ // user cancel
+ doAction = false;
+ } else {
+
+ // add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
}
}
@@ -85,8 +90,8 @@
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -77,8 +77,13 @@
null,
"^.*\\.csv", _("tutti.file.csv")
);
- doAction = file != null;
- if (doAction) {
+ if (file == null) {
+
+ // user cancel
+ doAction = false;
+ } else {
+
+ // add extension if missing
file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
}
}
@@ -87,8 +92,8 @@
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -25,6 +25,7 @@
*/
import com.ezware.oxbow.swingbits.util.Preconditions;
+import fr.ifremer.tutti.service.TuttiIOUtil;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -74,15 +75,23 @@
null,
"^.*\\.csv", _("tutti.file.csv")
);
- doAction = file != null;
+ if (file == null) {
+
+ // user cancel
+ doAction = false;
+ } else {
+
+ // add extension if missing
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+ }
}
return doAction;
}
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -25,6 +25,7 @@
*/
import com.ezware.oxbow.swingbits.util.Preconditions;
+import fr.ifremer.tutti.service.TuttiIOUtil;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -75,15 +76,23 @@
null,
"^.*\\.csv", _("tutti.file.csv")
);
- doAction = file != null;
+ if (file == null) {
+
+ // user cancel
+ doAction = false;
+ } else {
+
+ // add extension if missing
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+ }
}
return doAction;
}
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -25,6 +25,7 @@
*/
import com.ezware.oxbow.swingbits.util.Preconditions;
+import fr.ifremer.tutti.service.TuttiIOUtil;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -74,15 +75,23 @@
null,
"^.*\\.csv", _("tutti.file.csv")
);
- doAction = file != null;
+ if (file == null) {
+
+ // user cancel
+ doAction = false;
+ } else {
+
+ // add extension if missing
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+ }
}
return doAction;
}
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -25,6 +25,7 @@
*/
import com.ezware.oxbow.swingbits.util.Preconditions;
+import fr.ifremer.tutti.service.TuttiIOUtil;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -74,7 +75,15 @@
null,
"^.*\\.csv", _("tutti.file.csv")
);
- doAction = file != null;
+ if (file == null) {
+
+ // user cancel
+ doAction = false;
+ } else {
+
+ // add extension if missing
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+ }
}
return doAction;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -81,8 +81,8 @@
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -81,8 +81,8 @@
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -80,8 +80,8 @@
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -80,8 +80,8 @@
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
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-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -29,13 +29,13 @@
import com.google.common.collect.Sets;
import fr.ifremer.tutti.persistence.entities.IdAware;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction;
-import fr.ifremer.tutti.ui.swing.content.MainUI;
-import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiDataContext;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction;
+import fr.ifremer.tutti.ui.swing.content.MainUI;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.action.TuttiUIAction;
import fr.ifremer.tutti.ui.swing.util.editor.SimpleTimeEditor;
@@ -277,21 +277,20 @@
}
public int askSaveBeforeLeaving(String message) {
- int i = JOptionPane.showConfirmDialog(
+ int result = JOptionPane.showConfirmDialog(
getContext().getMainUI(),
message,
_("tutti.dialog.askSaveBeforeLeaving.title"),
JOptionPane.YES_NO_CANCEL_OPTION);
- return i;
+ return result;
}
- public int askCancelEditBeforeLeaving(String message) {
- int i = JOptionPane.showConfirmDialog(
+ public boolean askCancelEditBeforeLeaving(String message) {
+ boolean result = TuttiUIUtil.askQuestion(
getContext().getMainUI(),
message,
- _("tutti.dialog.askCancelEditBeforeLeaving.title"),
- JOptionPane.YES_NO_OPTION);
- return i;
+ _("tutti.dialog.askCancelEditBeforeLeaving.title"));
+ return result;
}
//------------------------------------------------------------------------//
//-- Internal methods --//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-02 16:30:00 UTC (rev 516)
@@ -26,6 +26,7 @@
import com.google.common.base.Preconditions;
import fr.ifremer.tutti.TuttiTechnicalException;
+import fr.ifremer.tutti.ui.swing.content.MainUI;
import jaxx.runtime.JAXXUtil;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang3.time.DurationFormatUtils;
@@ -151,11 +152,11 @@
);
}
- public static boolean askQuestion(Component ui, String message) {
+ public static boolean askQuestion(Component ui, String title, String message) {
int i = JOptionPane.showConfirmDialog(
ui,
message,
- "Question?",
+ title,
JOptionPane.YES_NO_OPTION);
return i == JOptionPane.YES_OPTION;
}
@@ -237,4 +238,13 @@
}
return textValue;
}
+
+ public static boolean askOverwriteFile(MainUI ui, File file) {
+ boolean result =
+ !file.exists() ||
+ askQuestion(ui,
+ _("tutti.dialog.askOverwriteFile.title"),
+ _("tutti.dialog.askOverwriteFile.message", file));
+ return result;
+ }
}
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-03-02 16:03:05 UTC (rev 515)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-02 16:30:00 UTC (rev 516)
@@ -179,6 +179,8 @@
tutti.dialog.askCancelEditBeforeLeaving.cancelEditCatchBatch=La capture modifiée n'est pas valide. Voulez-vous annuler les modifications ?
tutti.dialog.askCancelEditBeforeLeaving.cancelEditFishingOperation=Le trait modifié n'est pas valide. Voulez-vous annuler les modifications ?
tutti.dialog.askCancelEditBeforeLeaving.title=Modifications non enregistrées mais invalides
+tutti.dialog.askOverwriteFile.message=Le fichier %s existe déjà, confirmer pour l'écraser.
+tutti.dialog.askOverwriteFile.title=Confirmer l'écrasement d'un fichier...
tutti.dialog.askSaveBeforeLeaving.createFishingOperation=Le trait n'a pas été créé. Voulez-vous l'enregistrer ?
tutti.dialog.askSaveBeforeLeaving.saveCatchBatch=La capture a été modifiée. Voulez-vous enregistrer les modifications ?
tutti.dialog.askSaveBeforeLeaving.saveCruise=La campagne a été modifiée. Voulez-vous enregistrer les modifications ?
1
0
02 Mar '13
Author: tchemit
Date: 2013-03-02 17:03:05 +0100 (Sat, 02 Mar 2013)
New Revision: 515
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/515
Log:
- move tutti exception to persistence module
- no dep on adagio in our service (should only be visible from persistence module)
- refs #1872: [IMP/EXP] - Import Allegro (export tutti!)
- use nuiton-validator fixed validator
- optimize dependencies
Added:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiBusinessException.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiTechnicalException.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/InvalidBatchModelException.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiIOUtil.java
Removed:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/InvalidBatchModelException.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiBusinessException.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiTechnicalException.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiCollectionUniqueKeyValidator.java
Modified:
trunk/pom.xml
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/ScientificCruiseCatchBatchValidator.java
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
trunk/tutti-service/pom.xml
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/AbstractTuttiService.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiServiceContext.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/TuttiReferentialImportExportService.java
trunk/tutti-ui-swing/pom.xml
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.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/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/db/ExportDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
trunk/tutti-ui-swing/src/main/resources/validators.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/pom.xml 2013-03-02 16:03:05 UTC (rev 515)
@@ -212,12 +212,6 @@
<classifier>tests</classifier>
</dependency>
- <dependency>
- <groupId>org.apache.struts.xwork</groupId>
- <artifactId>xwork-core</artifactId>
- <version>2.3.7</version>
- </dependency>
-
<!-- librairie Jaxx -->
<dependency>
<groupId>org.nuiton.jaxx</groupId>
Copied: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiBusinessException.java (from rev 513, trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiBusinessException.java)
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiBusinessException.java (rev 0)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiBusinessException.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -0,0 +1,48 @@
+package fr.ifremer.tutti;
+
+/*
+ * #%L
+ * Tutti :: Persistence
+ * $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%
+ */
+
+/**
+ * To box any business exception.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class TuttiBusinessException extends RuntimeException {
+
+ private static final long serialVersionUID = 1L;
+
+ public TuttiBusinessException(String message) {
+ super(message);
+ }
+
+ public TuttiBusinessException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public TuttiBusinessException(Throwable cause) {
+ super(cause);
+ }
+}
Copied: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiTechnicalException.java (from rev 513, trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiTechnicalException.java)
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiTechnicalException.java (rev 0)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiTechnicalException.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -0,0 +1,51 @@
+package fr.ifremer.tutti;
+
+/*
+ * #%L
+ * Tutti :: Persistence
+ * $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%
+ */
+
+/**
+ * Any techincal exception should be boxed in a such exception.
+ *
+ * @author tchemit <chemit(a)codelutin.com/>
+ * @since 0.1
+ */
+public class TuttiTechnicalException extends RuntimeException {
+
+ private static final long serialVersionUID = 1L;
+
+ public TuttiTechnicalException() {
+ }
+
+ public TuttiTechnicalException(String message) {
+ super(message);
+ }
+
+ public TuttiTechnicalException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public TuttiTechnicalException(Throwable cause) {
+ super(cause);
+ }
+}
Copied: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/InvalidBatchModelException.java (from rev 513, trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/InvalidBatchModelException.java)
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/InvalidBatchModelException.java (rev 0)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/InvalidBatchModelException.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -0,0 +1,50 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $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.TuttiBusinessException;
+
+/**
+ * Exception when batch model is not compatible with Tutti.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0.2
+ */
+public class InvalidBatchModelException extends TuttiBusinessException {
+
+ private static final long serialVersionUID = 1L;
+
+ public InvalidBatchModelException(String message) {
+ super(message);
+ }
+
+ public InvalidBatchModelException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public InvalidBatchModelException(Throwable cause) {
+ super(cause);
+ }
+}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,7 +24,6 @@
* #L%
*/
-import fr.ifremer.adagio.core.dao.data.batch.validator.CatchBatchValidationException;
import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
@@ -329,14 +328,18 @@
/**
* Get the catchBatch from the fishing Operation id.
+ * <p/>
+ * If batch model is not compatible with Tutti and {@code canRepair} flag
+ * is on, then it will try to repair it.
*
* @param id id of the fihsing operation
* @param canRepair flag to try to repair the batch model in not in Tutti-awre format.
* @return found catchbatch
+ * @throws InvalidBatchModelException if batch model is not compatible with Tutti and could be repaired (in cause of canRepair is on).
*/
@Transactional(readOnly = false)
CatchBatch getCatchBatchFromFishingOperation(String id,
- boolean canRepair) throws CatchBatchValidationException;
+ boolean canRepair) throws InvalidBatchModelException;
/**
* Create the given CatchBatch and return it.
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -442,8 +442,12 @@
@Override
public CatchBatch getCatchBatchFromFishingOperation(String id,
- boolean canRepair) throws CatchBatchValidationException {
- return batchService.getCatchBatchFromFishingOperation(id, canRepair);
+ boolean canRepair) throws InvalidBatchModelException {
+ try {
+ return batchService.getCatchBatchFromFishingOperation(id, canRepair);
+ } catch (CatchBatchValidationException e) {
+ throw new InvalidBatchModelException("L'arbre d'échantillonage n'est pas compatible avec celui de Tutti.", e);
+ }
}
@Override
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -72,13 +72,12 @@
}
public void initConfig(RessourceClassLoader resourceLoader) throws IOException {
- try {
- FileUtils.forceMkdir(getDbDirectory());
- FileUtils.forceMkdir(getProtocolDirectory());
- } catch (Exception e) {
- throw new RuntimeException("Could not create directory", e);
- }
+ FileUtils.forceMkdir(getDbDirectory());
+ FileUtils.forceMkdir(getDbAttachmentDirectory());
+ FileUtils.forceMkdir(getProtocolDirectory());
+
+
// add a predicate to search the configuration file from his directory instead of the class-path
resourceLoader.addSearchInDirectoriesPredicate(new Predicate<String>() {
@@ -118,6 +117,10 @@
return config.getOptionAsFile(TuttiPersistenceConfigOption.DB_DIRECTORY.getKey());
}
+ public File getDbAttachmentDirectory() {
+ return config.getOptionAsFile(TuttiPersistenceConfigOption.DB_ATTACHMENT_DIRECTORY.getKey());
+ }
+
public File getCacheDirectory() {
return config.getOptionAsFile(TuttiPersistenceConfigOption.CACHE_DIRECTORY.getKey());
}
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-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigOption.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -47,6 +47,13 @@
File.class,
true,
true),
+ DB_ATTACHMENT_DIRECTORY(
+ "tutti.persistence.db.attachment.directory",
+ n_("tutti.option.persistence.db.attachment.directory.description"),
+ "${tutti.data.directory}/meas_files",
+ File.class,
+ true,
+ true),
CACHE_DIRECTORY(
"tutti.persistence.cache.directory",
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/ScientificCruiseCatchBatchValidator.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/ScientificCruiseCatchBatchValidator.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/ScientificCruiseCatchBatchValidator.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -37,7 +37,6 @@
import fr.ifremer.adagio.core.dao.data.batch.validator.CatchBatchValidator;
import fr.ifremer.adagio.core.dao.data.measure.SortingMeasurement;
import fr.ifremer.tutti.persistence.service.BatchPersistenceService;
-import fr.ifremer.tutti.persistence.service.ReferentialPersistenceService;
import fr.ifremer.tutti.persistence.service.TuttiEnumerationFile;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -63,17 +62,11 @@
protected BatchPersistenceService batchService;
@Autowired
- protected ReferentialPersistenceService referentialService;
-
- @Autowired
protected CatchBatchExtendDao catchBatchDao;
@Autowired
protected TuttiEnumerationFile enumeration;
- public ScientificCruiseCatchBatchValidator() {
- }
-
@Override
public boolean isEnable(fr.ifremer.adagio.core.dao.data.batch.CatchBatch catchBatch) {
// Apply validation only on catch batch for fishingOperation
@@ -88,16 +81,21 @@
}
// ------------------------------------------------------------------------//
- // -- Internal methods --//
+ // -- Internal methods --//
// ------------------------------------------------------------------------//
- protected void validate(Collection<Batch> batchs, List<CatchBatchValidationError> errors, int treeLevel) {
+ protected void validate(Collection<Batch> batchs,
+ List<CatchBatchValidationError> errors,
+ int treeLevel) {
- //TODO finishi i18n
-
// Vrac
SortingBatch vracBatch = catchBatchDao.getSortingBatch(batchs,
"pmfmId", enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_VRAC_ID);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Try to validate Vrac batch model " + vracBatch);
+ }
+
if (vracBatch == null) {
addError(errors, n_("tutti.persistence.batch.validation.vracNotFound"), null);
} else {
@@ -123,7 +121,28 @@
}
}
- // TODO : Benthos, Plancton...
+ // Vrac > Benthos
+ SortingBatch benthosBatch = catchBatchDao.getSortingBatch(vracBatch.getChildBatchs(),
+ "pmfmId", enumeration.PMFM_ID_SORTING_TYPE,
+ enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS);
+ if (benthosBatch == null) {
+ addError(errors, n_("tutti.persistence.batch.validation.vracBenthosNotFound"), null);
+ } else {
+ // Vrac > Benthos > Inert
+ SortingBatch inertBatch = catchBatchDao.getSortingBatch(benthosBatch.getChildBatchs(),
+ "referenceTaxonId", enumeration.REFERENCE_TAXON_ID_INERT);
+ if (inertBatch == null) {
+ addWarning(errors, n_("tutti.persistence.batch.validation.vracBenthosInertNotFound"));
+ }
+
+ // Vrac > Benthos > Alive no itemized
+ SortingBatch livingNotItemizedBatch = catchBatchDao.getSortingBatch(benthosBatch.getChildBatchs(),
+ "referenceTaxonId", enumeration.REFERENCE_TAXON_ID_LIFE);
+ if (livingNotItemizedBatch == null) {
+ addWarning(errors, n_("tutti.persistence.batch.validation.vracBenthosLifeNotFound"));
+ }
+ }
+ // TODO : Plancton...
}
// Hors Vrac
@@ -141,7 +160,14 @@
addWarning(errors, n_("tutti.persistence.batch.validation.horsVracSpeciesNotFound"));
}
- // TODO : Benthos, Plancton...
+ // Hors Vrac > Benthos
+ SortingBatch benthosBatch = catchBatchDao.getSortingBatch(horsVracBatch.getChildBatchs(),
+ "pmfmId", enumeration.PMFM_ID_SORTING_TYPE,
+ enumeration.QUALITATIVE_ID_SORTING_TYPE_BENTHOS);
+ if (benthosBatch == null) {
+ addWarning(errors, n_("tutti.persistence.batch.validation.horsVracBenthosNotFound"));
+ }
+ // TODO : Plancton...
}
// Unsorted
@@ -159,7 +185,7 @@
boolean someBatchHasSortingMeasurement = false;
for (Batch batch1 : batchs) {
SortingBatch batch = (SortingBatch) batch1;
- if (allBatchHasSpecies && batch.getReferenceTaxon() == null) {
+ if (batch.getReferenceTaxon() == null) {
allBatchHasSpecies = false;
break;
}
@@ -186,7 +212,7 @@
return ScientificCruiseCatchBatchValidator.this.repairHistoricalData(catchBatch, false);
}
});
- } else if (allBatchHasSpecies && someBatchHasSortingMeasurement && allBatchHasVrac) {
+ } else if (allBatchHasSpecies && allBatchHasVrac) {
errors.clear();
addError(errors, n_("tutti.persistence.batch.validation.onlySpeciesBatchStructure"), new CatchBatchQuickFix() {
@Override
@@ -205,7 +231,8 @@
* @param catchBatch
* @return
*/
- protected CatchBatch repairHistoricalData(CatchBatch catchBatch, boolean batchHasVracSortingMeasurement) {
+ protected CatchBatch repairHistoricalData(CatchBatch catchBatch,
+ boolean batchHasVracSortingMeasurement) {
Preconditions.checkNotNull(catchBatch);
Preconditions.checkNotNull(catchBatch.getId());
Preconditions.checkNotNull(catchBatch.getFishingOperation());
@@ -240,9 +267,10 @@
batch.setExhaustiveInventory(Boolean.TRUE);
// Add an offset into the rank order, because of special batchs 'Biota' (=live) and 'Inert'
- short rankOrder = (short) (batch.getRankOrder().shortValue() + 2);
+ short rankOrder = (short) (batch.getRankOrder() + 2);
batch.setRankOrder(rankOrder);
+ //FIXME-TC We should do nothing with this: this is not our problem...
//TODO What to do with weird comments! categorie_individu
// Reset comments if set to "taxon"
if (batch.getComments() != null && "taxon".equals(batch.getComments())) {
@@ -258,7 +286,9 @@
return catchBatch;
}
- protected void addError(List<CatchBatchValidationError> errors, String messageKey, CatchBatchQuickFix quickFix) {
+ protected void addError(List<CatchBatchValidationError> errors,
+ String messageKey,
+ CatchBatchQuickFix quickFix) {
CatchBatchValidationError error = new CatchBatchValidationError(
messageKey,
_(messageKey),
@@ -267,7 +297,8 @@
errors.add(error);
}
- protected void addWarning(List<CatchBatchValidationError> errors, String messageKey) {
+ protected void addWarning(List<CatchBatchValidationError> errors,
+ String messageKey) {
CatchBatchValidationError error = new CatchBatchValidationError(
messageKey,
_(messageKey),
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-03-02 16:03:05 UTC (rev 515)
@@ -1,4 +1,5 @@
-tutti.option.persistence.cache.directory.description=Répertoire où sont stoqué les caches de persistence
+tutti.option.persistence.cache.directory.description=Répertoire où sont stoquées les caches de persistence
+tutti.option.persistence.db.attachment.directory.description=Répoertoire où sont stoquées les pièces-jointes
tutti.option.persistence.db.configurationPath.description=Chemin du fichier de configuration d'Adagio
tutti.option.persistence.db.directory.description=Répertoire où est la base de données
tutti.option.persistence.db.enumerationPath.description=Chemin du fichier de correspondance des constantes
@@ -12,10 +13,14 @@
tutti.option.persistence.jdbc.url.description=URL de connexion à la base de données
tutti.option.persistence.jdbc.username.description=Login de l'utilisateur pour se connecter à la base de données
tutti.option.persistence.protocol.directory.description=Répertoire où sont conservés les protocoles
+tutti.persistence.batch.validation.horsVracBenthosNotFound=Lot 'Hors Vrac > Benthos' non trouvé ou configuré avec d'autres critères de classement.
tutti.persistence.batch.validation.horsVracNotFound=Lot 'Hors Vrac' non trouvé, ou configuré avec d'autres critères de classement.
-tutti.persistence.batch.validation.horsVracSpeciesNotFound=Batch 'Hors Vrac > Espèces' non trouvé ou configuré avec d'autres critères de classement.
-tutti.persistence.batch.validation.onlySpeciesBatchStructure=
-tutti.persistence.batch.validation.unsortedNotFound=Batch 'Hors Vrac > Espèces' non trouvé ou configuré avec d'autres critères de classement.
+tutti.persistence.batch.validation.horsVracSpeciesNotFound=Lot 'Hors Vrac > Espèces' non trouvé ou configuré avec d'autres critères de classement.
+tutti.persistence.batch.validation.onlySpeciesBatchStructure=Lot 'Espèces' (données historiques CGFS) détecté.
+tutti.persistence.batch.validation.unsortedNotFound=Lot 'Hors Vrac > Espèces' non trouvé ou configuré avec d'autres critères de classement.
+tutti.persistence.batch.validation.vracBenthosInertNotFound=Lot 'Vrac > Benthos > Inerte' non trouvé, ou configuré avec d'autres critères de classement.
+tutti.persistence.batch.validation.vracBenthosLifeNotFound=Lot 'Vrac > Benthos > Biota' non trouvé, ou configuré avec d'autres critères de classement.
+tutti.persistence.batch.validation.vracBenthosNotFound=Lot 'Vrac > Benthos' non trouvé, ou configuré avec d'autres critères de classement.
tutti.persistence.batch.validation.vracNotFound=Lot 'Vrac' non trouvé, ou configuré avec d'autres critères de classement.
tutti.persistence.batch.validation.vracSpeciesInertNotFound=Lot 'Vrac > Espèces > Inerte' non trouvé, ou configuré avec d'autres critères de classement.
tutti.persistence.batch.validation.vracSpeciesLifeNotFound=Lot 'Vrac > Espèces > Biota' non trouvé, ou configuré avec d'autres critères de classement.
Modified: trunk/tutti-service/pom.xml
===================================================================
--- trunk/tutti-service/pom.xml 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-service/pom.xml 2013-03-02 16:03:05 UTC (rev 515)
@@ -49,12 +49,6 @@
</dependency>
<dependency>
- <groupId>fr.ifremer.adagio</groupId>
- <artifactId>adagio-core</artifactId>
- <classifier>allegro</classifier>
- </dependency>
-
- <dependency>
<groupId>org.nuiton</groupId>
<artifactId>nuiton-utils</artifactId>
</dependency>
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/AbstractTuttiService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/AbstractTuttiService.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/AbstractTuttiService.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import fr.ifremer.tutti.TuttiTechnicalException;
import org.apache.commons.io.FileUtils;
import org.nuiton.util.ZipUtil;
Deleted: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/InvalidBatchModelException.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/InvalidBatchModelException.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/InvalidBatchModelException.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -1,48 +0,0 @@
-package fr.ifremer.tutti.service;
-
-/*
- * #%L
- * Tutti :: Service
- * $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%
- */
-
-/**
- * Exception when batch model is not compatible with Tutti.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0.2
- */
-public class InvalidBatchModelException extends TuttiBusinessException {
-
- private static final long serialVersionUID = 1L;
-
- public InvalidBatchModelException(String message) {
- super(message);
- }
-
- public InvalidBatchModelException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public InvalidBatchModelException(Throwable cause) {
- super(cause);
- }
-}
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,7 +24,8 @@
* #L%
*/
-import fr.ifremer.adagio.core.dao.data.batch.validator.CatchBatchValidationException;
+import com.google.common.base.Preconditions;
+import fr.ifremer.tutti.persistence.InvalidBatchModelException;
import fr.ifremer.tutti.persistence.TuttiPersistence;
import fr.ifremer.tutti.persistence.TuttiPersistenceNoDbImpl;
import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig;
@@ -53,7 +54,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import java.io.File;
import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.List;
/**
@@ -90,6 +94,68 @@
driver.clearAllCaches();
}
+ DateFormat exportDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+
+ /**
+ * Export db as an zip archive (including the attachments).
+ *
+ * @param file archive file where to store
+ * @since 1.0.2
+ */
+ public void exportDb(File file) {
+
+ Preconditions.checkState(isDbLoaded());
+ Preconditions.checkNotNull(file);
+
+ // Make sure db is shutdown
+
+ TuttiIOUtil.close(driver, "Could not close driver " + driver);
+
+ try {
+ // create zip structure
+
+ TuttiServiceConfig config = context.getConfig();
+
+ File structureDirectory = new File(
+ config.newTempFile("exportdb"),
+ "tutti-" + config.getVersion() +
+ exportDateFormat.format(context.currentDate()));
+
+ TuttiIOUtil.forceMkdir(structureDirectory,
+ "Could not create directory");
+
+ if (log.isInfoEnabled()) {
+ log.info("Export directory: " + structureDirectory);
+ }
+ TuttiPersistenceConfig pConfig = config.getPersistenceConfig();
+
+ TuttiIOUtil.copyDirectory(pConfig.getDbDirectory(),
+ new File(structureDirectory, "db"),
+ "Could not copy db directory");
+
+ TuttiIOUtil.copyDirectory(pConfig.getDbAttachmentDirectory(),
+ new File(structureDirectory, "meas_files"),
+ "Could not copy db attachment directory");
+
+ TuttiIOUtil.copyFile(pConfig.getDbConfigurationPath(),
+ structureDirectory,
+ "Could not copy db configuration file");
+
+ TuttiIOUtil.copyFile(pConfig.getDbEnumerationPath(),
+ structureDirectory,
+ "Could not copy db enumeration file");
+
+ //create zip
+ TuttiIOUtil.zip(structureDirectory, file,
+ "Could not create archive at " + file);
+
+ } finally {
+
+ // reload driver
+ driver = TuttiPersistenceServiceLocator.getPersistenceService();
+ }
+ }
+
public boolean isDbLoaded() {
return !(driver instanceof TuttiPersistenceNoDbImpl);
}
@@ -410,12 +476,9 @@
@Override
public CatchBatch getCatchBatchFromFishingOperation(String id,
boolean canRepair) throws InvalidBatchModelException {
- try {
- return driver.getCatchBatchFromFishingOperation(id, canRepair);
- } catch (CatchBatchValidationException e) {
- throw new InvalidBatchModelException(
- "L'arbre d'échantillonage n'est pas compatible avec Tutti", e);
- }
+
+ return driver.getCatchBatchFromFishingOperation(id, canRepair);
+
}
@Override
Deleted: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiBusinessException.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiBusinessException.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiBusinessException.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -1,48 +0,0 @@
-package fr.ifremer.tutti.service;
-
-/*
- * #%L
- * Tutti :: Service
- * $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%
- */
-
-/**
- * To box any business exception.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class TuttiBusinessException extends RuntimeException {
-
- private static final long serialVersionUID = 1L;
-
- public TuttiBusinessException(String message) {
- super(message);
- }
-
- public TuttiBusinessException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public TuttiBusinessException(Throwable cause) {
- super(cause);
- }
-}
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiIOUtil.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiIOUtil.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiIOUtil.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -0,0 +1,95 @@
+package fr.ifremer.tutti.service;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $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.TuttiTechnicalException;
+import org.apache.commons.io.FileUtils;
+import org.nuiton.util.ZipUtil;
+
+import java.io.Closeable;
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Useful methods around IO, all method errors are boxes a
+ * {@link TuttiTechnicalException}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0.2
+ */
+public class TuttiIOUtil {
+
+ protected TuttiIOUtil() {
+ // no instance
+ }
+
+ public static void close(Closeable toClose, String errorMessage) {
+
+ try {
+ toClose.close();
+ } catch (IOException e) {
+ throw new TuttiTechnicalException(errorMessage, e);
+ }
+ }
+
+ public static void zip(File source, File archiveFile, String errorMessage) {
+ try {
+ ZipUtil.compress(archiveFile, source);
+ } catch (IOException e) {
+ throw new TuttiTechnicalException(errorMessage, e);
+ }
+ }
+
+ public static void forceMkdir(File dir, String errorMessage) {
+ try {
+ FileUtils.forceMkdir(dir);
+ } catch (IOException e) {
+ throw new TuttiTechnicalException(errorMessage, e);
+ }
+ }
+
+ public static void copyDirectory(File source, File target, String errorMessage) {
+ try {
+ FileUtils.copyDirectory(source, target);
+ } catch (IOException e) {
+ throw new TuttiTechnicalException(errorMessage, e);
+ }
+ }
+
+ public static void copyFile(File source, File target, String errorMessage) {
+ try {
+ FileUtils.copyFileToDirectory(source, target);
+ } catch (IOException e) {
+ throw new TuttiTechnicalException(errorMessage, e);
+ }
+ }
+
+ public static File addExtensionIfMissing(File file, String extension) {
+ if (!file.getName().endsWith(extension)) {
+ file = new File(file.getParentFile(), file.getName() + extension);
+ }
+ return file;
+ }
+}
Property changes on: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiIOUtil.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiServiceContext.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiServiceContext.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiServiceContext.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -28,6 +28,7 @@
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
+import fr.ifremer.tutti.TuttiTechnicalException;
import fr.ifremer.tutti.persistence.RessourceClassLoader;
import fr.ifremer.tutti.service.config.TuttiServiceConfig;
import org.apache.commons.io.IOUtils;
@@ -37,6 +38,7 @@
import java.io.Closeable;
import java.io.IOException;
import java.lang.reflect.Constructor;
+import java.util.Date;
import java.util.concurrent.ExecutionException;
/**
@@ -87,6 +89,10 @@
return resourceLoader;
}
+ public Date currentDate() {
+ return new Date();
+ }
+
public <S extends TuttiService> S getService(Class<S> serviceType) {
try {
S s = (S) services.get(serviceType);
Deleted: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiTechnicalException.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiTechnicalException.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiTechnicalException.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -1,51 +0,0 @@
-package fr.ifremer.tutti.service;
-
-/*
- * #%L
- * Tutti :: Application
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 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%
- */
-
-/**
- * Any techincal exception should be boxed in a such exception.
- *
- * @author tchemit <chemit(a)codelutin.com/>
- * @since 0.1
- */
-public class TuttiTechnicalException extends RuntimeException {
-
- private static final long serialVersionUID = 1L;
-
- public TuttiTechnicalException() {
- }
-
- public TuttiTechnicalException(String message) {
- super(message);
- }
-
- public TuttiTechnicalException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public TuttiTechnicalException(Throwable cause) {
- super(cause);
- }
-}
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-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,7 +24,6 @@
* #L%
*/
-import com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig;
import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
@@ -104,44 +103,22 @@
return result;
}
+ public File newTempFile(String basename) {
+ return new File(getTmpDirectory(), basename + "_" + System.nanoTime());
+ }
+
public char getCsvSeparator() {
return applicationConfig.getOption(TuttiServiceConfigOption.CSV_SEPARATOR.getKey()).charAt(0);
}
public void prepareDirectories() throws IOException {
- getOrCreateDirectory(TuttiServiceConfigOption.DATA_DIRECTORY);
- File tmpDir = getOrCreateDirectory(TuttiServiceConfigOption.TMP_DIRECTORY);
- // clean it
- FileUtils.deleteDirectory(tmpDir);
-
- FileUtils.forceMkdir(tmpDir);
- }
-
- /**
- * Creates a directory given the configuration {@code option}.
- *
- * @param option the configuration option key which contains the location of
- * the directory to create
- * @return the created directory
- */
- protected File getOrCreateDirectory(TuttiServiceConfigOption option) throws IOException {
-
- File directory = applicationConfig.getOptionAsFile(option.getKey());
-
- Preconditions.checkNotNull(
- directory,
- "Could not find directory " + directory +
- " (key " + option.getKey() + "in your configuration file named" +
- " sammoa.properties)"
- );
-
- if (log.isDebugEnabled()) {
- log.debug(option + " = " + directory);
+ FileUtils.forceMkdir(getDataDirectory());
+ File tmpDirectory = getTmpDirectory();
+ if (tmpDirectory.exists()) {
+ FileUtils.deleteDirectory(tmpDirectory);
}
+ FileUtils.forceMkdir(tmpDirectory);
- FileUtils.forceMkdir(directory);
-
- return directory;
}
}
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/TuttiReferentialImportExportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/TuttiReferentialImportExportService.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/TuttiReferentialImportExportService.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -38,7 +38,7 @@
import fr.ifremer.tutti.service.AbstractTuttiService;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.service.TuttiServiceContext;
-import fr.ifremer.tutti.service.TuttiTechnicalException;
+import fr.ifremer.tutti.TuttiTechnicalException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.csv.Export;
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/pom.xml 2013-03-02 16:03:05 UTC (rev 515)
@@ -287,11 +287,6 @@
<classifier>tests</classifier>
</dependency>
- <dependency>
- <groupId>org.apache.struts.xwork</groupId>
- <artifactId>xwork-core</artifactId>
- </dependency>
-
<!-- librairie Jaxx -->
<dependency>
<groupId>org.nuiton.jaxx</groupId>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -31,7 +31,7 @@
import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig;
import fr.ifremer.tutti.persistence.service.synchro.ReferentialSynchronizeResult;
import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.service.TuttiTechnicalException;
+import fr.ifremer.tutti.TuttiTechnicalException;
import fr.ifremer.tutti.service.referential.TuttiReferentialSynchronizeService;
import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
import org.apache.commons.io.FileUtils;
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-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -34,7 +34,7 @@
import fr.ifremer.tutti.service.DecoratorService;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.service.TuttiServiceContext;
-import fr.ifremer.tutti.service.TuttiTechnicalException;
+import fr.ifremer.tutti.TuttiTechnicalException;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.service.referential.TuttiReferentialSynchronizeService;
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-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -25,7 +25,7 @@
*/
import com.google.common.base.Charsets;
-import fr.ifremer.tutti.service.TuttiTechnicalException;
+import fr.ifremer.tutti.TuttiTechnicalException;
import fr.ifremer.tutti.service.config.TuttiServiceConfig;
import fr.ifremer.tutti.service.config.TuttiServiceConfigOption;
import fr.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType;
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-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-03-02 16:03:05 UTC (rev 515)
@@ -32,6 +32,7 @@
jaxx.runtime.validator.swing.SwingValidator
jaxx.runtime.validator.swing.SwingValidatorMessageWidget
fr.ifremer.tutti.ui.swing.TuttiUIContext
+ fr.ifremer.tutti.ui.swing.TuttiScreen
</import>
<TuttiUIContext id='model'
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-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -86,7 +86,7 @@
context.setActionUI(new TuttiActionUI(ui, context));
}
- protected MainUIHandler(TuttiUIContext context) {
+ public MainUIHandler(TuttiUIContext context) {
super(context, null);
this.persistenceService = null;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,11 +24,15 @@
* #L%
*/
+import fr.ifremer.tutti.service.TuttiIOUtil;
import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction;
import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
+import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import java.io.File;
+
import static org.nuiton.i18n.I18n._;
/**
@@ -42,6 +46,8 @@
/** Logger. */
private static final Log log = LogFactory.getLog(ExportDbAction.class);
+ protected File file;
+
public ExportDbAction(MainUIHandler handler) {
super(handler,
"export-db",
@@ -51,12 +57,45 @@
}
@Override
+ protected boolean prepareAction() {
+ boolean doAction = super.prepareAction();
+
+ if (doAction) {
+
+ // ask user file where to export db
+
+ // choose file to import
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.dbExportFile"),
+ _("tutti.action.chooseDbExportFile"),
+ null,
+ "^.*\\.zip", _("tutti.file.zip")
+ );
+ doAction = file != null;
+ }
+
+ if (doAction) {
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".zip");
+ }
+ return doAction;
+ }
+
+ @Override
+ protected void releaseAction() {
+ super.releaseAction();
+ file = null;
+ }
+
+ @Override
protected void doAction() {
if (log.isInfoEnabled()) {
- log.info("Will export db...");
+ log.info("Will export db to " + file);
}
- //TODO
+ getContext().getPersistenceService().exportDb(file);
+
+ sendMessage(_("tutti.flash.information.db.exported", file));
}
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -26,6 +26,7 @@
import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
+import fr.ifremer.tutti.service.TuttiIOUtil;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
@@ -62,19 +63,22 @@
@Override
protected boolean prepareAction() {
- // choose file to import
+ boolean doAction = super.prepareAction();
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.protocolExportFile"),
- _("tutti.action.chooseProtocolFile"),
- null,
- "^.+\\.tuttiProtocol$", _("tutti.file.protocol")
- );
-
- boolean doAction = file != null;
if (doAction) {
- super.prepareAction();
+
+ // choose file to export
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.protocolExportFile"),
+ _("tutti.action.chooseProtocolFile"),
+ null,
+ "^.+\\.tuttiProtocol$", _("tutti.file.protocol")
+ );
+ doAction = file != null;
+ if (doAction) {
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".tuttiProtocol$");
+ }
}
return doAction;
}
@@ -89,19 +93,13 @@
protected void doAction() throws Exception {
TuttiProtocol protocol = getModel().getProtocol();
Preconditions.checkNotNull(protocol);
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
- log.info("Export protocol: " + protocol.getId());
- }
-
- if (log.isInfoEnabled()) {
log.info("Will save protocol " + protocol.getId() +
" to file: " + file);
}
- if (!file.getName().endsWith(".tuttiProtocol")) {
- file = new File(file.getParentFile(), file.getName() + ".tuttiProtocol");
- }
// export protocol
TuttiProtocolImportExportService service =
getContext().getTuttiProtocolImportExportService();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
@@ -65,17 +66,19 @@
@Override
protected boolean prepareAction() {
- // choose file to import
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.protocolImportFile"),
- _("tutti.action.chooseProtocolFile"),
- null,
- "^.+\\.tuttiProtocol$", _("tutti.file.protocol")
- );
- boolean doAction = file != null;
+ boolean doAction = super.prepareAction();
+
if (doAction) {
- super.prepareAction();
+ // choose file to import
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.protocolImportFile"),
+ _("tutti.action.chooseProtocolFile"),
+ null,
+ "^.+\\.tuttiProtocol$", _("tutti.file.protocol")
+ );
+
+ doAction = file != null;
}
return doAction;
}
@@ -88,9 +91,7 @@
@Override
protected void doAction() throws Exception {
- if (log.isInfoEnabled()) {
- log.info("TODO Import protocol!");
- }
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will import protocol file: " + file);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,8 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
+import fr.ifremer.tutti.service.TuttiIOUtil;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
@@ -46,7 +48,7 @@
private static final Log log =
LogFactory.getLog(ExportAllCaracteristicAction.class);
- private File file;
+ protected File file;
public ExportAllCaracteristicAction(EditProtocolUIHandler handler) {
super(handler,
@@ -60,17 +62,23 @@
@Override
protected boolean prepareAction() {
- // choose file to import
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.protocolCaracteristicExportFile"),
- _("tutti.action.chooseProtocolCaracteristicFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv")
- );
- boolean doAction = file != null;
+ boolean doAction = super.prepareAction();
+
if (doAction) {
- super.prepareAction();
+
+ // choose file to export
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.protocolCaracteristicExportFile"),
+ _("tutti.action.chooseProtocolCaracteristicFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv")
+ );
+ doAction = file != null;
+
+ if (doAction) {
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+ }
}
return doAction;
}
@@ -83,7 +91,7 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will export all caracteristic to file: " + file);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,7 +24,9 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
+import fr.ifremer.tutti.service.TuttiIOUtil;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
@@ -61,17 +63,22 @@
@Override
protected boolean prepareAction() {
- // choose file to import
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.protocolCaracteristicExportFile"),
- _("tutti.action.chooseProtocolCaracteristicFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv")
- );
- boolean doAction = file != null;
+ boolean doAction = super.prepareAction();
+
if (doAction) {
- super.prepareAction();
+
+ // choose file to export
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.protocolCaracteristicExportFile"),
+ _("tutti.action.chooseProtocolCaracteristicFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv")
+ );
+ doAction = file != null;
+ if (doAction) {
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+ }
}
return doAction;
}
@@ -84,7 +91,7 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will export protocol caracteristic to file: " + file);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,8 +24,10 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol;
+import fr.ifremer.tutti.service.TuttiIOUtil;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
@@ -63,17 +65,22 @@
@Override
protected boolean prepareAction() {
- // choose file to export
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.protocolSpeciesExportFile"),
- _("tutti.action.chooseProtocolSpeciesFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv")
- );
- boolean doAction = file != null;
+ boolean doAction = super.prepareAction();
+
if (doAction) {
- super.prepareAction();
+
+ // choose file to export
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.protocolSpeciesExportFile"),
+ _("tutti.action.chooseProtocolSpeciesFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv")
+ );
+ doAction = file != null;
+ if (doAction) {
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+ }
}
return doAction;
}
@@ -86,7 +93,7 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will export protocol species to file: " + file);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -61,17 +62,20 @@
@Override
protected boolean prepareAction() {
- // choose file to import
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.protocolCaracteristicImportFile"),
- _("tutti.action.chooseProtocolCaracteristicFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv")
- );
- boolean doAction = file != null;
+ boolean doAction = super.prepareAction();
+
if (doAction) {
- super.prepareAction();
+
+ // choose file to import
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.protocolCaracteristicImportFile"),
+ _("tutti.action.chooseProtocolCaracteristicFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv")
+ );
+
+ doAction = file != null;
}
return doAction;
}
@@ -84,12 +88,11 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will import protocol caracteristic file: " + file);
}
- EditProtocolUIHandler handler = getHandler();
EditProtocolUIModel model = getModel();
// bind to a protocol
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService;
@@ -64,17 +65,20 @@
@Override
protected boolean prepareAction() {
- // choose file to import
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.protocolSpeciesImportFile"),
- _("tutti.action.chooseProtocolSpeciesFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv")
- );
- boolean doAction = file != null;
+ boolean doAction = super.prepareAction();
+
if (doAction) {
- super.prepareAction();
+
+ // choose file to import
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.protocolSpeciesImportFile"),
+ _("tutti.action.chooseProtocolSpeciesFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv")
+ );
+
+ doAction = file != null;
}
return doAction;
}
@@ -87,12 +91,11 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will import protocol species file: " + file);
}
- EditProtocolUIHandler handler = getHandler();
EditProtocolUIModel model = getModel();
// bind to a protocol
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -61,17 +62,19 @@
@Override
protected boolean prepareAction() {
- // choose file to export
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.exportTemporaryGearExampleFile"),
- _("tutti.action.chooseReferentialGearFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv")
- );
- boolean doAction = file != null;
+ boolean doAction = super.prepareAction();
+
if (doAction) {
- super.prepareAction();
+
+ // choose file to export
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.exportTemporaryGearExampleFile"),
+ _("tutti.action.chooseReferentialGearFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv")
+ );
+ doAction = file != null;
}
return doAction;
}
@@ -84,7 +87,7 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will export example gears temporary " +
"referential to file: " + file);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -62,17 +63,19 @@
@Override
protected boolean prepareAction() {
- // choose file to export
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.exportTemporaryPersonExampleFile"),
- _("tutti.action.chooseReferentialPersonFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv")
- );
- boolean doAction = file != null;
+ boolean doAction = super.prepareAction();
+
if (doAction) {
- super.prepareAction();
+
+ // choose file to export
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.exportTemporaryPersonExampleFile"),
+ _("tutti.action.chooseReferentialPersonFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv")
+ );
+ doAction = file != null;
}
return doAction;
}
@@ -85,7 +88,7 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will export example persons temporary " +
"referential to file: " + file);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -61,17 +62,19 @@
@Override
protected boolean prepareAction() {
- // choose file to export
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.exportTemporarySpeciesExampleFile"),
- _("tutti.action.chooseReferentialSpeciesFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv")
- );
- boolean doAction = file != null;
+ boolean doAction = super.prepareAction();
+
if (doAction) {
- super.prepareAction();
+
+ // choose file to export
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.exportTemporarySpeciesExampleFile"),
+ _("tutti.action.chooseReferentialSpeciesFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv")
+ );
+ doAction = file != null;
}
return doAction;
}
@@ -84,7 +87,7 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will export example species temporary " +
"referential to file: " + file);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -61,30 +62,32 @@
@Override
protected boolean prepareAction() {
- // choose file to export
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.exportTemporaryVesselExampleFile"),
- _("tutti.action.chooseReferentialVesselFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv")
- );
- boolean doAction = file != null;
+ boolean doAction = super.prepareAction();
+
if (doAction) {
- super.prepareAction();
+
+ // choose file to export
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.exportTemporaryVesselExampleFile"),
+ _("tutti.action.chooseReferentialVesselFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv")
+ );
+ doAction = file != null;
}
return doAction;
}
@Override
protected void releaseAction() {
+ file = null;
super.releaseAction();
- file = null;
}
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will export example vessels temporary " +
"referential to file: " + file);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -61,17 +62,19 @@
@Override
protected boolean prepareAction() {
- // choose file to import
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.importTemporaryGearFile"),
- _("tutti.action.chooseReferentialGearFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv"));
+ boolean doAction = super.prepareAction();
- boolean doAction = file != null;
if (doAction) {
- super.prepareAction();
+
+ // choose file to import
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.importTemporaryGearFile"),
+ _("tutti.action.chooseReferentialGearFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv"));
+
+ doAction = file != null;
}
return doAction;
}
@@ -84,7 +87,7 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will import gear temporary " +
"referential from file: " + file);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -61,17 +62,19 @@
@Override
protected boolean prepareAction() {
- // choose file to import
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.importTemporaryPersonFile"),
- _("tutti.action.chooseReferentialPersonFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv"));
+ boolean doAction = super.prepareAction();
- boolean doAction = file != null;
if (doAction) {
- super.prepareAction();
+
+ // choose file to import
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.importTemporaryPersonFile"),
+ _("tutti.action.chooseReferentialPersonFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv"));
+
+ doAction = file != null;
}
return doAction;
}
@@ -84,7 +87,7 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will import person temporary " +
"referential from file: " + file);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -61,17 +62,18 @@
@Override
protected boolean prepareAction() {
- // choose file to import
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.importTemporarySpeciesFile"),
- _("tutti.action.chooseReferentialSpeciesFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv"));
+ boolean doAction = super.prepareAction();
- boolean doAction = file != null;
if (doAction) {
- super.prepareAction();
+ // choose file to import
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.importTemporarySpeciesFile"),
+ _("tutti.action.chooseReferentialSpeciesFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv"));
+
+ doAction = file != null;
}
return doAction;
}
@@ -84,7 +86,7 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will import species temporary " +
"referential from file: " + file);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.ezware.oxbow.swingbits.util.Preconditions;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -61,17 +62,18 @@
@Override
protected boolean prepareAction() {
- // choose file to import
- file = TuttiUIUtil.chooseFile(
- getContext().getMainUI(),
- _("tutti.title.choose.importTemporaryVesselFile"),
- _("tutti.action.chooseReferentialVesselFile"),
- null,
- "^.*\\.csv", _("tutti.file.csv"));
+ boolean doAction = super.prepareAction();
- boolean doAction = file != null;
if (doAction) {
- super.prepareAction();
+ // choose file to import
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.title.choose.importTemporaryVesselFile"),
+ _("tutti.action.chooseReferentialVesselFile"),
+ null,
+ "^.*\\.csv", _("tutti.file.csv"));
+
+ doAction = file != null;
}
return doAction;
}
@@ -84,7 +86,7 @@
@Override
protected void doAction() throws Exception {
-
+ Preconditions.checkNotNull(file);
if (log.isInfoEnabled()) {
log.info("Will import vessel temporary " +
"referential from file: " + file);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -25,7 +25,7 @@
*/
import fr.ifremer.tutti.persistence.entities.IdAware;
-import fr.ifremer.tutti.service.TuttiTechnicalException;
+import fr.ifremer.tutti.TuttiTechnicalException;
import org.jdesktop.beans.AbstractSerializableBean;
import org.nuiton.util.beans.Binder;
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiCollectionUniqueKeyValidator.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiCollectionUniqueKeyValidator.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiCollectionUniqueKeyValidator.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -1,156 +0,0 @@
-package fr.ifremer.tutti.ui.swing.util;
-
-/*
- * #%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.opensymphony.xwork2.validator.ValidationException;
-import org.nuiton.validator.xwork2.field.CollectionUniqueKeyValidator;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-/**
- * To fix a bug (will be moved back to nuiton-validator) (see
- * http://nuiton.org/issues/2545)
- * <p/>
- * TODO Remove this when using nuiton-validator 2.6.10 and reuse the basic validator.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0.1
- */
-public class TuttiCollectionUniqueKeyValidator extends CollectionUniqueKeyValidator {
-
- @Override
- public void validateWhenNotSkip(Object object) throws ValidationException {
-
- if (keys == null || keys.length == 0) {
- throw new ValidationException("no unique keys defined");
- }
-
- String fieldName = getFieldName();
-
- Collection<?> col = getCollection(object);
-
- if (log.isDebugEnabled()) {
- log.debug("collection found : " + col);
- }
- Object againstBean = againstProperty == null ? null :
- getFieldValue(againstProperty, object);
-
- if (log.isDebugEnabled()) {
- log.debug("againtBean = " + againstBean);
- }
- Integer againstIndex = (Integer) (againstIndexExpression == null ?
- -1 :
- getFieldValue(againstIndexExpression, object));
- if (againstIndex == null) {
- againstIndex = -1;
- }
-
- if (!againstMe && againstBean == null && col.size() < 2) {
- // la liste ne contient pas deux entrées donc c'est valide
- return;
- }
-
- if (againstMe) {
- // try on this object
- againstBean = object;
- if (log.isDebugEnabled()) {
- log.debug("againtBean from me = " + againstBean);
- }
- }
-
-
- boolean answer = true;
-
- Integer againstHashCode = againstBean == null ?
- null : getUniqueKeyHashCode(againstBean);
- if (log.isDebugEnabled()) {
- log.debug("hash for new key " + againstHashCode);
- }
-
- if (againstHashCode == null && nullValueSkipped) {
-
- // clef nulle, donc pas d'erreur vu que le flag a ete positionne
- return;
- }
- List<Integer> hashCodes = new ArrayList<Integer>();
-
- int index = 0;
- for (Object o : col) {
- Integer hash = getUniqueKeyHashCode(o);
-
- if (log.isDebugEnabled()) {
- log.debug("hash for object " + o + " = " + hash);
- }
-
- if (hash == null && nullValueSkipped) {
-
- // clef nulle, donc pas d'erreur vu que le flag a ete positionne
- continue;
- }
-
- if (againstBean == null) {
- if (hashCodes.contains(hash)) {
-
- // on a deja rencontre cette clef unique,
- // donc la validation a echouee
- answer = false;
- if (log.isDebugEnabled()) {
- log.debug("Found same hashcode, not unique!");
- }
- break;
- }
- } else {
- // utilisation de againstBean
- if (againstIndex != -1) {
- if (index != againstIndex &&
- hash.equals(againstHashCode)) {
- // on a deja rencontre cette clef unique,
- // donc la validation a echouee
- answer = false;
- break;
- }
- } else {
- if (!againstBean.equals(o) &&
- hash.equals(againstHashCode)) {
- // on a deja rencontre cette clef unique,
- // donc la validation a echouee
- answer = false;
- break;
- }
- }
- }
- // nouveau hashcode enregistre
- hashCodes.add(hash);
- // index suivant
- index++;
- }
-
- if (!answer) {
- addFieldError(fieldName, object);
- }
- }
-}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,7 +24,7 @@
* #L%
*/
-import fr.ifremer.tutti.service.TuttiBusinessException;
+import fr.ifremer.tutti.TuttiBusinessException;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import org.jdesktop.swingx.JXErrorPane;
import org.jdesktop.swingx.error.ErrorInfo;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -24,7 +24,7 @@
* #L%
*/
-import fr.ifremer.tutti.service.TuttiTechnicalException;
+import fr.ifremer.tutti.TuttiTechnicalException;
import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -25,7 +25,7 @@
*/
import com.google.common.base.Preconditions;
-import fr.ifremer.tutti.service.TuttiTechnicalException;
+import fr.ifremer.tutti.TuttiTechnicalException;
import jaxx.runtime.JAXXUtil;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang3.time.DurationFormatUtils;
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-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-02 16:03:05 UTC (rev 515)
@@ -35,7 +35,7 @@
import org.nuiton.util.decorator.Decorator;
/**
- * TODO
+ * Tutti base action.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
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-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-02 16:03:05 UTC (rev 515)
@@ -18,6 +18,7 @@
tutti.action.cancel.editProtocol.tip=Annuler l'édition (ou la création) du protocole
tutti.action.cancelEditCatchBatch=
tutti.action.cancelEditCatchBatch.tip=
+tutti.action.chooseDbExportFile=Exporter la base de données
tutti.action.chooseProtocolCaracteristicFile=Choisir le fichier des caractéristiques
tutti.action.chooseProtocolFile=Choisir le fichier de protocole
tutti.action.chooseProtocolSpeciesFile=Choisir le fichier des espèces
@@ -197,9 +198,11 @@
tutti.error.errorpane.htmlmessage=<html><body><b>Une erreur s'est produite</b>\:<br/>%s</body></html>
tutti.file.csv=Extension d'un fichier csv
tutti.file.protocol=Extension d'un fichier de protocole Tutti
+tutti.file.zip=Extension d'une archive zip
tutti.flash.information.all.caractristic.exported=Toutes les caractéristiques exportées dans le fichier %s.
tutti.flash.information.caracteristic.imported.in.protocol=Caractéristiques importées dans le protocole depuis le fichier %s.
tutti.flash.information.caractristic.exported.from.protocol=Caractéristiques du protocole exportées dans le fichier %s.
+tutti.flash.information.db.exported=Base exportée dans l'archive %s
tutti.flash.information.species.add.to.protocol=L'espèce %s a été ajoutée au protocole
tutti.flash.information.species.exported.from.protocol=Espèces du protocole exportées dans le fichier %s.
tutti.flash.information.species.imported.in.protocol=Espèces importées dans le protocole depuis le fichier %s.
@@ -474,6 +477,7 @@
tutti.table.species.sampleCategory.header.weight=Poids (kg)
tutti.timeeditor.H=H
tutti.title.about=À propos de Tutti
+tutti.title.choose.dbExportFile=Exporter la base de données
tutti.title.choose.exportTemporaryGearExampleFile=Exporter un exemple de référentiel Engin
tutti.title.choose.exportTemporaryPersonExampleFile=Exporter un exemple de référentiel Personne
tutti.title.choose.exportTemporarySpeciesExampleFile=Exporter un exemple de référentiel Espèce
Modified: trunk/tutti-ui-swing/src/main/resources/validators.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/validators.xml 2013-03-02 06:25:02 UTC (rev 514)
+++ trunk/tutti-ui-swing/src/main/resources/validators.xml 2013-03-02 16:03:05 UTC (rev 515)
@@ -42,9 +42,8 @@
<validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
<validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
- <!--TODO Remove this when using nuiton-validator 2.6.10 and reuse the basic validator.-->
- <!--<validator name="collectionUniqueKey" class="org.nuiton.validator.xwork2.field.CollectionUniqueKeyValidator"/>-->
- <validator name="collectionUniqueKey" class="fr.ifremer.tutti.ui.swing.util.TuttiCollectionUniqueKeyValidator"/>
+ <!-- les validateurs fournis par nuiton-validator -->
+ <validator name="collectionUniqueKey" class="org.nuiton.validator.xwork2.field.CollectionUniqueKeyValidator"/>
<validator name="fieldexpressionwithparams" class="org.nuiton.validator.xwork2.field.FieldExpressionWithParamsValidator"/>
</validators>
1
0
r514 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing: . config content content/db content/protocol util util/action
by tchemit@users.forge.codelutin.com 02 Mar '13
by tchemit@users.forge.codelutin.com 02 Mar '13
02 Mar '13
Author: tchemit
Date: 2013-03-02 07:25:02 +0100 (Sat, 02 Mar 2013)
New Revision: 514
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/514
Log:
move MainUI to content pckage
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractMainUITuttiAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.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/ManageDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java
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/UpdateReferentialAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java
Removed:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.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/protocol/EditProtocolUIHandler.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/TuttiExceptionHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,54 +0,0 @@
-
-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%
- */
-
-/**
- * Abstract action defining actions which sets the screen of the application.
- *
- * @author kmorin <kmorin(a)codelutin.com>
- * @since 1.0
- */
-public abstract class AbstractChangeScreenAction extends AbstractMainUITuttiAction {
-
- protected AbstractChangeScreenAction(MainUIHandler handler,
- String icon,
- String text,
- String tip,
- boolean hideBody) {
- super(handler, icon, text, tip, hideBody);
- }
-
- @Override
- protected boolean prepareAction() {
- boolean result = super.prepareAction();
- result &= getHandler().getCurrentHandler().canCloseUI(getNextScreen());
- return result;
- }
-
- /** @return the next screen to display. */
- protected abstract TuttiScreen getNextScreen();
-
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,42 +0,0 @@
-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 fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-
-/**
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public abstract class AbstractMainUITuttiAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> {
-
- protected AbstractMainUITuttiAction(MainUIHandler handler,
- String icon,
- String text,
- String tip,
- boolean hideBody) {
- super(handler, icon, text, tip, hideBody);
- }
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,66 +0,0 @@
-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.base.Preconditions;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * Opens the cruise edition screen to edit the selected cruise.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class EditSelectedCruiseAction extends AbstractChangeScreenAction {
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(EditSelectedCruiseAction.class);
-
- public EditSelectedCruiseAction(MainUIHandler handler) {
- super(handler,
- "cruise",
- _("tutti.action.editSelectedCruise"),
- _("tutti.action.editSelectedCruise.tip"),
- true
- );
- }
-
- @Override
- protected void doAction() {
- Preconditions.checkState(getContext().isCruiseFilled());
- if (log.isInfoEnabled()) {
- log.info("Edit cruise: " + getContext().getCruiseId());
- }
- getContext().setScreen(getNextScreen());
- }
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.EDIT_CRUISE;
- }
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,62 +0,0 @@
-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.base.Preconditions;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * Opens the catches edition screen to edit the selected catches.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class EditSelectedCruiseCatchesAction extends AbstractChangeScreenAction {
-
- public EditSelectedCruiseCatchesAction(MainUIHandler handler) {
- super(handler,
- "edit",
- _("tutti.action.editCatches"),
- _("tutti.action.editCatches.tip"),
- true
- );
-// setMnemonic('C');
- }
-
- @Override
- protected void doAction() {
- Preconditions.checkState(getContext().isCruiseFilled());
- getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT);
- getContext().setScreen(null);
- getContext().setScreen(getNextScreen());
- }
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.EDIT_FISHING_OPERATION;
- }
-
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,67 +0,0 @@
-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.base.Preconditions;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * Opens the program edition screen to edit the selected program.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class EditSelectedProgramAction extends AbstractChangeScreenAction {
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(EditSelectedProgramAction.class);
-
- public EditSelectedProgramAction(MainUIHandler handler) {
- super(handler,
- "program",
- _("tutti.action.editSelectedProgram"),
- _("tutti.action.editSelectedProgram.tip"),
- true
- );
- }
-
- @Override
- protected void doAction() {
- Preconditions.checkState(getContext().getProgramId() != null);
- if (log.isInfoEnabled()) {
- log.info("Edit program: " + getContext().getProgramId());
- }
- getContext().setScreen(getNextScreen());
- }
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.EDIT_PROGRAM;
- }
-
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,68 +0,0 @@
-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.base.Preconditions;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * Opens the protocol edition screen to edit the selected protocol.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class EditSelectedProtocolAction extends AbstractChangeScreenAction {
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(EditSelectedProtocolAction.class);
-
- public EditSelectedProtocolAction(MainUIHandler handler) {
- super(handler,
- "protocol",
- _("tutti.action.editSelectedProtocol"),
- _("tutti.action.editSelectedProtocol.tip"),
- true
- );
-// setMnemonic('P');
- }
-
- @Override
- protected void doAction() {
- Preconditions.checkState(getContext().isProtocolFilled());
- if (log.isInfoEnabled()) {
- log.info("Edit protocol: " + getContext().getProtocolId());
- }
- getContext().setScreen(getNextScreen());
- }
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.EDIT_PROTOCOL;
- }
-
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,71 +0,0 @@
-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 org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import javax.swing.SwingUtilities;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * Open screen to import referential
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class ImportTemporaryReferentialAction extends AbstractChangeScreenAction {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(ImportTemporaryReferentialAction.class);
-
- public ImportTemporaryReferentialAction(MainUIHandler handler) {
- super(handler,
- "temporary-referential-import",
- _("tutti.action.importTemporaryReferential"),
- _("tutti.action.importTemporaryReferential.tip"),
- true
- );
- }
-
- @Override
- protected void doAction() {
- getContext().setScreen(getNextScreen());
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- getContext().getMainUI().getBody().revalidate();
- }
- });
-
- }
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL;
- }
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,180 +0,0 @@
-/*
- * #%L
- * Tutti :: UI
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 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%
- */
-
-#actionBlockerLayer {
- canClick: false;
- blockingColor: {model.getConfig().getColorBlockingLayer()};
-}
-#mainFrame {
- title: "tutti.application.name";
- defaultCloseOperation: {JFrame.DO_NOTHING_ON_CLOSE};
-}
-
-#menuFile {
- text: "tutti.menu.file";
- toolTipText: "tutti.menu.file.tip";
- mnemonic: F;
-}
-
-#menuFileConfiguration {
- text: "tutti.action.configuration";
- toolTipText: "tutti.action.configuration.tip";
- actionIcon: config;
- mnemonic: C;
-}
-
-#menuFileExit {
- text: "tutti.action.exit";
- toolTipText: "tutti.action.exit.tip";
- actionIcon: exit;
-}
-
-#menuActionUpdate {
- _tuttiAction: {UpdateApplicationAction.class};
-}
-
-#menuActionManageDb {
- enabled: {model.getScreen() != TuttiScreen.MANAGE_DB};
- _tuttiAction: {ManageDbAction.class};
-}
-
-#menuActions {
- enabled: {model.isDbLoaded()};
- text: "tutti.menu.actions";
- toolTipText: "tutti.menu.actions.tip";
- mnemonic: A;
-}
-
-#menuActionSelectCruise {
- enabled: {model.getScreen() != TuttiScreen.SELECT_CRUISE};
- _tuttiAction: {SelectCruiseAction.class};
-}
-
-#menuActionEditProgram {
- enabled: {model.getScreen() != TuttiScreen.EDIT_PROGRAM && model.isProgramFilled()};
- _tuttiAction: {EditSelectedProgramAction.class};
-}
-
-#menuActionEditCruise {
- enabled: {model.getScreen() != TuttiScreen.EDIT_CRUISE && model.isCruiseFilled()};
- _tuttiAction: {EditSelectedCruiseAction.class};
-}
-
-#menuActionEditProtocol {
- enabled: {model.getScreen() != TuttiScreen.EDIT_PROTOCOL && model.isProtocolFilled()};
- _tuttiAction: {EditSelectedProtocolAction.class};
-}
-
-#menuActionEditCatches {
- enabled: {(
- !TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(model.getValidationContext())
- || model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION
- ) && model.isCruiseFilled()};
- _tuttiAction: {EditSelectedCruiseCatchesAction.class};
-}
-
-#menuActionValidateCatches {
- enabled: {(
- !TuttiUIContext.VALIDATION_CONTEXT_VALIDATE.equals(model.getValidationContext())
- || model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION
- ) && model.isCruiseFilled()};
- _tuttiAction: {ValidateSelectedCruiseCatchesAction.class};
-}
-
-#menuAdministration{
- enabled: {model.isDbLoaded()};
- text: "tutti.menu.administration";
- toolTipText: "tutti.menu.administration.tip";
- mnemonic: A;
-}
-
-#menuImportTemporaryReferential {
- enabled: {model.getScreen() != TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL};
- _tuttiAction: {ImportTemporaryReferentialAction.class};
-}
-
-#menuSynchronisations {
- enabled: {model.isDbLoaded()};
- text: "tutti.menu.synchronisations";
- toolTipText: "tutti.menu.synchronisations.tip";
- mnemonic: S;
-}
-
-#menuSynchronisationImport {
- text: "tutti.menu.synchronisationImport";
- toolTipText: "tutti.menu.synchronisationImport.tip";
- mnemonic: I;
- enabled: false;
- actionIcon: import;
-}
-
-#menuSynchronisationExport {
- text: "tutti.menu.synchronisationExport";
- toolTipText: "tutti.menu.synchronisationExport.tip";
- mnemonic: E;
- enabled: false;
- actionIcon: export;
-}
-
-#menuSynchronisationAllegro {
- text: "tutti.menu.synchronisationAllegro";
- toolTipText: "tutti.menu.synchronisationAllegro.tip";
- mnemonic: A;
- enabled: false;
- actionIcon: allegro;
-}
-
-#menuHelp {
- text: "tutti.menu.help";
- toolTipText: "tutti.menu.help.tip";
- mnemonic: E;
-}
-
-#menuHelpSite {
- text: "tutti.action.site";
- toolTipText: "tutti.action.site.tip";
- actionIcon: site;
- mnemonic: S;
-}
-
-#menuHelpAbout {
- text: "tutti.action.about";
- toolTipText: "tutti.action.about.tip";
- actionIcon: about;
- mnemonic: A;
-}
-
-#menuUpdateApplication {
- _tuttiAction: {UpdateApplicationAction.class};
-}
-
-#bottomBar {
- floatable: false;
- margin: {new java.awt.Insets(0, 0, 0, 5)};
- borderPainted: false;
-}
-
-#validatorMessageWidget {
- focusPainted: false;
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,109 +0,0 @@
-<!--
- #%L
- Tutti :: UI
- $Id$
- $HeadURL$
- %%
- Copyright (C) 2012 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%
- -->
-<JFrame id='mainFrame' onWindowClosing='getHandler().closeTutti()'
- implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiUIContext, MainUIHandler>'
- width='800' height='600'>
-
- <import>
- java.awt.BorderLayout
- javax.swing.JFrame
- org.jdesktop.swingx.JXTitledPanel
- jaxx.runtime.validator.swing.SwingValidator
- jaxx.runtime.validator.swing.SwingValidatorMessageWidget
- fr.ifremer.tutti.ui.swing.TuttiUIContext
- </import>
-
- <TuttiUIContext id='model'
- initializer='getContextValue(TuttiUIContext.class)'/>
- <MainUIHandler id='handler'
- initializer='getContextValue(MainUIHandler.class)'/>
-
- <script><![CDATA[
-
- public MainUI(TuttiUIContext context) {
- setContextValue(context);
- MainUIHandler handler = new MainUIHandler(context, this);
- setContextValue(handler);
- handler.beforeInitUI();
- }
-
- protected void $afterCompleteSetup() {
- getHandler().afterInitUI();
- }
- ]]></script>
-
- <!-- menu -->
- <JMenuBar id='menu'>
- <JMenu id='menuFile'>
- <JMenuItem id='menuFileConfiguration'
- onActionPerformed="getHandler().showConfig()"/>
- <JMenuItem id='menuActionUpdate'/>
- <JSeparator/>
- <JMenuItem id='menuActionManageDb'/>
- <JSeparator/>
- <JMenuItem id='menuFileExit'
- onActionPerformed='getHandler().closeTutti()'/>
- </JMenu>
-
- <JMenu id='menuActions'>
- <JMenuItem id='menuActionSelectCruise'/>
- <JMenuItem id='menuActionEditProgram'/>
- <JMenuItem id='menuActionEditCruise'/>
- <JMenuItem id='menuActionEditProtocol'/>
- <JMenuItem id='menuActionEditCatches'/>
- <JMenuItem id='menuActionValidateCatches'/>
- </JMenu>
-
- <JMenu id='menuAdministration'>
- <JMenuItem id='menuImportTemporaryReferential'/>
- </JMenu>
-
- <!--JMenu id='menuSynchronisations'>
-
- <JMenuItem id='menuSynchronisationImport'
- onActionPerformed="getHandler().showImportScreen()"/>
- <JMenuItem id='menuSynchronisationExport'
- onActionPerformed="getHandler().showExportScreen()"/>
- <JMenuItem id='menuSynchronisationAllegro'
- onActionPerformed="getHandler().showAllegroScreen()"/>
- </JMenu-->
-
- <JMenu id='menuHelp'>
- <JMenuItem id='menuHelpSite'
- onActionPerformed='getHandler().gotoSite()'/>
- <JMenuItem id='menuHelpAbout'
- onActionPerformed='getHandler().showAbout()'/>
- </JMenu>
- </JMenuBar>
-
- <JToolBar id='bottomBar'>
- <SwingValidatorMessageWidget id='validatorMessageWidget'/>
- </JToolBar>
-
- <JXTitledPanel id='body' constraints='BorderLayout.CENTER'/>
-
- <!-- status message bar -->
- <StatusMessagePanel id='status' constraints="BorderLayout.SOUTH"/>
-
-</JFrame>
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,507 +0,0 @@
-package fr.ifremer.tutti.ui.swing;
-
-/*
- * #%L
- * Tutti :: UI
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 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.entities.data.Cruise;
-import fr.ifremer.tutti.persistence.entities.data.Program;
-import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
-import fr.ifremer.tutti.service.PersistenceService;
-import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
-import fr.ifremer.tutti.ui.swing.config.TuttiConfigUI;
-import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI;
-import fr.ifremer.tutti.ui.swing.content.db.DbManagerUI;
-import fr.ifremer.tutti.ui.swing.content.db.OpenDbAction;
-import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI;
-import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI;
-import fr.ifremer.tutti.ui.swing.content.program.EditProgramUI;
-import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI;
-import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUI;
-import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
-import fr.ifremer.tutti.ui.swing.util.TuttiUI;
-import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
-import fr.ifremer.tutti.ui.swing.util.action.TuttiUIAction;
-import jaxx.runtime.swing.AboutPanel;
-import jaxx.runtime.validator.swing.SwingValidator;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.widget.SwingSession;
-
-import javax.swing.Icon;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JToolBar;
-import java.awt.Desktop;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.net.URL;
-import java.util.Calendar;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.1
- */
-public class MainUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, MainUI> {
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(MainUIHandler.class);
-
- public static final String CLONE_PROTOCOL = "cloneProtocol";
-
- protected JComponent currentBody;
-
- protected PersistenceService persistenceService;
-
- protected MainUIHandler(TuttiUIContext context, MainUI ui) {
- super(context, ui);
- this.persistenceService = context.getPersistenceService();
- context.setMainUI(ui);
- context.setActionUI(new TuttiActionUI(ui, context));
- }
-
- protected MainUIHandler(TuttiUIContext context) {
- super(context, null);
- this.persistenceService = null;
- }
-
- //------------------------------------------------------------------------//
- //-- AbstractTuttiUIHandler methods --//
- //------------------------------------------------------------------------//
-
- @Override
- public void beforeInitUI() {
- context.addPropertyChangeListener(new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- String propertyName = evt.getPropertyName();
- if (TuttiUIContext.ID_TO_SAVE_PROPERTIES.contains(propertyName)) {
-
- // change the ui title
- changeTitle();
-
- } else if (propertyName.equals(TuttiUIContext.PROPERTY_SCREEN)) {
- setScreen((TuttiScreen) evt.getNewValue());
- }
- }
- });
- ui.setContextValue(ui, MainUI.class.getName());
- }
-
- @Override
- public void afterInitUI() {
-
- initUI(ui);
-
- // Init SwingSession
- SwingSession swingSession = context.getSwingSession();
- swingSession.add(ui);
- swingSession.save();
-
- //SwingUtil.getLayer(ui.getBody()).setUI(new BetaLayerUI());
-
- changeTitle();
-
- JToolBar bar = ui.getBottomBar();
- ui.getStatus().addWidget(bar, 0);
-
- if (!context.isDbExist()) {
-
- // clean db context
- context.clearDbContext();
-
- // go to manage db screen (to install db)
- context.setScreen(TuttiScreen.MANAGE_DB);
- } else {
-
- // open tutti db
- TuttiUIAction<OpenDbAction> openDbAction = createAction(OpenDbAction.class);
- openDbAction.actionPerformed(null);
- }
- }
-
- @Override
- public void onCloseUI() {
-
- context.close();
- }
-
- @Override
- public SwingValidator<TuttiUIContext> getValidator() {
- return null;
- }
-
- //------------------------------------------------------------------------//
- //-- Public methods --//
- //------------------------------------------------------------------------//
-
- public void closeTutti() {
- RunTutti.closeTutti(ui, true);
- }
-
- public void reloadTutti() {
-
- // Close the application
- RunTutti.closeTutti(ui, false);
-
- RunTutti.startTutti(context);
- }
-
- public void reloadApplication() {
- //TODO
- }
-
- public void reloadShortcuts() {
- //TODO
- }
-
- public void showConfig() {
-
- TuttiConfigUI configUI = new TuttiConfigUI(ui);
- configUI.createUI();
- }
-
- public void showManageProtocol() {
- context.setScreen(TuttiScreen.EDIT_PROTOCOL);
- }
-
- public void showSelectCampaign() {
- context.setScreen(TuttiScreen.SELECT_CRUISE);
- }
-
- public void showFillCatches() {
- context.setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT);
- context.setScreen(TuttiScreen.EDIT_FISHING_OPERATION);
- }
-
- public void showValidateCatches() {
- context.setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
- context.setScreen(TuttiScreen.EDIT_FISHING_OPERATION);
- }
-
- public void showAbout() {
-
- ApplicationConfig applicationConfig =
- context.getConfig().getApplicationConfig();
-
- String iconPath = applicationConfig.getOption("application.icon.path");
- String name = "tutti-ui-swing";
- String licensePath = "META-INF/" + name + "-LICENSE.txt";
- String thirdPartyPath = "META-INF/" + name + "-THIRD-PARTY.txt";
-
- AboutPanel about = new AboutPanel();
- about.setTitle(_("tutti.title.about"));
- about.setAboutText(_("tutti.about.message"));
-
- TuttiApplicationConfig config = context.getConfig();
- int currentYear = Calendar.getInstance().get(Calendar.YEAR);
- int inceptionYear = config.getInceptionYear();
- String years;
- if (currentYear != inceptionYear) {
- years = inceptionYear + "-" + currentYear;
- } else {
- years = inceptionYear + "";
- }
-
- about.setBottomText(_("tutti.about.bottomText",
- config.getOrganizationName(),
- years,
- config.getVersion()));
- about.setIconPath(iconPath);
- about.setLicenseFile(licensePath);
- about.setThirdpartyFile(thirdPartyPath);
- about.buildTopPanel();
- about.init();
- about.showInDialog(ui, true);
-
- // register on swing session
- context.getSwingSession().add(about);
- }
-
- public void gotoSite() {
- TuttiApplicationConfig config = context.getConfig();
-
- URL siteURL = config.getSiteUrl();
-
- if (log.isDebugEnabled()) {
- log.debug("goto " + siteURL);
- }
- if (Desktop.isDesktopSupported() &&
- Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
- try {
- Desktop.getDesktop().browse(siteURL.toURI());
- } catch (Exception e) {
- TuttiUIContext.getErrorHelper().showErrorDialog(
- "Failed to open '" + siteURL + "' in browser", e);
- }
- }
- }
-
- @Override
- public final void showInformationMessage(String message) {
- ui.getStatus().setStatus(message);
- }
-
- public void registerValidator(SwingValidator validator) {
- ui.getValidatorMessageWidget().registerValidator(validator);
- }
-
- @Override
- public void clearValidators() {
- ui.getValidatorMessageWidget().clearValidators();
- }
-
- public AbstractTuttiUIHandler getCurrentHandler() {
- TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
- return body.getHandler();
- }
-
- /**
- * Reload the persistence service and set the new ne into the handler.
- *
- * @since 1.0
- */
- public void reloadPersistenceService() {
- this.persistenceService = context.reloadPersistenceService();
- }
-
- /**
- * Get the persistence service instance used by the handler.
- *
- * @return the persistence service instance used by the handler
- * @since 1.0
- */
- public PersistenceService getPersistenceService() {
- return persistenceService;
- }
-
- //------------------------------------------------------------------------//
- //-- Internal methods --//
- //------------------------------------------------------------------------//
-
- protected void setScreen(TuttiScreen screen) {
-
- try {
-
- // close current body (if any)
- if (currentBody != null) {
- TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
- body.getHandler().onCloseUI();
-
- context.getSwingSession().save();
-
- ui.getBody().remove(currentBody);
-
- currentBody = null;
- }
-
- if (screen != null) {
-
- String programId = context.getProgramId();
- String cruiseId = context.getCruiseId();
- String protocolId = context.getProtocolId();
-
- JComponent screenUI;
- String screenTitle;
-
- Icon icon;
- switch (screen) {
- default:
- case MANAGE_DB:
-
- screenUI = new DbManagerUI(ui);
- screenTitle = _("tutti.title.manageDb");
- icon = ui.getMenuActionManageDb().getIcon();
- break;
-
- case SELECT_CRUISE:
-
- screenUI = new SelectCruiseUI(ui);
- screenTitle = _("tutti.title.home");
- icon = ui.getMenuActionSelectCruise().getIcon();
- break;
-
- case EDIT_PROGRAM:
-
- if (programId == null) {
- screenTitle = _("tutti.title.create.program");
- } else {
- screenTitle = _("tutti.title.edit.program");
- }
-
- screenUI = new EditProgramUI(ui);
- icon = ui.getMenuActionEditProgram().getIcon();
- break;
-
- case EDIT_CRUISE:
-
- if (cruiseId == null) {
- screenTitle = _("tutti.title.create.cruise");
- } else {
- screenTitle = _("tutti.title.edit.cruise");
- }
-
- screenUI = new EditCruiseUI(ui);
- icon = ui.getMenuActionEditCruise().getIcon();
- break;
-
- case EDIT_PROTOCOL:
-
- if (protocolId == null) {
- screenTitle = _("tutti.title.create.protocol");
- } else {
- screenTitle = _("tutti.title.edit.protocol");
- }
-
- screenUI = new EditProtocolUI(ui);
- icon = ui.getMenuActionEditProtocol().getIcon();
- break;
-
- case CLONE_PROTOCOL:
- screenTitle = _("tutti.title.create.protocol");
- ui.setContextValue(true, CLONE_PROTOCOL);
- screenUI = new EditProtocolUI(ui);
- icon = ui.getMenuActionEditProtocol().getIcon();
- break;
-
- case EDIT_FISHING_OPERATION:
-
- String validationContext = context.getValidationContext();
-
- if (TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(validationContext)) {
-
- // edit catches
- screenTitle = _("tutti.title.edit.operations", getSelectedCruiseTitle());
- icon = ui.getMenuActionEditCatches().getIcon();
- } else {
-
- // validate catches
- screenTitle = _("tutti.title.validate.operations", getSelectedCruiseTitle());
- icon = ui.getMenuActionValidateCatches().getIcon();
- }
- screenUI = new FishingOperationsUI(ui);
-
- break;
-
- case IMPORT_TEMPORARY_REFERENTIAL:
- screenTitle = _("tutti.title.import.temporary.referential");
- screenUI = new ManageTemporaryReferentialUI(ui);
- icon = ui.getMenuImportTemporaryReferential().getIcon();
- break;
- }
-
- this.currentBody = screenUI;
- context.getSwingSession().add(currentBody);
- ui.getBody().setTitle(screenTitle);
- ui.getBody().add(currentBody);
- ui.getBody().setLeftDecoration(new JLabel(icon));
-
- }
- } catch (Exception e) {
-
-// AbstractTuttiAction mainAction = AbstractTuttiAction.getMainAction();
-// if (mainAction != null) {
-// mainAction.setFailed(true);
-// }
-
- TuttiUIContext.getErrorHelper().showErrorDialog(
- "Could not change to screen " + screen, e);
-
- // go back to home
- context.setScreen(TuttiScreen.SELECT_CRUISE);
- }
- }
-
- protected void changeTitle() {
-
- String title = getSelectedCruiseTitle();
-
- ui.setTitle("Tutti - v " + getConfig().getVersion() + " [ " + title + " ]");
- }
-
- protected String getSelectedCruiseTitle() {
-
-
- String title;
-
- if (context.isDbLoaded()) {
-
- if (context.isProgramFilled()) {
-
- // selected program
-
- Program program = getDataContext().getProgram();
-
- title = _("tutti.title.selectedProgram", program.getName()) + " / ";
-
- if (context.isCruiseFilled()) {
-
- // selected cruise
- Cruise cruise;
- cruise = getDataContext().getCruise();
-
- if (cruise != null) {
- title += _("tutti.title.selectedCruise", cruise.getName());
- }
- } else {
-
- // no selected cruise
-
- title += _("tutti.title.noSelectedCruise");
- }
-
- title += " / ";
-
- if (context.isProtocolFilled()) {
-
- // selected protocol
- TuttiProtocol protocol = getDataContext().getProtocol();
-
- title += _("tutti.title.selectedProtocol", protocol.getName());
- } else {
-
- // no selected protocol
-
- title += _("tutti.title.noSelectedProtocol");
- }
-
- } else {
-
- // no program selected (so neither cruise)
-
- title = _("tutti.title.noSelectedProgram");
-
- }
- } else {
-
- // no db loaded
-
- title = _("tutti.title.nodb");
- }
-
- return title;
- }
-}
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,66 +0,0 @@
-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 org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * To manage db in Tutti.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class ManageDbAction extends AbstractChangeScreenAction {
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(ManageDbAction.class);
-
- public ManageDbAction(MainUIHandler handler) {
- super(handler,
- "manage-db",
- _("tutti.action.manageDb"),
- _("tutti.action.manageDb.tip"),
- true
- );
-// setMnemonic('P');
- }
-
- @Override
- protected void doAction() {
- if (log.isDebugEnabled()) {
- log.debug("open manage db screen");
- }
- getContext().setScreen(getNextScreen());
- }
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.MANAGE_DB;
- }
-
-}
\ No newline at end of file
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-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -25,6 +25,9 @@
*/
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import fr.ifremer.tutti.ui.swing.content.MainUI;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
+import fr.ifremer.tutti.ui.swing.content.UpdateApplicationAction;
import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler;
import jaxx.runtime.SwingUtil;
import org.apache.commons.logging.Log;
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,57 +0,0 @@
-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 static org.nuiton.i18n.I18n._;
-
-/**
- * Opens the cruise selection screen (home).
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class SelectCruiseAction extends AbstractChangeScreenAction {
-
- public SelectCruiseAction(MainUIHandler handler) {
- super(handler,
- "home",
- _("tutti.action.selectCruise"),
- _("tutti.action.selectCruise.tip"),
- true
- );
-// setMnemonic('S');
- }
-
- @Override
- protected void doAction() {
-// Preconditions.checkNotNull(getContext().isCruiseFilled());
- getContext().setScreen(getNextScreen());
- }
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.SELECT_CRUISE;
- }
-}
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-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -39,6 +39,7 @@
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.service.referential.TuttiReferentialSynchronizeService;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import fr.ifremer.tutti.ui.swing.content.MainUI;
import fr.ifremer.tutti.ui.swing.util.TuttiErrorHelper;
import fr.ifremer.tutti.ui.swing.util.UIMessageNotifier;
import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,98 +0,0 @@
-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 fr.ifremer.tutti.persistence.ProgressionModel;
-import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
-import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationUpdater;
-
-import java.io.File;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * To update jre / i18n or tutti using the {@link ApplicationUpdater} mecanism.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class UpdateApplicationAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(UpdateApplicationAction.class);
-
- public UpdateApplicationAction(MainUIHandler handler) {
- super(handler,
- "update-application",
- _("tutti.action.updateApplication"),
- _("tutti.action.updateApplication.tip"),
- true);
- }
-
- @Override
- protected void doAction() {
-
- TuttiApplicationConfig config = getContext().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.getUpdateUrl();
- File dest = new File(config.getTuttiBasedir(), "NEW");
-
- if (log.isInfoEnabled()) {
- log.info(String.format("Try to update jre, i18N or tutti (current application location: %s), using update url: %s", current, url));
- }
- ApplicationUpdater up = new ApplicationUpdater();
-
- ProgressionModel progressionModel = new ProgressionModel();
- getContext().getActionUI().getModel().setProgressionModel(progressionModel);
- progressionModel.setMessage("Recherche de mises à jour de JRE / Tutti / I18N");
-
- TuttiApplicationUpdaterCallBack callback =
- new TuttiApplicationUpdaterCallBack(getContext(), progressionModel);
-
- callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.JRE,
- TuttiApplicationUpdaterCallBack.UpdateType.I18N,
- TuttiApplicationUpdaterCallBack.UpdateType.TUTTI);
- up.update(url,
- current,
- dest,
- false,
- callback);
-// getContext().getActionUI().getModel().clear();
- }
- }
-}
\ No newline at end of file
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,93 +0,0 @@
-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 fr.ifremer.tutti.persistence.ProgressionModel;
-import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationUpdater;
-
-import java.io.File;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * To update referential using the {@link ApplicationUpdater} mecanism.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class UpdateReferentialAction extends AbstractMainUITuttiAction {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(UpdateReferentialAction.class);
-
- public UpdateReferentialAction(MainUIHandler handler) {
- super(handler,
- "update-referential",
- _("tutti.action.updateReferential"),
- _("tutti.action.updateReferential.tip"),
- true);
- }
-
- @Override
- protected void doAction() {
- TuttiApplicationConfig config = getContext().getConfig();
-
- File current = config.getDataDirectory();
- String url = config.getUpdateUrl();
-
- if (log.isInfoEnabled()) {
- log.info(String.format("Try to update db (current data location: %s), using update url: %s", current, url));
- }
- ApplicationUpdater up = new ApplicationUpdater();
-
- File dest = new File(config.getTuttiBasedir(), "NEW");
- ProgressionModel progressionModel = new ProgressionModel();
- getContext().getActionUI().getModel().setProgressionModel(progressionModel);
- progressionModel.setMessage("Recherche de mises à jour de base");
- TuttiApplicationUpdaterCallBack callback = new TuttiApplicationUpdaterCallBack(getContext(), progressionModel);
- callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.DB);
- up.update(url,
- current,
- dest,
- false,
- callback);
-
- if (callback.isDbUpdated()) {
-
- progressionModel.setMessage("Rechargement de la base de données");
-
- getContext().setDbLoaded(true);
- getContext().reloadPersistenceService();
-
-
- } else {
- sendMessage("Aucune mise à jour de base détectée.");
- }
- }
-}
\ No newline at end of file
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -1,60 +0,0 @@
-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.base.Preconditions;
-
-import static org.nuiton.i18n.I18n._;
-
-/**
- * Opens the catches validation screen to edit the selected catches.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0
- */
-public class ValidateSelectedCruiseCatchesAction extends AbstractChangeScreenAction {
-
- public ValidateSelectedCruiseCatchesAction(MainUIHandler handler) {
- super(handler,
- "validate",
- _("tutti.action.validateCatches"),
- _("tutti.action.validateCatches.tip"),
- true
- );
- }
-
- @Override
- protected void doAction() {
- Preconditions.checkState(getContext().isCruiseFilled());
- getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
- getContext().setScreen(null);
- getContext().setScreen(getNextScreen());
- }
-
- @Override
- protected TuttiScreen getNextScreen() {
- return TuttiScreen.EDIT_FISHING_OPERATION;
- }
-}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -25,7 +25,7 @@
*/
import fr.ifremer.tutti.service.config.TuttiServiceConfigOption;
-import fr.ifremer.tutti.ui.swing.MainUI;
+import fr.ifremer.tutti.ui.swing.content.MainUI;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.swing.editor.config.ConfigUI;
import jaxx.runtime.swing.editor.config.ConfigUIHelper;
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractChangeScreenAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,56 @@
+
+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;
+
+/**
+ * Abstract action defining actions which sets the screen of the application.
+ *
+ * @author kmorin <kmorin(a)codelutin.com>
+ * @since 1.0
+ */
+public abstract class AbstractChangeScreenAction extends AbstractMainUITuttiAction {
+
+ protected AbstractChangeScreenAction(MainUIHandler handler,
+ String icon,
+ String text,
+ String tip,
+ boolean hideBody) {
+ super(handler, icon, text, tip, hideBody);
+ }
+
+ @Override
+ protected boolean prepareAction() {
+ boolean result = super.prepareAction();
+ result &= getHandler().getCurrentHandler().canCloseUI(getNextScreen());
+ return result;
+ }
+
+ /** @return the next screen to display. */
+ protected abstract TuttiScreen getNextScreen();
+
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractMainUITuttiAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractMainUITuttiAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractMainUITuttiAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractMainUITuttiAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,43 @@
+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.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+
+/**
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public abstract class AbstractMainUITuttiAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> {
+
+ protected AbstractMainUITuttiAction(MainUIHandler handler,
+ String icon,
+ String text,
+ String tip,
+ boolean hideBody) {
+ super(handler, icon, text, tip, hideBody);
+ }
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,67 @@
+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 com.google.common.base.Preconditions;
+import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Opens the cruise edition screen to edit the selected cruise.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class EditSelectedCruiseAction extends AbstractChangeScreenAction {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(EditSelectedCruiseAction.class);
+
+ public EditSelectedCruiseAction(MainUIHandler handler) {
+ super(handler,
+ "cruise",
+ _("tutti.action.editSelectedCruise"),
+ _("tutti.action.editSelectedCruise.tip"),
+ true
+ );
+ }
+
+ @Override
+ protected void doAction() {
+ Preconditions.checkState(getContext().isCruiseFilled());
+ if (log.isInfoEnabled()) {
+ log.info("Edit cruise: " + getContext().getCruiseId());
+ }
+ getContext().setScreen(getNextScreen());
+ }
+
+ @Override
+ protected TuttiScreen getNextScreen() {
+ return TuttiScreen.EDIT_CRUISE;
+ }
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedCruiseCatchesAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,64 @@
+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 com.google.common.base.Preconditions;
+import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Opens the catches edition screen to edit the selected catches.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class EditSelectedCruiseCatchesAction extends AbstractChangeScreenAction {
+
+ public EditSelectedCruiseCatchesAction(MainUIHandler handler) {
+ super(handler,
+ "edit",
+ _("tutti.action.editCatches"),
+ _("tutti.action.editCatches.tip"),
+ true
+ );
+// setMnemonic('C');
+ }
+
+ @Override
+ protected void doAction() {
+ Preconditions.checkState(getContext().isCruiseFilled());
+ getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT);
+ getContext().setScreen(null);
+ getContext().setScreen(getNextScreen());
+ }
+
+ @Override
+ protected TuttiScreen getNextScreen() {
+ return TuttiScreen.EDIT_FISHING_OPERATION;
+ }
+
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProgramAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,68 @@
+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 com.google.common.base.Preconditions;
+import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Opens the program edition screen to edit the selected program.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class EditSelectedProgramAction extends AbstractChangeScreenAction {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(EditSelectedProgramAction.class);
+
+ public EditSelectedProgramAction(MainUIHandler handler) {
+ super(handler,
+ "program",
+ _("tutti.action.editSelectedProgram"),
+ _("tutti.action.editSelectedProgram.tip"),
+ true
+ );
+ }
+
+ @Override
+ protected void doAction() {
+ Preconditions.checkState(getContext().getProgramId() != null);
+ if (log.isInfoEnabled()) {
+ log.info("Edit program: " + getContext().getProgramId());
+ }
+ getContext().setScreen(getNextScreen());
+ }
+
+ @Override
+ protected TuttiScreen getNextScreen() {
+ return TuttiScreen.EDIT_PROGRAM;
+ }
+
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/EditSelectedProtocolAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,69 @@
+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 com.google.common.base.Preconditions;
+import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Opens the protocol edition screen to edit the selected protocol.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class EditSelectedProtocolAction extends AbstractChangeScreenAction {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(EditSelectedProtocolAction.class);
+
+ public EditSelectedProtocolAction(MainUIHandler handler) {
+ super(handler,
+ "protocol",
+ _("tutti.action.editSelectedProtocol"),
+ _("tutti.action.editSelectedProtocol.tip"),
+ true
+ );
+// setMnemonic('P');
+ }
+
+ @Override
+ protected void doAction() {
+ Preconditions.checkState(getContext().isProtocolFilled());
+ if (log.isInfoEnabled()) {
+ log.info("Edit protocol: " + getContext().getProtocolId());
+ }
+ getContext().setScreen(getNextScreen());
+ }
+
+ @Override
+ protected TuttiScreen getNextScreen() {
+ return TuttiScreen.EDIT_PROTOCOL;
+ }
+
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ImportTemporaryReferentialAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,72 @@
+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;
+
+import javax.swing.SwingUtilities;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Open screen to import referential
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class ImportTemporaryReferentialAction extends AbstractChangeScreenAction {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ImportTemporaryReferentialAction.class);
+
+ public ImportTemporaryReferentialAction(MainUIHandler handler) {
+ super(handler,
+ "temporary-referential-import",
+ _("tutti.action.importTemporaryReferential"),
+ _("tutti.action.importTemporaryReferential.tip"),
+ true
+ );
+ }
+
+ @Override
+ protected void doAction() {
+ getContext().setScreen(getNextScreen());
+ SwingUtilities.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ getContext().getMainUI().getBody().revalidate();
+ }
+ });
+
+ }
+
+ @Override
+ protected TuttiScreen getNextScreen() {
+ return TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL;
+ }
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,180 @@
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 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%
+ */
+
+#actionBlockerLayer {
+ canClick: false;
+ blockingColor: {model.getConfig().getColorBlockingLayer()};
+}
+#mainFrame {
+ title: "tutti.application.name";
+ defaultCloseOperation: {JFrame.DO_NOTHING_ON_CLOSE};
+}
+
+#menuFile {
+ text: "tutti.menu.file";
+ toolTipText: "tutti.menu.file.tip";
+ mnemonic: F;
+}
+
+#menuFileConfiguration {
+ text: "tutti.action.configuration";
+ toolTipText: "tutti.action.configuration.tip";
+ actionIcon: config;
+ mnemonic: C;
+}
+
+#menuFileExit {
+ text: "tutti.action.exit";
+ toolTipText: "tutti.action.exit.tip";
+ actionIcon: exit;
+}
+
+#menuActionUpdate {
+ _tuttiAction: {UpdateApplicationAction.class};
+}
+
+#menuActionManageDb {
+ enabled: {model.getScreen() != TuttiScreen.MANAGE_DB};
+ _tuttiAction: {ManageDbAction.class};
+}
+
+#menuActions {
+ enabled: {model.isDbLoaded()};
+ text: "tutti.menu.actions";
+ toolTipText: "tutti.menu.actions.tip";
+ mnemonic: A;
+}
+
+#menuActionSelectCruise {
+ enabled: {model.getScreen() != TuttiScreen.SELECT_CRUISE};
+ _tuttiAction: {SelectCruiseAction.class};
+}
+
+#menuActionEditProgram {
+ enabled: {model.getScreen() != TuttiScreen.EDIT_PROGRAM && model.isProgramFilled()};
+ _tuttiAction: {EditSelectedProgramAction.class};
+}
+
+#menuActionEditCruise {
+ enabled: {model.getScreen() != TuttiScreen.EDIT_CRUISE && model.isCruiseFilled()};
+ _tuttiAction: {EditSelectedCruiseAction.class};
+}
+
+#menuActionEditProtocol {
+ enabled: {model.getScreen() != TuttiScreen.EDIT_PROTOCOL && model.isProtocolFilled()};
+ _tuttiAction: {EditSelectedProtocolAction.class};
+}
+
+#menuActionEditCatches {
+ enabled: {(
+ !TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(model.getValidationContext())
+ || model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION
+ ) && model.isCruiseFilled()};
+ _tuttiAction: {EditSelectedCruiseCatchesAction.class};
+}
+
+#menuActionValidateCatches {
+ enabled: {(
+ !TuttiUIContext.VALIDATION_CONTEXT_VALIDATE.equals(model.getValidationContext())
+ || model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION
+ ) && model.isCruiseFilled()};
+ _tuttiAction: {ValidateSelectedCruiseCatchesAction.class};
+}
+
+#menuAdministration{
+ enabled: {model.isDbLoaded()};
+ text: "tutti.menu.administration";
+ toolTipText: "tutti.menu.administration.tip";
+ mnemonic: A;
+}
+
+#menuImportTemporaryReferential {
+ enabled: {model.getScreen() != TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL};
+ _tuttiAction: {ImportTemporaryReferentialAction.class};
+}
+
+#menuSynchronisations {
+ enabled: {model.isDbLoaded()};
+ text: "tutti.menu.synchronisations";
+ toolTipText: "tutti.menu.synchronisations.tip";
+ mnemonic: S;
+}
+
+#menuSynchronisationImport {
+ text: "tutti.menu.synchronisationImport";
+ toolTipText: "tutti.menu.synchronisationImport.tip";
+ mnemonic: I;
+ enabled: false;
+ actionIcon: import;
+}
+
+#menuSynchronisationExport {
+ text: "tutti.menu.synchronisationExport";
+ toolTipText: "tutti.menu.synchronisationExport.tip";
+ mnemonic: E;
+ enabled: false;
+ actionIcon: export;
+}
+
+#menuSynchronisationAllegro {
+ text: "tutti.menu.synchronisationAllegro";
+ toolTipText: "tutti.menu.synchronisationAllegro.tip";
+ mnemonic: A;
+ enabled: false;
+ actionIcon: allegro;
+}
+
+#menuHelp {
+ text: "tutti.menu.help";
+ toolTipText: "tutti.menu.help.tip";
+ mnemonic: E;
+}
+
+#menuHelpSite {
+ text: "tutti.action.site";
+ toolTipText: "tutti.action.site.tip";
+ actionIcon: site;
+ mnemonic: S;
+}
+
+#menuHelpAbout {
+ text: "tutti.action.about";
+ toolTipText: "tutti.action.about.tip";
+ actionIcon: about;
+ mnemonic: A;
+}
+
+#menuUpdateApplication {
+ _tuttiAction: {UpdateApplicationAction.class};
+}
+
+#bottomBar {
+ floatable: false;
+ margin: {new java.awt.Insets(0, 0, 0, 5)};
+ borderPainted: false;
+}
+
+#validatorMessageWidget {
+ focusPainted: false;
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,109 @@
+<!--
+ #%L
+ Tutti :: UI
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2012 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%
+ -->
+<JFrame id='mainFrame' onWindowClosing='getHandler().closeTutti()'
+ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiUIContext, MainUIHandler>'
+ width='800' height='600'>
+
+ <import>
+ java.awt.BorderLayout
+ javax.swing.JFrame
+ org.jdesktop.swingx.JXTitledPanel
+ jaxx.runtime.validator.swing.SwingValidator
+ jaxx.runtime.validator.swing.SwingValidatorMessageWidget
+ fr.ifremer.tutti.ui.swing.TuttiUIContext
+ </import>
+
+ <TuttiUIContext id='model'
+ initializer='getContextValue(TuttiUIContext.class)'/>
+ <MainUIHandler id='handler'
+ initializer='getContextValue(MainUIHandler.class)'/>
+
+ <script><![CDATA[
+
+ public MainUI(TuttiUIContext context) {
+ setContextValue(context);
+ MainUIHandler handler = new MainUIHandler(context, this);
+ setContextValue(handler);
+ handler.beforeInitUI();
+ }
+
+ protected void $afterCompleteSetup() {
+ getHandler().afterInitUI();
+ }
+ ]]></script>
+
+ <!-- menu -->
+ <JMenuBar id='menu'>
+ <JMenu id='menuFile'>
+ <JMenuItem id='menuFileConfiguration'
+ onActionPerformed="getHandler().showConfig()"/>
+ <JMenuItem id='menuActionUpdate'/>
+ <JSeparator/>
+ <JMenuItem id='menuActionManageDb'/>
+ <JSeparator/>
+ <JMenuItem id='menuFileExit'
+ onActionPerformed='getHandler().closeTutti()'/>
+ </JMenu>
+
+ <JMenu id='menuActions'>
+ <JMenuItem id='menuActionSelectCruise'/>
+ <JMenuItem id='menuActionEditProgram'/>
+ <JMenuItem id='menuActionEditCruise'/>
+ <JMenuItem id='menuActionEditProtocol'/>
+ <JMenuItem id='menuActionEditCatches'/>
+ <JMenuItem id='menuActionValidateCatches'/>
+ </JMenu>
+
+ <JMenu id='menuAdministration'>
+ <JMenuItem id='menuImportTemporaryReferential'/>
+ </JMenu>
+
+ <!--JMenu id='menuSynchronisations'>
+
+ <JMenuItem id='menuSynchronisationImport'
+ onActionPerformed="getHandler().showImportScreen()"/>
+ <JMenuItem id='menuSynchronisationExport'
+ onActionPerformed="getHandler().showExportScreen()"/>
+ <JMenuItem id='menuSynchronisationAllegro'
+ onActionPerformed="getHandler().showAllegroScreen()"/>
+ </JMenu-->
+
+ <JMenu id='menuHelp'>
+ <JMenuItem id='menuHelpSite'
+ onActionPerformed='getHandler().gotoSite()'/>
+ <JMenuItem id='menuHelpAbout'
+ onActionPerformed='getHandler().showAbout()'/>
+ </JMenu>
+ </JMenuBar>
+
+ <JToolBar id='bottomBar'>
+ <SwingValidatorMessageWidget id='validatorMessageWidget'/>
+ </JToolBar>
+
+ <JXTitledPanel id='body' constraints='BorderLayout.CENTER'/>
+
+ <!-- status message bar -->
+ <StatusMessagePanel id='status' constraints="BorderLayout.SOUTH"/>
+
+</JFrame>
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,510 @@
+package fr.ifremer.tutti.ui.swing.content;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 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.entities.data.Cruise;
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
+import fr.ifremer.tutti.service.PersistenceService;
+import fr.ifremer.tutti.ui.swing.RunTutti;
+import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import fr.ifremer.tutti.ui.swing.config.TuttiConfigUI;
+import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUI;
+import fr.ifremer.tutti.ui.swing.content.db.DbManagerUI;
+import fr.ifremer.tutti.ui.swing.content.db.OpenDbAction;
+import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI;
+import fr.ifremer.tutti.ui.swing.content.operation.FishingOperationsUI;
+import fr.ifremer.tutti.ui.swing.content.program.EditProgramUI;
+import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI;
+import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUI;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
+import fr.ifremer.tutti.ui.swing.util.TuttiUI;
+import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI;
+import fr.ifremer.tutti.ui.swing.util.action.TuttiUIAction;
+import jaxx.runtime.swing.AboutPanel;
+import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.widget.SwingSession;
+
+import javax.swing.Icon;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JToolBar;
+import java.awt.Desktop;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.net.URL;
+import java.util.Calendar;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public class MainUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, MainUI> {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(MainUIHandler.class);
+
+ public static final String CLONE_PROTOCOL = "cloneProtocol";
+
+ protected JComponent currentBody;
+
+ protected PersistenceService persistenceService;
+
+ protected MainUIHandler(TuttiUIContext context, MainUI ui) {
+ super(context, ui);
+ this.persistenceService = context.getPersistenceService();
+ context.setMainUI(ui);
+ context.setActionUI(new TuttiActionUI(ui, context));
+ }
+
+ protected MainUIHandler(TuttiUIContext context) {
+ super(context, null);
+ this.persistenceService = null;
+ }
+
+ //------------------------------------------------------------------------//
+ //-- AbstractTuttiUIHandler methods --//
+ //------------------------------------------------------------------------//
+
+ @Override
+ public void beforeInitUI() {
+ context.addPropertyChangeListener(new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ String propertyName = evt.getPropertyName();
+ if (TuttiUIContext.ID_TO_SAVE_PROPERTIES.contains(propertyName)) {
+
+ // change the ui title
+ changeTitle();
+
+ } else if (propertyName.equals(TuttiUIContext.PROPERTY_SCREEN)) {
+ setScreen((TuttiScreen) evt.getNewValue());
+ }
+ }
+ });
+ ui.setContextValue(ui, MainUI.class.getName());
+ }
+
+ @Override
+ public void afterInitUI() {
+
+ initUI(ui);
+
+ // Init SwingSession
+ SwingSession swingSession = context.getSwingSession();
+ swingSession.add(ui);
+ swingSession.save();
+
+ //SwingUtil.getLayer(ui.getBody()).setUI(new BetaLayerUI());
+
+ changeTitle();
+
+ JToolBar bar = ui.getBottomBar();
+ ui.getStatus().addWidget(bar, 0);
+
+ if (!context.isDbExist()) {
+
+ // clean db context
+ context.clearDbContext();
+
+ // go to manage db screen (to install db)
+ context.setScreen(TuttiScreen.MANAGE_DB);
+ } else {
+
+ // open tutti db
+ TuttiUIAction<OpenDbAction> openDbAction = createAction(OpenDbAction.class);
+ openDbAction.actionPerformed(null);
+ }
+ }
+
+ @Override
+ public void onCloseUI() {
+
+ context.close();
+ }
+
+ @Override
+ public SwingValidator<TuttiUIContext> getValidator() {
+ return null;
+ }
+
+ //------------------------------------------------------------------------//
+ //-- Public methods --//
+ //------------------------------------------------------------------------//
+
+ public void closeTutti() {
+ RunTutti.closeTutti(ui, true);
+ }
+
+ public void reloadTutti() {
+
+ // Close the application
+ RunTutti.closeTutti(ui, false);
+
+ RunTutti.startTutti(context);
+ }
+
+ public void reloadApplication() {
+ //TODO
+ }
+
+ public void reloadShortcuts() {
+ //TODO
+ }
+
+ public void showConfig() {
+
+ TuttiConfigUI configUI = new TuttiConfigUI(ui);
+ configUI.createUI();
+ }
+
+ public void showManageProtocol() {
+ context.setScreen(TuttiScreen.EDIT_PROTOCOL);
+ }
+
+ public void showSelectCampaign() {
+ context.setScreen(TuttiScreen.SELECT_CRUISE);
+ }
+
+ public void showFillCatches() {
+ context.setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT);
+ context.setScreen(TuttiScreen.EDIT_FISHING_OPERATION);
+ }
+
+ public void showValidateCatches() {
+ context.setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
+ context.setScreen(TuttiScreen.EDIT_FISHING_OPERATION);
+ }
+
+ public void showAbout() {
+
+ ApplicationConfig applicationConfig =
+ context.getConfig().getApplicationConfig();
+
+ String iconPath = applicationConfig.getOption("application.icon.path");
+ String name = "tutti-ui-swing";
+ String licensePath = "META-INF/" + name + "-LICENSE.txt";
+ String thirdPartyPath = "META-INF/" + name + "-THIRD-PARTY.txt";
+
+ AboutPanel about = new AboutPanel();
+ about.setTitle(_("tutti.title.about"));
+ about.setAboutText(_("tutti.about.message"));
+
+ TuttiApplicationConfig config = context.getConfig();
+ int currentYear = Calendar.getInstance().get(Calendar.YEAR);
+ int inceptionYear = config.getInceptionYear();
+ String years;
+ if (currentYear != inceptionYear) {
+ years = inceptionYear + "-" + currentYear;
+ } else {
+ years = inceptionYear + "";
+ }
+
+ about.setBottomText(_("tutti.about.bottomText",
+ config.getOrganizationName(),
+ years,
+ config.getVersion()));
+ about.setIconPath(iconPath);
+ about.setLicenseFile(licensePath);
+ about.setThirdpartyFile(thirdPartyPath);
+ about.buildTopPanel();
+ about.init();
+ about.showInDialog(ui, true);
+
+ // register on swing session
+ context.getSwingSession().add(about);
+ }
+
+ public void gotoSite() {
+ TuttiApplicationConfig config = context.getConfig();
+
+ URL siteURL = config.getSiteUrl();
+
+ if (log.isDebugEnabled()) {
+ log.debug("goto " + siteURL);
+ }
+ if (Desktop.isDesktopSupported() &&
+ Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
+ try {
+ Desktop.getDesktop().browse(siteURL.toURI());
+ } catch (Exception e) {
+ TuttiUIContext.getErrorHelper().showErrorDialog(
+ "Failed to open '" + siteURL + "' in browser", e);
+ }
+ }
+ }
+
+ @Override
+ public final void showInformationMessage(String message) {
+ ui.getStatus().setStatus(message);
+ }
+
+ public void registerValidator(SwingValidator validator) {
+ ui.getValidatorMessageWidget().registerValidator(validator);
+ }
+
+ @Override
+ public void clearValidators() {
+ ui.getValidatorMessageWidget().clearValidators();
+ }
+
+ public AbstractTuttiUIHandler getCurrentHandler() {
+ TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
+ return body.getHandler();
+ }
+
+ /**
+ * Reload the persistence service and set the new ne into the handler.
+ *
+ * @since 1.0
+ */
+ public void reloadPersistenceService() {
+ this.persistenceService = context.reloadPersistenceService();
+ }
+
+ /**
+ * Get the persistence service instance used by the handler.
+ *
+ * @return the persistence service instance used by the handler
+ * @since 1.0
+ */
+ public PersistenceService getPersistenceService() {
+ return persistenceService;
+ }
+
+ //------------------------------------------------------------------------//
+ //-- Internal methods --//
+ //------------------------------------------------------------------------//
+
+ protected void setScreen(TuttiScreen screen) {
+
+ try {
+
+ // close current body (if any)
+ if (currentBody != null) {
+ TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody;
+ body.getHandler().onCloseUI();
+
+ context.getSwingSession().save();
+
+ ui.getBody().remove(currentBody);
+
+ currentBody = null;
+ }
+
+ if (screen != null) {
+
+ String programId = context.getProgramId();
+ String cruiseId = context.getCruiseId();
+ String protocolId = context.getProtocolId();
+
+ JComponent screenUI;
+ String screenTitle;
+
+ Icon icon;
+ switch (screen) {
+ default:
+ case MANAGE_DB:
+
+ screenUI = new DbManagerUI(ui);
+ screenTitle = _("tutti.title.manageDb");
+ icon = ui.getMenuActionManageDb().getIcon();
+ break;
+
+ case SELECT_CRUISE:
+
+ screenUI = new SelectCruiseUI(ui);
+ screenTitle = _("tutti.title.home");
+ icon = ui.getMenuActionSelectCruise().getIcon();
+ break;
+
+ case EDIT_PROGRAM:
+
+ if (programId == null) {
+ screenTitle = _("tutti.title.create.program");
+ } else {
+ screenTitle = _("tutti.title.edit.program");
+ }
+
+ screenUI = new EditProgramUI(ui);
+ icon = ui.getMenuActionEditProgram().getIcon();
+ break;
+
+ case EDIT_CRUISE:
+
+ if (cruiseId == null) {
+ screenTitle = _("tutti.title.create.cruise");
+ } else {
+ screenTitle = _("tutti.title.edit.cruise");
+ }
+
+ screenUI = new EditCruiseUI(ui);
+ icon = ui.getMenuActionEditCruise().getIcon();
+ break;
+
+ case EDIT_PROTOCOL:
+
+ if (protocolId == null) {
+ screenTitle = _("tutti.title.create.protocol");
+ } else {
+ screenTitle = _("tutti.title.edit.protocol");
+ }
+
+ screenUI = new EditProtocolUI(ui);
+ icon = ui.getMenuActionEditProtocol().getIcon();
+ break;
+
+ case CLONE_PROTOCOL:
+ screenTitle = _("tutti.title.create.protocol");
+ ui.setContextValue(true, CLONE_PROTOCOL);
+ screenUI = new EditProtocolUI(ui);
+ icon = ui.getMenuActionEditProtocol().getIcon();
+ break;
+
+ case EDIT_FISHING_OPERATION:
+
+ String validationContext = context.getValidationContext();
+
+ if (TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(validationContext)) {
+
+ // edit catches
+ screenTitle = _("tutti.title.edit.operations", getSelectedCruiseTitle());
+ icon = ui.getMenuActionEditCatches().getIcon();
+ } else {
+
+ // validate catches
+ screenTitle = _("tutti.title.validate.operations", getSelectedCruiseTitle());
+ icon = ui.getMenuActionValidateCatches().getIcon();
+ }
+ screenUI = new FishingOperationsUI(ui);
+
+ break;
+
+ case IMPORT_TEMPORARY_REFERENTIAL:
+ screenTitle = _("tutti.title.import.temporary.referential");
+ screenUI = new ManageTemporaryReferentialUI(ui);
+ icon = ui.getMenuImportTemporaryReferential().getIcon();
+ break;
+ }
+
+ this.currentBody = screenUI;
+ context.getSwingSession().add(currentBody);
+ ui.getBody().setTitle(screenTitle);
+ ui.getBody().add(currentBody);
+ ui.getBody().setLeftDecoration(new JLabel(icon));
+
+ }
+ } catch (Exception e) {
+
+// AbstractTuttiAction mainAction = AbstractTuttiAction.getMainAction();
+// if (mainAction != null) {
+// mainAction.setFailed(true);
+// }
+
+ TuttiUIContext.getErrorHelper().showErrorDialog(
+ "Could not change to screen " + screen, e);
+
+ // go back to home
+ context.setScreen(TuttiScreen.SELECT_CRUISE);
+ }
+ }
+
+ protected void changeTitle() {
+
+ String title = getSelectedCruiseTitle();
+
+ ui.setTitle("Tutti - v " + getConfig().getVersion() + " [ " + title + " ]");
+ }
+
+ protected String getSelectedCruiseTitle() {
+
+
+ String title;
+
+ if (context.isDbLoaded()) {
+
+ if (context.isProgramFilled()) {
+
+ // selected program
+
+ Program program = getDataContext().getProgram();
+
+ title = _("tutti.title.selectedProgram", program.getName()) + " / ";
+
+ if (context.isCruiseFilled()) {
+
+ // selected cruise
+ Cruise cruise;
+ cruise = getDataContext().getCruise();
+
+ if (cruise != null) {
+ title += _("tutti.title.selectedCruise", cruise.getName());
+ }
+ } else {
+
+ // no selected cruise
+
+ title += _("tutti.title.noSelectedCruise");
+ }
+
+ title += " / ";
+
+ if (context.isProtocolFilled()) {
+
+ // selected protocol
+ TuttiProtocol protocol = getDataContext().getProtocol();
+
+ title += _("tutti.title.selectedProtocol", protocol.getName());
+ } else {
+
+ // no selected protocol
+
+ title += _("tutti.title.noSelectedProtocol");
+ }
+
+ } else {
+
+ // no program selected (so neither cruise)
+
+ title = _("tutti.title.noSelectedProgram");
+
+ }
+ } else {
+
+ // no db loaded
+
+ title = _("tutti.title.nodb");
+ }
+
+ return title;
+ }
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ManageDbAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ManageDbAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ManageDbAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ManageDbAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,67 @@
+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;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * To manage db in Tutti.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class ManageDbAction extends AbstractChangeScreenAction {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(ManageDbAction.class);
+
+ public ManageDbAction(MainUIHandler handler) {
+ super(handler,
+ "manage-db",
+ _("tutti.action.manageDb"),
+ _("tutti.action.manageDb.tip"),
+ true
+ );
+// setMnemonic('P');
+ }
+
+ @Override
+ protected void doAction() {
+ if (log.isDebugEnabled()) {
+ log.debug("open manage db screen");
+ }
+ getContext().setScreen(getNextScreen());
+ }
+
+ @Override
+ protected TuttiScreen getNextScreen() {
+ return TuttiScreen.MANAGE_DB;
+ }
+
+}
\ No newline at end of file
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/SelectCruiseAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/SelectCruiseAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,59 @@
+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 static org.nuiton.i18n.I18n._;
+
+/**
+ * Opens the cruise selection screen (home).
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class SelectCruiseAction extends AbstractChangeScreenAction {
+
+ public SelectCruiseAction(MainUIHandler handler) {
+ super(handler,
+ "home",
+ _("tutti.action.selectCruise"),
+ _("tutti.action.selectCruise.tip"),
+ true
+ );
+// setMnemonic('S');
+ }
+
+ @Override
+ protected void doAction() {
+// Preconditions.checkNotNull(getContext().isCruiseFilled());
+ getContext().setScreen(getNextScreen());
+ }
+
+ @Override
+ protected TuttiScreen getNextScreen() {
+ return TuttiScreen.SELECT_CRUISE;
+ }
+}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateApplicationAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,100 @@
+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.TuttiApplicationUpdaterCallBack;
+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 org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.ApplicationUpdater;
+
+import java.io.File;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * To update jre / i18n or tutti using the {@link ApplicationUpdater} mecanism.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class UpdateApplicationAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(UpdateApplicationAction.class);
+
+ public UpdateApplicationAction(MainUIHandler handler) {
+ super(handler,
+ "update-application",
+ _("tutti.action.updateApplication"),
+ _("tutti.action.updateApplication.tip"),
+ true);
+ }
+
+ @Override
+ protected void doAction() {
+
+ TuttiApplicationConfig config = getContext().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.getUpdateUrl();
+ File dest = new File(config.getTuttiBasedir(), "NEW");
+
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Try to update jre, i18N or tutti (current application location: %s), using update url: %s", current, url));
+ }
+ ApplicationUpdater up = new ApplicationUpdater();
+
+ ProgressionModel progressionModel = new ProgressionModel();
+ getContext().getActionUI().getModel().setProgressionModel(progressionModel);
+ progressionModel.setMessage("Recherche de mises à jour de JRE / Tutti / I18N");
+
+ TuttiApplicationUpdaterCallBack callback =
+ new TuttiApplicationUpdaterCallBack(getContext(), progressionModel);
+
+ callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.JRE,
+ TuttiApplicationUpdaterCallBack.UpdateType.I18N,
+ TuttiApplicationUpdaterCallBack.UpdateType.TUTTI);
+ up.update(url,
+ current,
+ dest,
+ false,
+ callback);
+// getContext().getActionUI().getModel().clear();
+ }
+ }
+}
\ No newline at end of file
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/UpdateReferentialAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,94 @@
+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.TuttiApplicationUpdaterCallBack;
+import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.ApplicationUpdater;
+
+import java.io.File;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * To update referential using the {@link ApplicationUpdater} mecanism.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class UpdateReferentialAction extends AbstractMainUITuttiAction {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(UpdateReferentialAction.class);
+
+ public UpdateReferentialAction(MainUIHandler handler) {
+ super(handler,
+ "update-referential",
+ _("tutti.action.updateReferential"),
+ _("tutti.action.updateReferential.tip"),
+ true);
+ }
+
+ @Override
+ protected void doAction() {
+ TuttiApplicationConfig config = getContext().getConfig();
+
+ File current = config.getDataDirectory();
+ String url = config.getUpdateUrl();
+
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Try to update db (current data location: %s), using update url: %s", current, url));
+ }
+ ApplicationUpdater up = new ApplicationUpdater();
+
+ File dest = new File(config.getTuttiBasedir(), "NEW");
+ ProgressionModel progressionModel = new ProgressionModel();
+ getContext().getActionUI().getModel().setProgressionModel(progressionModel);
+ progressionModel.setMessage("Recherche de mises à jour de base");
+ TuttiApplicationUpdaterCallBack callback = new TuttiApplicationUpdaterCallBack(getContext(), progressionModel);
+ callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.DB);
+ up.update(url,
+ current,
+ dest,
+ false,
+ callback);
+
+ if (callback.isDbUpdated()) {
+
+ progressionModel.setMessage("Rechargement de la base de données");
+
+ getContext().setDbLoaded(true);
+ getContext().reloadPersistenceService();
+
+
+ } else {
+ sendMessage("Aucune mise à jour de base détectée.");
+ }
+ }
+}
\ No newline at end of file
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java (from rev 513, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/ValidateSelectedCruiseCatchesAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -0,0 +1,62 @@
+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 com.google.common.base.Preconditions;
+import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Opens the catches validation screen to edit the selected catches.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
+public class ValidateSelectedCruiseCatchesAction extends AbstractChangeScreenAction {
+
+ public ValidateSelectedCruiseCatchesAction(MainUIHandler handler) {
+ super(handler,
+ "validate",
+ _("tutti.action.validateCatches"),
+ _("tutti.action.validateCatches.tip"),
+ true
+ );
+ }
+
+ @Override
+ protected void doAction() {
+ Preconditions.checkState(getContext().isCruiseFilled());
+ getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE);
+ getContext().setScreen(null);
+ getContext().setScreen(getNextScreen());
+ }
+
+ @Override
+ protected TuttiScreen getNextScreen() {
+ return TuttiScreen.EDIT_FISHING_OPERATION;
+ }
+}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -25,9 +25,9 @@
*/
import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig;
-import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction;
-import fr.ifremer.tutti.ui.swing.MainUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.jaxx 2013-03-02 06:25:02 UTC (rev 514)
@@ -28,7 +28,7 @@
fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
- fr.ifremer.tutti.ui.swing.UpdateReferentialAction
+ fr.ifremer.tutti.ui.swing.content.UpdateReferentialAction
static org.nuiton.i18n.I18n._
</import>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -24,8 +24,8 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction;
-import fr.ifremer.tutti.ui.swing.MainUIHandler;
+import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -26,10 +26,10 @@
import fr.ifremer.tutti.persistence.ProgressionModel;
import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig;
-import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction;
-import fr.ifremer.tutti.ui.swing.MainUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiApplicationUpdaterCallBack;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
+import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationUpdater;
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-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -25,9 +25,9 @@
*/
import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig;
-import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction;
-import fr.ifremer.tutti.ui.swing.MainUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -32,8 +32,8 @@
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.ui.swing.MainUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import fr.ifremer.tutti.ui.swing.content.home.ImportProtocolAction;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SelectSpeciesUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SelectSpeciesUIModel;
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-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -29,9 +29,9 @@
import com.google.common.collect.Sets;
import fr.ifremer.tutti.persistence.entities.IdAware;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.ui.swing.AbstractMainUITuttiAction;
-import fr.ifremer.tutti.ui.swing.MainUI;
-import fr.ifremer.tutti.ui.swing.MainUIHandler;
+import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction;
+import fr.ifremer.tutti.ui.swing.content.MainUI;
+import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
import fr.ifremer.tutti.ui.swing.TuttiDataContext;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -25,7 +25,7 @@
*/
import fr.ifremer.tutti.service.TuttiTechnicalException;
-import fr.ifremer.tutti.ui.swing.AbstractChangeScreenAction;
+import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -25,7 +25,7 @@
*/
import fr.ifremer.tutti.persistence.ProgressionModel;
-import fr.ifremer.tutti.ui.swing.MainUI;
+import fr.ifremer.tutti.ui.swing.content.MainUI;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import jaxx.runtime.validator.swing.SwingValidator;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-01 20:59:12 UTC (rev 513)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-02 06:25:02 UTC (rev 514)
@@ -24,7 +24,7 @@
* #L%
*/
-import fr.ifremer.tutti.ui.swing.MainUI;
+import fr.ifremer.tutti.ui.swing.content.MainUI;
import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler;
import jaxx.runtime.SwingUtil;
import org.apache.commons.logging.Log;
@@ -237,15 +237,6 @@
body.setVisible(!busy);
}
-// SwingUtilities.invokeLater(
-// new Runnable() {
-// @Override
-// public void run() {
-// mainUI.repaint();
-// }
-// }
-// );
-
}
}
}
1
0
See <http://ci.nuiton.org/jenkins/job/tutti/419/changes>
Changes:
[Tony Chemit] improve action api
reformat some code
------------------------------------------
[...truncated 616 lines...]
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target>
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.nuiton.jaxx:jaxx-maven-plugin:2.5.11-SNAPSHOT(default)
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.11-SNAPSHOT:generate (default) @ tutti-ui-swing ---
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 15.9 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 8.9 KB/sec)
[INFO] use project compile scope class-path
[INFO] Detects 28 modified jaxx file(s).
[WARNING] JAXX detects 4 warnings :
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'text' in component 'filterSpeciesBatchRootButton' : [_("tutti.label.filterSpeciesBatchMode.mode.root", model.getRootNumber())]
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'text' in component 'gearLatitudeLabel' : [_("tutti.label.fishingOperation.gearLatitude", ((CoordinateEditorType)handler.getConfig().getCoordinateEditorType()).toString())]
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'text' in component 'gearLongitudeLabel' : [_("tutti.label.fishingOperation.gearLongitude", ((CoordinateEditorType)handler.getConfig().getCoordinateEditorType()).toString())]
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>
jaxx supports i18n, no need to add explicit call to I18n._ for attribute 'toolTipText' in component 'trawlDistanceField' : [model.getTrawlDistance() != null ? _("tutti.tooltip.distanceInMilles", TuttiUIUtil.getDistanceInMilles(model.getTrawlDistance())) : null]
[INFO] Generated 28 file(s) in 43.857s
mojoSucceeded org.nuiton.jaxx:jaxx-maven-plugin:2.5.11-SNAPSHOT(default)
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserJava (scan-sources) @ tutti-ui-swing ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(get)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:get (get) @ tutti-ui-swing ---
[INFO] Copying tutti-ui-swing.properties to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(get)
forkedProjectSucceeded fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 83/600 empty entries! (use -Di18n.showEmpty to see these entries)
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(collect-i18n-artifacts)[INFO] collected 10 i18n artifacts for locale fr_FR stored in <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/i18n/…>
[INFO]
[INFO] --- i18n-maven-plugin:2.5:collect-i18n-artifacts (collect-i18n-artifacts) @ tutti-ui-swing ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(collect-i18n-artifacts)
forkedProjectSucceeded fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(make-bundle)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 92/862 empty entries! (use -Di18n.showEmpty to see these entries)
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(make-bundle)
mojoStarted org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
[INFO]
[INFO] --- license-maven-plugin:1.4:update-project-license (attach-licenses) @ tutti-ui-swing ---
mojoSucceeded org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
mojoStarted org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
[INFO]
[INFO] --- license-maven-plugin:1.4:add-third-party (attach-licenses) @ tutti-ui-swing ---
[WARNING] No license name defined for org.hibernate.javax.persistence--hibernate-jpa-2.0-api--1.0.1.Final
[INFO] Load missing file <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/license/…>
[INFO] Missing file <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/license/…> is up-to-date.
[INFO] Writing third-party file to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>
[INFO] Writing bundled third-party file to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/gener…>
[INFO] Will attach third party file from <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/license/…>
mojoSucceeded org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ui-swing ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] Copying 82 resources
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)[INFO] Copying 2 resources
[INFO] Copying 4 resources
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 218 source files to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target/class…>
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[35,22] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[39,22] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[53,56] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[28,22] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[43,52] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[27,22] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[28,22] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[40,55] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[31,22] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[32,22] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[5,32] error: cannot find symbol
[ERROR] symbol: class AbstractTuttiAction
location: package fr.ifremer.tutti.ui.swing
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[23,39] error: cannot find symbol
[ERROR] symbol: class AbstractTuttiAction
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[36,43] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[38,7] [deprecation] ApplicationConfigHelper in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[39,10] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[40,21] [deprecation] ArgumentsParserException in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[51,13] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[67,20] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[80,32] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[84,12] [deprecation] ApplicationConfigProvider in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[85,16] [deprecation] ApplicationConfigHelper in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[91,8] [deprecation] ApplicationConfigHelper in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[96,16] [deprecation] ApplicationConfigHelper in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[108,17] [deprecation] ArgumentsParserException in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[139,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
mojoFailed org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[207,8] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[71,8] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[71,36] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[88,82] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[88,23] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[89,20] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[92,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[106,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[112,28] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[136,39] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[158,48] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[169,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[183,50] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[194,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[208,49] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[219,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[233,44] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[243,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[266,69] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[265,14] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[275,34] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[284,40] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[305,40] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[336,44] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[53,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[58,11] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[59,19] [deprecation] ApplicationConfig in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[67,8] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[67,36] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[78,12] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[78,40] [deprecation] ApplicationUpdater in org.nuiton.util has been deprecated
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[47,25] error: cannot find symbol
[ERROR] symbol: variable super
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[49,40] error: cannot find symbol
[ERROR] symbol: method getHandler()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[88,28] error: cannot find symbol
[ERROR] symbol: method getUI()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[45,4] error: method does not override or implement a method from a supertype
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[119,51] error: cannot find symbol
[ERROR] symbol: method getUI()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[122,16] error: cannot find symbol
[ERROR] symbol: method getConfig()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[152,8] error: cannot find symbol
[ERROR] symbol: method getHandler()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[134,4] error: method does not override or implement a method from a supertype
[ERROR] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[157,8] error: cannot find symbol
[ERROR] symbol: variable super
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[158,8] error: cannot find symbol
[ERROR] symbol: method getHandler()
location: class CreateMelagAction
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:[155,4] error: method does not override or implement a method from a supertype
[INFO] 67 errors
[INFO] -------------------------------------------------------------
projectFailed fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT
sessionEnded
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [57.448s]
[INFO] Tutti :: Persistence .............................. SUCCESS [1:25.779s]
[INFO] Tutti :: Service .................................. SUCCESS [21.309s]
[INFO] Tutti :: UI ....................................... FAILURE [1:35.269s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4:27.894s
[INFO] Finished at: Fri Mar 01 21:52:53 CET 2013
[INFO] Final Memory: 56M/170M
[INFO] ------------------------------------------------------------------------
Projects to build: [MavenProject: fr.ifremer:tutti:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-persistence:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-service:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-ui-swing:1.0.2-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/pom.xml]>
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-03-01_21-47-53/archive/fr.ifremer.tutti/tutti-service/1.0.2-SNAPSHOT/tutti-service-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-03-01_21-47-53/archive/fr.ifremer.tutti/tutti-service/1.0.2-SNAPSHOT/tutti-service-1.0.2-SNAPSHOT.jar
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-ui-swing/builds/2013-03-01_21-47-53/archive/fr.ifremer.tutti/tutti-ui-swing/1.0.2-SNAPSHOT/tutti-ui-swing-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/license/…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-ui-swing/builds/2013-03-01_21-47-53/archive/fr.ifremer.tutti/tutti-ui-swing/1.0.2-SNAPSHOT/tutti-ui-swing-1.0.2-SNAPSHOT-third-party.properties
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-03-01_21-47-52/archive/fr.ifremer/tutti/1.0.2-SNAPSHOT/tutti-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/target/tutti-1.0.2-SNAPSHOT…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-03-01_21-47-52/archive/fr.ifremer/tutti/1.0.2-SNAPSHOT/tutti-1.0.2-SNAPSHOT-site_fr.xml
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-03-01_21-47-53/archive/fr.ifremer.tutti/tutti-persistence/1.0.2-SNAPSHOT/tutti-persistence-1.0.2-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/tu…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-03-01_21-47-53/archive/fr.ifremer.tutti/tutti-persistence/1.0.2-SNAPSHOT/tutti-persistence-1.0.2-SNAPSHOT.jar
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project tutti-ui-swing: Compilation failure
cause : Compilation failure
Stack trace :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project tutti-ui-swing: Compilation failure
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:729)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 27 more
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com chemit(a)codelutin.com
channel stopped
1
1