r1522 - in trunk: tutti-persistence/src/main/java/fr/ifremer/tutti tutti-persistence/src/main/java/fr/ifremer/tutti/persistence tutti-persistence/src/main/resources/i18n tutti-service/src/main/java/fr/ifremer/tutti/service tutti-ui-swing/src/main/assembly tutti-ui-swing/src/main/assembly/full tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing
Author: tchemit Date: 2014-01-23 12:01:50 +0100 (Thu, 23 Jan 2014) New Revision: 1522 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1522 Log: fixes #4149: [TECH] Mise ?\195?\160 jour de r?\195?\169f?\195?\169rentiel - Erreur sur les donn?\195?\169es suite ?\195?\160 la mise ?\195?\160 jour Added: trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.bat trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.sh Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java 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/TuttiPersistenceNoDbImpl.java trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java trunk/tutti-ui-swing/src/main/assembly/full/README.txt trunk/tutti-ui-swing/src/main/assembly/tutti-full-component.xml trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java 2014-01-23 11:01:50 UTC (rev 1522) @@ -331,7 +331,6 @@ applicationConfig.setOption(TuttiConfigurationOption.PROTOCOL_ID.getKey(), protocolId); } - //------------------------------------------------------------------------// //--- Option getter ------------------------------------------------------// //------------------------------------------------------------------------// @@ -393,6 +392,11 @@ return applicationConfig.getOptionAsClass(TuttiConfigurationOption.HIBERNATE_DIALECT.getKey()); } + public boolean isSanityDb() { + boolean result = applicationConfig.getOptionAsBoolean(TuttiConfigurationOption.DB_SANITY.getKey()); + return result; + } + public boolean isHibernateShowSql() { boolean result = applicationConfig.getOptionAsBoolean(TuttiConfigurationOption.HIBERNATE_SHOW_SQL.getKey()); return result; Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java 2014-01-23 11:01:50 UTC (rev 1522) @@ -141,6 +141,12 @@ "allegro", String.class), + DB_SANITY( + "tutti.persistence.db.sanity", + n_("tutti.persistence.db.sanity.description"), + "false", + Boolean.class), + JDBC_USERNAME( "tutti.persistence.jdbc.username", n_("tutti.config.option.persistence.jdbc.username.description"), 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 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2014-01-23 11:01:50 UTC (rev 1522) @@ -108,6 +108,8 @@ void updateSchema(); + void sanityDb(); + //------------------------------------------------------------------------// //-- Referential methods --// //------------------------------------------------------------------------// Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2014-01-23 11:01:50 UTC (rev 1522) @@ -99,8 +99,6 @@ private static final Log log = LogFactory.getLog(TuttiPersistenceImpl.class); - public static Boolean CHECK = false; - @Autowired protected ReferentialPersistenceService referentialService; @@ -211,6 +209,11 @@ } @Override + public void sanityDb() { + databaseSanityService.sanity(); + } + + @Override public void init() { if (log.isInfoEnabled()) { log.info("Open persistence driver " + getImplementationName()); @@ -231,12 +234,6 @@ TuttiEnumerationFile enumerationFile = getEnumerationFile(); batchVracPredicate = TuttiEntities.newSpeciesAbleBatchCategoryPredicate(enumerationFile.PMFM_ID_SORTED_UNSORTED, enumerationFile.QUALITATIVE_VRAC_ID); - - if (CHECK) { - - // sanity database - databaseSanityService.sanity(); - } } protected boolean close; Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2014-01-23 11:01:50 UTC (rev 1522) @@ -99,6 +99,11 @@ } @Override + public void sanityDb() { + throw notImplemented(); + } + + @Override public void clearAllCaches() { throw notImplemented(); } Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties =================================================================== --- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2014-01-23 11:01:50 UTC (rev 1522) @@ -92,6 +92,7 @@ tutti.persistence.config.generateEnumFile.error= tutti.persistence.config.generateFile.error= tutti.persistence.cruise.gearUsedInOperations.error= +tutti.persistence.db.sanity.description= tutti.persistence.dbMetadata.instanciation.error= tutti.persistence.error.caracteristic.notFound= tutti.persistence.error.no.convertor= Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties =================================================================== --- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2014-01-23 11:01:50 UTC (rev 1522) @@ -92,6 +92,7 @@ tutti.persistence.config.generateEnumFile.error=Erreur lors de la génération du fichier d'énumération de la configuration de la base de données tutti.persistence.config.generateFile.error=Erreur lors de la génération du fichier de configuration de la base de données tutti.persistence.cruise.gearUsedInOperations.error=Vous essayez d'enlever un ou plusieurs engins qui sont utilisés sur des traits.<hr/>Veuillez changer l'engin des traits en question pour pouvoir les enlever de la campagne. +tutti.persistence.db.sanity.description=Mettre à vrai pour nettoyer les bases au chargement tutti.persistence.dbMetadata.instanciation.error=Erreur lors de l'initialisation des metadata de la base de données par la connexion %s tutti.persistence.error.caracteristic.notFound=Caractéristique inconnue tutti.persistence.error.no.convertor=Impossible de convertir en modèle de catégorie le type %s avec la valeur %s Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2014-01-23 11:01:50 UTC (rev 1522) @@ -212,6 +212,11 @@ driver.updateSchema(); } + @Override + public void sanityDb() { + driver.sanityDb(); + } + public static final DateFormat EXPORT_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); public static final String EXPORT_DIRECTORY_FORMAT = "tutti-%s-%s"; @@ -622,6 +627,11 @@ // can use adagio driver driver = TuttiPersistenceServiceLocator.getPersistenceService(); + if (config.isSanityDb()) { + + driver.sanityDb(); + } + } else { driver = new TuttiPersistenceNoDbImpl(); Modified: trunk/tutti-ui-swing/src/main/assembly/full/README.txt =================================================================== --- trunk/tutti-ui-swing/src/main/assembly/full/README.txt 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-ui-swing/src/main/assembly/full/README.txt 2014-01-23 11:01:50 UTC (rev 1522) @@ -1,17 +1,30 @@ Pour démarrer Allegro Campagne Saisie ------------------------------------- +# Sous windows + +tutti.bat + # Sous Linux ./tutti.sh +Pour nettoyer la base de donnée +------------------------------- + +Si vous rencontrez des problèmes avec la base de données, vous pouvez tenter de lancer cette commande + # Sous windows -tutti.bat +tutti-sanity.bat +# Sous Linux + +./tutti-sanity.sh + Consulter l'aide ---------------- -En attendant que l'aide soit finalisée, vous pouvez consulter ce document : +L'aide en ligne est consultable dans l'application ou bien sur le site -help/Aide_Allegro_Campagne.odt \ No newline at end of file +http://maven-site.forge.codelutin.com/tutti/help/fr/index.html \ No newline at end of file Copied: trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.bat (from rev 1520, trunk/tutti-ui-swing/src/main/assembly/full/tutti.bat) =================================================================== --- trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.bat (rev 0) +++ trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.bat 2014-01-23 11:01:50 UTC (rev 1522) @@ -0,0 +1,44 @@ +@echo off + +set OLDDIR=%CD% +cd /d %~dp0% + +set TUTTI_BASEDIR="%CD%" +set JAVA_HOME=%TUTTI_BASEDIR%\jre +set JAVA_COMMAND=%JAVA_HOME%\bin\java +set TUTTI_LOG_FILE=%TUTTI_BASEDIR%\data\tutti-${project.version}.log + +echo Allegro Campaign basedir: %TUTTI_BASEDIR% +echo Allegro Campaign app home: %TUTTI_HOME% +echo Allegro Campaign jre home: %JAVA_HOME% +echo Allegro Campaign log file: %TUTTI_LOG_FILE% + +:start + +copy tutti\update.bat . +echo Searching for updates... +call update.bat +del update.bat +if exist "tutti.config" copy tutti.config tutti +echo Allegro Campaign ${project.version} is starting... +call tutti\launch.bat --option tutti.launch.mode full --option tutti.basedir %TUTTI_BASEDIR% --option tutti.persistence.db.sanity true +if errorlevel 89 goto deletedb +if errorlevel 88 goto start + +goto quit + +:deletedb + +echo "Clean database and restart" + +del /S/Q data\db +del /S/Q data\dbcache +del /S/Q data\dbconf +rmdir data\db +rmdir data\dbcache +rmdir data\dbconf + +goto start + +:quit +cd %OLDDIR% Copied: trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.sh (from rev 1520, trunk/tutti-ui-swing/src/main/assembly/full/tutti.sh) =================================================================== --- trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.sh (rev 0) +++ trunk/tutti-ui-swing/src/main/assembly/full/tutti-sanity.sh 2014-01-23 11:01:50 UTC (rev 1522) @@ -0,0 +1,41 @@ +#!/bin/bash + +export TUTTI_BASEDIR=$(pwd) +export TUTTI_HOME=$TUTTI_BASEDIR/tutti +export JAVA_HOME=$TUTTI_BASEDIR/jre +export JAVA_COMMAND=$JAVA_HOME/bin/java +export TUTTI_LOG_FILE=$TUTTI_BASEDIR/data/tutti-${project.version}.log + +cd $TUTTI_BASEDIR + +echo "Allegro Campaign basedir: $TUTTI_BASEDIR" +echo "Allegro Campaign app home: $TUTTI_HOME" +echo "Allegro Campaign jre home: $JAVA_HOME" +echo "Allegro Campaign log file: $TUTTI_LOG_FILE" + +while true; do + + cp $TUTTI_HOME/update.sh . + echo "Searching for updates..." + ./update.sh + rm -f update.sh + if [ -f $TUTTI_BASEDIR/tutti.config ]; then + cp -rfv $TUTTI_BASEDIR/tutti.config $TUTTI_HOME + fi + echo "Allegro Campaign ${project.version} is starting..." + ./tutti/launch.sh --option tutti.launch.mode full --option tutti.basedir $TUTTI_BASEDIR --option tutti.persistence.db.sanity true + exitcode=$? + + if [ "$exitcode" -eq "89" ]; then + # delete db directory and restart + rm -rfv data/db + rm -rfv data/dbcache + rm -rfv data/dbconf + exitcode=88 + fi + + if [ ! "$exitcode" -eq "88" ]; then + # quit now! + exit $exitcode + fi +done \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/assembly/tutti-full-component.xml =================================================================== --- trunk/tutti-ui-swing/src/main/assembly/tutti-full-component.xml 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-ui-swing/src/main/assembly/tutti-full-component.xml 2014-01-23 11:01:50 UTC (rev 1522) @@ -36,8 +36,8 @@ <filtered>true</filtered> <fileMode>0755</fileMode> <includes> - <include>tutti.sh</include> - <include>tutti.bat</include> + <include>*.sh</include> + <include>*.bat</include> <include>README*</include> <include>report/**</include> </includes> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2014-01-23 08:25:49 UTC (rev 1521) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2014-01-23 11:01:50 UTC (rev 1522) @@ -25,7 +25,6 @@ */ import fr.ifremer.tutti.TuttiConfiguration; -import fr.ifremer.tutti.persistence.TuttiPersistenceImpl; import fr.ifremer.tutti.ui.swing.action.StartAction; import fr.ifremer.tutti.ui.swing.action.UpdateApplicationAction; import fr.ifremer.tutti.ui.swing.action.UpdateReportAction; @@ -61,8 +60,6 @@ public static void main(String... args) { - TuttiPersistenceImpl.CHECK = true; - if (log.isInfoEnabled()) { log.info("Starting Tutti with arguments: " + Arrays.toString(args)); }
participants (1)
-
tchemit@users.forge.codelutin.com