Author: chatellier
Date: 2010-12-17 16:38:20 +0000 (Fri, 17 Dec 2010)
New Revision: 425
Log:
Ajout de la date de creation du projet
Modified:
trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java
trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Project.java
trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java
trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java
trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties
trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties
trunk/coser-business/src/test/java/fr/ifremer/coser/services/PublicationServiceTest.java
trunk/coser-ui/src/main/java/fr/ifremer/coser/CoserConfig.java
trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectSummaryView.jaxx
trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties
trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties
Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java
===================================================================
--- trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java 2010-12-17 16:38:20 UTC (rev 425)
@@ -28,6 +28,7 @@
import static org.nuiton.i18n.I18n._;
import java.io.File;
+import java.util.Locale;
import org.nuiton.util.ApplicationConfig;
@@ -72,6 +73,15 @@
return result;
}
+ public Locale getLocale() {
+ Locale result = getOption(Locale.class, CoserBusinessOption.LOCALE.key);
+ return result;
+ }
+
+ public void setLocale(Locale locale) {
+ setOption(CoserBusinessOption.LOCALE.key, locale.toString());
+ }
+
public String getReferenceSpeciesPath() {
String result = getOption(CoserBusinessOption.REFERENCE_SPECIES.key);
return result;
@@ -113,6 +123,8 @@
PROJECTS_DIRECTORY("coser.projects.directory", _("coser.config.projects.directory.description"), "${" + DATABASE_DIRECTORY.key + "}" + File.separator + "projects", String.class, false, false),
VALIDATOR_DIRECTORY("coser.validator.directory", _("coser.config.validator.directory.description"), "${" + DATABASE_DIRECTORY.key + "}" + File.separator + "validators", String.class, false, false),
+ LOCALE("coser.locale", _("coser.config.locale.description"), Locale.FRANCE.toString(), Locale.class, false, false),
+
REFERENCE_SPECIES("coser.reference.species", _("coser.config.reference.species.description"), "", String.class, false, false),
REFERENCE_TYPE_ESPECES("coser.reference.typeSpecies", _("coser.config.reference.typeSpecies.description"), "", String.class, false, false),
Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Project.java
===================================================================
--- trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Project.java 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Project.java 2010-12-17 16:38:20 UTC (rev 425)
@@ -27,6 +27,7 @@
import java.io.File;
import java.util.ArrayList;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -101,7 +102,10 @@
protected String comment;
protected Control control;
-
+
+ // FIXME echatellier 20101217 compabilité avec les projets beta (a retirer pour la v1)
+ protected Date creationDate = new Date(0);
+
protected Map<String, Selection> selections;
/** Reftax SIH. */
@@ -220,6 +224,14 @@
getPropertyChangeSupport().firePropertyChange("comment", oldValue, comment);
}
+ public Date getCreationDate() {
+ return creationDate;
+ }
+
+ public void setCreationDate(Date creationDate) {
+ this.creationDate = creationDate;
+ }
+
public Control getControl() {
return control;
}
@@ -305,6 +317,9 @@
if (comment != null) {
props.setProperty("project.comment", comment);
}
+ if (creationDate != null) {
+ props.setProperty("project.creationdate", String.valueOf(creationDate.getTime()));
+ }
return props;
}
@@ -336,5 +351,9 @@
if (props.containsKey("project.comment")) {
setComment(props.getProperty("project.comment"));
}
+ if (props.containsKey("project.creationdate")) {
+ Date date = new Date(Long.parseLong(props.getProperty("project.creationdate")));
+ setCreationDate(date);
+ }
}
}
Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java
===================================================================
--- trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2010-12-17 16:38:20 UTC (rev 425)
@@ -42,6 +42,7 @@
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -160,6 +161,9 @@
throw new CoserBusinessException(_("Project %s already exist", project.getName()));
}
+ // set project date
+ project.setCreationDate(new Date());
+
// first free memory, clear all data
project.clearData();
Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java
===================================================================
--- trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java 2010-12-17 16:38:20 UTC (rev 425)
@@ -31,9 +31,11 @@
import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
+import java.text.DateFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -530,15 +532,26 @@
* @param out stream
*/
protected void extractProjectReport(Project project, PrintStream out) {
+
+ DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT, config.getLocale());
+
+ // date du rapport
+ out.println("<div style='text-align:right;font-style:italic'>" +
+ _("coser.business.publication.date") +" : " +
+ dateFormat.format(new Date()) + "</div>");
+
// partie projet
out.println("<h2>" + _("coser.business.publication.projectdetails") + "</h2>");
out.println("<ul>");
+ out.println("<li>" + _("coser.business.publication.creationdate") + " : " + dateFormat.format(project.getCreationDate()));
out.println("<li>" + _("coser.business.publication.author") + " : " + project.getAuthor() + "</li>");
out.println("<li>" + _("coser.business.publication.catchfilename") + " : " + projectService.getDataStorageFileName(project, Category.CATCH, null) + "</li>");
out.println("<li>" + _("coser.business.publication.lengthfilename") + " : " + projectService.getDataStorageFileName(project, Category.LENGTH, null) + "</li>");
out.println("<li>" + _("coser.business.publication.haulfilename") + " : " + projectService.getDataStorageFileName(project, Category.HAUL, null) + "</li>");
out.println("<li>" + _("coser.business.publication.stratafilename") + " : " + projectService.getDataStorageFileName(project, Category.STRATA, null) + "</li>");
- out.println("<li>" + _("coser.business.publication.comment") + " : " + project.getComment() + "</li>");
+ if (StringUtils.isNotEmpty(project.getComment())) {
+ out.println("<li>" + _("coser.business.publication.comment") + " : " + project.getComment() + "</li>");
+ }
out.println("</ul>");
}
Modified: trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties
===================================================================
--- trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2010-12-17 16:38:20 UTC (rev 425)
@@ -75,7 +75,9 @@
coser.business.publication.catchfilename=Catch file name
coser.business.publication.comment=Comment
coser.business.publication.controllogexporttitle=Selection report for %s (project %s)
+coser.business.publication.creationdate=Creation date
coser.business.publication.datamodification=Data modifications
+coser.business.publication.date=On
coser.business.publication.errorexportlines=Lines
coser.business.publication.errorexporttitle=Error report for project %s
coser.business.publication.errorgraph=Graph
@@ -92,6 +94,7 @@
coser.config.control.nobsmin.description=Minimal observation number
coser.config.control.typeFish.description=Fish species code type
coser.config.database.directory.description=Coser database directory (all Coser data)
+coser.config.locale.description=Application's locale
coser.config.projects.directory.description=Coser projects directory
coser.config.reference.species.description=Species reference file location (reftax)
coser.config.reference.typeSpecies.description=Code type species file location
Modified: trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties
===================================================================
--- trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2010-12-17 16:38:20 UTC (rev 425)
@@ -75,7 +75,9 @@
coser.business.publication.catchfilename=Nom du fichier captures
coser.business.publication.comment=Commentaire
coser.business.publication.controllogexporttitle=Rapport de contr\u00F4le (projet %s)
+coser.business.publication.creationdate=Date de cr\u00E9action
coser.business.publication.datamodification=Modifications sur les donn\u00E9es
+coser.business.publication.date=Le
coser.business.publication.errorexportlines=Lignes
coser.business.publication.errorexporttitle=Rapport d'erreur pour le projet %s
coser.business.publication.errorgraph=Graphique
@@ -92,6 +94,7 @@
coser.config.control.nobsmin.description=Nombre minimal d'observation
coser.config.control.typeFish.description=Nom du type d'esp\u00E8ces correspondant aux poissons
coser.config.database.directory.description=Emplacement du dossier de toutes les donn\u00E9es relatives \u00E0 Coser
+coser.config.locale.description=Langue de l'application
coser.config.projects.directory.description=Emplacement du dossier de sauvegarde des projets
coser.config.reference.species.description=Emplacement du fichier de r\u00E9f\u00E9rence des esp\u00E8ces (Reftax)
coser.config.reference.typeSpecies.description=Emplacement du fichier de code type des esp\u00E8ces
Modified: trunk/coser-business/src/test/java/fr/ifremer/coser/services/PublicationServiceTest.java
===================================================================
--- trunk/coser-business/src/test/java/fr/ifremer/coser/services/PublicationServiceTest.java 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-business/src/test/java/fr/ifremer/coser/services/PublicationServiceTest.java 2010-12-17 16:38:20 UTC (rev 425)
@@ -177,7 +177,7 @@
Assert.assertTrue(fileContent.indexOf("from \"251.86\" to \"392.98\"") > 0);
// clean all
- //htmlExport.delete();
+ htmlExport.delete();
}
/**
Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/CoserConfig.java
===================================================================
--- trunk/coser-ui/src/main/java/fr/ifremer/coser/CoserConfig.java 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-ui/src/main/java/fr/ifremer/coser/CoserConfig.java 2010-12-17 16:38:20 UTC (rev 425)
@@ -54,15 +54,6 @@
}
}
- public Locale getLocale() {
- Locale result = getOption(Locale.class, CoserOption.LOCALE.key);
- return result;
- }
-
- public void setLocale(Locale locale) {
- setOption(CoserOption.LOCALE.key, locale.toString());
- }
-
public String getLookAndFeel() {
String className = getOption(CoserOption.LOOKANDFEEL.key);
return className;
@@ -103,7 +94,6 @@
public static enum CoserOption implements OptionDef {
CONFIG_FILE(CONFIG_FILE_NAME, _("coser.config.config.file.description"), "coser.properties", String.class, true, true),
- LOCALE("coser.locale", _("coser.config.locale.description"), Locale.FRANCE.toString(), Locale.class, false, false),
LOOKANDFEEL("coser.lookandfeel", _("coser.config.lookandfeel.description"), "Nimbus", String.class, false, false),
APPLICATION_VERSION("coser.application.version", _("coser.config.application.version.description"), null, String.class, false, false),
SMTP_HOST("coser.smtp.host", _("coser.config.smtp.host.description"), "smtp", String.class, false, false),
Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectSummaryView.jaxx
===================================================================
--- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectSummaryView.jaxx 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/project/ProjectSummaryView.jaxx 2010-12-17 16:38:20 UTC (rev 425)
@@ -40,6 +40,14 @@
</row>
<row>
<cell anchor="west">
+ <JLabel text="coser.ui.project.projectcreation" />
+ </cell>
+ <cell anchor="west">
+ <JLabel text="{java.text.DateFormat.getDateTimeInstance(java.text.DateFormat.LONG, java.text.DateFormat.SHORT, getContextValue(fr.ifremer.coser.CoserConfig.class).getLocale()).format(getProject().getCreationDate())}" />
+ </cell>
+ </row>
+ <row>
+ <cell anchor="west">
<JLabel text="coser.ui.project.projectauthor" />
</cell>
<cell anchor="west">
Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties
===================================================================
--- trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2010-12-17 16:38:20 UTC (rev 425)
@@ -6,7 +6,6 @@
coser.config.category.path=Path
coser.config.category.path.description=File and directory configuration
coser.config.config.file.description=Coser configuration file
-coser.config.locale.description=Application's locale
coser.config.lookandfeel.description=Application's swing theme
coser.config.smtp.host.description=SMTP host address
coser.config.support.email.description=Support email address
@@ -108,6 +107,7 @@
coser.ui.project.project=Project \:
coser.ui.project.projectauthor=Author \:
coser.ui.project.projectcomment=Comment \:
+coser.ui.project.projectcreation=Creation date \:
coser.ui.project.projectname=Project name \:
coser.ui.project.removeMaps=Remove map
coser.ui.project.saveProject=Save project
@@ -155,6 +155,7 @@
coser.ui.selection.detail.speciesAccordion=Species
coser.ui.selection.detail.strataAccordion=Strata
coser.ui.selection.detail.yearAccordion=Years
+coser.ui.selection.detail.yearsvalidated=Years validated.
coser.ui.selection.details.addToSelectedListTip=Add selected species to selected species list.
coser.ui.selection.details.comment=Comments \:
coser.ui.selection.details.description=Description \:
Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties
===================================================================
--- trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2010-12-16 17:22:30 UTC (rev 424)
+++ trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2010-12-17 16:38:20 UTC (rev 425)
@@ -6,7 +6,6 @@
coser.config.category.path=Chemins
coser.config.category.path.description=Configuration des fichiers et r\u00E9pertoires
coser.config.config.file.description=Fichier de configuration de Coser
-coser.config.locale.description=Langue de l'application
coser.config.lookandfeel.description=Themes graphique Swing de l'application
coser.config.smtp.host.description=Adresse du serveur SMTP pour envoyer les mails
coser.config.support.email.description=Adresse de support pour l'envoi des erreurs
@@ -108,6 +107,7 @@
coser.ui.project.project=Projet \:
coser.ui.project.projectauthor=Auteur \:
coser.ui.project.projectcomment=Commentaire \:
+coser.ui.project.projectcreation=Date de cr\u00E9ation \:
coser.ui.project.projectname=Nom du projet \:
coser.ui.project.removeMaps=Supprimer
coser.ui.project.saveProject=Sauver le projet
@@ -155,6 +155,7 @@
coser.ui.selection.detail.speciesAccordion=Esp\u00E8ces
coser.ui.selection.detail.strataAccordion=Strates
coser.ui.selection.detail.yearAccordion=Ann\u00E9es
+coser.ui.selection.detail.yearsvalidated=Ann\u00E9es valid\u00E9es.
coser.ui.selection.details.addToSelectedListTip=Ajoute les esp\u00E8ces s\u00E9lectionn\u00E9es \u00E0 la liste des especes s\u00E9lectionn\u00E9es.
coser.ui.selection.details.comment=Commentaire \:
coser.ui.selection.details.description=Description \: